Esempio n. 1
0
def test_standupsend_notmember():
    '''
    Test standup_send when not a member of the channel
    '''
    reset_data()

    # SETUP

    registered_user = auth_register('*****@*****.**', '123456', 'John',
                                    'Smith')
    token = registered_user['token']

    c_id = channel_create(token, 'Channel1', 'true')
    standup_start(token, c_id, 60)

    # SETUP END

    # Register another user (not part of server)
    registered_user = auth_register('*****@*****.**', '123456', 'John',
                                    'Smith')
    token = registered_user['token']

    with pytest.raises(AccessError, match=r"*"):
        standup_send(token, c_id, "hello")
Esempio n. 2
0
def test_nochannel():
    '''
    Test sending a message to an invalid/non existent channel
    '''
    reset_data()

    # SETUP
    registered_user = auth_register('*****@*****.**', '123456', 'John',
                                    'Smith')
    token = registered_user['token']
    # SETUP END

    with pytest.raises(ValueError, match=r"*No message*"):
        message_send(token, 5, 'Hello')
        message_send(token, None, 'Hello')
Esempio n. 3
0
def test_standupsend_nochannel():
    '''
    Test standup_send with an invalid channel_id
    '''
    reset_data()

    # SETUP

    registered_user = auth_register('*****@*****.**', '123456', 'John',
                                    'Smith')
    token = registered_user['token']

    # SETUP END
    with pytest.raises(ValueError, match=r"*"):
        standup_send(token, 4, "does not exist")
Esempio n. 4
0
def test_channel_leave():
    '''
    The following test's various sections of channel_leave
    '''
    reset_data()
    # START SETUP
    token = auth_register('*****@*****.**', 'pass123', 'john',
                          'apple')['token']
    token2 = auth_register('*****@*****.**', 'pass123', 'john2',
                           'apple2')['token']
    channel_id_public = channel_create(token, 'newChannel', 'true')
    # END SETUP

    # Invalid channel ID
    with pytest.raises(ValueError):
        channel_leave(token, 666)

    # Invalid token
    with pytest.raises(AccessError):
        channel_leave('invalidToken', channel_id_public)

    # Working channel leave
    channel_join(token2, channel_id_public)
    channel_leave(token2, channel_id_public)
Esempio n. 5
0
def test_long():
    '''
    Test sending a message over maxmium character limit (1000)
    '''
    reset_data()
    # SETUP
    registered_user = auth_register('*****@*****.**', '123456', 'John',
                                    'Smith')
    token = registered_user['token']
    c_id = channel_create(token, 'Channel1', 'true')
    # SETUP END

    with pytest.raises(ValueError, match=r"*Over 1000 characters*"):
        message_send(token, c_id, 'long message' * 1000)
        message_send(token, c_id, 'very' * 1001)
Esempio n. 6
0
def test_nochannel_sendlater():
    '''
    Test sending a message later when the channel doesn't exist
    '''
    reset_data()

    # SETUP
    registered_user = auth_register('*****@*****.**', '123456', 'John',
                                    'Smith')
    token = registered_user['token']
    # SETUP END

    time_sent = t.time() + 10
    with pytest.raises(ValueError, match=r"*"):
        message_sendlater(token, '', 'Hello world', time_sent)
        message_sendlater(token, '123', 'Hello world', time_sent)
Esempio n. 7
0
def test_past():
    '''
    Test sending a message later when the time is in the past
    '''
    reset_data()

    # SETUP
    registered_user = auth_register('*****@*****.**', '123456', 'John',
                                    'Smith')
    token = registered_user['token']
    c_id = channel_create(token, 'Channel1', 'true')
    # SETUP END

    time_sent = t.time() - 10
    with pytest.raises(ValueError, match=r"*"):
        message_sendlater(token, c_id, 'Hello world', time_sent)
Esempio n. 8
0
def test_maximum():
    '''
    Test sending a message at the maxmium character limit (1000)
    '''
    reset_data()

    # SETUP
    registered_user = auth_register('*****@*****.**', '123456', 'John',
                                    'Smith')
    token = registered_user['token']
    c_id = channel_create(token, 'Channel1', 'true')
    # SETUP END

    message_send(token, c_id, 'a' * 1000)
    message_list = get_messages(c_id)
    assert 'a' in message_list[0]['message']
Esempio n. 9
0
def test_standupstart_nochannel():
    '''
    Test standup with an invalid channel id
    '''
    reset_data()

    # SETUP

    registered_user = auth_register('*****@*****.**', '123456', 'John',
                                    'Smith')
    token = registered_user['token']
    # SETUP END

    with pytest.raises(ValueError, match=r"*"):
        standup_start(token, 3, 60)
        standup_start(token, '', 60)
