"""Tests for the message_detector module.""" from notifications_delivery.utils import message_detector def test_get_message_type_orchard_notification(): """Test get message type from orchard notification.""" message_body = { 'user_ids': ['alw:123'], 'feed_name': 'label_analytics_digest', 'feed_id': 'vendor_123', 'template': 'analytics_digest', 'payload': {} } message_type = message_detector.get_message_type(message_body) assert message_type == 'Notification' def test_get_message_type_bounce_ses_notification(): """Test get message type for bounce from ses notification.""" message_body = { 'Type': 'Notification', 'Message': "{\"notificationType\":\"Bounce\",\"bounce\":{\"bouncedRecipients\":[{\"emailAddress\":\"bounce@simulator.amazonses.com\"}]}}", # noqa } message_type = message_detector.get_message_type(message_body) assert message_type == 'Bounce' def test_get_message_type_complaint_ses_notification(): """Test get message type for complaint from ses notification.""" message_body = { 'Type': 'Notification', 'Message': "{\"notificationType\":\"Complaint\",\"complaint\":{\"complainedRecipients\":[{\"emailAddress\":\"complaint@simulator.amazonses.com\"}]}}", # noqa } message_type = message_detector.get_message_type(message_body) assert message_type == 'Complaint'