mirror of
https://github.com/azaion/missions.git
synced 2026-06-21 09:41:08 +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:
@@ -69,3 +69,25 @@ Recommended dependency-aware batches for `/implement`:
|
||||
2. **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 |
|
||||
|
||||
@@ -0,0 +1,77 @@
|
||||
# Refactor 02-baseline-cleanup C01 — Remove empty scaffolding dirs
|
||||
|
||||
**Task**: AZ-588_refactor_remove_empty_scaffolding_dirs
|
||||
**Name**: Remove empty scaffolding dirs `Entities/` and `DTOs/Requests/`
|
||||
**Description**: Delete the two empty placeholder directories at the repo root that survived the May 14 missions/vehicles rename. Closes the only remaining open item from the architecture-compliance baseline scan (F4 partial).
|
||||
**Complexity**: 1 point
|
||||
**Dependencies**: None
|
||||
**Component**: refactor — `02-baseline-cleanup`
|
||||
**Tracker**: [AZ-588](https://denyspopov.atlassian.net/browse/AZ-588)
|
||||
**Epic**: [AZ-587](https://denyspopov.atlassian.net/browse/AZ-587)
|
||||
|
||||
## Problem
|
||||
|
||||
Two empty scaffolding directories at the repo root survive from the pre-rename layout. Neither is owned by any component per `_docs/02_document/module-layout.md`. They suggest alternate persistence/DTO trees that don't exist.
|
||||
|
||||
- `Database/Entities/*.cs` is the actual entity location.
|
||||
- `DTOs/*.cs` (flat, no `Requests/` sub-grouping) is the actual request DTO location.
|
||||
|
||||
Recorded as F4 (Low Maintainability, partial) in `_docs/02_document/architecture_compliance_baseline.md`. The third originally-empty dir (`Infrastructure/`) is now legitimately used.
|
||||
|
||||
## Outcome
|
||||
|
||||
- `Entities/` no longer present in the repository.
|
||||
- `DTOs/Requests/` no longer present in the repository.
|
||||
- `dotnet build` still succeeds.
|
||||
- `scripts/run-tests.sh` returns the same baseline (48 pass / 0 fail / 30 env-skip).
|
||||
|
||||
## Scope
|
||||
|
||||
### Included
|
||||
- `git rm -r Entities/`
|
||||
- `git rm -r DTOs/Requests/`
|
||||
- Verify build + test suite.
|
||||
|
||||
### Excluded
|
||||
- Any reorganization of existing entities or DTOs.
|
||||
- Any change to `Infrastructure/` (now in use).
|
||||
- Any rename / namespace change.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
**AC-1: Directories removed**
|
||||
Given the repository at HEAD
|
||||
When `git ls-tree -r HEAD -- Entities/ DTOs/Requests/` is run
|
||||
Then the output is empty.
|
||||
|
||||
**AC-2: Build still passes**
|
||||
Given the repository after the change
|
||||
When `dotnet build` is run from the repo root
|
||||
Then it exits 0.
|
||||
|
||||
**AC-3: Test suite still green**
|
||||
Given the repository after the change
|
||||
When `scripts/run-tests.sh` is run
|
||||
Then `test-results/report.csv` shows 48 pass / 0 fail / 30 skip (same skips, no new failures).
|
||||
|
||||
## Non-Functional Requirements
|
||||
|
||||
None — this is a structural cleanup with no behavior change.
|
||||
|
||||
## Blackbox Tests
|
||||
|
||||
| AC Ref | Initial Data/Conditions | What to Test | Expected Behavior | NFR References |
|
||||
|--------|-------------------------|--------------|-------------------|----------------|
|
||||
| AC-3 | Repo state after `git rm -r Entities/ DTOs/Requests/` | Full E2E suite via `scripts/run-tests.sh` | Same outcome as the 2026-05-15 14:03 baseline (48/0/30) | none |
|
||||
|
||||
## Constraints
|
||||
|
||||
- Architecture Vision (`_docs/02_document/architecture.md`) — strengthens, does not violate.
|
||||
- No `.cs` content moves; pure directory removal.
|
||||
- Reference scan confirmed zero path-based references outside `_docs/` (see `_docs/04_refactoring/02-baseline-cleanup/discovery/logical_flow_analysis.md`).
|
||||
|
||||
## Risks & Mitigation
|
||||
|
||||
**Risk 1: Hidden reference**
|
||||
- *Risk*: A path-based reference exists somewhere not caught by the initial grep (e.g., a CI script, an editor config, an IDE workspace file).
|
||||
- *Mitigation*: Pre-execution `rg -F 'Entities/' -F 'DTOs/Requests/'` repo-wide. Post-execution `dotnet build` + `scripts/run-tests.sh` are the regression nets.
|
||||
Reference in New Issue
Block a user