Esempio n. 10
0
def test_sendlater_nomsg():
    '''
    Test sending a message later with no message
    '''
    reset_data()

    # SETUP
    registered_user = auth_register('*****@*****.**', '123456', 'John',
                                    'Smith')
    token = registered_user['token']
    c_id = channel_create(token, 'Channel1', 'true')
    # SETUP END

    time_sent = t.time() + 10
    with pytest.raises(ValueError, match=r"*"):
        message_sendlater(token, c_id, None, time_sent)
Esempio n. 11
0
def test_standup_active_none():
    '''
    Test standup_active when there is no active standup
    '''
    reset_data()

    # SETUP

    registered_user = auth_register('*****@*****.**', '123456', 'John',
                                    'Smith')
    token = registered_user['token']

    c_id = channel_create(token, 'Channel1', 'true')

    # SETUP END

    assert standup_active(token, c_id) is None
Esempio n. 12
0
def test_standupsend_nostandup():
    '''
    Test standup_send when there is no active standup
    '''
    reset_data()

    # SETUP

    registered_user = auth_register('*****@*****.**', '123456', 'John',
                                    'Smith')
    token = registered_user['token']

    c_id = channel_create(token, 'Channel1', 'true')

    # SETUP END

    with pytest.raises(ValueError, match=r"*"):
        standup_send(token, c_id, 60)
Esempio n. 13
0
def test_user_profile():
    reset_data()
    #SETUP Begin - initialisation of variables for calling the function
    authRegDict1 = auth_register("*****@*****.**", "qwerty", "John", "Smith")
    auth_login("*****@*****.**", "qwerty")
    token1 = authRegDict1['token']
    userId1 = authRegDict1['u_id']
    #SETUP End

    #Test Case 1: successful case where calling user_profile returns the desired result
    assert user_profile(token1, userId1)['email'] == "*****@*****.**"

    #Test Case 2: Unsuccessful case where an invalid user ID is provided
    with pytest.raises(ValueError, match='not a valid u_id'):
        # the uis 10 do not exist
        user_profile(token1, 10)

    auth_logout(token1)
    reset_data()
Esempio n. 14
0
def test_user_profile_sethandle():
    ''' Tests user_profile_sethandle function '''
    reset_data()
    # SETUP START
    output = auth_register("*****@*****.**", "validPW", "tom", "cruise")
    u_id = output['u_id']
    # SETUP END

    # Authorised User
    user_profile_sethandle(server_data.data['users'][u_id]['token'],
                           "newHandle")

    # Invalid handle
    with pytest.raises(ValueError):
        user_profile_sethandle(server_data.data['users'][u_id]['token'],
                               "a" * 21)
    with pytest.raises(ValueError):
        user_profile_sethandle(server_data.data['users'][u_id]['token'],
                               "a" * 2)
Esempio n. 15
0
def test_standup_active():
    '''
    Test standup_active in a channel with an active standup
    '''
    reset_data()

    # SETUP

    registered_user = auth_register('*****@*****.**', '123456', 'John',
                                    'Smith')
    token = registered_user['token']

    c_id = channel_create(token, 'Channel1', 'true')

    # SETUP END

    expected_end = int(t.time()) + 60
    standup_start(token, c_id, 60)

    assert expected_end == standup_active(token, c_id)
Esempio n. 16
0
def test_standupstart_alreadyexists():
    '''
    Test standup when another standup is already running in the channel
    '''
    reset_data()

    # SETUP

    registered_user = auth_register('*****@*****.**', '123456', 'John',
                                    'Smith')
    token = registered_user['token']

    c_id = channel_create(token, 'Channel1', 'true')

    # SETUP END

    standup_start(token, c_id, 60)

    with pytest.raises(ValueError, match=r"*"):
        standup_start(token, c_id, 60)
Esempio n. 17
0
def test_user_profile_setemail():
    ''' Tests user_profile_setemail '''
    reset_data()
    # SETUP START
    output = auth_register("*****@*****.**", "validPW", "tom", "cruise")
    u_id = output['u_id']
    # SETUP END

    # Authorised User
    user_profile_setemail(server_data.data['users'][u_id]['token'],
                          "*****@*****.**")

    # Invalid email provided
    with pytest.raises(ValueError):
        user_profile_setemail(server_data.data['users'][u_id]['token'],
                              "notavalidemail")

    # Email already being used
    with pytest.raises(ValueError):
        user_profile_setemail(server_data.data['users'][u_id]['token'],
                              server_data.data['users'][u_id]['email'])
