mirror of
https://github.com/azaion/missions.git
synced 2026-06-22 17:51:07 +00:00
Enhance test infrastructure and configuration for JWKS and Docker setup
ci/woodpecker/push/build-arm Pipeline was successful
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.
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
# Logical Flow Analysis — `02-baseline-cleanup`
|
||||
|
||||
**Date**: 2026-05-16
|
||||
**Mode**: automatic (quick-assessment)
|
||||
**Scope**: residual baseline-scan findings (F4 partial: empty scaffolding directories)
|
||||
|
||||
## Inputs Reviewed
|
||||
|
||||
| Source | Notes |
|
||||
|--------|-------|
|
||||
| `_docs/02_document/system-flows.md` | 273 lines — all documented flows verified against current code by the test suite (78 E2E tests, 48 pass / 30 env-skip / 0 fail) |
|
||||
| `_docs/02_document/architecture.md` (incl. `## Architecture Vision`) | 369 lines — Vision section is user-confirmed; layering rules apply |
|
||||
| `_docs/02_document/module-layout.md` | Per-component file ownership, post-rename |
|
||||
| `_docs/02_document/glossary.md` | Confirmed terminology |
|
||||
| `_docs/02_document/architecture_compliance_baseline.md` | Source of F1–F4 |
|
||||
| `_docs/03_implementation/implementation_report_tests.md` | Step 6 outcomes + 4 carry-forward tags |
|
||||
|
||||
## Components Documentation Reuse Note
|
||||
|
||||
Phase 1 sub-steps **1a (Document Components)** and **1b (Synthesize Solution & Flows)** are intentionally skipped for this run. The `/document` skill produced complete, current per-component documentation in `_docs/02_document/components/` and the synthesis files (`solution.md`, `system-flows.md`) on 2026-05-14. Re-generating them for a structural cleanup with no new code paths would produce identical output and burn the user's context budget. The user-confirmed quick-assessment choice (B) authorizes this skip.
|
||||
|
||||
## Flow-by-Flow Scan
|
||||
|
||||
For each system flow documented in `system-flows.md`, the question asked is: **does removing `Entities/` (empty) or `DTOs/Requests/` (empty) silently affect this flow?**
|
||||
|
||||
| Flow | Touches `Entities/` ? | Touches `DTOs/Requests/` ? | Verdict |
|
||||
|------|----------------------|----------------------------|---------|
|
||||
| Vehicle CRUD (FT-P-01..06) | No — uses `DTOs/CreateVehicleRequest.cs`, `DTOs/UpdateVehicleRequest.cs`, `Database/Entities/Vehicle.cs` | No | Unaffected |
|
||||
| Mission CRUD (FT-P-07..12) | No — uses `DTOs/CreateMissionRequest.cs`, `DTOs/UpdateMissionRequest.cs`, `Database/Entities/Mission.cs` | No | Unaffected |
|
||||
| Waypoint CRUD (FT-P-13..18) | No — uses `DTOs/CreateWaypointRequest.cs`, `DTOs/UpdateWaypointRequest.cs`, `Database/Entities/Waypoint.cs` | No | Unaffected |
|
||||
| `/health` + startup composition | No — `Program.cs` + `Infrastructure/*` | No | Unaffected |
|
||||
| JWT auth (NFT-SEC-01..14) | No — `Auth/JwtExtensions.cs` + `Program.cs` | No | Unaffected |
|
||||
| Cascade deletes (NFT-RES-01..02) | No — `Database/Entities/*` (all under `Database/Entities/`, not the empty `Entities/`) | No | Unaffected |
|
||||
| Migrator (NFT-RES-03..04) | No — `Database/DatabaseMigrator.cs` | No | Unaffected |
|
||||
|
||||
**Reference scan**: searched the entire workspace (excluding `_docs/`) for any path-based reference to `Entities/` or `DTOs/Requests/`. Zero matches.
|
||||
|
||||
## Findings
|
||||
|
||||
| # | Type | Severity | Location | Notes |
|
||||
|---|------|----------|----------|-------|
|
||||
| L01 | Documentation drift | Low | `Entities/`, `DTOs/Requests/` | Two empty directories at the repo root. Originally created as scaffolding placeholders before the actual layout solidified under `Database/Entities/` and `DTOs/`. Carry no source today, no path-based references anywhere. Misleading for new readers (suggests two parallel persistence/DTO trees that don't exist). |
|
||||
|
||||
No logic bugs, no performance waste, no design contradictions, no silent data loss were discovered for this scope.
|
||||
|
||||
## Architecture Vision compatibility
|
||||
|
||||
`architecture.md` § Architecture Vision specifies the persistence component owns `Database/Entities/*` and the request DTO surface lives directly under `DTOs/`. The two empty directories are not part of the Vision — removing them strengthens, not weakens, alignment with the user-confirmed structural intent. No `Architecture Vision` principle is contradicted.
|
||||
Reference in New Issue
Block a user