feat: add reproducible keyword retrieval baseline

This commit is contained in:
Backend Contributors
2026-10-15 22:29:26 +08:00
parent aec50ca267
commit 8ac9dcaacb
16 changed files with 691 additions and 11 deletions
+31
View File
@@ -76,3 +76,34 @@ def test_default_startup_and_persistence_across_restart(migrated_database):
with server(migrated_database) as client:
assert client.get(f"/api/knowledge/{item['id']}").json()["content"] == "仅为自动化测试数据"
assert client.get("/api/knowledge").json()[0]["id"] == item["id"]
def test_retrieval_run_persists_across_restart(migrated_database):
with server(migrated_database) as client:
item = client.post(
"/api/knowledge",
json={
"title": "HTTP检索测试",
"content": "仅用于自动化测试的那拉提关键词。",
"source_url": "https://example.com/",
"collected_at": "2026-10-15T09:00:00+08:00",
},
).json()
assert (
client.post(
f"/api/knowledge/{item['id']}/review",
json={
"expected_version": item["version"],
"verification_status": "verified",
"reviewer": "test-reviewer",
"verification_notes": "仅验证检索流程",
},
).status_code
== 200
)
response = client.post("/api/retrieval", json={"query": "那拉提"})
assert response.status_code == 200
run = response.json()
assert run["results"][0]["knowledge_id"] == item["id"]
with server(migrated_database) as client:
assert client.get(f"/api/retrieval/runs/{run['run_id']}").json() == run