Ejemplo n.º 1
0
def test_message_react_invalid_react():
    a_token = login('*****@*****.**', 'pass123456')[1]
    msg1_id = message_send(a_token, 1, 'a second test message')

    with pytest.raises(HTTPError):
        message_react(a_token, msg1_id, 2)
    logout(a_token)
Ejemplo n.º 2
0
def test_login_user(reset):
    reg_token = register('*****@*****.**', 'wubbalubba', 'Max', 'Smith')[1]
    logout(reg_token)
    login_token = login('*****@*****.**', 'wubbalubba')[1]
    assert reg_token == login_token
    success = logout(login_token)
    assert success == True
Ejemplo n.º 3
0
def test_channels_listall_empty(reset):  # pylint: disable=unused-argument,redefined-outer-name
    '''
    Testing return of empty payload when no channels exist
    '''
    a_token = register('*****@*****.**', 'pass123456', 'Alan', 'Brown')[1]

    assert channels_listall(a_token) == []
    logout(a_token)
Ejemplo n.º 4
0
def test_message_unreact_no_existing_react(reset):
    a_token = register('*****@*****.**', 'pass123456', 'Admin', 'Heeblo')[1]
    channels_create(a_token, 'test_public', True)
    msg0_id = message_send(a_token, 1, 'I am new here.')

    with pytest.raises(HTTPError):
        message_unreact(a_token, msg0_id, 1)
    logout(a_token)
Ejemplo n.º 5
0
def test_user_profile_does_not_exist():
    '''
    user does not exist
    '''
    j_id, j_token = login("*****@*****.**", "cre4t1v3p4s5")
    with pytest.raises(HTTPError):
        user_profile(j_token, j_id + 1)
    logout(j_token)
Ejemplo n.º 6
0
def test_message_unpin_not_pinned(reset):
    a_token = register('*****@*****.**', 'pass123456', 'Admin', 'Heeblo')[1]
    channel_id = channels_create(a_token, 'test_public', True)
    msg0_id = message_send(a_token, channel_id, 'Not pinned message')

    with pytest.raises(HTTPError):
        message_unpin(a_token, msg0_id)
    logout(a_token)
Ejemplo n.º 7
0
def test_message_send_invalid_token():
    '''
    Testing requesting with invalid token
    '''
    a_token = login('*****@*****.**', 'pass123456')[1]
    with pytest.raises(HTTPError):
        message_send(a_token + 'x', 1, 'Hello world')
    logout(a_token)
Ejemplo n.º 8
0
def test_message_sendlater_badtime():
    '''
    Testing message send later request with time_sent in the past
    '''
    a_token = login('*****@*****.**', 'pass123456')[1]
    with pytest.raises(HTTPError):
        message_sendlater(a_token, 1, 'sending later', time.time() - 0.01)
    logout(a_token)
Ejemplo n.º 9
0
def test_message_pin_not_owner_tries():
    c_token = register('*****@*****.**', 'ssap12652', 'Chen', 'Bee')[1]
    channel_join(c_token, 1)
    msg1_id = message_send(c_token, 1, 'My own message')

    with pytest.raises(HTTPError):
        message_pin(c_token, msg1_id)
    logout(c_token)
Ejemplo n.º 10
0
def test_message_send_invalid_message():
    '''
    Testing sending an invalid message
    '''
    a_token = login('*****@*****.**', 'pass123456')[1]
    with pytest.raises(HTTPError):
        message_send(a_token, 1, 'a' * 1001)
    logout(a_token)
Ejemplo n.º 11
0
def test_message_send_not_in_channel():
    '''
    Testing requesting to send message when not in channel
    '''
    k_token = register('*****@*****.**', 'kenis123', 'Ken', 'Li')[1]
    with pytest.raises(HTTPError):
        message_send(k_token, 1, 'Bad message')
    logout(k_token)
Ejemplo n.º 12
0
def test_message_unreact_not_in_channel():
    c_token = register('*****@*****.**', 'ssap12652', 'Chen', 'Bee')[1]
    channel_join(c_token, 1)
    msg1_id = message_send(c_token, 1, 'I am new here.')
    message_react(c_token, msg1_id, 1)
    channel_leave(c_token, 1)
    with pytest.raises(HTTPError):
        message_unreact(c_token, 1, 1)
    logout(c_token)
Ejemplo n.º 13
0
def test_channels_list_invalid_token():
    '''
    Testing invalid token
    '''
    a_token = login('*****@*****.**', 'pass123456')[1]
    # chuck in invalid token
    with pytest.raises(HTTPError):
        channels_list(a_token + 'invalid')
    logout(a_token)
