import httpx import pytest from src import main @pytest.mark.anyio async def test_notification_page_endpoint_loads_only_requested_page_and_is_not_cacheable(monkeypatch): requested = [] async def page_loader(page): requested.append(page) return { "items": [{"id": 51, "title": "Older update"}], "page": page, "total": 125, "has_more": True, } monkeypatch.setattr(main.gitea_proxy, "notification_page", page_loader) transport = httpx.ASGITransport(app=main.app) async with httpx.AsyncClient(transport=transport, base_url="http://test") as client: response = await client.get("/api/v1/notifications?page=2") assert response.status_code == 200 assert response.headers["cache-control"] == "no-store" assert response.json() == { "items": [{"id": 51, "title": "Older update"}], "page": 2, "total": 125, "has_more": True, } assert requested == [2]