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
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)
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)
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
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
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
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)
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
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
def test_channels_listall_two_users(): '''User One makes 1 channel, User One and Two checks channel list''' 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 #User Two is registered and accesses channel list data_two = auth_register('*****@*****.**', 'cs1531', 'Yuri', 'Jo') token_two = data_two['token'] channels_list = channels_listall(token_two) assert len(channels_list['channels']) == 1
def test_message_react(): '''Message will be reacted on the chat''' 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') assert message_react(token, message_id['message_id'], 1) == {}
def test_message_send_long_string(): '''Can't send message with more than 1000 characters''' reset_data() data = auth_register('*****@*****.**', 'cs1531', 'Kevin', 'Trang') token = data['token'] channel_id = channels_create(token, 'Channel One', True) with pytest.raises(InputError): message_send(token, channel_id['channel_id'], 'he' * 1000)
def test_message_remove(): '''This function will remove a message''' 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') assert message_remove(token, message_id['message_id']) == {}
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
def test_message_edit_empty(): '''If the message is edited into an empty string, it'll be deleted''' 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'], 'UNSW < USYD') assert message_edit(token, message_id['message_id'], '') == {}
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)
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)
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) == {}
def get_user(): data = auth_register('*****@*****.**', 'password', 'jiahao', 'zhang') token = data['token'] channel_id = channels_create(token, 'New channel', True) return ( token, channel_id, )
def test_message_edit(): '''This function will edit the message into a non-empty string''' 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'], 'UNSW < USYD') message_edit(token, message_id['message_id'], 'UNSW > USYD') assert message_edit(token, message_id['message_id'], 'UNSW > USYD') == {}
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']) == {}
def test_message_invalid_react_id_in_react(): '''Message will be not reacted with invalid react id on the chat''' 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') with pytest.raises(InputError): message_react(token, message_id['message_id'], 2)
def test_remove_twice(): '''Cannot remove a message twice''' 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') message_remove(token, message_id['message_id']) with pytest.raises(InputError): message_remove(token, message_id['message_id'])
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'])
def test_message_send_link(): '''A URL link will be sent as a string instead of an actual link''' reset_data() data = auth_register('*****@*****.**', 'cs1531', 'Kevin', 'Trang') token = data['token'] channel_id = channels_create(token, 'Channel One', True) message = 'https://www.google.com/' assert isinstance(message, str) is True message_id = message_send(token, channel_id['channel_id'], 'https://www.google.com/') assert isinstance(message_id['message_id'], int) is True
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'])
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']) == {}
def test_message_invalid_pin(): '''Pinned message will not be pinned again''' 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') message_pin(token, message_id['message_id']) with pytest.raises(InputError): message_pin(token, message_id['message_id'])
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'])
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) == {}