24 lines
909 B
Python
24 lines
909 B
Python
import unittest
|
|
|
|
from detector.models import Alert
|
|
from detector.notifier import InMemorySender, Notifier
|
|
|
|
|
|
class TestNotifier(unittest.TestCase):
|
|
def test_memory_notifier(self):
|
|
notifier = Notifier.memory(["email", "webhook"])
|
|
alert = Alert(alert_id="a-1", dedup_key="h-1:r-1", aggregate_key="k", severity="critical", status="firing")
|
|
delivered = notifier.notify(alert, ["email", "webhook", "dingtalk"])
|
|
self.assertEqual(delivered, ["email", "webhook"])
|
|
self.assertEqual(len(notifier.sent), 2)
|
|
|
|
def test_in_memory_sender(self):
|
|
sender = InMemorySender("email")
|
|
alert = Alert(alert_id="a-2", dedup_key="d", aggregate_key="k", severity="warning", status="firing")
|
|
self.assertTrue(sender.send(alert, "ops@example.com"))
|
|
self.assertEqual(sender.sent[0]["target"], "ops@example.com")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|