Add model asset detection workflow smoke
This commit is contained in:
@@ -338,6 +338,20 @@ The same read-only status is available through the API and Detection Lab UI:
|
||||
curl http://localhost:1202/api/v1/detection/yolo/preflight
|
||||
```
|
||||
|
||||
To validate the full configured-YOLO runtime path against Docker/Tower after a
|
||||
model is mounted and selected, run:
|
||||
|
||||
```bash
|
||||
bash scripts/verify_model_asset_detection_workflow.sh http://192.168.10.150:1202
|
||||
```
|
||||
|
||||
The smoke uses the existing demo raster to generate a tile manifest, selects a
|
||||
cataloged local model asset, verifies read-only preflight, submits the existing
|
||||
detection run endpoint and checks persisted AnalysisRun, Detection list and
|
||||
Detection GeoJSON output. It does not download weights or inject detector
|
||||
fixtures. A zero detection result is still a valid runtime smoke outcome on the
|
||||
synthetic demo raster.
|
||||
|
||||
### Run backend
|
||||
|
||||
```bash
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[2]
|
||||
|
||||
|
||||
def test_model_asset_detection_workflow_smoke_is_registered_and_checks_configured_yolo_path() -> None:
|
||||
script_path = ROOT / "scripts" / "verify_model_asset_detection_workflow.sh"
|
||||
readiness = (ROOT / "scripts" / "run_readiness_check.sh").read_text(encoding="utf-8")
|
||||
|
||||
assert script_path.exists()
|
||||
script = script_path.read_text(encoding="utf-8")
|
||||
|
||||
assert "bash -n scripts/verify_model_asset_detection_workflow.sh" in readiness
|
||||
assert "/api/v1/demo/workflow" in script
|
||||
assert "/api/v1/detection/model-assets" in script
|
||||
assert "/api/v1/detection/yolo/preflight" in script
|
||||
assert "model_asset_id" in script
|
||||
assert "tile_manifest_path" in script
|
||||
assert "/api/v1/detection/run" in script
|
||||
assert "/api/v1/detection/runs/" in script
|
||||
assert "/detections" in script
|
||||
assert "/geojson" in script
|
||||
assert "Response is not a canonical GeoIntel data envelope" in script
|
||||
assert "will_download_models" in script
|
||||
assert "Fixture detections" not in script
|
||||
assert "fixture_mode" not in script
|
||||
Reference in New Issue
Block a user