mirror of
https://github.com/GSA/notifications-api.git
synced 2026-01-24 19:41:50 -05:00
- when a provider callback occurs and we update the status of the notification, also update the statistics table Adds: - Mapping object to the clients to handle mapping to various states from the response codes, this replaces the map. - query lookup in the DAO to get the query based on response type / template type Tests around rest class and dao to check correct updating of stats Missing: - multiple client callbacks will keep incrementing the counts of success/failure. This edge case needs to be handle in a future story.
33 lines
1.4 KiB
Python
33 lines
1.4 KiB
Python
import pytest
|
|
|
|
from app.clients.email import aws_ses
|
|
|
|
aws_responses = aws_ses.AwsSesResponses()
|
|
|
|
|
|
def test_should_return_correct_details_for_delivery():
|
|
assert aws_responses.response_code_to_message('Delivery') == 'Delivered'
|
|
assert aws_responses.response_code_to_notification_status('Delivery') == 'delivered'
|
|
assert aws_responses.response_code_to_notification_statistics_status('Delivery') == 'delivered'
|
|
assert aws_responses.response_code_to_notification_success('Delivery')
|
|
|
|
|
|
def test_should_return_correct_details_for_bounced():
|
|
assert aws_responses.response_code_to_message('Bounce') == 'Bounced'
|
|
assert aws_responses.response_code_to_notification_status('Bounce') == 'bounce'
|
|
assert aws_responses.response_code_to_notification_statistics_status('Bounce') == 'failure'
|
|
assert not aws_responses.response_code_to_notification_success('Bounce')
|
|
|
|
|
|
def test_should_return_correct_details_for_complaint():
|
|
assert aws_responses.response_code_to_message('Complaint') == 'Complaint'
|
|
assert aws_responses.response_code_to_notification_status('Complaint') == 'complaint'
|
|
assert aws_responses.response_code_to_notification_statistics_status('Complaint') == 'failure'
|
|
assert not aws_responses.response_code_to_notification_success('Complaint')
|
|
|
|
|
|
def test_should_be_none_if_unrecognised_status_code():
|
|
with pytest.raises(KeyError) as e:
|
|
aws_responses.response_code_to_object('99')
|
|
assert '99' in str(e.value)
|