34 lines
1.4 KiB
Python
34 lines
1.4 KiB
Python
from pathlib import Path
|
|
|
|
|
|
ROOT = Path(__file__).resolve().parents[2]
|
|
|
|
|
|
def test_real_data_detection_qa_smoke_requires_operator_inputs_and_checks_full_chain() -> None:
|
|
script_path = ROOT / "scripts" / "verify_real_data_detection_qa_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_real_data_detection_qa_workflow.sh" in readiness
|
|
assert "REAL_RASTER_PATH" in script
|
|
assert "REAL_REFERENCE_VECTOR_PATH" in script
|
|
assert "usage()" in script
|
|
assert "/api/v1/projects" in script
|
|
assert "/datasets/upload" in script
|
|
assert "dataset_role=reference" in script
|
|
assert "reference_layer_name=buildings" in script
|
|
assert "/raster/inspect" in script
|
|
assert "/raster/tile" in script
|
|
assert "/api/v1/detection/model-assets" in script
|
|
assert "/api/v1/detection/yolo/preflight" in script
|
|
assert "/api/v1/detection/run" in script
|
|
assert "/qa/reference" in script
|
|
assert "/api/v1/exports/geojson" in script
|
|
assert "Response is not a canonical GeoIntel data envelope" in script
|
|
assert "No local model assets are available" in script
|
|
assert "demo/workflow" not in script
|
|
assert "fixture_mode" not in script
|
|
assert "Fixture detections" not in script
|