No description
Find a file
2024-11-02 14:12:45 +03:00
assets Initial migration 2024-11-02 14:12:45 +03:00
checker Initial migration 2024-11-02 14:12:45 +03:00
cicd Initial migration 2024-11-02 14:12:45 +03:00
company Initial migration 2024-11-02 14:12:45 +03:00
console Initial migration 2024-11-02 14:12:45 +03:00
core Initial migration 2024-11-02 14:12:45 +03:00
correlation Initial migration 2024-11-02 14:12:45 +03:00
correlator Initial migration 2024-11-02 14:12:45 +03:00
dashboard Initial migration 2024-11-02 14:12:45 +03:00
deb Initial migration 2024-11-02 14:12:45 +03:00
deb_old/skeleton Initial migration 2024-11-02 14:12:45 +03:00
devices Initial migration 2024-11-02 14:12:45 +03:00
docker Initial migration 2024-11-02 14:12:45 +03:00
events Initial migration 2024-11-02 14:12:45 +03:00
frontend Initial migration 2024-11-02 14:12:45 +03:00
incident Initial migration 2024-11-02 14:12:45 +03:00
incident_export Initial migration 2024-11-02 14:12:45 +03:00
inputs Initial migration 2024-11-02 14:12:45 +03:00
license Initial migration 2024-11-02 14:12:45 +03:00
license_info Initial migration 2024-11-02 14:12:45 +03:00
logstash Initial migration 2024-11-02 14:12:45 +03:00
ncircc Initial migration 2024-11-02 14:12:45 +03:00
networkmap Initial migration 2024-11-02 14:12:45 +03:00
notifications Initial migration 2024-11-02 14:12:45 +03:00
perms Initial migration 2024-11-02 14:12:45 +03:00
rotation Initial migration 2024-11-02 14:12:45 +03:00
storage Initial migration 2024-11-02 14:12:45 +03:00
users Initial migration 2024-11-02 14:12:45 +03:00
.coveragerc Initial migration 2024-11-02 14:12:45 +03:00
.env.dev Initial migration 2024-11-02 14:12:45 +03:00
.env.prod Initial migration 2024-11-02 14:12:45 +03:00
.gitignore Initial migration 2024-11-02 14:12:45 +03:00
.gitlab-ci.yml Initial migration 2024-11-02 14:12:45 +03:00
.gitmodules Initial migration 2024-11-02 14:12:45 +03:00
CHANGELOG.md Initial migration 2024-11-02 14:12:45 +03:00
conftest.py Initial migration 2024-11-02 14:12:45 +03:00
finalschemaAPI.yaml Initial migration 2024-11-02 14:12:45 +03:00
make_release.py Initial migration 2024-11-02 14:12:45 +03:00
manage.py Initial migration 2024-11-02 14:12:45 +03:00
miggunicorn.sh Initial migration 2024-11-02 14:12:45 +03:00
product_version Initial migration 2024-11-02 14:12:45 +03:00
pytest.ini Initial migration 2024-11-02 14:12:45 +03:00
README.md Initial migration 2024-11-02 14:12:45 +03:00
requirements.txt Initial migration 2024-11-02 14:12:45 +03:00
requirements_test.txt Initial migration 2024-11-02 14:12:45 +03:00
schema.yml Initial migration 2024-11-02 14:12:45 +03:00
search-solid.svg Initial migration 2024-11-02 14:12:45 +03:00
start_dev_django_app.sh Initial migration 2024-11-02 14:12:45 +03:00

Подготовка к запуску тестов 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