1006 B
1006 B
Orchestrator end-to-end tests
End-to-end tests run every external dependency for real (MongoDB, Redis, PostgreSQL via testcontainers; SMTP via in-process aiosmtpd; Temporal via WorkflowEnvironment.start_local()).
Requirements
- Docker (for testcontainers)
- Python dev dependencies:
pip install -r requirements-dev.txt
Run locally
source ./venv/bin/activate
pytest e2e/ --override-ini testpaths=e2e -m e2e -v
Stop on first failure:
pytest e2e/ --override-ini testpaths=e2e -m e2e -x
Coverage (separate from unit tests)
COVERAGE_FILE=.coverage.e2e pytest e2e/ --override-ini testpaths=e2e -m e2e --cov=orchestrator --cov-branch
coverage combine .coverage .coverage.e2e
coverage report
Unit tests keep the default .coverage file; the E2E run must set COVERAGE_FILE=.coverage.e2e so reports do not overwrite each other.
Scenario catalog
See scenarios.md for numbered scenarios and which test module implements each case.