import httpx from services import search_console_alerts as alerts async def test_teams_payload_has_required_attachment_fields(monkeypatch): requests = [] real_client = httpx.AsyncClient def receive(request): import json requests.append(json.loads(request.content)) return httpx.Response(202) monkeypatch.setattr(alerts.httpx, "AsyncClient", lambda **kw: real_client( transport=httpx.MockTransport(receive), **kw, )) assert await alerts.send_alert("https://example.test/webhook", "https://example.test/s/a", "test") card = requests[0]["attachments"][0] assert card["contentType"] == "application/vnd.microsoft.card.adaptive" assert "contentUrl" in card and card["contentUrl"] is None assert card["content"]["$schema"] == "http://adaptivecards.io/schemas/adaptive-card.json"