コード例 #1
0
ファイル: test_sms.py プロジェクト: barto457/portfoliyo
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
コード例 #2
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
コード例 #3
0
ファイル: test_sms.py プロジェクト: barto457/portfoliyo
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')
コード例 #4
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')
コード例 #5
0
ファイル: test_sms.py プロジェクト: barto457/portfoliyo
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)
コード例 #6
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)
コード例 #7
0
ファイル: test_sms.py プロジェクト: barto457/portfoliyo
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!"
コード例 #8
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!"
コード例 #9
0
ファイル: test_sms.py プロジェクト: barto457/portfoliyo
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)
コード例 #10
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)
コード例 #11
0
ファイル: test_sms.py プロジェクト: barto457/portfoliyo
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
コード例 #12
0
ファイル: test_sms.py プロジェクト: barto457/portfoliyo
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
コード例 #13
0
ファイル: test_sms.py プロジェクト: barto457/portfoliyo
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
コード例 #14
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
コード例 #15
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
コード例 #16
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