# Подготовка к запуску тестов unit, integration, live_firewall Перед запуском тестов, нужно подготовить базу данных, для этого запускаем: ```bash DJANGO_SETTINGS_MODULE=console.settings.test python manage.py makemigrations DJANGO_SETTINGS_MODULE=console.settings.test python manage.py migrate ``` # Запуск тестов unit Для запуска тестов, нужно активировать виртуальное окружение и запустить: ```bash pytest --disable-warnings -m unit ``` # Запуск тестов интеграционных Для запуска интеграционных тестов, вызываем: ```bash pytest --disable-warnings -m integration ``` При этом, интеграционные можно запускать либо в докере, либо на развернутой виртуалке, тк они завязаны на внешние сервисы. # Запуск тестов на живом AIF Для запуска тестов на живом AIF, вызываем: ```bash pytest --disable-warnings -m live_firewall ``` Перед каждым запуском теста проводится проверка доступности AIF, в случае если AIF не доступен тест завершается с состоянием False После выполенения последнего теста "test_live_set_firewall_suricata" AIF уходит в перезагрузку длительностью ~40-60 сек. **Важно! Pipline запускает тесты последовательно, согласн очереди запросов от пользователей GitLab, управляет этим отдельный раннер** # Оценка покрытия тестов Чтобы оценить общее покрытие кода тестами, нужно в docker запустить следующие команды: ```bash coverage run -m pytest --disable-warnings coverage report ``` Для HTML результата: ```bash coverage html ``` # Отключение тестов при push'e и merge request'e Тесты в пайплайне запускаются автоматически. Чтобы тесты при push'e и merge request'e не запускались, необходимо указать в сообщении коммита ключ: #no_test