Пример #1
0
def test_user_profile_sethandle():
    reset_all()
    data1 = auth_register('*****@*****.**', 'password', 'jiahao',
                          'zhang')
    u_id1 = data1['u_id']
    token1 = data1['token']
    data2 = auth_register('*****@*****.**', 'password', 'jiahao',
                          'zhang')
    token2 = data2['token']
    assert user_profile_sethandle(token1, 'jiah') == {}
    assert user_profile(token1, u_id1) == {
        'u_id': u_id1,
        'email': '*****@*****.**',
        'name_first': 'jiahao',
        'name_last': 'zhang',
        'handle_str': 'jiah',
    }
    assert user_profile_sethandle(token2, 'alen') == {}
    #token changed after successful change handle_str
    #token1 = auth_login('*****@*****.**','123456')['token']
    #token2 = auth_login('*****@*****.**','123456')['token']

    with pytest.raises(InputError):
        user_profile_sethandle(token2, 'jiah')

    with pytest.raises(InputError):
        user_profile_sethandle(token1, 'alen')

    with pytest.raises(InputError):
        user_profile_sethandle(token1, 'a')

    with pytest.raises(InputError):
        user_profile_sethandle(token1, '123456789123456789123')
Пример #2
0
def test_user_profile_setemail():
    reset_all()
    data1 = auth_register('*****@*****.**', 'password', 'jiahao',
                          'zhang')
    u_id1 = data1['u_id']
    token1 = data1['token']
    data2 = auth_register('*****@*****.**', 'password', 'jiahao',
                          'zhang')
    token2 = data2['token']
    assert user_profile_setemail(token1, '*****@*****.**') == {}
    #token changed after successful change email
    #check for new eamil login
    data3 = auth_login('*****@*****.**', 'password')
    token3 = data3['token']
    assert user_profile(token3, u_id1) == {
        'u_id': u_id1,
        'email': '*****@*****.**',
        'name_first': 'jiahao',
        'name_last': 'zhang',
        'handle_str': 'jiahaozhang',
    }

    ##token1 = auth_login('*****@*****.**','password')['token']

    with pytest.raises(InputError):
        user_profile_setemail(token3, '5')
    with pytest.raises(InputError):
        user_profile_setemail(token3, '*****@*****.**')
    with pytest.raises(InputError):
        user_profile_setemail(token2, '*****@*****.**')
Пример #3
0
def test_channels_list_under_channel_join():
    '''User 1 make 2 channels, User 2 joins them and channel list updates'''
    reset_data()
    data = auth_register('*****@*****.**', 'cs1531', 'Kevin', 'Trang')
    token = data['token']

    #Creates Channel One under User One's token which adds user to channel
    channel_id = channels_create(token, "Channel One", True)
    user_one_channel_list = channels_list(token)
    assert len(user_one_channel_list['channels']) == 1

    #Creates Channel Two under User One's token which adds user to channel
    channel_two_id = channels_create(token, "Channel Two", True)
    user_one_channel_list = channels_list(token)
    assert len(user_one_channel_list['channels']) == 2

    #Register User Two
    data_two = auth_register('*****@*****.**', 'cs1531', 'Yuri', 'Jo')
    token_two = data_two['token']

    #Assert that User Two's channel_list is empty
    user_two_channel_list = channels_list(token_two)
    assert bool(user_two_channel_list['channels']) is False

    #User Two joins Channel One and channel list is updated
    channel_join(token_two, channel_id['channel_id'])
    user_two_channel_list = channels_list(token_two)
    assert len(user_two_channel_list['channels']) == 1

    #User Two joins Channel Two and channel list is updated
    channel_join(token_two, channel_two_id['channel_id'])
    user_two_channel_list = channels_list(token_two)
    assert len(user_two_channel_list['channels']) == 2
