Esempio n. 1
0
def test_push_sms_plaintext_failure():
    device = Mock()
    device.device_iden = "123"

    mock_response = Mock()
    mock_response.status_code = 500

    session = Mock()
    session.post.return_value = mock_response

    pb = PushBullet("apikey")
    pb._session = session

    with pytest.raises(PushError):
        pb.push_sms(device, "+123456789", "This is an example text")

    session.post.assert_called_once_with(
        pb.EPHEMERALS_URL,
        data=json.dumps({
            "type": "push",
            "push": {
                "type": "messaging_extension_reply",
                "package_name": "com.pushbullet.android",
                "source_user_iden": "123",
                "target_device_iden": "123",
                "conversation_iden": "+123456789",
                "message": "This is an example text",
            },
        }),
    )
Esempio n. 2
0
def test_push_sms_encrypted_ok(pb_encrypt):
    device = Mock()
    device.device_iden = "123"

    mock_response = Mock()
    mock_response.status_code = 200

    session = Mock()
    session.post.return_value = mock_response

    pb_encrypt.return_value = "encrypted text"

    pb = PushBullet("apikey")
    pb._session = session
    pb._encryption_key = "123"

    # When
    pb.push_sms(device, "+123456789", "This is an example text")

    session.post.assert_called_once_with(
        pb.EPHEMERALS_URL,
        data=json.dumps({
            "type": "push",
            "push": {
                "ciphertext": "encrypted text",
                "encrypted": True
            },
        }),
    )