Exemplo n.º 1
0
def test_send_sms_raises_if_twilio_fails_to_return_json(notify_api, mocker):
    to = '+61412345678'
    content = 'my message'
    reference = 'my reference'

    response_dict = 'not JSON'

    with pytest.raises(ValueError), requests_mock.Mocker() as request_mock:
        request_mock.post(
            'https://api.twilio.com/2010-04-01/Accounts/TWILIO_TEST_ACCOUNT_SID_XXX/Messages.json',
            text=response_dict,
            status_code=200)
        twilio_sms_client.send_sms(to, content, reference)
Exemplo n.º 2
0
def test_send_sms_calls_twilio_correctly(notify_api, mocker):
    to = '+61412345678'
    content = 'my message'
    reference = 'my reference'

    response_dict = make_twilio_message_response_dict()

    with requests_mock.Mocker() as request_mock:
        request_mock.post(
            'https://api.twilio.com/2010-04-01/Accounts/TWILIO_TEST_ACCOUNT_SID_XXX/Messages.json',
            json=response_dict,
            status_code=200)
        reference, status = twilio_sms_client.send_sms(to, content, reference)

    assert reference == 'MMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
    assert status == NOTIFICATION_SENDING

    assert request_mock.call_count == 1
    req = request_mock.request_history[0]
    assert req.url == 'https://api.twilio.com/2010-04-01/Accounts/TWILIO_TEST_ACCOUNT_SID_XXX/Messages.json'
    assert req.method == 'POST'

    d = dict(parse_qsl(req.text))
    assert d["To"] == "+61412345678"
    assert d["Body"] == "my message"
Exemplo n.º 3
0
def test_send_sms_raises_if_twilio_rejects(notify_api, mocker):
    to = '+61412345678'
    content = 'my message'
    reference = 'my reference'

    response_dict = {'code': 60082, 'message': 'it did not work'}

    with pytest.raises(TwilioRestException) as exc, requests_mock.Mocker(
    ) as request_mock:
        request_mock.post(
            'https://api.twilio.com/2010-04-01/Accounts/TWILIO_TEST_ACCOUNT_SID_XXX/Messages.json',
            json=response_dict,
            status_code=400)
        twilio_sms_client.send_sms(to, content, reference)

    assert exc.value.status == 400
    assert exc.value.code == 60082
    assert exc.value.msg == "Unable to create record: it did not work"
Exemplo n.º 4
0
def test_send_sms_sends_from_hardcoded_number(notify_api, mocker):
    to = '+61412345678'
    content = 'my message'
    reference = 'my reference'

    response_dict = make_twilio_message_response_dict()

    with requests_mock.Mocker() as request_mock:
        request_mock.post(
            'https://api.twilio.com/2010-04-01/Accounts/TWILIO_TEST_ACCOUNT_SID_XXX/Messages.json',
            json=response_dict,
            status_code=200)
        twilio_sms_client.send_sms(to, content, reference)

    req = request_mock.request_history[0]

    d = dict(parse_qsl(req.text))
    assert d["From"] == "+61412121121"