SIENTIAPDE-2202 Add gateway end-to-end test suite (e2e/) End-to-end suite at the repo root, following the Laborious/Orchestrator pattern: numbered scenarios per topic in e2e/scenarios.md (1:1 with test_scenario_* functions), scenario inputs as JSON, Postgres DDL mirrored from production, `integration` marker, excluded from the default pytest run. Every dependency runs for real: MongoDB, Redis, PostgreSQL, MinIO and NATS via testcontainers, OPC UA servers in process (asyncua). Pods are built from the environment like ingestor/app.py and driven one loop iteration at a time. 69 scenarios across 7 topics: slot leasing and failover, subscription reads, NATS writes and write_status (incl. the SIENTIAPDE-2202 timestamp/quality matrix, checked on the server and on the wire), gRPC ReadTag, active reads, client certificates/security, pod lifecycle. Replaces tests/functional (legacy slot v1 tests, fully commented out) and tests/functional/test_write_e2e.py (now scenarios 3.1.x). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
28 lines
1.3 KiB
Plaintext
28 lines
1.3 KiB
Plaintext
# Development and Testing Dependencies
|
|
# These packages are only needed for development, testing, and code quality checks
|
|
# Install with: pip install -r requirements-dev.txt
|
|
|
|
# Code Quality & Linting
|
|
ruff>=0.1.0 # Fast Python linter and formatter (replaces flake8, black, isort)
|
|
mypy>=1.7.0 # Static type checker
|
|
bandit>=1.7.5 # Security vulnerability scanner
|
|
pandas-stubs>=2.0.0 # Type stubs for pandas
|
|
types-requests>=2.31.0 # Type stubs for requests
|
|
|
|
# Testing
|
|
pytest>=7.4.0 # Testing framework
|
|
pytest-cov>=4.1.0 # Coverage plugin for pytest
|
|
pytest-asyncio>=0.21.0 # Async test support (already in main requirements)
|
|
testcontainers[postgres,minio,mongodb,redis]>=4.15.0 # E2E suite (e2e/): real MongoDB, Redis, PostgreSQL,
|
|
# MinIO and NATS containers; `testcontainers.community.*` namespace
|
|
|
|
# Development Tools
|
|
ipython>=8.12.0 # Enhanced Python shell
|
|
ipdb>=0.13.13 # IPython debugger
|
|
python-dotenv>=1.0 # local dev only: app/seed read .env if present (in-cluster env comes from Helm)
|
|
|
|
# gRPC code generation (regenerate ingestor/proto/*_pb2*.py) — not needed
|
|
# at runtime: the generated stubs are committed. Kept out of requirements.txt
|
|
# because workers install only from the cluster package index.
|
|
grpcio-tools>=1.60
|