Пример #4
0
def test_user_profile():
    #register an user for test purpose
    reset_all()
    data = auth_register('*****@*****.**', 'password', 'jiahao', 'zhang')
    u_id1 = data['u_id']
    token1 = data['token']
    data1 = auth_register('*****@*****.**', 'password', 'jiahao',
                          'zhang')
    u_id2 = data1['u_id']
    #sample invalid id and token
    invalid_u_id = -1

    assert user_profile(token1, u_id1) == {
        'u_id': u_id1,
        'email': '*****@*****.**',
        'name_first': 'jiahao',
        'name_last': 'zhang',
        'handle_str': 'jiahaozhang',
    }
    ## test to check another user
    assert user_profile(token1, u_id2) == {
        'u_id': u_id2,
        'email': '*****@*****.**',
        'name_first': 'jiahao',
        'name_last': 'zhang',
        'handle_str': 'jiahaozhang',
    }
    with pytest.raises(InputError):
        user_profile(token1, invalid_u_id)
Пример #5
0
def test_channels_list_two_channels_create_three_channels():
    '''Creates 3 channels but authorised user is part of 2 of them'''
    reset_data()
    data = auth_register('*****@*****.**', 'cs1531', 'Kevin', 'Trang')
    token = data['token']

    #Creates Channel One under User One's token which adds user to channel
    channels_create(token, "Channel One", True)
    user_one_channel_list = channels_list(token)
    assert len(user_one_channel_list['channels']) == 1

    #Creates Channel Two under User One's token which adds user to channel
    channels_create(token, "Channel Two", True)
    user_one_channel_list = channels_list(token)
    assert len(user_one_channel_list['channels']) == 2

    #Register User Two
    data_two = auth_register('*****@*****.**', 'cs1531', 'Yuri', 'Jo')
    token_two = data_two['token']

    #Creates Channel Three under User Two's token which adds user to channel
    channels_create(token_two, "Channel Three", True)

    # Asserts that User One is not part of Channel Three by checking User
    # One's channels list under their token
    user_one_channel_list = channels_list(token)
    assert len(user_one_channel_list['channels']) == 2

    #Checks User Two's channels list
    user_two_channel_list = channels_list(token_two)
    assert len(user_two_channel_list['channels']) == 1
Пример #6
0
def test_channel_join():
    '''Function should allow authorised user to join channel'''
    reset_data()
    data = auth_register('*****@*****.**', 'cs1531', 'Kevin', 'Trang')
    token = data['token']
    channel_id = channels_create(token, 'Channel One', True)
    data_two = auth_register('*****@*****.**', 'cs1531', 'Yena', 'Choi')
    token_two = data_two['token']
    assert channel_join(token_two, channel_id['channel_id']) == {}
Пример #7
0
def test_channel_invite():
    '''This channel will invite new user to channel'''
    reset_data()
    data = auth_register('*****@*****.**', 'cs1531', 'Kevin', 'Trang')
    token = data['token']
    channel_id = channels_create(token, 'Channel One', True)
    data_two = auth_register('*****@*****.**', 'cs1531', 'Yena', 'Choi')
    new_user_id = data_two['u_id']
    assert channel_invite(token, channel_id['channel_id'], new_user_id) == {}
Пример #8
0
def test_details_invalid_channel_member():
    '''Function won't work if authorised user is not member of channel'''
    reset_data()
    data = auth_register('*****@*****.**', 'cs1531', 'Kevin', 'Trang')
    token = data['token']
    channel_id = channels_create(token, 'Channel One', True)
    data_two = auth_register('*****@*****.**', 'cs1531', 'Yena', 'Choi')
    token_two = data_two['token']
    with pytest.raises(AccessError):
        channel_details(token_two, channel_id['channel_id'])
Пример #9
0
def test_removeowner_non_owner():
    '''Function cannot remove u_id from owners list if u_id is not channel owner'''
    reset_data()
    data = auth_register('*****@*****.**', 'cs1531', 'Kevin', 'Trang')
    token = data['token']
    channel_id = channels_create(token, 'Channel One', True)
    data_two = auth_register('*****@*****.**', 'cs1531', 'Yena', 'Choi')
    other_user_id = data_two['u_id']
    with pytest.raises(InputError):
        channel_removeowner(token, channel_id['channel_id'], other_user_id)
