from unittest import mock from slz_gdpr_email_downloader.entities import SNSMessage from slz_gdpr_email_downloader.services.sns import SNSNotificationService def test_sns_send_ok(sns_client): service = SNSNotificationService( logger=mock.Mock(), sns_client=sns_client, sns_topic=sns_client.default_topic_arn, ) message = SNSMessage(type='ERROR', description='test_error', context='test') result = service.push(message) assert result is True def test_sns_no_topic(sns_client): service = SNSNotificationService( logger=mock.Mock(), sns_client=sns_client, ) message = SNSMessage(type='ERROR', description='test_error', context='test') result = service.push(message) assert result is False def test_sns_unknown_topic(sns_client): service = SNSNotificationService( logger=mock.Mock(), sns_client=sns_client, sns_topic='unknown_topic', ) message = SNSMessage(type='ERROR', description='test_error', context='test') result = service.push(message) assert result is False