Files
sientia-dataops-scouter_tem…/e2e
vitor-aignosi 34dbc886f3 SIENTIAPDE-1646
Update project configuration and dependencies

- Added .mypy_cache and .cursor to .gitignore.
- Changed asyncio_default_fixture_loop_scope and asyncio_default_test_loop_scope to "session" in pyproject.toml.
- Updated e2e testing dependencies in requirements-dev.txt, replacing fakeredis and mongomock with pytest-httpserver.
- Updated requirements.txt to use sientia_do instead of a specific git commit.
- Modified sonar-project.properties to remove a file from coverage exclusions.
- Enhanced E2E test fixtures in e2e/conftest.py for better container management.
- Cleaned up e2e test files related to CoreScouter and PIWebAPIScouter workflows.
2026-05-25 12:58:03 -03:00
..
2026-05-25 12:58:03 -03:00
2026-05-25 12:58:03 -03:00
2025-12-30 08:40:07 -03:00
2026-05-25 12:58:03 -03:00
2026-05-25 12:58:03 -03:00
2026-05-25 12:58:03 -03:00
2026-05-25 12:58:03 -03:00
2026-05-25 12:58:03 -03:00
2026-05-25 12:58:03 -03:00
2026-05-25 12:58:03 -03:00
2026-05-25 12:58:03 -03:00

Scouter end-to-end tests

Production-faithful E2E tests for Scouter, PIWebAPIScouter, and CoreScouter against real backing services.

Requirements

  • Docker (for testcontainers: MongoDB, Redis, PostgreSQL)
  • Python 3.11+ with dev dependencies: pip install -r requirements-dev.txt

Run locally

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=scouter --cov-branch
coverage combine .coverage .coverage.e2e && coverage report

Scenario catalog

See scenarios.md for numbered scenarios and how they map to test_scenario_* functions. Section ## 0 of that file lists the harness smoke tests in test_harness_smoke.py (infra liveness checks, not business scenarios).

Production code is not mocked

E2E uses real testcontainers, an in-process PI Web API HTTP server, WorkflowEnvironment.start_local(), and production Activities wiring. The only stand-ins are mock_logger and the optional notification_inserts spy. If a scenario fails due to a production defect, it is marked xfail(strict=True) and tracked in openspec/changes/standardize-and-complete-e2e-tests/notes.md when applicable.

Unit tests under tests/ remain Docker-free and run with the default pytest invocation.