Пример #10
0
def test_channel_invite_invalid_user_id():
    '''New user can't be invited with invalid user id'''
    reset_data()
    data = auth_register('*****@*****.**', 'cs1531', 'Kevin', 'Trang')
    token = data['token']
    channels_create(token, 'Channel One', True)
    data_two = auth_register('*****@*****.**', 'cs1531', 'Yena', 'Choi')
    new_user_id = data_two['u_id']
    with pytest.raises(InputError):
        channel_invite(token, 2, new_user_id - 1)
Пример #11
0
def test_channel_addowner():
    '''Function should add new user as owner of channel'''
    reset_data()
    data = auth_register('*****@*****.**', 'cs1531', 'Kevin', 'Trang')
    token = data['token']
    channel_id = channels_create(token, 'Channel One', True)
    data_two = auth_register('*****@*****.**', 'cs1531', 'Yena', 'Choi')
    other_user_id = data_two['u_id']
    assert channel_addowner(token, channel_id['channel_id'],
                            other_user_id) == {}
Пример #12
0
def test_channel_leave_non_member():
    '''Authorised user can't use function if its not a channel member'''
    reset_data()
    data = auth_register('*****@*****.**', 'cs1531', 'Kevin', 'Trang')
    token = data['token']
    channel_id = channels_create(token, 'Channel One', True)
    data_two = auth_register('*****@*****.**', 'cs1531', 'Yena', 'Choi')
    token_two = data_two['token']
    with pytest.raises(AccessError):
        channel_leave(token_two, channel_id['channel_id'])
Пример #13
0
def test_channel_leave():
    '''Authorised user is given permission to leave channel'''
    reset_data()
    data = auth_register('*****@*****.**', 'cs1531', 'Kevin', 'Trang')
    token = data['token']
    channel_id = channels_create(token, 'Channel One', True)
    data_two = auth_register('*****@*****.**', 'cs1531', 'Yena', 'Choi')
    token_two = data_two['token']
    channel_join(token_two, channel_id['channel_id'])
    assert channel_leave(token_two, channel_id['channel_id']) == {}
Пример #14
0
def test_channel_join_private_channel():
    '''Authorised user can't join private channel'''
    reset_data()
    data = auth_register('*****@*****.**', 'cs1531', 'Kevin', 'Trang')
    token = data['token']
    channel_id = channels_create(token, 'Channel One', False)
    data_two = auth_register('*****@*****.**', 'cs1531', 'Yena', 'Choi')
    token_two = data_two['token']
    with pytest.raises(AccessError):
        channel_join(token_two, channel_id['channel_id'])
Пример #15
0
def test_removeowner_invalid_channel_id():
    '''Function won't run with invalid channel_id'''
    reset_data()
    data = auth_register('*****@*****.**', 'cs1531', 'Kevin', 'Trang')
    token = data['token']
    channel_id = channels_create(token, 'Channel One', True)
    assert channel_id['channel_id'] == 1
    data_two = auth_register('*****@*****.**', 'cs1531', 'Yena', 'Choi')
    other_user_id = data_two['u_id']
    with pytest.raises(InputError):
        channel_removeowner(token, 2, other_user_id)
Пример #16
0
def test_message_send_in_wrong_channel():
    '''Send message in a channel that the user has not joined'''
    reset_data()
    data = auth_register('*****@*****.**', 'cs1531', 'Kevin', 'Trang')
    token = data['token']
    channel_id = channels_create(token, 'Channel One', True)
    assert channel_id['channel_id'] == 1
    data_two = auth_register('*****@*****.**', 'cs1531', 'Kevin', 'Trang')
    token_two = data_two['token']
    with pytest.raises(AccessError):
        message_send(token_two, channel_id['channel_id'], 'hello')
Пример #17
0
def test_channel_addowner_twice():
    '''Function cannot add owner twice'''
    reset_data()
    data = auth_register('*****@*****.**', 'cs1531', 'Kevin', 'Trang')
    token = data['token']
    channel_id = channels_create(token, 'Channel One', True)
    data_two = auth_register('*****@*****.**', 'cs1531', 'Yena', 'Choi')
    other_user_id = data_two['u_id']
    channel_addowner(token, channel_id['channel_id'], other_user_id)
    with pytest.raises(InputError):
        channel_addowner(token, channel_id['channel_id'], other_user_id)
