large-bucket-sync / tests /test_digest_api.py
lvwerra's picture
lvwerra HF Staff
Upload folder using huggingface_hub
2592ab2 verified
Raw
History Blame Contribute Delete
2.61 kB
import json
from fakes import seed_agent, seed_message, seed_result
def seed_collab(hub):
seed_agent(hub, "agent-1", joined="2026-06-01 10:00 UTC")
seed_agent(hub, "agent-2", joined="2026-06-02 10:00 UTC")
seed_message(hub, "20260601-100000-000", "agent-1", "hello board")
seed_message(hub, "20260603-100000-000", "agent-2", "news for @agent-1")
r = seed_result(hub, "20260602-100000-000", "agent-1", 100.0)
hub.seed("results/verification_status.json", json.dumps({r: "valid"}))
# a fan-out copy, as the live path would have written it
hub.seed(
"inbox/agent-1/20260603-100000-000_agent-2.md",
hub.buckets[hub._settings.central_bucket][
"message_board/20260603-100000-000_agent-2.md"
].decode(),
)
def test_digest_snapshot(env):
seed_collab(env.hub)
data = env.client.get("/v1/digest").json()
assert data["agents"]["count"] == 2
assert data["agents"]["newest"][0] == "agent-2"
assert data["leaderboard"][0]["agent"] == "agent-1"
assert [m["filename"] for m in data["recent_messages"]] == [
"20260603-100000-000_agent-2.md",
"20260601-100000-000_agent-1.md",
]
assert data["recent_results"][0]["verification"] == "valid"
assert data["inbox"] is None
assert data["generated_at"]
def test_digest_personalized_with_inbox(env):
seed_collab(env.hub)
data = env.client.get("/v1/digest?as=agent-1").json()
assert data["inbox"]["count"] == 1
assert data["inbox"]["items"][0]["filename"] == "20260603-100000-000_agent-2.md"
def test_digest_as_human_handle_is_allowed(env):
seed_collab(env.hub)
data = env.client.get("/v1/digest?as=human-cmpatino").json()
assert data["inbox"] == {"count": 0, "items": []}
def test_digest_as_unregistered_agent_404s(env):
seed_collab(env.hub)
assert env.client.get("/v1/digest?as=ghost").status_code == 404
def test_digest_since_filters_activity(env):
seed_collab(env.hub)
data = env.client.get("/v1/digest?since=2026-06-03T00:00:00Z").json()
assert [m["filename"] for m in data["recent_messages"]] == [
"20260603-100000-000_agent-2.md"
]
assert data["recent_results"] == []
# the leaderboard is the full standing state, not since-filtered
assert data["leaderboard"]
def test_discovery_root(env):
data = env.client.get("/v1").json()
assert data["service"] == "bucket-sync"
paths = {e["path"] for e in data["endpoints"]}
assert {"/v1/digest", "/v1/leaderboard", "/v1/inbox/{handle}", "/v1/messages"} <= paths
assert "mentions" in data["conventions"]