repository CRUD

This commit is contained in:
2026-04-26 00:29:07 +02:00
parent 29e855e5b3
commit 6da0e8966b
6 changed files with 159 additions and 1 deletions

View File

@@ -61,6 +61,37 @@ def test_manual_registry_builds_ability_map(tmp_path):
assert capability.evidence[0].strength == "strong"
def test_repository_update_and_delete(tmp_path):
service = make_service(tmp_path)
repository = service.register_repository(
name="Original",
url="https://example.com/original.git",
description="Original description.",
)
ability_id = service.add_ability(repository.id, name="Original Ability")
updated = service.update_repository(
repository.id,
name="Updated",
description="Updated description.",
branch="develop",
)
assert updated.name == "Updated"
assert updated.description == "Updated description."
assert updated.branch == "develop"
assert service.ability_map(repository.id).abilities[0].id == ability_id
service.delete_repository(repository.id)
try:
service.get_repository(repository.id)
except NotFoundError as exc:
assert "repository" in str(exc)
else:
raise AssertionError("expected a NotFoundError")
def test_search_matches_approved_abilities_and_capabilities(tmp_path):
service = make_service(tmp_path)
repository = service.register_repository(

View File

@@ -24,6 +24,16 @@ def test_api_manual_registry_loop(tmp_path):
assert repository_response.status_code == 201
repository_id = repository_response.json()["id"]
update_response = client.patch(
f"/repos/{repository_id}",
json={
"name": "MailRouter Updated",
"description": "Updated mail routing summary.",
},
)
assert update_response.status_code == 200
assert update_response.json()["name"] == "MailRouter Updated"
ability_response = client.post(
f"/repos/{repository_id}/abilities",
json={
@@ -60,7 +70,7 @@ def test_api_manual_registry_loop(tmp_path):
map_response = client.get(f"/repos/{repository_id}/ability-map")
assert map_response.status_code == 200
ability_map = map_response.json()
assert ability_map["repository"]["name"] == "MailRouter"
assert ability_map["repository"]["name"] == "MailRouter Updated"
assert ability_map["abilities"][0]["capabilities"][0]["name"] == (
"Classify Incoming Email"
)
@@ -68,6 +78,11 @@ def test_api_manual_registry_loop(tmp_path):
search_response = client.get("/search", params={"q": "email"})
assert search_response.status_code == 200
assert search_response.json()
delete_response = client.delete(f"/repos/{repository_id}")
assert delete_response.status_code == 204
missing_response = client.get(f"/repos/{repository_id}")
assert missing_response.status_code == 404
finally:
app.dependency_overrides.clear()