コード例 #1
0
def test_channels_list_zero_channels():
    '''Creates 0 channels and checks if user is part of no channels'''
    reset_data()
    data = auth_register('*****@*****.**', 'cs1531', 'Kevin', 'Trang')
    token = data['token']
    user_one_channel_list = channels_list(token)
    assert bool(user_one_channel_list['channels']) is False
コード例 #2
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
コード例 #3
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
コード例 #4
0
def test_channels_create_long_name():
    '''Cannot create channel if name is more than 20 characters'''
    reset_data()
    data = auth_register('*****@*****.**', 'cs1531', 'Kevin', 'Trang')
    token = data['token']
    with pytest.raises(InputError):
        channels_create(token, "Yena's Army of Ducks Fan Club", True)
コード例 #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_details_invalid_channel_id():
    '''Function won't work if channel id is invalid'''
    reset_data()
    data = auth_register('*****@*****.**', 'cs1531', 'Kevin', 'Trang')
    token = data['token']
    channels_create(token, 'Channel One', True)
    with pytest.raises(InputError):
        channel_details(token, 2)
コード例 #7
0
def test_channels_create_empty_is_public_value():
    '''If the is_public value is empty, it creates the private channel'''
    reset_data()
    data = auth_register('*****@*****.**', 'cs1531', 'Kevin', 'Trang')
    token = data['token']
    assert bool('') is False
    channel_id = channels_create(token, "Channel One", '')
    assert channel_id['channel_id'] == 1
コード例 #8
0
def test_channels_create_two_channels():
    '''Create two channels to compare their channel ids too'''
    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
    channel_two_id = channels_create(token, "Channel Two", False)
    assert channel_two_id['channel_id'] == 2
コード例 #9
0
def test_channels_create_two_channels_same_name():
    '''Create two channels with same name and public value'''
    reset_data()
    data = auth_register('*****@*****.**', 'cs1531', 'Kevin', 'Trang')
    token = data['token']
    channel_id = channels_create(token, "UNSW Channel", True)
    assert channel_id['channel_id'] == 1
    channel_two_id = channels_create(token, "UNSW Channel", True)
    assert channel_two_id['channel_id'] == 2
コード例 #10
0
def test_invalid_start_value():
    '''Channel messages will not work if start value is bigger than total messages'''
    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'], 'hi')
    with pytest.raises(InputError):
        channel_messages(token, channel_id['channel_id'], 2)
コード例 #11
0
def test_channel_messages_invalid_channel_id():
    '''Channel messages will not run with invalid channel ID'''
    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'], 'hi')
    with pytest.raises(InputError):
        channel_messages(token, 2, 0)
コード例 #12
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']) == {}
コード例 #13
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) == {}
コード例 #14
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) == {}
コード例 #15
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'])
コード例 #16
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']) == {}
コード例 #17
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)
コード例 #18
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)
コード例 #19
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'])
コード例 #20
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'])
コード例 #21
0
def test_channels_listall():
    '''Creates 1 channel under User One's token and list 1 channel'''
    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)
    channels_list = channels_listall(token)
    assert len(channels_list['channels']) == 1
コード例 #22
0
def test_channels_list_one_channel():
    '''Returns a list of 1 channel that the authorised user is part of'''
    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
コード例 #23
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)
コード例 #24
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)
コード例 #25
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)
コード例 #26
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)
コード例 #27
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)
コード例 #28
0
def test_channel_messages():
    '''Shows one channel message after one was sent'''
    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'], 'hi')
    message_dict = channel_messages(token, channel_id['channel_id'], 0)
    assert message_dict['start'] == 0
    assert message_dict['end'] == -1
    assert message_dict['messages'][0]['message_id'] == message_id[
        'message_id']
コード例 #29
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)
コード例 #30
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)