Игорь Надеин dbdf608051 feat(ldap): записываем Django pk в LDAP employeeNumber при создании/обновлении пользователей
- Добавлена настройка LDAP_EMPLOYEE_ID_ATTR (по умолчанию 'employeeNumber')
- UserService.create_user() теперь записывает pk в LDAP после создания Employee
- SyncService.import_users() записывает pk при создании новых пользователей
- SyncService.import_users() проверяет и заполняет пустой employeeNumber при update
- Добавлен диагностический скрипт check_employee_id_attrs.py для проверки AD атрибутов
2026-01-07 15:50:07 +03:00
..

Backend Scripts

Вспомогательные скрипты для разработки, тестирования и диагностики.

📁 Структура

manual_tests/

22 скрипта - Ручные тесты для быстрой проверки функционала

Запуск из корня backend:

.venv/Scripts/python scripts/manual_tests/test_ldap_simple.py

diagnostic/

8 скриптов - Диагностика и проверка состояния системы

.venv/Scripts/python scripts/diagnostic/check_ldap_user.py
.venv/Scripts/python scripts/diagnostic/check_chat_access.py

utils/

6 утилит - Генерация тестовых данных и анализ

.venv/Scripts/python scripts/utils/create_test_data.py
.venv/Scripts/python scripts/utils/generate_notification.py

ldap/

Shell скрипты - Тестирование LDAP сервера

bash scripts/ldap/ldap-test.sh

🎯 Использование

Важно!

Всегда используйте виртуальное окружение при запуске скриптов:

# Полный путь к Python
.venv/Scripts/python scripts/manual_tests/test_*.py

# Или активируйте venv
source .venv/Scripts/activate  # Linux/Mac
.venv\Scripts\activate         # Windows
python scripts/manual_tests/test_*.py

Django management команды

Для доступа к Django ORM в скриптах используйте:

import os
import django

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'eusrr_backend.settings')
django.setup()

📝 Рекомендации

  1. Именование: Используйте понятные префиксы

    • test_* - тестовые скрипты
    • check_* - проверки
    • create_* - генераторы
    • analyze_* - анализ
  2. Документация: Добавляйте docstring в начало каждого скрипта

  3. Аргументы: Используйте argparse для параметров

  4. Очистка: Удаляйте устаревшие скрипты после интеграции в тесты

🔗 См. также