Ejemplo n.º 14
0
def test_channels_create_bad():
    '''
    Testing invalid inputs (e.g. name too long) will be picked up and thrown error
    '''
    a_token = login('*****@*****.**', 'pass123456')[1]
    with pytest.raises(HTTPError):
        channels_create(a_token, 225, True)
    # for next test
    logout(a_token)
Ejemplo n.º 15
0
def test_channels_list_empty(reset):  # pylint: disable=unused-argument,redefined-outer-name
    '''
    no channels created yet
    '''
    a_token = register('*****@*****.**', 'pass123456', 'Alan', 'Brown')[1]
    payload = channels_list(a_token)
    # check the list is empty
    assert payload == []
    logout(a_token)
Ejemplo n.º 16
0
def test_message_unpin_invalid_message(reset):
    a_token = register('*****@*****.**', 'pass123456', 'Admin', 'Heeblo')[1]
    channel_id = channels_create(a_token, 'test_public', True)
    msg0_id = message_send(a_token, channel_id, 'Pin this message')
    # pins the message
    message_pin(a_token, msg0_id)

    with pytest.raises(HTTPError):
        message_unpin(a_token, msg0_id + 1)
    logout(a_token)
Ejemplo n.º 17
0
def test_message_pin_owner(reset):
    a_token = register('*****@*****.**', 'pass123456', 'Admin', 'Heeblo')[1]
    channel_id = channels_create(a_token, 'test_public', True)
    msg0_id = message_send(a_token, channel_id, 'Pin this message')
    # pins the message
    message_pin(a_token, msg0_id)
    msg_list = channel_messages(a_token, channel_id, 0)[0]

    assert msg_list[0]['is_pinned']
    logout(a_token)
Ejemplo n.º 18
0
def test_message_remove_twice(reset):
    a_token = register('*****@*****.**', 'pass123456', 'Alan', 'Brown')[1]
    channel_id = channels_create(a_token, 'test_public', True)
    msg0_id = message_send(a_token, channel_id, 'test message to be removed')

    message_remove(a_token, msg0_id)

    with pytest.raises(HTTPError):
        message_remove(a_token, 0)
    logout(a_token)
Ejemplo n.º 19
0
def test_message_unreact_own(reset):
    a_token = register('*****@*****.**', 'pass123456', 'Alan', 'Brown')[1]
    channel_id = channels_create(a_token, 'test_public', True)
    msg0_id = message_send(a_token, channel_id, 'test message please react')
    message_react(a_token, msg0_id, 1)
    # unreacting
    message_unreact(a_token, msg0_id, 1)
    msg_list = channel_messages(a_token, channel_id, 0)[0]
    assert msg_list[0]['reacts'][0]['u_ids'] == []
    logout(a_token)
Ejemplo n.º 20
0
def test_message_react_already_reacted():
    a_token = login('*****@*****.**', 'pass123456')[1]
    channel_id_priv = channels_create(a_token, 'test_private', False)
    msg1_id = message_send(a_token, channel_id_priv,
                           'test message please react')
    message_react(a_token, msg1_id, 1)

    with pytest.raises(HTTPError):
        message_react(a_token, msg1_id, 1)
    logout(a_token)
Ejemplo n.º 21
0
def test_message_sendlater_invalid_token():
    '''
    Testing requesting with invalid token
    '''
    a_token = login('*****@*****.**', 'pass123456')[1]
    channel_id = channels_create(a_token, 'test_public', True)
    with pytest.raises(HTTPError):
        message_sendlater(a_token + 'x', channel_id, 'Hello world',
                          time.time() + 1)
    logout(a_token)
Ejemplo n.º 22
0
def test_message_sendlater_not_in_channel(reset):
    '''
    Testing requesting to send message later when not in channel
    '''
    a_token = register('*****@*****.**', 'pass123456', 'Alan', 'Brown')[1]
    channel_id = channels_create(a_token, 'test_public', True)
    k_token = register('*****@*****.**', 'kenis123', 'Ken', 'Li')[1]
    with pytest.raises(HTTPError):
        message_sendlater(k_token, channel_id, 'Bad message', time.time() + 1)
    logout(a_token)
Ejemplo n.º 23
0
def test_message_sendlater_ok(reset):
    '''
    Testing message send later request
    '''
    a_token = register('*****@*****.**', 'pass123456', 'Alan', 'Brown')[1]
    channel_id = channels_create(a_token, 'test_public', True)

    msg_id = message_sendlater(a_token, channel_id, 'sending later',
                               time.time() + 3)
    assert msg_id == 2  # hangman sends the first message -> next available id is 2
    logout(a_token)