Esempio n. 18
0
def test_sendlater_cap():
    '''
    Test sending a message later at the maximum character limit (1000)
    '''
    reset_data()

    # SETUP
    registered_user = auth_register('*****@*****.**', '123456', 'John',
                                    'Smith')
    token = registered_user['token']
    c_id = channel_create(token, 'Channel1', 'true')
    # SETUP END

    # Send message later
    time_sent = t.time() + 10
    message_sendlater(token, c_id, 'a' * 1000, time_sent)

    # Check message is in the channel
    message_list = server_data.messages_later
    print('messages', message_list)
    assert 'a' in message_list[0]['message']
Esempio n. 19
0
def test_standupsend_toolong():
    '''
    Test standup_send when the message is too long
    '''
    reset_data()

    # SETUP

    registered_user = auth_register('*****@*****.**', '123456', 'John',
                                    'Smith')
    token = registered_user['token']

    c_id = channel_create(token, 'Channel1', 'true')

    # SETUP END

    standup_start(token, c_id, 60)
    message = "a" * 1001

    with pytest.raises(ValueError, match=r"*"):
        standup_send(token, c_id, message)
Esempio n. 20
0
def test_message_edit_empty():
    '''
    Test edit with an empty input, should delete the message
    '''
    reset_data()
    # SETUP
    registered_user = auth_register('*****@*****.**', '123456', 'John',
                                    'Smith')
    token = registered_user['token']
    c_id = channel_create(token, "Channel1", 'true')
    # SETUP END

    # Add two messages
    message_send(token, c_id, "Hello world!")
    message_list = get_messages(c_id)
    assert find_message(message_list, "Hello world!") == "Hello world!"
    msg1_id = get_message_id(message_list, "Hello world!")

    message_edit(token, msg1_id, "")
    message_list = get_messages(c_id)
    assert find_message(message_list, "Updated message") is None
Esempio n. 21
0
def test_edit_longmessage():
    '''
    Test edit when the edit is over the character limit
    '''
    reset_data()
    # SETUP
    registered_user = auth_register('*****@*****.**', '123456', 'John',
                                    'Smith')
    token = registered_user['token']
    c_id = channel_create(token, "Channel1", 'true')
    # SETUP END

    # Add two messages
    message_send(token, c_id, "Hello world!")
    message_list = get_messages(c_id)

    msg1_id = get_message_id(message_list, "Hello world!")
    long_message = "a" * 1001

    with pytest.raises(ValueError):
        message_edit(token, msg1_id, long_message)
Esempio n. 22
0
def test_remove_no_id():
    '''
    Test remove when message_id doesn't exist
    '''
    reset_data()
    # SETUP
    registered_user = auth_register("*****@*****.**", "123456", "John",
                                    "Smith")
    token = registered_user['token']
    c_id = channel_create(token, "Channel1", 'true')

    # Add two messages
    message_send(token, c_id, "Hello world!")
    message_send(token, c_id, "another message")
    message_list = get_messages(c_id)
    assert find_message(message_list, "Hello world!") == "Hello world!"
    assert find_message(message_list, "another message") == "another message"
    # SETUP END

    with pytest.raises(ValueError, match=r"*"):
        message_remove(token, "123asfawf12")
        message_remove(token, "")
Esempio n. 23
0
def test_user_profiles_uploadphoto():
    ''' Tests upload photo function '''
    reset_data()
    # SETUP START
    output = auth_register("*****@*****.**", "validPW", "tom",
                           "cruise")['token']
    # SETUP END
    img = 'https://i.ytimg.com/vi/MPV2METPeJU/maxresdefault.jpg'

    # Invalid token
    with pytest.raises(AccessError):
        user_profiles_uploadphoto("invalidToken", img, 0, 0, 100, 100)
    # Invalid dimensions too big
    with pytest.raises(ValueError):
        user_profiles_uploadphoto(output, img, 0, 0, 9999999, 99999999)

    # x_start greater than x_end
    with pytest.raises(ValueError):
        user_profiles_uploadphoto(output, img, 100, 0, 50, 100)

    # Fresh look
    user_profiles_uploadphoto(output, img, 0, 0, 100, 100)
Esempio n. 24
0
def test_edit_same():
    '''
    Test edit when the editted message is the same as the original
    '''
    reset_data()
    # SETUP
    registered_user = auth_register('*****@*****.**', '123456', 'John',
                                    'Smith')
    token = registered_user['token']
    c_id = channel_create(token, "Channel1", 'true')
    # SETUP END

    # Add two messages
    message_send(token, c_id, "Hello world")
    message_list = get_messages(c_id)
    assert find_message(message_list, "Hello world") == "Hello world"

    msg1_id = get_message_id(message_list, "Hello world")
    # SETUP END

    with pytest.raises(ValueError, match=r"*"):
        message_edit(token, msg1_id, "Hello world")
