mirror of
https://github.com/azaion/satellite-provider.git
synced 2026-06-21 22:31:14 +00:00
b0fffa6d42
Phase A baseline outputs from /autodev (Steps 1-5): - Problem & solution docs (_docs/00_problem, _docs/01_solution) - Codebase documentation (_docs/02_document) incl. architecture, module-layout, glossary, system-flows, baseline compliance scan - Test specs (blackbox, performance, resilience, security, resource, traceability matrix) - Test task decomposition (_docs/02_tasks/todo): AZ-285..AZ-290 - Testability refactor (_docs/04_refactoring/01-testability-refactoring): - TC-01 Move DownloadedTileInfoV2 + new ExistingTileInfo to Common.DTO - TC-02 Replace dead ISatelliteDownloader API with real signatures - TC-03 GoogleMapsDownloaderV2 implements ISatelliteDownloader - TC-04 TileService depends on ISatelliteDownloader (mockable) - TC-05 DI + endpoints use ISatelliteDownloader - Test runner scripts (scripts/run-tests.sh, run-performance-tests.sh) - Autodev state pointer (_docs/_autodev_state.md) Prepares the codebase for AZ-285..AZ-290 unit/integration test work. Co-authored-by: Cursor <cursoragent@cursor.com>
50 lines
1.9 KiB
Markdown
50 lines
1.9 KiB
Markdown
# Test Environment
|
||
|
||
## Infrastructure
|
||
|
||
| Component | Technology | Configuration |
|
||
|-----------|-----------|---------------|
|
||
| System Under Test | SatelliteProvider.Api (Docker container) | ASPNETCORE_ENVIRONMENT=Development |
|
||
| Database | PostgreSQL 16 (Docker container) | Fresh DB per test run (migrations auto-applied) |
|
||
| Test Runner | Custom console app (SatelliteProvider.IntegrationTests) | Docker container on same network |
|
||
| Orchestration | docker-compose.tests.yml | Waits for API health before starting tests |
|
||
|
||
## Network Topology
|
||
|
||
```
|
||
[Test Runner] --HTTP--> [API :8080] --TCP--> [PostgreSQL :5432]
|
||
|
|
||
+--HTTPS--> [Google Maps] (external, real)
|
||
```
|
||
|
||
## External Dependencies
|
||
|
||
| Dependency | Strategy | Notes |
|
||
|------------|----------|-------|
|
||
| Google Maps tile server | Real (live) | Integration tests use real downloads; requires GOOGLE_MAPS_API_KEY |
|
||
| PostgreSQL | Real (containerized) | Fresh database each run via migrations |
|
||
| File system | Real (Docker volume) | ./tiles, ./ready, ./logs mounted |
|
||
|
||
## Environment Variables
|
||
|
||
| Variable | Value | Purpose |
|
||
|----------|-------|---------|
|
||
| API_URL | http://api:8080 | Test runner → API connection |
|
||
| ASPNETCORE_ENVIRONMENT | Development | API config mode |
|
||
| ConnectionStrings__DefaultConnection | Host=postgres;Port=5432;... | DB connection |
|
||
| MapConfig__ApiKey | (from host env) | Google Maps auth |
|
||
|
||
## Test Execution
|
||
|
||
**Decision**: Docker (no hardware dependencies detected)
|
||
**Hardware dependencies found**: None
|
||
**Execution method**: `docker-compose -f docker-compose.yml -f docker-compose.tests.yml up --build --abort-on-container-exit`
|
||
|
||
| Property | Value |
|
||
|----------|-------|
|
||
| Execution mode | Sequential (one test at a time) |
|
||
| Timeout per test | 15 minutes (HttpClient timeout) |
|
||
| Polling interval | 2–3 seconds |
|
||
| Max poll attempts | 120–360 (depends on test) |
|
||
| Startup wait | 30 retries × 2s = 60s max |
|