| import json |
|
|
| from fakes import seed_agent, seed_result |
|
|
|
|
| def seed_board(hub): |
| seed_agent(hub, "agent-1", hf_user="user-one") |
| seed_agent(hub, "agent-2", hf_user="user-two") |
| r_valid = seed_result(hub, "20260601-100000-000", "agent-1", 100.0) |
| r_pending = seed_result(hub, "20260602-100000-000", "agent-1", 150.0) |
| r2_valid = seed_result(hub, "20260601-110000-000", "agent-2", 120.0) |
| r2_invalid = seed_result(hub, "20260602-110000-000", "agent-2", 500.0) |
| seed_result(hub, "20260603-100000-000", "agent-1", 999.0, status="negative") |
| hub.seed( |
| "results/20260603-110000-000_agent-2.md", "---\nscore: [broken\n---\nmalformed" |
| ) |
| hub.seed( |
| "results/verification_status.json", |
| json.dumps({r_valid: "valid", r2_valid: "valid", r2_invalid: "invalid"}), |
| ) |
| return r_valid, r_pending, r2_valid, r2_invalid |
|
|
|
|
| def test_default_board_best_per_agent_pending_included_invalid_excluded(env): |
| seed_board(env.hub) |
| data = env.client.get("/v1/leaderboard").json() |
| rows = data["rows"] |
| assert [(r["rank"], r["agent"], r["score"], r["verification"]) for r in rows] == [ |
| (1, "agent-1", 150.0, "pending"), |
| (2, "agent-2", 120.0, "valid"), |
| ] |
| assert rows[0]["hf_user"] == "user-one" |
| assert rows[1]["method"] == "vllm-baseline" |
| meta = data["meta"] |
| assert meta["results_considered"] == 6 |
| assert meta["excluded"] == { |
| "status_negative": 1, |
| "malformed": 1, |
| "verification_invalid": 1, |
| } |
|
|
|
|
| def test_strict_valid_only_view(env): |
| seed_board(env.hub) |
| rows = env.client.get("/v1/leaderboard?verification=valid").json()["rows"] |
| assert [(r["agent"], r["score"]) for r in rows] == [ |
| ("agent-2", 120.0), |
| ("agent-1", 100.0), |
| ] |
|
|
|
|
| def test_all_results_view(env): |
| seed_board(env.hub) |
| rows = env.client.get("/v1/leaderboard?best_per_agent=false").json()["rows"] |
| assert [r["score"] for r in rows] == [150.0, 120.0, 100.0] |
|
|
|
|
| def test_agent_filter_keeps_global_rank(env): |
| seed_board(env.hub) |
| rows = env.client.get("/v1/leaderboard?agent=agent-2").json()["rows"] |
| assert len(rows) == 1 and rows[0]["rank"] == 2 |
|
|
|
|
| def test_ties_go_to_the_earlier_result(env): |
| seed_agent(env.hub, "agent-1") |
| seed_agent(env.hub, "agent-2") |
| seed_result(env.hub, "20260602-100000-000", "agent-2", 100.0) |
| seed_result(env.hub, "20260601-100000-000", "agent-1", 100.0) |
| rows = env.client.get("/v1/leaderboard").json()["rows"] |
| assert [r["agent"] for r in rows] == ["agent-1", "agent-2"] |
|
|
|
|
| def test_limit(env): |
| seed_board(env.hub) |
| rows = env.client.get("/v1/leaderboard?limit=1").json()["rows"] |
| assert len(rows) == 1 and rows[0]["rank"] == 1 |
|
|
|
|
| def test_empty_board(env): |
| data = env.client.get("/v1/leaderboard").json() |
| assert data["rows"] == [] |
| assert data["meta"]["results_considered"] == 0 |
|
|
|
|
| def test_asc_order_ranks_lowest_first(make_env): |
| env = make_env(SCORE_ORDER="asc") |
| seed_agent(env.hub, "agent-1") |
| seed_agent(env.hub, "agent-2") |
| seed_result(env.hub, "20260601-100000-000", "agent-1", 100.0) |
| seed_result(env.hub, "20260601-110000-000", "agent-1", 80.0) |
| seed_result(env.hub, "20260601-120000-000", "agent-2", 90.0) |
| data = env.client.get("/v1/leaderboard").json() |
| assert data["order"] == "asc" |
| assert [(r["agent"], r["score"]) for r in data["rows"]] == [ |
| ("agent-1", 80.0), |
| ("agent-2", 90.0), |
| ] |
|
|