Files
notifications-api/tests/app/clients/test_aws_sns.py

29 lines
1.0 KiB
Python
Raw Normal View History

2022-06-17 11:16:23 -07:00
import pytest
2022-06-17 11:16:23 -07:00
from app import aws_sns_client
2022-06-17 11:16:23 -07:00
def test_send_sms_successful_returns_aws_sns_response(notify_api, mocker):
boto_mock = mocker.patch.object(aws_sns_client, '_client', create=True)
to = "6135555555"
content = reference = 'foo'
with notify_api.app_context():
aws_sns_client.send_sms(to, content, reference)
boto_mock.publish.assert_called_once_with(
PhoneNumber="+16135555555",
Message=content,
2023-02-28 16:50:00 -05:00
MessageAttributes={
'AWS.SNS.SMS.SMSType': {'DataType': 'String', 'StringValue': 'Transactional'},
'AWS.MM.SMS.OriginationNumber': {'DataType': 'String', 'StringValue': '+18556438890'}
2023-02-28 16:50:00 -05:00
}
2022-06-17 11:16:23 -07:00
)
def test_send_sms_returns_raises_error_if_there_is_no_valid_number_is_found(notify_api, mocker):
mocker.patch.object(aws_sns_client, '_client', create=True)
to = ""
content = reference = 'foo'
with pytest.raises(ValueError) as excinfo:
aws_sns_client.send_sms(to, content, reference)
2022-10-14 14:45:27 +00:00
assert 'No valid numbers found for SMS delivery' in str(excinfo.value)