feat(workbench): add runtime GIS and sample integrations
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user