Exemple #1
0
def test_requires_TWILIO_AUTH_TOKEN(monkeypatch):
    """If TWILIO_AUTH_TOKEN setting is not set, returns 403."""
    if hasattr(settings, 'TWILIO_AUTH_TOKEN'):
        monkeypatch.delattr(settings, 'TWILIO_AUTH_TOKEN')
    response = sms.twilio_receive(request())

    assert response.status_code == 403
def test_requires_TWILIO_AUTH_TOKEN(monkeypatch):
    """If TWILIO_AUTH_TOKEN setting is not set, returns 403."""
    if hasattr(settings, 'TWILIO_AUTH_TOKEN'):
        monkeypatch.delattr(settings, 'TWILIO_AUTH_TOKEN')
    response = sms.twilio_receive(request())

    assert response.status_code == 403
Exemple #3
0
def test_calls_receive_sms(mock_receive_sms, mock_validate):
    """Calls receive_sms with POSTed From and Body."""
    mock_validate.return_value = True
    mock_receive_sms.return_value = None

    response = sms.twilio_receive(signed_request(data()))

    assert response.status_code == 200
    mock_receive_sms.assert_called_with('from', 'to', 'body')
def test_calls_receive_sms(mock_receive_sms, mock_validate):
    """Calls receive_sms with POSTed From and Body."""
    mock_validate.return_value = True
    mock_receive_sms.return_value = None

    response = sms.twilio_receive(signed_request(data()))

    assert response.status_code == 200
    mock_receive_sms.assert_called_with('from', 'to', 'body')
Exemple #5
0
def test_no_reply(mock_receive_sms, mock_validate):
    """If receive_sms returns None, no reply SMS is sent."""
    mock_validate.return_value = True
    mock_receive_sms.return_value = None

    response = sms.twilio_receive(signed_request(data()))
    xml = ElementTree.XML(response.content)

    assert response.status_code == 200
    assert not list(xml)
def test_no_reply(mock_receive_sms, mock_validate):
    """If receive_sms returns None, no reply SMS is sent."""
    mock_validate.return_value = True
    mock_receive_sms.return_value = None

    response = sms.twilio_receive(signed_request(data()))
    xml = ElementTree.XML(response.content)

    assert response.status_code == 200
    assert not list(xml)
Exemple #7
0
def test_reply(mock_receive_sms, mock_validate):
    """If receive_sms returns a string, that is sent as reply SMS."""
    mock_validate.return_value = True
    mock_receive_sms.return_value = "a reply message!"

    response = sms.twilio_receive(signed_request(data()))

    assert response.status_code == 200
    xml = ElementTree.XML(response.content)

    assert response.status_code == 200
    assert len(xml) == 1
    assert xml[0].text == "a reply message!"
def test_reply(mock_receive_sms, mock_validate):
    """If receive_sms returns a string, that is sent as reply SMS."""
    mock_validate.return_value = True
    mock_receive_sms.return_value = "a reply message!"

    response = sms.twilio_receive(signed_request(data()))

    assert response.status_code == 200
    xml = ElementTree.XML(response.content)

    assert response.status_code == 200
    assert len(xml) == 1
    assert xml[0].text == "a reply message!"
Exemple #9
0
def test_splits_long_reply(mock_receive_sms, mock_validate):
    """If receive_sms returns a long string, that is sent as >1 reply SMSes."""
    mock_validate.return_value = True
    mock_receive_sms.return_value = "a" * 161

    response = sms.twilio_receive(signed_request(data()))

    assert response.status_code == 200
    xml = ElementTree.XML(response.content)

    assert response.status_code == 200
    assert len(xml) == 2
    assert xml[0].text == ("a" * 157) + '...'
    assert xml[1].text == '...' + ("a" * 4)
def test_splits_long_reply(mock_receive_sms, mock_validate):
    """If receive_sms returns a long string, that is sent as >1 reply SMSes."""
    mock_validate.return_value = True
    mock_receive_sms.return_value = "a" * 161

    response = sms.twilio_receive(signed_request(data()))

    assert response.status_code == 200
    xml = ElementTree.XML(response.content)

    assert response.status_code == 200
    assert len(xml) == 2
    assert xml[0].text == ("a" * 157) + '...'
    assert xml[1].text == '...' + ("a" * 4)
Exemple #11
0
def test_validation(mock_validate):
    """Responds with 403 if validation function returns False."""
    mock_validate.return_value = False
    response = sms.twilio_receive(signed_request())

    assert response.status_code == 403
Exemple #12
0
def test_requires_twilio_signature():
    """Responds with 403 if X-Twilio-Signature header not present."""
    response = sms.twilio_receive(request())

    assert response.status_code == 403
Exemple #13
0
def test_requires_POST():
    """Responds to GET with 405 Method Not Allowed."""
    response = sms.twilio_receive(RequestFactory().get('/_twilio_hook/'))

    assert response.status_code == 405
def test_validation(mock_validate):
    """Responds with 403 if validation function returns False."""
    mock_validate.return_value = False
    response = sms.twilio_receive(signed_request())

    assert response.status_code == 403
def test_requires_twilio_signature():
    """Responds with 403 if X-Twilio-Signature header not present."""
    response = sms.twilio_receive(request())

    assert response.status_code == 403
def test_requires_POST():
    """Responds to GET with 405 Method Not Allowed."""
    response = sms.twilio_receive(RequestFactory().get('/_twilio_hook/'))

    assert response.status_code == 405