old_console/README.md
2024-11-02 14:12:45 +03:00

2.5 KiB
Raw Permalink Blame History

Подготовка к запуску тестов unit, integration, live_firewall

Перед запуском тестов, нужно подготовить базу данных, для этого запускаем:

DJANGO_SETTINGS_MODULE=console.settings.test python manage.py makemigrations
DJANGO_SETTINGS_MODULE=console.settings.test python manage.py migrate

Запуск тестов unit

Для запуска тестов, нужно активировать виртуальное окружение и запустить:

pytest --disable-warnings -m unit

Запуск тестов интеграционных

Для запуска интеграционных тестов, вызываем:

pytest --disable-warnings -m integration

При этом, интеграционные можно запускать либо в докере, либо на развернутой виртуалке, тк они завязаны на внешние сервисы.

Запуск тестов на живом AIF

Для запуска тестов на живом AIF, вызываем:

pytest --disable-warnings -m live_firewall

Перед каждым запуском теста проводится проверка доступности AIF, в случае если AIF не доступен тест завершается с состоянием False

После выполенения последнего теста "test_live_set_firewall_suricata" AIF уходит в перезагрузку длительностью ~40-60 сек.

Важно! Pipline запускает тесты последовательно, согласн очереди запросов от пользователей GitLab, управляет этим отдельный раннер

Оценка покрытия тестов

Чтобы оценить общее покрытие кода тестами, нужно в docker запустить следующие команды:

coverage run -m pytest --disable-warnings
coverage report

Для HTML результата:

coverage html

Отключение тестов при push'e и merge request'e

Тесты в пайплайне запускаются автоматически. Чтобы тесты при push'e и merge request'e не запускались, необходимо указать в сообщении коммита ключ: #no_test