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
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
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
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