mirror of
https://github.com/azaion/detections.git
synced 2026-04-23 01:16:32 +00:00
[AZ-137] [AZ-138] Decompose test tasks and scaffold E2E test infrastructure
Made-with: Cursor
This commit is contained in:
@@ -25,13 +25,19 @@ e2e/
|
||||
│ ├── Dockerfile
|
||||
│ └── app.py
|
||||
├── fixtures/
|
||||
│ ├── small_image.jpg (640×480 JPEG with detectable objects)
|
||||
│ ├── large_image.jpg (4000×3000 JPEG for tiling tests)
|
||||
│ ├── test_video.mp4 (10s, 30fps MP4 with moving objects)
|
||||
│ ├── empty_image (zero-byte file)
|
||||
│ ├── corrupt_image (random binary garbage)
|
||||
│ ├── image_small.jpg (1280×720 JPEG, aerial, detectable objects)
|
||||
│ ├── image_large.JPG (6252×4168 JPEG, triggers tiling)
|
||||
│ ├── image_dense01.jpg (1280×720 JPEG, dense scene, clustered objects)
|
||||
│ ├── image_dense02.jpg (1920×1080 JPEG, dense scene variant)
|
||||
│ ├── image_different_types.jpg (900×1600 JPEG, varied object classes)
|
||||
│ ├── image_empty_scene.jpg (1920×1080 JPEG, no detectable objects)
|
||||
│ ├── video_short01.mp4 (short MP4 with moving objects)
|
||||
│ ├── video_short02.mp4 (short MP4 variant for concurrent tests)
|
||||
│ ├── video_long03.mp4 (long MP4, generates >100 SSE events)
|
||||
│ ├── empty_image (zero-byte file, generated at build)
|
||||
│ ├── corrupt_image (random binary garbage, generated at build)
|
||||
│ ├── classes.json (19 classes, 3 weather modes, MaxSizeM values)
|
||||
│ └── azaion.onnx (small valid YOLO ONNX model, 1280×1280 input, 19 classes)
|
||||
│ └── azaion.onnx (YOLO ONNX model, 1280×1280 input, 19 classes, 81MB)
|
||||
├── tests/
|
||||
│ ├── test_health_engine.py
|
||||
│ ├── test_single_image.py
|
||||
@@ -122,9 +128,15 @@ Two Docker Compose profiles:
|
||||
| `mock_annotations_url` | session | Mock-annotations base URL for control API and assertion calls |
|
||||
| `wait_for_services` | session (autouse) | Polls health endpoints until all services are ready |
|
||||
| `reset_mocks` | function (autouse) | Calls `POST /mock/reset` on both mocks before each test |
|
||||
| `small_image` | session | Reads `small_image.jpg` from `/media/` volume |
|
||||
| `large_image` | session | Reads `large_image.jpg` from `/media/` volume |
|
||||
| `test_video_path` | session | Path to `test_video.mp4` on host filesystem |
|
||||
| `image_small` | session | Reads `image_small.jpg` from `/media/` volume |
|
||||
| `image_large` | session | Reads `image_large.JPG` from `/media/` volume |
|
||||
| `image_dense` | session | Reads `image_dense01.jpg` from `/media/` volume |
|
||||
| `image_dense_02` | session | Reads `image_dense02.jpg` from `/media/` volume |
|
||||
| `image_different_types` | session | Reads `image_different_types.jpg` from `/media/` volume |
|
||||
| `image_empty_scene` | session | Reads `image_empty_scene.jpg` from `/media/` volume |
|
||||
| `video_short_path` | session | Path to `video_short01.mp4` on `/media/` volume |
|
||||
| `video_short_02_path` | session | Path to `video_short02.mp4` on `/media/` volume |
|
||||
| `video_long_path` | session | Path to `video_long03.mp4` on `/media/` volume |
|
||||
| `empty_image` | session | Reads zero-byte file |
|
||||
| `corrupt_image` | session | Reads random binary file |
|
||||
| `jwt_token` | function | Generates a valid JWT with exp claim for auth tests |
|
||||
@@ -134,13 +146,19 @@ Two Docker Compose profiles:
|
||||
|
||||
| Data Set | Source | Format | Used By |
|
||||
|----------|--------|--------|---------|
|
||||
| azaion.onnx | Pre-built small YOLO model | ONNX (1280×1280 input, 19 classes) | All detection tests (via mock-loader) |
|
||||
| classes.json | Static fixture | JSON (19 objects with Id, Name, Color, MaxSizeM) | All tests (volume mount to detections) |
|
||||
| small_image.jpg | Static fixture | JPEG 640×480 | Health, single image, filtering, negative, performance tests |
|
||||
| large_image.jpg | Static fixture | JPEG 4000×3000 | Tiling tests, performance tests |
|
||||
| test_video.mp4 | Static fixture | MP4 10s 30fps | Async, SSE, video processing tests |
|
||||
| empty_image | Static fixture | Zero-byte file | FT-N-01 |
|
||||
| corrupt_image | Static fixture | Random binary | FT-N-02 |
|
||||
| azaion.onnx | `input_data/azaion.onnx` | ONNX (1280×1280 input, 19 classes, 81MB) | All detection tests (via mock-loader) |
|
||||
| classes.json | repo root `classes.json` | JSON (19 objects with Id, Name, Color, MaxSizeM) | All tests (volume mount to detections) |
|
||||
| image_small.jpg | `input_data/image_small.jpg` | JPEG 1280×720 | Health, single image, filtering, negative, performance tests |
|
||||
| image_large.JPG | `input_data/image_large.JPG` | JPEG 6252×4168 | Tiling tests, performance tests |
|
||||
| image_dense01.jpg | `input_data/image_dense01.jpg` | JPEG 1280×720 dense scene | Dedup tests, detection cap tests |
|
||||
| image_dense02.jpg | `input_data/image_dense02.jpg` | JPEG 1920×1080 dense scene | Dedup variant |
|
||||
| image_different_types.jpg | `input_data/image_different_types.jpg` | JPEG 900×1600 varied classes | Weather mode class variant tests |
|
||||
| image_empty_scene.jpg | `input_data/image_empty_scene.jpg` | JPEG 1920×1080 empty | Zero-detection edge case |
|
||||
| video_short01.mp4 | `input_data/video_short01.mp4` | MP4 short video | Async, SSE, video processing tests |
|
||||
| video_short02.mp4 | `input_data/video_short02.mp4` | MP4 short video variant | Concurrent, resilience tests |
|
||||
| video_long03.mp4 | `input_data/video_long03.mp4` | MP4 long video (288MB) | SSE overflow, queue depth tests |
|
||||
| empty_image | Generated at build | Zero-byte file | FT-N-01 |
|
||||
| corrupt_image | Generated at build | Random binary | FT-N-02 |
|
||||
|
||||
### Data Isolation
|
||||
|
||||
|
||||
Reference in New Issue
Block a user