Пример #18
0
def test_channel_join_invalid_channel_id():
    '''Authorised user can't join channel with invalid channel id'''
    reset_data()
    data = auth_register('*****@*****.**', 'cs1531', 'Kevin', 'Trang')
    token = data['token']
    channel_id = channels_create(token, 'Channel One', True)
    data_two = auth_register('*****@*****.**', 'cs1531', 'Yena', 'Choi')
    token_two = data_two['token']
    assert channel_id['channel_id'] == 1
    with pytest.raises(InputError):
        channel_join(token_two, 2)
Пример #19
0
def test_messages_nonmember():
    '''Channel messages will not work if there is non-channel member requesting'''
    reset_data()
    data = auth_register('*****@*****.**', 'cs1531', 'Kevin', 'Trang')
    token = data['token']
    channel_id = channels_create(token, 'Channel One', True)
    message_send(token, channel_id['channel_id'], 'Song Hayoung > Choi Yena')
    data_two = auth_register('*****@*****.**', 'cs1531', 'Yena', 'Choi')
    token_two = data_two['token']
    with pytest.raises(AccessError):
        channel_messages(token_two, channel_id['channel_id'], 0)
Пример #20
0
def test_invite_nonmember():
    '''New user can't be invited if authorised user has not joined channel yet'''
    reset_data()
    data = auth_register('*****@*****.**', 'cs1531', 'Kevin', 'Trang')
    token = data['token']
    channel_id = channels_create(token, 'Channel One', True)
    data_two = auth_register('*****@*****.**', 'cs1531', 'Yena', 'Choi')
    token_two = data_two['token']
    data_three = auth_register('*****@*****.**', 'cs1531', 'Yuri', 'Jo')
    new_user_id = data_three['u_id']
    with pytest.raises(AccessError):
        channel_invite(token_two, channel_id['channel_id'], new_user_id)
Пример #21
0
def test_channel_addowner_non_owner():
    '''Function cannot add owner to channel if authorised user is not owner'''
    reset_data()
    data = auth_register('*****@*****.**', 'cs1531', 'Kevin', 'Trang')
    token = data['token']
    channel_id = channels_create(token, 'Channel One', True)
    data_two = auth_register('*****@*****.**', 'cs1531', 'Yena', 'Choi')
    token_two = data_two['token']
    data_three = auth_register('*****@*****.**', 'cs1531', 'Yuri', 'Jo')
    other_user_id = data_three['u_id']
    with pytest.raises(AccessError):
        channel_addowner(token_two, channel_id['channel_id'], other_user_id)
Пример #22
0
def test_set_user_permission(reset):
    reset
    data = auth_register('*****@*****.**', 'password', 'jiahao',
                         'zhang')
    token = data['token']
    data = auth_register('*****@*****.**', 'password', 'jiahao', 'zhang')
    u_id1 = data['u_id']
    data1 = auth_register('*****@*****.**', 'password', 'jiahao',
                          'zhang')
    u_id2 = data1['u_id']
    assert user_permission(token, u_id2, 1) == {}
    assert user_permission(token, u_id1, 1) == {}
Пример #23
0
def test_edit_other():
    '''Cannot edit another user's message when not admin/owner'''
    reset_data()
    data = auth_register('*****@*****.**', 'cs1531', 'Kevin', 'Trang')
    token = data['token']
    channel_id = channels_create(token, 'Channel One', True)
    message_id = message_send(token, channel_id['channel_id'], 'Hello World')
    data_two = auth_register('*****@*****.**', 'IZ*ONE', 'Yena', 'Choi')
    token_two = data_two['token']
    channel_join(token_two, channel_id['channel_id'])
    with pytest.raises(AccessError):
        message_edit(token_two, message_id['message_id'], 'Promote IZ*ONE')
