Sprint 0 / #19: OpenAPI 3.1 контракт API v1 + TS-клиент и контрактные тесты #57

Merged
embeddevio merged 16 commits from feat/19-openapi into main 2026-10-28 21:21:14 +03:00
Showing only changes of commit c53e2ef9b1 - Show all commits
+1 -1
View File
@@ -314,7 +314,7 @@ def test_websocket_requires_token(client: TestClient) -> None:
def test_response_schema_lookup_fails_for_unknown_response(spec: dict[str, Any], client: TestClient) -> None: def test_response_schema_lookup_fails_for_unknown_response(spec: dict[str, Any], client: TestClient) -> None:
"""Неописанный в контракте ответ — ошибка контракта, не молчаливый пропуск.""" """Неописанный в контракте ответ — ошибка контракта, а не молчаливый пропуск."""
response = client.get("/api/v1/health") response = client.get("/api/v1/health")
with pytest.raises(ContractViolationError): with pytest.raises(ContractViolationError):
validate_response(spec, "/api/v1/health", "get", 418, response.json()) validate_response(spec, "/api/v1/health", "get", 418, response.json())