# 1) Run the mock API and k6/ZAP dependencies
docker compose up -d
# 2) Create a .env file with base URL and token (if needed)
cp .env.example .env
# 3) Install and run tests
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
pytest -m smoke --alluredir=allure-results/smoke
pytest -m regression --alluredir=allure-results/regression
pytest -m contract --alluredir=allure-results/contract
# 4) Serve the Allure report locally
allure serve allure-results- Default is a local FastAPI app (
http://localhost:8000) exposing/health,/users, and/ordersendpoints. - You can point tests at any environment by setting
BASE_URL.
- Smoke: fast health and key endpoint checks.
- Regression: CRUD, flows, auth.
- Contract: JSON Schema validation.
- Negative: invalid inputs, missing auth, rate limits.
- Performance: k6 smoke.
- Security: ZAP baseline.
- Fixtures for base URL, auth, and data factories
- JSON Schemas in
tests/contract/schemas - Data-driven tests via CSV in
tests/data - CI with matrix for suites and artifacts upload
Add real badges after pushing:

[Allure report](https://<owner>.github.io/<repo>/)