Пример #24
0
def test_removeowner_authorised_non_owner():
    '''Function won't run if authorised user is not owner of channel'''
    reset_data()
    data = auth_register('*****@*****.**', 'cs1531', 'Kevin', 'Trang')
    token = data['token']
    channel_id = channels_create(token, 'Channel One', True)
    data_two = auth_register('*****@*****.**', 'cs1531', 'Yena', 'Choi')
    user_two_id = data_two['u_id']
    channel_addowner(token, channel_id['channel_id'], user_two_id)
    data_three = auth_register('*****@*****.**', 'cs1531', 'Yuri', 'Jo')
    token_three = data_three['token']
    with pytest.raises(AccessError):
        channel_removeowner(token_three, channel_id['channel_id'], user_two_id)
Пример #25
0
def test_channel_details():
    '''Function should return some details of specified channel'''
    reset_data()
    data = auth_register('*****@*****.**', 'cs1531', 'Kevin', 'Trang')
    token = data['token']
    user_id = data['u_id']
    channel_id = channels_create(token, 'Channel One', True)
    data_two = auth_register('*****@*****.**', 'cs1531', 'Yena', 'Choi')
    token_two = data_two['token']
    user_two_id = data_two['u_id']
    channel_join(token_two, channel_id['channel_id'])
    channel_dict = channel_details(token, channel_id['channel_id'])
    assert channel_dict['name'] == 'Channel One'
    assert channel_dict['owner_members'] == [user_id]
    assert channel_dict['all_members'] == [user_id, user_two_id]
Пример #26
0
def test_stand_up_send(reset, get_user):
    reset
    token, channel_id = get_user
    invaild_channel_id = -1
    data1 = auth_register('*****@*****.**', 'password', 'jiahao',
                          'zhang')
    token1 = data1['token']
    ## creat another user to test 'user is not a member of the channel'
    standup_start(token, channel_id, 10)
    assert standup_send(token, channel_id, 'I like banana') == {}

    time.sleep(10)
    with pytest.raises(
            InputError):  ## test for No current active standup in channel
        standup_send(token, channel_id, 'I like banana')

    standup_start(token, channel_id, 10)
    with pytest.raises(InputError):  ## test for invalid channel_id
        standup_send(token, invaild_channel_id, 'I like banana')

    with pytest.raises(
            InputError):  ## test 'user is not a member of the channel'
        standup_send(token1, channel_id, 'I like banana')
    with pytest.raises(
            InputError
    ):  ## test for Message cannot be over 1000 characters long
        standup_send(token, channel_id, 'banan' * 205)
Пример #27
0
def test_worksapce_reset(reset):
    reset
    data = auth_register('*****@*****.**', 'password', 'jiahao', 'zhang')
    token1 = data['token']
    assert workspace_reset() == {}
    with pytest.raises(AccessError):
        users_all(token1)
Пример #28
0
def test_message_send():
    '''Send a normal message such as 'Hello World'''
    data = auth_register('*****@*****.**', 'cs1531', 'Kevin', 'Trang')
    token = data['token']
    channel_id = channels_create(token, 'Channel One', True)
    message_id = message_send(token, channel_id['channel_id'], 'Hello World')
    assert isinstance(message_id['message_id'], int) is True
Пример #29
0
def test_channels_listall_zero_channels():
    '''User One checks empty list of channels'''
    reset_data()
    data = auth_register('*****@*****.**', 'cs1531', 'Kevin', 'Trang')
    token = data['token']
    channels_list = channels_listall(token)
    assert bool(channels_list['channels']) is False
Пример #30
0
def test_user_profile_setname():
    reset_all()
    data = auth_register('*****@*****.**', 'password', 'jiahao', 'zhang')
    u_id1 = data['u_id']
    token1 = data['token']
    assert user_profile_setname(token1, 'alen', 'banana') == {}

    #show user profile after successful change
    assert user_profile(token1, u_id1) == {
        'u_id': u_id1,
        'email': '*****@*****.**',
        'name_first': 'alen',
        'name_last': 'banana',
        'handle_str': 'jiahaozhang',
    }
    #test for wrong input
    with pytest.raises(InputError):
        user_profile_setname(token1, 'i' * 60, 'banana')

    with pytest.raises(InputError):
        user_profile_setname(token1, 'alen', 'i' * 60)

    with pytest.raises(InputError):
        user_profile_setname(token1, 'alen', '')
    with pytest.raises(InputError):
        user_profile_setname(token1, '', 'banana')