From 6e24d7db17d1c98e08ba3802d58b91ae5a2bb351 Mon Sep 17 00:00:00 2001 From: timmy Date: Thu, 6 Aug 2026 09:46:24 +0000 Subject: [PATCH] fix: normalize null activity feed payloads (#93) --- src/gitea_proxy.py | 2 +- tests/test_event_stream.py | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/gitea_proxy.py b/src/gitea_proxy.py index 7525866..b1578fc 100644 --- a/src/gitea_proxy.py +++ b/src/gitea_proxy.py @@ -47,6 +47,6 @@ async def activity_events() -> list[dict]: "repo": event.get("repo") or {}, "created_at": event.get("created", ""), } - for event in events + for event in (events or []) if isinstance(event, dict) ] diff --git a/tests/test_event_stream.py b/tests/test_event_stream.py index 3861205..ceee7ff 100644 --- a/tests/test_event_stream.py +++ b/tests/test_event_stream.py @@ -148,3 +148,17 @@ async def test_activity_events_skips_malformed_feed_entries(monkeypatch): "repo": {"full_name": "stackchain/stackchain-dashboard"}, "created_at": "2026-08-06T08:00:00Z", }] + + +@pytest.mark.anyio +async def test_activity_events_normalizes_null_feed_payload(monkeypatch): + async def fake_current_user(): + return {"login": "timmy"} + + async def fake_fetch(path): + return None + + monkeypatch.setattr(gitea_proxy, "current_user", fake_current_user) + monkeypatch.setattr(gitea_proxy, "fetch", fake_fetch) + + assert await gitea_proxy.activity_events() == []