mirror of
https://github.com/azaion/missions.git
synced 2026-06-21 17:51:06 +00:00
3398ec49a0
ci/woodpecker/push/build-arm Pipeline was successful
- Updated Azaion.Missions.csproj to exclude test sources from service compilation, preventing build failures due to test project dependencies. - Modified docker-compose.test.yml to preload the pg_stat_statements extension for testing and adjusted JWT refresh intervals for better test execution timing. - Enhanced Dockerfile to install wget for health checks and ensure proper initialization of the container. - Introduced a test-only endpoint for JWKS refresh to facilitate end-to-end testing without relying on the default refresh intervals. - Updated DTOs in ApiDtos.cs to reflect camelCase naming conventions for consistency with service responses. - Improved test cases to handle JWKS rotation and refresh scenarios effectively, ensuring robust validation of JWT handling. This commit lays the groundwork for more reliable and efficient testing of the Azaion.Missions project.
5.6 KiB
5.6 KiB
Dependencies Table
Date: 2026-05-15
Mode: tests-only decomposition (Step 5 of existing-code autodev flow)
Epic: AZ-575 — Blackbox Tests — Missions
Total Tasks: 11
Total Complexity Points: 45 (5 + 5 + 5 + 5 + 3 + 5 + 5 + 3 + 5 + 3 + 3)
| Task | Name | Complexity | Dependencies | Epic |
|---|---|---|---|---|
| AZ-576 | test_infrastructure | 5 | None | AZ-575 |
| AZ-577 | test_vehicles_positive | 5 | AZ-576 | AZ-575 |
| AZ-578 | test_missions_positive | 5 | AZ-576 | AZ-575 |
| AZ-579 | test_waypoints_health_positive | 5 | AZ-576 | AZ-575 |
| AZ-580 | test_validation_authz_negative | 3 | AZ-576 | AZ-575 |
| AZ-581 | test_security_auth_claims | 5 | AZ-576 | AZ-575 |
| AZ-582 | test_security_alg_rotation_cors | 5 | AZ-576 | AZ-575 |
| AZ-583 | test_resilience_cascade_migrator | 3 | AZ-576 | AZ-575 |
| AZ-584 | test_resilience_config_db_rotation_race | 5 | AZ-576 | AZ-575 |
| AZ-585 | test_resource_limits | 3 | AZ-576 | AZ-575 |
| AZ-586 | test_performance | 3 | AZ-576 | AZ-575 |
Coverage Verification
| Spec file | Scenarios | Covered by |
|---|---|---|
tests/blackbox-tests.md § Positive |
FT-P-01..06 (Vehicles) | AZ-577 |
tests/blackbox-tests.md § Positive |
FT-P-07..12 (Missions) | AZ-578 |
tests/blackbox-tests.md § Positive |
FT-P-13..18 (Waypoints + Health) | AZ-579 |
tests/blackbox-tests.md § Negative |
FT-N-01..08 | AZ-580 |
tests/security-tests.md |
NFT-SEC-01..06 + 04b | AZ-581 |
tests/security-tests.md |
NFT-SEC-07..13 | AZ-582 |
tests/resilience-tests.md |
NFT-RES-01..04 | AZ-583 |
tests/resilience-tests.md |
NFT-RES-05..08 | AZ-584 |
tests/resource-limit-tests.md |
NFT-RES-LIM-01..04 | AZ-585 |
tests/performance-tests.md |
NFT-PERF-01..04 | AZ-586 |
Total scenarios covered: 56 (18 FT-P + 8 FT-N + 14 NFT-SEC + 8 NFT-RES + 4 NFT-RES-LIM + 4 NFT-PERF).
Cross-Task Consistency Checks
| Check | Result |
|---|---|
Every scenario from blackbox-tests.md § Positive (FT-P-01..18) is covered |
PASS |
Every scenario from blackbox-tests.md § Negative (FT-N-01..08) is covered |
PASS |
Every scenario from security-tests.md (NFT-SEC-01..13 + 04b) is covered |
PASS |
Every scenario from resilience-tests.md (NFT-RES-01..08) is covered |
PASS |
Every scenario from resource-limit-tests.md (NFT-RES-LIM-01..04) is covered |
PASS |
Every scenario from performance-tests.md (NFT-PERF-01..04) is covered |
PASS |
| No task exceeds 5 complexity points | PASS |
| Every blackbox test task depends on the test-infrastructure task (AZ-576) | PASS |
| Test-infrastructure task (AZ-576) has no upstream test dependencies | PASS |
| No circular dependencies in the task graph | PASS — graph is a fan-out: AZ-576 → {AZ-577..AZ-586} |
| Every e2e/blackbox task has a System Under Test Boundary section | PASS — all 10 child tasks include the section |
| System Under Test Boundary forbids stubbing internal product modules | PASS — verified in each task spec |
| System Under Test Boundary requires comparison to expected-results artifacts | PASS — every task references _docs/00_problem/input_data/expected_results/results_report.md and/or the relevant machine-readable expected-result JSON |
Overlap & Shared-Concern Notes
- NFT-SEC-08 (Task 15) ↔ FT-N-08 (Task 13) both exercise the 500 error envelope. FT-N-08 owns the destructive
DROP TABLE vehiclesfault injection and asserts redaction + log line presence; NFT-SEC-08 additionally asserts the body has NO key matchingstack/stackTrace/exception/inner/trace/file-path/type-name. No work duplication — the two tests share the fixture but assert distinct invariants. - NFT-SEC-11 (Task 15) ↔ NFT-RES-07 (Task 17) both exercise JWKS rotation. NFT-SEC-11 focuses on the
kid-cache mechanics + grace-window timing; NFT-RES-07 additionally asserts thedocker inspect StartedAtinvariant (no restart). Sharing the same primitive via theJwksRotateFixturefrom AZ-576. - NFT-SEC-12 (Task 15) ↔ NFT-RES-05 (Task 17) both exercise startup fail-fast on missing required env vars. NFT-SEC-12 covers 4 missing-env cases + HTTP-JWKS-URL path. NFT-RES-05 covers the same 4 missing-env cases + an additional whitespace-only case + the DB-down-after-config-resolution differentiator (proves config resolution succeeded before Npgsql failed). Tasks share the
MissionsContainerHelperdocker-run primitive from AZ-576.
Execution Order Hint
Recommended dependency-aware batches for /implement:
- Batch 1 (sequential, blocking the rest): AZ-576 — test_infrastructure
- Batch 2 (parallel, fan-out from AZ-576): AZ-577..AZ-586 in any order. Independent test classes within a single xUnit assembly; no inter-task ordering needed.
CSV report sorting at suite end: by Category (Blackbox / Sec / Res / ResLim / Perf), then by test ID within category.
Refactor: 02-baseline-cleanup (2026-05-16)
Run: _docs/04_refactoring/02-baseline-cleanup/ (quick-assessment, phases 0–2)
Epic: AZ-587 — Refactor 02-baseline-cleanup: remove residual empty scaffolding dirs
Total Tasks: 1
Total Complexity Points: 1
| Task | Name | Complexity | Dependencies | Epic |
|---|---|---|---|---|
| AZ-588 | refactor_remove_empty_scaffolding_dirs | 1 | None | AZ-587 |
Cross-Task Consistency Checks
| Check | Result |
|---|---|
Every change in 02-baseline-cleanup/list-of-changes.md has a corresponding task |
PASS — C01 → AZ-588 |
| No task exceeds 5 complexity points | PASS |
| No circular dependencies | PASS — single task, no dependencies |
| All tasks linked to the run's epic | PASS — AZ-588 → AZ-587 |