feat(workbench): add runtime GIS and sample integrations

This commit is contained in:
2026-09-22 10:44:31 +08:00
parent a3b4e75317
commit 7ab9b36a5e
62 changed files with 6685 additions and 51 deletions
@@ -40,7 +40,7 @@ def test_list_results_uses_typed_comparison_when_result_type_is_present():
query, params = conn.cursor_instance.calls[0]
assert "result_type = %s" in query
assert "%s IS NULL" not in query
assert params == (run_id, "leakage_identification")
assert params == (run_id, "leakage_identification", 100, 0)
def test_list_results_omits_result_type_filter_when_not_requested():
@@ -51,4 +51,56 @@ def test_list_results_omits_result_type_filter_when_not_requested():
query, params = conn.cursor_instance.calls[0]
assert "result_type = %s" not in query
assert params == (run_id,)
assert params == (run_id, 100, 0)
def test_list_runs_and_results_apply_explicit_page_bounds():
conn = _FakeConnection()
run_id = uuid4()
asyncio.run(AnalysisRepository.list_runs(conn, limit=25, offset=50))
asyncio.run(
AnalysisRepository.list_results(conn, run_id, limit=40, offset=80)
)
run_query, run_params = conn.cursor_instance.calls[0]
result_query, result_params = conn.cursor_instance.calls[1]
assert "LIMIT %s OFFSET %s" in run_query
assert run_params == (25, 50)
assert "LIMIT %s OFFSET %s" in result_query
assert result_params == (run_id, 40, 80)
def test_list_recent_runs_is_bounded_and_orders_newest_first():
conn = _FakeConnection()
asyncio.run(AnalysisRepository.list_recent_runs(conn, limit=25))
query, params = conn.cursor_instance.calls[0]
assert "ORDER BY created_at DESC, run_id" in query
assert "LIMIT %s" in query
assert params == (25,)
def test_list_recent_results_bounds_latest_rows_then_restores_display_order():
conn = _FakeConnection()
run_id = uuid4()
asyncio.run(AnalysisRepository.list_recent_results(conn, run_id, limit=25))
query, params = conn.cursor_instance.calls[0]
assert "ORDER BY created_at DESC, result_id DESC" in query
assert "ORDER BY created_at, result_id" in query
assert params == (run_id, 25)
def test_list_run_summaries_is_bounded_and_checks_for_results():
conn = _FakeConnection()
asyncio.run(AnalysisRepository.list_run_summaries(conn, limit=11, offset=20))
query, params = conn.cursor_instance.calls[0]
assert "EXISTS" in query
assert "analysis.results" in query
assert "ORDER BY r.created_at DESC, r.run_id" in query
assert params == (11, 20)