Files
awoooi/apps/api/tests/test_platform_events_provider_heartbeat.py
Your Name ced36f2521
Some checks failed
CD Pipeline / tests (push) Failing after 6s
CD Pipeline / build-and-deploy (push) Has been skipped
CD Pipeline / post-deploy-checks (push) Has been skipped
Code Review / ai-code-review (push) Failing after 8s
feat(awooop): add source provider freshness heartbeat
2026-05-20 19:32:22 +08:00

52 lines
1.7 KiB
Python

from __future__ import annotations
from uuid import uuid4
import pytest
from src.api.v1.platform import events
from src.core.awooop_operator_auth import AwoooPOperatorPrincipal
@pytest.mark.asyncio
async def test_create_source_provider_heartbeat_records_low_noise_events(monkeypatch):
captured: list[dict] = []
async def fake_record_external_alert_event(**kwargs):
captured.append(kwargs)
return uuid4()
monkeypatch.setattr(events, "record_external_alert_event", fake_record_external_alert_event)
response = await events.create_source_provider_heartbeat(
events.SourceProviderHeartbeatRequest(
providers=["sentry", "signoz"],
reason="test_provider_freshness",
run_ref="run-123",
),
AwoooPOperatorPrincipal(
operator_id="gitea-e2e-health",
auth_method="operator_api_key",
),
)
assert response["status"] == "recorded"
assert [item["provider"] for item in response["items"]] == ["sentry", "signoz"]
assert [item["event_id"] for item in response["items"]] == [
captured[0]["event_id"],
captured[1]["event_id"],
]
for call in captured:
assert call["stage"] == "heartbeat"
assert call["severity"] == "info"
assert call["title"] == "SourceProviderHeartbeat"
assert call["target_resource"] == "source-provider-ingestion"
assert call["labels"]["telegram"] == "not_sent"
assert call["labels"]["incident"] == "not_created"
assert call["payload"]["side_effects"] == {
"incident_created": False,
"telegram_sent": False,
"approval_created": False,
}