fix serialize research detail UUIDs
This commit is contained in:
@@ -4,6 +4,7 @@ from __future__ import annotations
|
||||
|
||||
from typing import Generator
|
||||
from unittest.mock import MagicMock, patch
|
||||
from uuid import uuid4
|
||||
|
||||
import pytest
|
||||
from fastapi.testclient import TestClient
|
||||
@@ -307,6 +308,48 @@ def test_get_claims_empty(client: TestClient) -> None:
|
||||
assert body["claims"] == []
|
||||
|
||||
|
||||
def test_detail_endpoints_serialize_pipeline_uuid_identifiers(client: TestClient) -> None:
|
||||
"""Completed pipeline data must satisfy the string-based REST contract."""
|
||||
from nsct.api.rest_research import _ResearchRunState, _research_store
|
||||
from nsct.orchestration.budget import HardBudgetConfig
|
||||
|
||||
_research_store.clear()
|
||||
research_id = str(uuid4())
|
||||
source_id = uuid4()
|
||||
claim_id = uuid4()
|
||||
_research_store[research_id] = _ResearchRunState(
|
||||
research_id=research_id,
|
||||
query="UUID serialization",
|
||||
language="de",
|
||||
depth="quick",
|
||||
budget=HardBudgetConfig(),
|
||||
sources=[{"id": source_id, "url": "https://example.org/article"}],
|
||||
claims=[
|
||||
{
|
||||
"id": claim_id,
|
||||
"source_id": source_id,
|
||||
"claim_text": "Eine überprüfbare Behauptung.",
|
||||
"evidence_span": "Überprüfbare Passage.",
|
||||
"claim_type": "claim",
|
||||
}
|
||||
],
|
||||
evidence_scores=[{"claim_id": claim_id, "research_run_id": uuid4()}],
|
||||
report={"summary": "Zusammenfassung", "findings": [], "methodology": "Methodik"},
|
||||
)
|
||||
|
||||
sources = client.get(f"/v1/research/{research_id}/sources")
|
||||
claims = client.get(f"/v1/research/{research_id}/claims")
|
||||
evidence = client.get(f"/v1/research/{research_id}/evidence")
|
||||
report = client.get(f"/v1/research/{research_id}/report")
|
||||
|
||||
assert [response.status_code for response in (sources, claims, evidence, report)] == [200] * 4
|
||||
assert sources.json()["sources"][0]["id"] == str(source_id)
|
||||
assert claims.json()["claims"][0]["id"] == str(claim_id)
|
||||
assert claims.json()["claims"][0]["source_id"] == str(source_id)
|
||||
assert evidence.json()["evidence"][0]["claim_id"] == str(claim_id)
|
||||
assert report.json()["methodology"] == "Methodik"
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# GET /v1/research/{id}/evidence — evidence
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user