Files
sientia-dataops-orchestrato…/e2e
Eduardo Rios d46bd55cb4 test(e2e): add batch-size cap coverage for SIENTIAPDE-2013
Also fixes the test_activities fixture, which built mongodb_config by
hand and was missing the new required notification_queue_batch_size key
-- every e2e test would have hit a KeyError without this.

New test seeds 5 notifications with a batch size of 2 and confirms three
successive runs return them oldest-first in order (n1,n2 / n3,n4 / n5),
proving the cursor only advances to what was actually returned rather
than skipping documents a capped query didn't fetch. Verified against
real testcontainers Mongo/Redis/Temporal, not mocks.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 09:39:35 -03:00
..
2026-05-22 15:02:16 -03:00
2026-05-22 15:02:16 -03:00
2026-05-22 15:02:16 -03:00
2026-05-22 15:02:16 -03:00
2026-05-22 15:02:16 -03:00
2026-05-22 15:02:16 -03:00
2026-05-22 15:02:16 -03:00

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.