| import json |
|
|
| from fakes import seed_agent, seed_result |
|
|
|
|
| def seed_results(hub): |
| seed_agent(hub, "agent-1") |
| seed_agent(hub, "agent-2") |
| a = seed_result(hub, "20260601-100000-000", "agent-1", 100.0) |
| b = seed_result(hub, "20260601-110000-000", "agent-2", 120.0) |
| c = seed_result(hub, "20260602-090000-000", "agent-1", 80.0, status="negative") |
| hub.seed("results/verification_status.json", json.dumps({a: "valid", b: "invalid"})) |
| return a, b, c |
|
|
|
|
| def test_list_backward_compatible_shape(env): |
| a, b, c = seed_results(env.hub) |
| data = env.client.get("/v1/results").json() |
| assert data["count"] == 3 and data["matched"] == 3 |
| assert data["items"] == [c, b, a] |
|
|
|
|
| def test_status_and_verification_filters(env): |
| a, b, c = seed_results(env.hub) |
| assert env.client.get("/v1/results?status=negative").json()["items"] == [c] |
| assert env.client.get("/v1/results?verification=valid").json()["items"] == [a] |
| |
| assert env.client.get("/v1/results?verification=pending").json()["items"] == [c] |
| assert env.client.get("/v1/results?verification=valid,invalid").json()["matched"] == 2 |
|
|
|
|
| def test_bad_verification_param_is_400(env): |
| r = env.client.get("/v1/results?verification=bogus") |
| assert r.status_code == 400 |
| assert r.json()["error"]["code"] == "INVALID_QUERY" |
|
|
|
|
| def test_expand_inlines_verification(env): |
| a, b, _c = seed_results(env.hub) |
| items = env.client.get("/v1/results?expand=true&order=asc").json()["items"] |
| by_name = {i["filename"]: i for i in items} |
| assert by_name[a]["verification"] == "valid" |
| assert by_name[b]["verification"] == "invalid" |
| assert by_name[a]["frontmatter"]["score"] == 100.0 |
|
|
|
|
| def test_single_get_carries_verification_and_404s(env): |
| a, _b, _c = seed_results(env.hub) |
| r = env.client.get(f"/v1/results/{a}") |
| assert r.status_code == 200 |
| assert r.json()["verification"] == "valid" |
| assert env.client.get("/v1/results/nope.md").status_code == 404 |
|
|
|
|
| def test_post_result_visible_immediately(env): |
| seed_agent(env.hub, "agent-1") |
| env.hub.seed( |
| "results/run1.md", |
| "---\nscore: 142.7\nmethod: vllm-fp8\nstatus: agent-run\ndescription: fast\n---\nnotes\n", |
| bucket="test-org/test-agent-1", |
| ) |
| r = env.client.post( |
| "/v1/results", |
| json={"source": "hf://buckets/test-org/test-agent-1/results/run1.md"}, |
| ) |
| assert r.status_code == 201 |
| filename = r.json()["filename"] |
| data = env.client.get("/v1/results?expand=true&limit=1").json() |
| assert data["items"][0]["filename"] == filename |
| assert data["items"][0]["verification"] == "pending" |
| |
| index = json.loads( |
| env.hub.buckets[env.settings.central_bucket]["results/verification_status.json"] |
| ) |
| assert index[filename] == "pending" |
|
|