From 8432be4fc1e2a3e14136b4b50277e333cf6752e7 Mon Sep 17 00:00:00 2001 From: Ben Thorner Date: Tue, 29 Mar 2022 14:12:19 +0100 Subject: [PATCH] Add missing test for invalid Firetext JSON This is already tested for MMG (and Reach). --- tests/app/clients/test_firetext.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tests/app/clients/test_firetext.py b/tests/app/clients/test_firetext.py index 74cba31c8..089a61fc0 100644 --- a/tests/app/clients/test_firetext.py +++ b/tests/app/clients/test_firetext.py @@ -134,6 +134,19 @@ def test_try_send_sms_raises_if_firetext_rejects_with_unexpected_data(mocker, mo assert type(exc.value.exception) == HTTPError +def test_try_send_sms_raises_if_firetext_fails_to_return_json(notify_api, mock_firetext_client): + to = content = reference = 'foo' + response_dict = 'NOT AT ALL VALID JSON {"key" : "value"}}' + + with pytest.raises(SmsClientResponseException) as exc, requests_mock.Mocker() as request_mock: + request_mock.post('https://example.com/firetext', text=response_dict, status_code=200) + mock_firetext_client.try_send_sms(to, content, reference, False, 'sender') + + assert 'Code 200 text NOT AT ALL VALID JSON {"key" : "value"}} exception Expecting value: line 1 column 1 (char 0)' in str(exc.value) # noqa + assert exc.value.status_code == 200 + assert exc.value.text == 'NOT AT ALL VALID JSON {"key" : "value"}}' + + def test_try_send_sms_raises_if_firetext_rejects_with_connect_timeout(rmock, mock_firetext_client): to = content = reference = 'foo'