generated from coulomb/repo-seed
feat: use hub-core TPSC router
This commit is contained in:
68
tests/test_tpsc_router.py
Normal file
68
tests/test_tpsc_router.py
Normal file
@@ -0,0 +1,68 @@
|
||||
async def _create_domain(client, slug="tpsc-domain", name="TPSC Domain"):
|
||||
response = await client.post("/domains/", json={"slug": slug, "name": name})
|
||||
assert response.status_code == 201, response.text
|
||||
return response.json()
|
||||
|
||||
|
||||
async def _create_repo(client, domain_slug="tpsc-domain", slug="tpsc-repo"):
|
||||
response = await client.post(
|
||||
"/repos/",
|
||||
json={
|
||||
"domain_slug": domain_slug,
|
||||
"slug": slug,
|
||||
"name": "TPSC Repo",
|
||||
},
|
||||
)
|
||||
assert response.status_code == 201, response.text
|
||||
return response.json()
|
||||
|
||||
|
||||
async def test_tpsc_router_catalog_ingest_snapshot_and_gdpr_report(client) -> None:
|
||||
await _create_domain(client)
|
||||
await _create_repo(client)
|
||||
|
||||
catalog_response = await client.post(
|
||||
"/tpsc/catalog/",
|
||||
json={
|
||||
"slug": "example-service",
|
||||
"name": "Example Service",
|
||||
"pricing_model": "paid",
|
||||
"gdpr_maturity": "unknown",
|
||||
},
|
||||
)
|
||||
assert catalog_response.status_code == 201, catalog_response.text
|
||||
catalog = catalog_response.json()
|
||||
assert catalog["slug"] == "example-service"
|
||||
assert catalog["gdpr_warning"] is True
|
||||
|
||||
ingest_response = await client.post(
|
||||
"/tpsc/ingest/",
|
||||
json={
|
||||
"repo_slug": "tpsc-repo",
|
||||
"entries": [
|
||||
{
|
||||
"service_slug": "example-service",
|
||||
"purpose": "test processing",
|
||||
"auth_type": "api_key",
|
||||
}
|
||||
],
|
||||
},
|
||||
)
|
||||
assert ingest_response.status_code == 201, ingest_response.text
|
||||
snapshot = ingest_response.json()
|
||||
assert snapshot["repo_id"] is not None
|
||||
assert snapshot["entry_count"] == 1
|
||||
assert snapshot["entries"][0]["gdpr_warning"] is True
|
||||
assert snapshot["entries"][0]["pricing_model"] == "paid"
|
||||
|
||||
snapshots_response = await client.get("/tpsc/snapshots/", params={"repo_slug": "tpsc-repo"})
|
||||
assert snapshots_response.status_code == 200, snapshots_response.text
|
||||
assert snapshots_response.json()[0]["entries"][0]["service_slug"] == "example-service"
|
||||
|
||||
report_response = await client.get("/tpsc/report/gdpr")
|
||||
assert report_response.status_code == 200, report_response.text
|
||||
report = report_response.json()
|
||||
assert report["total_services"] == 1
|
||||
assert report["warning_count"] == 1
|
||||
assert report["by_maturity"] == {"unknown": 1}
|
||||
assert report["warnings"][0]["repo_slug"] == "tpsc-repo"
|
||||
Reference in New Issue
Block a user