Тестовое задание для проекта "Система проверки работоспособности дистрибутивов на основе Yocto".
Система автоматического тестирования веб-сервера Apache при помощи pytest и Allure.
Система тестирования (agent) содержит ряд тестов для проверки работоспособности и корректности работы сервера apache2 (target), а так же набор смоук-тестов для проверки работоспособности пакетов tar и ln. Результаты тестов собираются в отчёт при помощи Allure.
agent и target запускаются в отдельных докер-контейнерах, соёдинённых через SSH, и конфигурируется при помощи Docker Compose.
DockerDocker Compose v2- Браузер для просмотра отчёта Allure
Сначала соберите docker-образы для agent и target:
docker compose buildВы можете конфигурировать данные для подключения agent к target в файле .example.env и скопировав его в содержимое в файл .env:
cp .example.env .envЧтобы запустить всю систему и выполнить тесты, используйте следующую команду:
docker compose up --abort-on-container-exitЧтобы остановить контейнеры и очистить папки с данными Allure, выполните команду:
docker compose down && rm -rf allure-report allure-resultsПосле запуска в консоли будет отображен вывод логов обоих контейнеров. В логах контейнера agent вы увидите подробный отчет о результатах Pytest, который будет выглядеть примерно так:
============================= test session starts ==============================
platform linux -- Python 3.11.2, pytest-8.4.2, pluggy-1.6.0
rootdir: /app
plugins: allure-pytest-2.15.0
collected 6 items
tests/test_apache_404_page.py . [ 16%]
tests/test_apache_errors_in_logs.py . [ 33%]
tests/test_apache_index_page.py . [ 50%]
tests/test_apache_service_running.py . [ 66%]
tests/test_smoke_tar.py . [ 83%]
tests/test_smole_ln.py . [100%]
============================== 6 passed in 0.77s ===============================
Report successfully generated to /app/allure-reportДля просмотра отчёта Allure в браузере перейдите по адресу http://localhost:8080. Отчёт должен иметь следующий вид:
