def test_handle_sms_chat_error_no_relays(send_sms):
    err = smschat.NoRelaysAvailable()

    smschat.handle_sms_chat_error(err, "1234", "5678")

    send_sms.assert_called_once_with(sender="5678", to="1234", message=mock.ANY)

    message = send_sms.mock_calls[0][2]["message"]

    assert "aren't any relays" in message
def test_handle_sms_chat_error_no_event(send_sms):
    err = smschat.EventDoesNotExist()

    smschat.handle_sms_chat_error(err, "1234", "5678")

    send_sms.assert_called_once_with(sender="5678", to="1234", message=mock.ANY)

    message = send_sms.mock_calls[0][2]["message"]

    assert "event configured" in message
Exemple #3
0
def test_handle_sms_chat_error_no_relays(send_sms):
    err = smschat.NoRelaysAvailable()

    smschat.handle_sms_chat_error(err, REPORTER_NUMBER, EVENT_NUMBER)

    send_sms.assert_called_once_with(sender=EVENT_NUMBER,
                                     to=REPORTER_NUMBER,
                                     message=mock.ANY)

    message = send_sms.mock_calls[0][2]["message"]

    assert "aren't any relays" in message
Exemple #4
0
def test_handle_sms_chat_error_no_event(send_sms):
    err = smschat.EventDoesNotExist()

    smschat.handle_sms_chat_error(err, REPORTER_NUMBER, EVENT_NUMBER)

    send_sms.assert_called_once_with(sender=EVENT_NUMBER,
                                     to=REPORTER_NUMBER,
                                     message=mock.ANY)

    message = send_sms.mock_calls[0][2]["message"]

    assert "event configured" in message
Exemple #5
0
def inbound_sms():
    message = flask.request.get_json()
    user_number = lowlevel.normalize_e164_number(message["msisdn"])
    relay_number = lowlevel.normalize_e164_number(message["to"])
    message_text = message["text"]

    # Maybe handle verification, if this is a response to a verification message.
    if verification.maybe_handle_verification(user_number, message_text):
        return "", 204

    # It's not verification, so hand it off to SMS chat
    try:
        smschat.handle_message(user_number, relay_number, message_text)
    except smschat.SmsChatError as err:
        smschat.handle_sms_chat_error(err, user_number, relay_number)

    return "", 204