feat(v2): complete v2 reimplementation

This commit is contained in:
2026-07-31 13:33:39 +02:00
parent 396219e776
commit bd107d6a30
137 changed files with 20737 additions and 155 deletions
+22 -5
View File
@@ -35,16 +35,17 @@ async def test_readyz_rejects_unmigrated_database(tmp_path) -> None:
response = await client.get("/readyz")
await app.state.engine.dispose()
assert response.status_code == 503
assert response.json()["code"] == "schema_not_current"
assert response.json()["code"] == "dependency_unavailable"
@pytest.mark.asyncio
async def test_readyz_is_truthful_before_and_after_setup(app_client) -> None:
async def test_readyz_reports_runtime_dependencies_before_and_after_setup(
app_client,
) -> None:
client, _ = app_client
before = await client.get("/readyz")
assert before.status_code == 503
assert before.headers["content-type"].startswith("application/problem+json")
assert before.json()["code"] == "setup_required"
assert before.status_code == 200
assert before.json()["status"] == "ready"
assert (await setup_admin(client)).status_code == 201
after = await client.get("/readyz")
@@ -52,6 +53,22 @@ async def test_readyz_is_truthful_before_and_after_setup(app_client) -> None:
assert after.json()["status"] == "ready"
@pytest.mark.asyncio
async def test_metrics_are_prometheus_text_without_sensitive_request_data(
app_client,
) -> None:
client, _ = app_client
assert (await client.get("/livez")).status_code == 200
response = await client.get("/metrics")
assert response.status_code == 200
assert response.headers["content-type"].startswith("text/plain; version=0.0.4")
assert "backup_tool_http_requests_total" in response.text
assert "backup_tool_active_executions" in response.text
assert "backup_tool_filesystem_free_bytes" in response.text
@pytest.mark.asyncio
async def test_protected_endpoint_uses_rfc9457_problem(app_client) -> None:
client, _ = app_client