Enhance test infrastructure and configuration for JWKS and Docker setup
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:
Oleksandr Bezdieniezhnykh
2026-05-16 10:20:38 +03:00
parent 001e80fe96
commit 3398ec49a0
29 changed files with 785 additions and 111 deletions
@@ -0,0 +1,37 @@
# List of Changes
**Run**: 02-baseline-cleanup
**Mode**: automatic (quick-assessment)
**Source**: self-discovered (architecture_compliance_baseline.md F4)
**Date**: 2026-05-16
## Summary
Remove the two residual empty scaffolding directories at the repo root that the 2026-05-14 architecture-baseline scan flagged under F4. Originally placeholders for an early layout that solidified elsewhere (`Database/Entities/`, `DTOs/`). They carry no source files and no path-based references in the codebase.
## Changes
### C01: Delete unused scaffolding directories `Entities/` and `DTOs/Requests/`
- **File(s)**: `Entities/` (directory, 0 files), `DTOs/Requests/` (directory, 0 files)
- **Problem**: Both directories exist under the repo root but contain no source. They were created as scaffolding placeholders before the actual layout settled under `Database/Entities/*` (entities) and `DTOs/*.cs` (request shapes). They are misleading to new readers (suggesting two parallel persistence/DTO trees that don't exist) and create noise in the post-rename architecture-compliance baseline (F4).
- **Change**: Remove both directories from the repository (`git rm -r Entities/ DTOs/Requests/`). Verify the repo builds (`dotnet build`) and the test suite still passes (`scripts/run-tests.sh`).
- **Rationale**: Dead-folder removal aligns the on-disk layout with the user-confirmed Architecture Vision (`architecture.md` § Architecture Vision: persistence owns `Database/Entities/*`; request DTOs live directly under `DTOs/`). Closes the only remaining open item from the architecture-baseline scan.
- **Constraint Fit**:
- `architecture.md` § Architecture Vision — strengthens, does not violate.
- `acceptance_criteria.md` — no functional or NFR criterion references either path; verified by full-suite reference scan (zero matches outside `_docs/`).
- `restrictions.md` — N/A; restrictions cover behavior, not directory layout.
- `module-layout.md` — neither directory is owned by any component (verified).
- **Risk**: low — directories are empty; no path-based reference outside `_docs/`; the .NET SDK glob picks up `*.cs` recursively but neither directory contains any.
- **Dependencies**: None.
## Out of Scope (Recorded for Visibility)
These were considered but explicitly excluded from this run; they belong in the Phase B feature cycle, not in a refactor pass:
| Item | Source | Reason for exclusion |
|------|--------|----------------------|
| Add `docker-cli` to e2e-consumer image (would activate 30 skipped tests) | `implementation_report_tests.md` follow-up #1 | Infrastructure addition (test image), not a code refactor; better as a New Task in Phase B |
| Reconcile AC-1.4 carry-forward (NFT-RES-08) | `implementation_report_tests.md` follow-up #3 | Product/spec decision required, not a code refactor |
| Reconcile AC-4.6 carry-forward (NFT-RES-02) | `implementation_report_tests.md` follow-up #4 | Product/spec decision required, not a code refactor |
| Test/source compilation separation (`Compile Remove="tests/**"`) | `implementation_report_tests.md` follow-up #2 | Already addressed (csproj fix landed in the prior /test-run cycle) |