Files
geointel/backend/tests/test_readiness_gate.py
T
Codex 3f1a686bef
GeoIntel CI / docs-smoke (push) Has been cancelled
GeoIntel CI / contract-smoke (push) Has been cancelled
Harden YOLO compatibility preflight
2026-06-17 01:59:00 +02:00

65 lines
2.5 KiB
Python

from pathlib import Path
def test_readiness_gate_treats_deprecation_warnings_as_errors() -> None:
script = Path(__file__).resolve().parents[2] / "scripts" / "run_readiness_check.sh"
content = script.read_text(encoding="utf-8")
assert "-W error::DeprecationWarning" in content
def test_readiness_gate_runs_contract_smoke() -> None:
script = Path(__file__).resolve().parents[2] / "scripts" / "run_readiness_check.sh"
content = script.read_text(encoding="utf-8")
assert "scripts/smoke_contracts.py" in content
def test_readiness_gate_checks_demo_export_workflow_script_syntax() -> None:
script = Path(__file__).resolve().parents[2] / "scripts" / "run_readiness_check.sh"
content = script.read_text(encoding="utf-8")
assert "bash -n scripts/verify_demo_export_workflow.sh" in content
def test_readiness_gate_compiles_demo_cleanup_script() -> None:
script = Path(__file__).resolve().parents[2] / "scripts" / "run_readiness_check.sh"
content = script.read_text(encoding="utf-8")
assert "-m py_compile scripts/cleanup_demo_artifacts.py" in content
assert "-m py_compile backend/scripts/cleanup_demo_artifacts.py" in content
def test_readiness_gate_compiles_yolo_preflight_script() -> None:
script = Path(__file__).resolve().parents[2] / "scripts" / "run_readiness_check.sh"
content = script.read_text(encoding="utf-8")
assert "-m py_compile scripts/yolo_preflight.py" in content
def test_demo_export_workflow_script_verifies_export_endpoints() -> None:
script = Path(__file__).resolve().parents[2] / "scripts" / "verify_demo_export_workflow.sh"
content = script.read_text(encoding="utf-8")
assert "/api/v1/demo/workflow" in content
assert "/areas" in content
assert "/datasets" in content
assert "/content" in content
assert "/vector/summary" in content
assert "GeoJSON Polygon/MultiPolygon geometry" in content
assert "precision" in content
assert "false_negative_count" in content
assert "/api/v1/exports/metadata" in content
assert "/api/v1/exports/report" in content
assert "/api/v1/exports/geojson" in content
assert "/download" in content
def test_pass_end_check_excludes_vendor_and_build_outputs() -> None:
script = Path(__file__).resolve().parents[2] / "scripts" / "codex_pass_end_check.sh"
content = script.read_text(encoding="utf-8")
assert "--exclude-dir=node_modules" in content
assert "--exclude-dir=dist" in content
assert "--exclude-dir=__pycache__" in content