Ejemplo n.º 24
0
def test_message_send_ok(reset):
    '''
    Testing sending a valid message by an authorised user
    '''
    a_token = register('*****@*****.**', 'pass123456', 'Alan', 'Brown')[1]
    channel_id = channels_create(a_token, 'test_public', True)
    message_send(a_token, channel_id, 'test message')
    msg_list = channel_messages(a_token, channel_id, 0)[0]
    assert len(msg_list) == 2  # hangman bot sends a message as well
    assert msg_list[0]['message'] == 'test message'
    logout(a_token)
Ejemplo n.º 25
0
def test_message_pin_owner_pins_user():
    a_token = login('*****@*****.**', 'pass123456')[1]
    k_token = register('*****@*****.**', 'kenis123', 'Ken', 'Li')[1]
    channel_join(k_token, 1)
    msg1_id = message_send(k_token, 1, 'User message')
    # user a pins user k's message
    message_pin(a_token, msg1_id)

    msg_list = channel_messages(a_token, 1, 0)[0]
    assert msg_list[0]['is_pinned'] and msg_list[1]['is_pinned']
    logout(a_token)
    logout(k_token)
Ejemplo n.º 26
0
def test_channels_create_ok(reset):  # pylint: disable=unused-argument,redefined-outer-name
    '''
    Testing creating a channel with correct inputs functions correctly
    '''
    a_token = register('*****@*****.**', 'pass123456', 'Alan', 'Brown')[1]
    channel_id = channels_create(a_token, 'test_public', True)
    payload = channels_list(a_token)
    # asserting
    assert channel_id == 1
    assert len(payload) == 1
    assert payload[0]['channel_id'] == 1
    assert payload[0]['name'] == 'test_public'
    logout(a_token)
Ejemplo n.º 27
0
def test_channels_list_ok():
    '''
    single channel created by admin
    '''
    a_token = login('*****@*****.**', 'pass123456')[1]
    channels_create(a_token, 'test_public', True)
    payload = channels_list(a_token)
    # check now channel list includes the new channel
    assert payload == [{
        'channel_id': 1,
        'name': 'test_public',
    }]
    logout(a_token)
Ejemplo n.º 28
0
def test_message_unpin_not_channel_owner(reset):
    a_token = register('*****@*****.**', 'pass123456', 'Admin', 'Heeblo')[1]
    channel_id = channels_create(a_token, 'test_public', True)
    msg0_id = message_send(a_token, channel_id, 'Pin this message')
    # pins the message
    message_pin(a_token, msg0_id)

    # make another user who is part of channel but not owner nor slackr owner
    u_token = register('*****@*****.**', 'usersweakpw', 'Bob', 'Builder')[1]
    channel_join(u_token, channel_id)

    with pytest.raises(HTTPError):
        message_unpin(u_token, msg0_id)
    logout(a_token)
Ejemplo n.º 29
0
def test_message_sendlater_threading(reset):
    '''
    Testing other requests can be processed concurrently without disturbing sendlater
    '''
    k_token = register('*****@*****.**', 'kenis123', 'Ken', 'Li')[1]
    channel_id = channels_create(k_token, 'test_public', True)
    message_sendlater(k_token, channel_id, 'sending later', time.time() + 1)
    message_send(k_token, channel_id, 'test message0')
    message_send(k_token, channel_id, 'test message1')
    time.sleep(2)
    msg_list = channel_messages(k_token, channel_id, 0)[0]
    assert len(msg_list) == 4  # hangman sends a message as well
    assert msg_list[0]['message'] == 'sending later'
    logout(k_token)
Ejemplo n.º 30
0
def test_message_remove_own(reset):
    '''
    Testing removing a valid message by a valid authorised user
    '''
    a_token = register('*****@*****.**', 'pass123456', 'Alan', 'Brown')[1]
    channel_id = channels_create(a_token, 'test_public', True)
    msg0_id = message_send(a_token, channel_id, 'test message to be removed')
    # check list is now empty after removal
    message_remove(a_token, msg0_id)
    message_send(a_token, channel_id, 'new_test_message')
    msg_list = channel_messages(a_token, channel_id, 0)[0]
    assert len(msg_list) == 2  # hangman bot sends a message as well..
    assert msg_list[0]['message'] == 'new_test_message'
    logout(a_token)