- Created CODE_QUALITY_CHECKLIST.md with comprehensive guide - Added audit_code_patterns.sh for automated code scanning - Created common/request_utils.py with safe_int(), safe_bool(), etc. - Fixed unsafe request.data access in notifications/api/views.py - Updated ldap_password_mixin.py docstring with safe example Audit found and documented: - 10 unsafe request.data['key'] accesses - 8+ unsafe int() conversions without try/except - Multiple .strip() calls without None checks
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()
📝 Рекомендации
-
Именование: Используйте понятные префиксы
test_*- тестовые скриптыcheck_*- проверкиcreate_*- генераторыanalyze_*- анализ
-
Документация: Добавляйте docstring в начало каждого скрипта
-
Аргументы: Используйте argparse для параметров
-
Очистка: Удаляйте устаревшие скрипты после интеграции в тесты
🔗 См. также
- backend/tests/ - Официальные unit/integration тесты
- backend/docs/testing/ - Документация по тестированию