feat: add reproducible keyword retrieval baseline
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user