Milestone 6 API completeness

This commit is contained in:
2026-04-25 23:56:19 +02:00
parent 19d34efa37
commit cc0eef21be
7 changed files with 315 additions and 0 deletions

View File

@@ -87,6 +87,14 @@ def test_search_matches_approved_abilities_and_capabilities(tmp_path):
assert results[0].match_type == "capability"
assert results[0].match_name == "Classify Incoming Email"
abilities = service.list_abilities()
capabilities = service.list_capabilities()
assert abilities[0].repository_name == "MailRouter"
assert abilities[0].name == "Business Email Routing"
assert capabilities[0].ability_name == "Business Email Routing"
assert capabilities[0].name == "Classify Incoming Email"
def test_register_repository_imports_metadata_when_name_is_omitted(tmp_path):
source = tmp_path / "metadata-source"

View File

@@ -129,6 +129,12 @@ def test_api_analysis_run_loop(tmp_path):
assert run["analysis_run"]["status"] == "completed"
assert run["snapshot"]["file_count"] == 2
get_run_response = client.get(
f"/repos/{repository_id}/analysis-runs/{run['analysis_run']['id']}"
)
assert get_run_response.status_code == 200
assert get_run_response.json()["id"] == run["analysis_run"]["id"]
candidate_response = client.get(
f"/repos/{repository_id}/analysis-runs/"
f"{run['analysis_run']['id']}/candidate-graph"
@@ -206,6 +212,16 @@ def test_api_analysis_run_loop(tmp_path):
assert search_response.status_code == 200
assert search_response.json()
abilities_response = client.get("/abilities")
assert abilities_response.status_code == 200
assert abilities_response.json()[0]["name"] == "Frontend Delivery"
assert abilities_response.json()[0]["repository_name"] == "Frontend"
capabilities_response = client.get("/capabilities")
assert capabilities_response.status_code == 200
assert capabilities_response.json()[0]["name"] == "Describe Frontend Stack"
assert capabilities_response.json()[0]["ability_name"] == "Frontend Delivery"
facts_response = client.get(f"/repos/{repository_id}/observed-facts")
assert facts_response.status_code == 200
fact_names = {