예제 #1
0
def test_message_add(requester):
    message_from_obj = api.ViberMessage(text='test message text')
    message_from_dict = {'text': 'test message text 1'}

    requester.clear_messages()
    assert not requester.messages

    requester.add_message(message_from_obj)
    requester.add_message(message_from_dict)

    for message in requester.messages:

        assert len(message) == 2

        attributes = ['to', 'text']
        for attribute in attributes:
            assert message.get(attribute) is not None

        assert type(message['to']) is list

    with pytest.raises(api.APIError) as exception_info:
        # noinspection PyTypeChecker
        requester.add_message([])
    assert exception_info.value.code == 45  # '45': Invalid message
    assert hasattr(exception_info.value, 'description')
예제 #2
0
def test_message():
    message = api.ViberMessage(text='test message text')
    assert len(message) == 2

    attributes = ['to', 'text']
    for attribute in attributes:
        assert message.get(attribute) is not None

    assert type(message['to']) is list
예제 #3
0
def test_add_recipient():
    message = api.ViberMessage(text='test message text')

    assert len(message) == 2

    message.add_recipient({'msisdn': '380445556677'})
    message.add_recipient(380445556678)
    message.add_recipient(api.Recipient(380445556679))

    attributes = ['msisdn', 'reference']
    for recipient in message['to']:
        for attribute in attributes:
            assert recipient.get(attribute) is not None
예제 #4
0
def test_send_mul(requester):
    message = api.ViberMessage(
        text='test message text to many recipients',
        to=[api.Recipient(380960000001),
            api.Recipient(380960000002)])

    requester.clear_messages()
    assert not requester.messages

    requester.add_message(message)
    responds = requester.send()
    for respond in responds['result']:
        for attribute in RESPOND_ATTRIBUTES:
            assert respond.get(attribute) is not None
예제 #5
0
def test_alt_route(requester):
    requester.clear_messages()
    message = api.ViberMessage(
        text='test message text to many recipients',
        to=[api.Recipient(380960000001),
            api.Recipient(380960000002)],
        alt_route={
            'originator': 'BSG',
            'text': 'SMS message will be received if you not a VIBER user.'
        })
    requester.add_message(message)
    responds = requester.send()
    for respond in responds['result']:
        for attribute in RESPOND_ATTRIBUTES:
            assert respond.get(attribute) is not None
예제 #6
0
def test_get_status(requester):
    message = api.ViberMessage(
        text='test message text to many recipients',
        to=[api.Recipient(380960000001),
            api.Recipient(380960000002)])

    requester.clear_messages()
    assert not requester.messages

    requester.add_message(message)
    response = requester.send()

    status_by_id = requester.get_status(response['result'][0]['id'])
    assert status_by_id
    status_by_ref = requester.get_status(response['result'][0]['reference'])
    assert status_by_ref

    # noinspection PyTypeChecker
    status_by_list = requester.get_status(list())
    assert not status_by_list
예제 #7
0
def test_send_one(requester):
    message = api.ViberMessage(text='test message text to one recipient',
                               to=[api.Recipient(380960000000)])
    respond = requester.send(message=message, sender='BSG')
    for attribute in RESPOND_ATTRIBUTES:
        assert respond['result'][0].get(attribute) is not None