mirror of
https://github.com/GSA/notifications-api.git
synced 2026-07-25 10:29:34 -04:00
Refactor process_firetext_responses Removed the abstract ClientResponses for firetext and mmg. There is a map for each response to handle the status codes sent by each client. Since MMG has about 20 different status code, none of which seem to be a pending state (unlike firetext that has 3 status one for pending - network delay). For MMG status codes, look for 00 as successful, everything else is assumed to be a failure.
26 lines
1022 B
Python
26 lines
1022 B
Python
from app.clients.sms.mmg import get_mmg_responses
|
|
|
|
|
|
def test_should_return_correct_details_for_delivery():
|
|
response_dict = get_mmg_responses('00')
|
|
assert response_dict['message'] == 'Delivered'
|
|
assert response_dict['notification_status'] == 'delivered'
|
|
assert response_dict['notification_statistics_status'] == 'delivered'
|
|
assert response_dict['success']
|
|
|
|
|
|
def test_should_return_correct_details_for_bounced():
|
|
response_dict = get_mmg_responses('50')
|
|
assert response_dict['message'] == 'Declined'
|
|
assert response_dict['notification_status'] == 'failed'
|
|
assert response_dict['notification_statistics_status'] == 'failure'
|
|
assert not response_dict['success']
|
|
|
|
|
|
def test_should_be_none_if_unrecognised_status_code():
|
|
response_dict = get_mmg_responses('blah')
|
|
assert response_dict['message'] == 'Declined'
|
|
assert response_dict['notification_status'] == 'failed'
|
|
assert response_dict['notification_statistics_status'] == 'failure'
|
|
assert not response_dict['success']
|