Add bounded GRB map acquisition
GeoIntel CI / docs-smoke (push) Canceled after 0s
GeoIntel CI / contract-smoke (push) Canceled after 0s

This commit is contained in:
Codex
2026-07-17 21:29:26 +02:00
parent 47cde21e17
commit 488da4cc83
28 changed files with 1644 additions and 134 deletions
@@ -16,8 +16,8 @@ def test_provider_registry_lists_sprint7b_providers() -> None:
assert set(providers) == {"grb", "osm", "manual", "fixture"}
assert providers["grb"].authority_level == "authoritative"
assert providers["grb"].configured is False
assert providers["grb"].status == "not_configured"
assert providers["grb"].configured is True
assert providers["grb"].status == "configured"
assert providers["osm"].authority_level == "contextual"
assert providers["osm"].configured is False
assert providers["osm"].status == "not_configured"
@@ -34,9 +34,9 @@ def test_provider_capabilities_include_required_metadata() -> None:
assert grb["provider_name"] == "grb"
assert grb["display_name"] == "GRB"
assert grb["supported_layers"] == ["buildings", "roads", "parcels"]
assert grb["supported_layers"] == ["buildings", "roads", "water", "parcels"]
assert grb["supported_geometry_types"] == ["Polygon", "MultiPolygon", "LineString", "MultiLineString"]
assert grb["supported_query_modes"] == ["area"]
assert grb["supported_query_modes"] == ["bbox", "persisted_area"]
assert grb["limitation_message"]
assert grb["attribution"]
assert grb["license_note"]
@@ -56,13 +56,13 @@ def test_provider_to_dataset_mapping_is_enforced() -> None:
assert get_provider_dataset_mapping("osm", requested_dataset_role="reference").dataset_role == "reference"
def test_grb_osm_import_contract_returns_not_configured_without_fetching() -> None:
def test_grb_import_contract_requires_bounded_request_and_osm_remains_not_configured() -> None:
grb = import_provider_dataset("grb", project_id="project", area_id="area", layers=["buildings"])
osm = import_provider_dataset("osm", project_id="project", area_id="area", layers=["buildings"])
assert grb.status == "not_configured"
assert grb.status == "bounded_request_required"
assert grb.dataset_id is None
assert "No live" in grb.message
assert "bounding box" in grb.message
assert osm.status == "not_configured"
assert osm.dataset_id is None
@@ -107,7 +107,7 @@ def test_provider_api_envelopes_and_invalid_provider() -> None:
assert invalid_response.json()["message"] == "Provider not found"
def test_provider_import_api_returns_clear_not_configured_response() -> None:
def test_provider_import_api_points_grb_to_governed_bounded_endpoint() -> None:
client = TestClient(app)
response = client.post(
@@ -121,7 +121,7 @@ def test_provider_import_api_returns_clear_not_configured_response() -> None:
assert response.status_code == 200
assert response.json()["data"]["provider_name"] == "grb"
assert response.json()["data"]["status"] == "not_configured"
assert response.json()["data"]["status"] == "bounded_request_required"
assert response.json()["data"]["dataset_id"] is None