Files
stonks-oracle/.kiro/specs/integration-test-pipeline/tasks.md
T
Celes Renata c85c0068a2 fix: clean up utcnow deprecation warnings, fix 12 failing tests, add CI/CD pipeline manifests
- Replace all datetime.utcnow() with datetime.now(tz=timezone.utc) across 8 files
- Fix 12 failing tests to match current implementation behavior
- Fix pytest_plugins in non-top-level conftest (moved to root conftest.py)
- Auto-fix 189 lint issues (import sorting, unused imports)
- Add CI/CD pipeline infrastructure (ARC, ArgoCD, Kargo manifests)
- Add values-beta.yaml and values-paper.yaml for staged deployments
- Update GitHub Actions workflow to use self-hosted-gremlin runners
- Add integration-test job to CI pipeline

Result: 1596 passed, 0 failed, 0 warnings
2026-04-18 03:59:28 +00:00

2.4 KiB

Integration Test Pipeline — Tasks

Phase 1: Sandbox Infrastructure Manifests

  • 1. Create infra/inttest/postgres.yaml — PostgreSQL 16 Deployment with migrations as init container, no PV
  • 2. Create infra/inttest/redis.yaml — Redis 7 Deployment, no persistence
  • 3. Create infra/inttest/minio.yaml — MinIO Deployment + bucket init Job
  • 4. Create infra/inttest/services.yaml — query-api, symbol-registry, risk, trading-engine Deployments pointing at sandbox infra
  • 5. Create infra/inttest/runner.yaml — test runner Job template

Phase 2: Seed Data

  • 6. Create tests/integration/seed_sandbox.py — deterministic seed script with fixed UUIDs for 5 companies, 10 documents, 5 trends, 5 recommendations, 3 orders, 2 positions, 2 global events, 2 competitive signals, 3 agents, trading config, portfolio snapshot
  • 7. Create tests/integration/seed_minio.py — seed MinIO buckets with sample normalized text files

Phase 3: API Integration Tests

  • 8. Create tests/integration/conftest.py — pytest fixtures for HTTP client, base URLs, seed IDs
  • 9. Create tests/integration/test_query_api.py — tests for all 17 query API endpoints
  • 10. Create tests/integration/test_registry_api.py — tests for all 8 symbol registry endpoints
  • 11. Create tests/integration/test_risk_api.py — tests for all 4 risk engine endpoints
  • 12. Create tests/integration/test_trading_api.py — tests for all 12 trading engine endpoints
  • 13. Create tests/integration/test_frontend_data_deps.py — tests verifying every frontend page's API dependencies return valid data

Phase 4: Profiling

  • 14. Create tests/integration/profiler.py — timing wrapper that records per-endpoint latency and produces a summary report
  • 15. Add profiling output to test runner (JSON report with P50/P95/P99 per endpoint, stage timings)

Phase 5: Pipeline Runner

  • 16. Create infra/inttest/run_pipeline.sh — standalone orchestration script with CLI args (--image-tag, --namespace, --skip-teardown, --results-file), exit codes (0=pass, 1=fail, 2=infra error), JSON result output; creates namespace, deploys infra, seeds, deploys services, runs tests, collects results, tears down

Phase 6: Documentation

  • 17. Add integration test section to docs/LOCAL_DEV_SETUP.md with instructions for running locally, CLI usage, JSON result contract, and a note that a future CI/CD pipeline spec will consume this runner