Corp/backend/docs/testing/TEST_IMAGE_SCRIPTS.md
Игорь Надеин 48631f43fd Реорганизация документации и скриптов проекта
- Создана структура docs/ с категориями: completed, guides, architecture, diagnostic, in-progress, reports
- Перемещено 47+ MD файлов из корня проекта в docs/
- Удалено 6 устаревших/дублирующихся файлов
- Создана структура backend/scripts/ для тестов и утилит
- Перемещено 35 Python скриптов в backend/scripts/
- Создана структура backend/docs/ для технической документации
- Перемещено 12 MD файлов backend в backend/docs/
- Перемещены LDAP тестовые данные в backend/tests/fixtures/
- Добавлены README файлы для навигации
- Добавлены правила в .github/copilot-instructions.md для размещения документации

Результат:
- Корень проекта: только README.md
- Корень backend/: только manage.py и Django приложения
- Вся документация организована в структурированные папки
2025-12-26 13:49:51 +03:00

2.6 KiB
Raw Blame History

Тестовые скрипты для сжатия изображений

Скрипты для проверки функций сжатия аватаров с поддержкой EXIF-ориентации.

Быстрые тесты (рекомендуется для Windows)

1. Тест LDAP-сжатия (384px, 100KB, HIGH QUALITY)

python test_ldap_simple.py path/to/photo.jpg

2. Тест обычного сжатия аватаров (512px, 500KB)

python test_avatar_simple.py path/to/photo.jpg

Интерактивные тесты (с эмодзи, могут не работать в Windows cmd)

3. Полный тест LDAP

python test_ldap_image_compression.py

4. Полный тест аватаров

python test_image_compression.py

Что проверяют скрипты

✅ EXIF ориентация - фото с телефонов не переворачиваются
✅ Сжатие размера - процент уменьшения файла
✅ Разрешение - размер в пикселях до и после
✅ Лимиты - соответствие ограничениям (100KB для LDAP, 500KB для системы)

Примеры вывода

test_ldap_simple.py:

======================================================================
LDAP Image Compression Test: IMG_1234.jpg
======================================================================

BEFORE processing:
  Size: 2453.67 KB
  Resolution: 3024x4032
  Mode: RGB, Format: JPEG
  EXIF Orientation: Rotated 90 CW

Processing with normalize_avatar_to_jpeg(size_px=384, max_kb=100)...
  HIGH QUALITY: progressive JPEG, 4:4:4 subsampling, quality 75-98
  Saved to: IMG_1234_ldap.jpg

AFTER processing (LDAP format):
  Size: 68.45 KB
  Resolution: 288x384
  Mode: RGB, Format: JPEG
  EXIF Orientation: Normal

LDAP Compliance Check:
  [OK] File size: 68.45 KB (limit: 100 KB)

Statistics:
  Size reduction: 97.2%
  Before: 3024x4032 (2453.67 KB)
  After:  288x384 (68.45 KB)
  [OK] Orientation fixed automatically!
       Was: Rotated 90 CW
       Now: Normal (rotated in pixels)
======================================================================

Требования

  • Python 3.8+
  • Django (настройки проекта)
  • Pillow (PIL)

Примечания

  • Скрипты автоматически настраивают Django
  • Обработанные файлы сохраняются рядом с оригиналом
  • LDAP версия: суффикс _ldap.jpg
  • Обычная версия: суффикс _compressed.jpg