Esempio n. 25
0
def test_unreact_already():
    '''
    Test message_unreact when the message already has no react
    '''
    reset_data()
    # SETUP
    registered_user = auth_register('*****@*****.**', '123456', 'John',
                                    'Smith')
    token = registered_user['token']

    c_id = channel_create(token, "Channel1", 'true')
    # SETUP END

    # Add two messages
    message_send(token, c_id, "Hello world!")
    message_list = get_messages(c_id)
    assert find_message(message_list, "Hello world!") == "Hello world!"

    msg1_id = get_message_id(message_list, "Hello world!")
    # SETUP END

    with pytest.raises(ValueError):
        message_unreact(token, msg1_id, 1)
Esempio n. 26
0
def test_users_all():
    ''' Tests users_all function'''
    reset_data()
    # SETUP START
    output = auth_register("*****@*****.**", "validPW", "tom", "cruise")
    u_id = output['u_id']
    # SETUP END

    # Working case
    assert users_all(server_data.data['users'][u_id]['token']) == {
        'users': [{
            'email': '*****@*****.**',
            'handle_str': 'tomcruise',
            'name_first': 'tom',
            'name_last': 'cruise',
            'profile_img_url': '',
            'u_id': 0
        }]
    }

    # Invalid token
    with pytest.raises(AccessError):
        users_all("abcd")
Esempio n. 27
0
def test_edit_no_id():
    '''
    Test edit when the message ID is invalid or doesn't exist
    '''
    reset_data()
    # SETUP
    registered_user = auth_register('*****@*****.**', '123456', 'John',
                                    'Smith')
    token = registered_user['token']
    c_id = channel_create(token, "Channel1", 'true')
    # SETUP END

    # Add two messages
    message_send(token, c_id, "Hello world!")
    message_send(token, c_id, "another message")
    message_list = get_messages(c_id)
    assert find_message(message_list, "Hello world!") == "Hello world!"
    assert find_message(message_list, "another message") == "another message"
    # SETUP END

    with pytest.raises(ValueError, match=r"*"):
        message_edit(token, "123asfawf12", "update")
        message_edit(token, "", "there is no message")
Esempio n. 28
0
def test_edit_cap():
    '''
    Test edit at the maximum character limit
    '''
    reset_data()
    # SETUP
    registered_user = auth_register('*****@*****.**', '123456', 'John',
                                    'Smith')
    token = registered_user['token']
    c_id = channel_create(token, "Channel1", 'true')
    # SETUP END

    # Add two messages
    message_send(token, c_id, "Hello world!")
    message_list = get_messages(c_id)
    assert find_message(message_list, "Hello world!") == "Hello world!"

    msg1_id = get_message_id(message_list, "Hello world!")
    # SETUP END

    message_edit(token, msg1_id, "a" * 999)
    message_list = get_messages(c_id)
    assert 'a' in message_list[0]['message']
Esempio n. 29
0
def test_user_profile_setname():
    ''' Tests user_profile_setname function '''
    reset_data()
    # SETUP START
    output = auth_register("*****@*****.**", "validPW", "tom", "cruise")
    u_id = output['u_id']
    # SETUP END

    # Authorised user
    user_profile_setname(server_data.data['users'][u_id]['token'], "new",
                         "name")
    assert server_data.data['users'][u_id]['name_first'] == "new"
    assert server_data.data['users'][u_id]['name_last'] == "name"

    # First name too long
    with pytest.raises(ValueError):
        user_profile_setname(server_data.data['users'][u_id]['token'],
                             "a" * 51, "a")

    # Last name too long
    with pytest.raises(ValueError):
        user_profile_setname(server_data.data['users'][u_id]['token'], "Tom",
                             "a" * 51)
Esempio n. 30
0
def test_search_simple():
    '''
    Test search given a query string
    '''
    reset_data()

    # SETUP

    registered_user = auth_register('*****@*****.**', '123456', 'John',
                                    'Smith')
    token = registered_user['token']

    c_id = channel_create(token, 'Channel1', 'true')

    # SETUP END

    message_send(token, c_id, 'Hello')
    message_send(token, c_id, 'Dont find this')

    return_dic = search(token, "Hello")
    messages = return_dic['messages']

    for message in messages:
        assert "Hello" in message['message']