def test_message_send_invalid_channel_id(): # Test if InputError is raised when given invalid channel id clear_v1() user = auth_register_v2('*****@*****.**', 'password123', 'Terry', 'Wills') channels_create_v2(user['token'], 'TERRYS CHANNEL', True) with pytest.raises(InputError): message_send_v2(user['token'], -1, 'anyone here?')
def test_different_permissions_edit(): clear_v1() user_1 = auth_register_v2('*****@*****.**', 'aaaaaa', 'a', 'a') user_2 = auth_register_v2('*****@*****.**', 'bbbbbb', 'b', 'b') user_3 = auth_register_v2('*****@*****.**', 'cccccc', 'c', 'c') channel_1 = channels_create_v2(user_1['token'], 'Channel 1', True) channel_invite_v2(user_1['token'], channel_1['channel_id'], user_2['auth_user_id']) channel_invite_v2(user_1['token'], channel_1['channel_id'], user_3['auth_user_id']) msg1 = message_send_v2(user_2['token'], channel_1['channel_id'], 'Hello World!') assert channel_messages_v2(user_1['token'], channel_1['channel_id'], 0)['messages'][0]['message'] == "Hello World!" assert message_edit_v2(user_1['token'], msg1['message_id'], 'Goodbye World!') == {} assert channel_messages_v2(user_1['token'], channel_1['channel_id'], 0)['messages'][0]['message'] == "Goodbye World!" assert message_edit_v2(user_2['token'], msg1['message_id'], 'Hello Again World!') == {} assert channel_messages_v2( user_1['token'], channel_1['channel_id'], 0)['messages'][0]['message'] == "Hello Again World!" assert len( channel_messages_v2(user_1['token'], channel_1['channel_id'], 0)['messages']) == 1 with pytest.raises(AccessError): message_edit_v2(user_3['token'], msg1['message_id'], 'Goodbye Again!') assert channel_messages_v2( user_1['token'], channel_1['channel_id'], 0)['messages'][0]['message'] == "Hello Again World!"
def test_senddm_different_channels(): clear_v1() user_1 = auth_register_v2('*****@*****.**', 'aaaaaa', 'a', 'a') user_2 = auth_register_v2('*****@*****.**', 'bbbbbb', 'b', 'b') user_3 = auth_register_v2('*****@*****.**', 'cccccc', 'c', 'c') dm_1 = dm_create_v1(user_1['token'], [user_2['auth_user_id']]) dm_2 = dm_create_v1(user_2['token'], [user_3['auth_user_id']]) dm_3 = dm_create_v1(user_3['token'], [user_1['auth_user_id']]) msg1 = message_senddm_v1(user_1['token'], dm_1['dm_id'], 'Hello World!') msg2 = message_senddm_v1(user_2['token'], dm_2['dm_id'], 'Hello World!') msg3 = message_senddm_v1(user_3['token'], dm_3['dm_id'], 'Hello World!') assert type(msg1) == dict assert type(msg1['message_id']) == int assert type(msg2) == dict assert type(msg2['message_id']) == int assert type(msg3) == dict assert type(msg3['message_id']) == int assert dm_messages_v1(user_1['token'], dm_1['dm_id'], 0)['messages'][0]['message'] == "Hello World!" assert dm_messages_v1(user_2['token'], dm_2['dm_id'], 0)['messages'][0]['message'] == "Hello World!" assert dm_messages_v1(user_3['token'], dm_3['dm_id'], 0)['messages'][0]['message'] == "Hello World!" assert msg1 != msg2 assert msg1 != msg3 assert msg2 != msg3
def test_dm_create_v1(): clear_v1() auth_user_1_token = auth_register_v2("*****@*****.**", "123456", "Andy", "Dandy")["token"] auth_user_2_id = auth_register_v2("*****@*****.**", "123456", "Bob", "Hobs")["auth_user_id"] auth_user_3_id = auth_register_v2("*****@*****.**", "123456", "Chris", "Wiz")["auth_user_id"] dm_data_1 = dm_create_v1(auth_user_1_token, [auth_user_2_id, auth_user_3_id]) dm_id_1 = dm_data_1["dm_id"] dm_name_1 = dm_data_1["dm_name"] dm_list = dm_list_v1(auth_user_1_token) assert dm_list["dms"][0]["dm_id"] == dm_id_1 assert dm_list["dms"][0]["name"] == dm_name_1 auth_user_4_id = auth_register_v2("*****@*****.**", "123456", "Joshua", "King")["auth_user_id"] dm_data_2 = dm_create_v1(auth_user_1_token, [auth_user_3_id, auth_user_4_id]) dm_id_2 = dm_data_2["dm_id"] dm_name_2 = dm_data_2["dm_name"] dm_list = dm_list_v1(auth_user_1_token) assert dm_list["dms"][1]["dm_id"] == dm_id_2 assert dm_list["dms"][1]["name"] == dm_name_2
def create_dms(): clear_v1() user1 = auth_register_v2('*****@*****.**', '123abc!@#', 'a', 'b') user2 = auth_register_v2('*****@*****.**', '123abc!@#', 'c', 'd') user3 = auth_register_v2('*****@*****.**', '123abc!@#', 'e', 'f') user4 = auth_register_v2('*****@*****.**', '123abc!@#', 'g', 'h') users = [user1, user2, user3, user4] user_list = [] user_list.append(users[1]['auth_user_id']) user_list.append(users[2]['auth_user_id']) dm_1 = dm_create_v1(users[0]['token'], user_list)#create dm 1 user_list = [] user_list.append(users[0]['auth_user_id']) dm_2 = dm_create_v1(users[1]['token'], user_list)#create dm 2 user_list = [] user_list.append(users[0]['auth_user_id']) user_list.append(users[1]['auth_user_id']) user_list.append(users[2]['auth_user_id']) dm_3 = dm_create_v1(users[3]['token'], user_list)#create dm 3 return {'users': users, 'dms': [dm_1, dm_2, dm_3]}
def test_dm_leave_errors(create_dms): users = create_dms['users'] dm_1 = create_dms['dms'][0] dm_2 = create_dms['dms'][1] #dm_3 = create_dms['dms'][2] #wrong dm id with pytest.raises(InputError): dm_leave_v1(users[0]['token'], 100) with pytest.raises(InputError): dm_leave_v1(users[1]['token'], 100) #not in the dm with pytest.raises(AccessError): dm_leave_v1(users[3]['token'], dm_1['dm_id']) with pytest.raises(AccessError): dm_leave_v1(users[3]['token'], dm_2['dm_id']) with pytest.raises(AccessError): dm_leave_v1(users[2]['token'], dm_2['dm_id']) #invalid token with pytest.raises(AccessError): dm_leave_v1("ded", dm_1['dm_id']) clear_v1()
def create_input(): clear_v1() data_test_users = [ auth_register_v2("*****@*****.**", "validpassword", "Josh", "Hatton"), auth_register_v2("*****@*****.**", "anotherpassword", "Bunny", "Dong"), auth_register_v2("*****@*****.**", "password3", "Jordan", "Milch"), auth_register_v2("*****@*****.**", "4thpassword", "Dean", "Zworestine"), auth_register_v2("*****@*****.**", "finalpassword", "Eric", "Zheng"), ] data_test_channels = [ channels_create_v2(data_test_users[0]["token"], "First Channel", True), channels_create_v2(data_test_users[1]["token"], "Second Channel", True), channels_create_v2(data_test_users[2]["token"], "Third Channel", False), ] return [data_test_users, data_test_channels]
def test_invalid_token(): """ Tests return of expected output when given a token that doesn't exist, or if the user is not in the channel/dm. """ clear_v1() # Token doesnt exist user_1 = auth_register_v2('*****@*****.**', 'happydays1', 'Eric', 'Zheng') with pytest.raises(AccessError): notifications_get_v1(user_1['token'] + 'bug') # User not in channel user_2 = auth_register_v2('*****@*****.**', 'happydays2', 'Josh', 'Hatton') channel_1 = channels_create_v2(user_1['token'], 'Channel 1', True) user_2_handle = user_profile_v2(user_1['token'], user_2['auth_user_id']) message_send_v2(user_1['token'], channel_1['channel_id'], f"Hi @{user_2_handle['user']['handle_str']}") assert notifications_get_v1(user_2['token']) == {'notifications': []} # User not in dm dm_1 = dm_create_v1(user_1['token'], [user_2['auth_user_id']]) user_3 = auth_register_v2('*****@*****.**', 'hihihi!!!', 'Bunny', 'Dong') user_3_handle = user_profile_v2(user_1['token'], user_3['auth_user_id']) message_senddm_v1(user_1['token'], dm_1['dm_id'], f"Hello @{user_3_handle['user']['handle_str']}") assert notifications_get_v1(user_3['token']) == {'notifications': []}
def test_two_tags(): clear_v1() user1 = auth_register_v2("*****@*****.**", "finalpassword", "Eric", "Zheng") user2 = auth_register_v2("*****@*****.**", "validpassword", "Josh", "Hatton") channel1 = channels_create_v2(user1['token'], 'Channel 1', True) channel_join_v2(user2['token'], channel1['channel_id']) msg1str = "@ericzheng @joshhatton" message_send_v2(user1['token'], channel1['channel_id'], msg1str) assert notifications_get_v1(user1['token']) == { 'notifications': [{ 'channel_id': channel1['channel_id'], 'dm_id': -1, 'notification_message': f"ericzheng tagged you in Channel 1: {msg1str[0:20]}" }] } assert notifications_get_v1(user2['token']) == { 'notifications': [{ 'channel_id': channel1['channel_id'], 'dm_id': -1, 'notification_message': f"ericzheng tagged you in Channel 1: {msg1str[0:20]}" }] }
def test_multiple_sethandle(): clear_v1() result1 = auth_register_v2('*****@*****.**', 'password', 'one', 'aye') result2 = auth_register_v2('*****@*****.**', 'password', 'two', 'bee') result3 = auth_register_v2('*****@*****.**', 'password', 'three', 'cee') output1 = user_profile_v2(result1['token'], result1['auth_user_id']) output2 = user_profile_v2(result1['token'], result2['auth_user_id']) output3 = user_profile_v2(result1['token'], result3['auth_user_id']) assert output1['user']['handle_str'] == 'oneaye' assert output2['user']['handle_str'] == 'twobee' assert output3['user']['handle_str'] == 'threecee' user_profile_sethandle_v1(result1['token'], 'newhandle') user_profile_sethandle_v1(result2['token'], 'random') user_profile_sethandle_v1(result3['token'], 'compstudent') output1a = user_profile_v2(result1['token'], result1['auth_user_id']) output2a = user_profile_v2(result2['token'], result2['auth_user_id']) output3a = user_profile_v2(result3['token'], result3['auth_user_id']) assert output1a['user']['handle_str'] == 'newhandle' assert output2a['user']['handle_str'] == 'random' assert output3a['user']['handle_str'] == 'compstudent' clear_v1()
def test_multiple_user(): clear_v1() result1 = auth_register_v2('*****@*****.**', 'password', 'one', 'aye') result2 = auth_register_v2('*****@*****.**', 'password', 'two', 'bee') result3 = auth_register_v2('*****@*****.**', 'password', 'three', 'cee') output1 = user_profile_v2(result1['token'], result1['auth_user_id']) output2 = user_profile_v2(result1['token'], result2['auth_user_id']) output3 = user_profile_v2(result1['token'], result3['auth_user_id']) assert len(output1) == 1 assert len(output1['user']) == 6 assert output1['user']['email'] == '*****@*****.**' assert output1['user']['name_first'] == 'one' assert output1['user']['name_last'] == 'aye' assert output1['user']['handle_str'] == 'oneaye' assert len(output2) == 1 assert len(output2['user']) == 6 assert output2['user']['email'] == '*****@*****.**' assert output2['user']['name_first'] == 'two' assert output2['user']['name_last'] == 'bee' assert output2['user']['handle_str'] == 'twobee' assert len(output3) == 1 assert len(output3['user']) == 6 assert output3['user']['email'] == '*****@*****.**' assert output3['user']['name_first'] == 'three' assert output3['user']['name_last'] == 'cee' assert output3['user']['handle_str'] == 'threecee' clear_v1()
def test_multiple_setemail(): clear_v1() result1 = auth_register_v2('*****@*****.**', 'password', 'one', 'aye') result2 = auth_register_v2('*****@*****.**', 'password', 'two', 'bee') result3 = auth_register_v2('*****@*****.**', 'password', 'three', 'cee') output1 = user_profile_v2(result1['token'], result1['auth_user_id']) output2 = user_profile_v2(result1['token'], result2['auth_user_id']) output3 = user_profile_v2(result1['token'], result3['auth_user_id']) assert output1['user']['email'] == '*****@*****.**' assert output2['user']['email'] == '*****@*****.**' assert output3['user']['email'] == '*****@*****.**' user_profile_setemail_v2(result1['token'], '*****@*****.**') user_profile_setemail_v2(result2['token'], '*****@*****.**') user_profile_setemail_v2(result3['token'], '*****@*****.**') output1a = user_profile_v2(result1['token'], result1['auth_user_id']) output2a = user_profile_v2(result2['token'], result2['auth_user_id']) output3a = user_profile_v2(result3['token'], result3['auth_user_id']) assert output1a['user']['email'] == '*****@*****.**' assert output2a['user']['email'] == '*****@*****.**' assert output3a['user']['email'] == '*****@*****.**' clear_v1()
def test_multiple_setname(): clear_v1() result1 = auth_register_v2('*****@*****.**', 'password', 'one', 'aye') result2 = auth_register_v2('*****@*****.**', 'password', 'two', 'bee') result3 = auth_register_v2('*****@*****.**', 'password', 'three', 'cee') output1 = user_profile_v2(result1['token'], result1['auth_user_id']) output2 = user_profile_v2(result1['token'], result2['auth_user_id']) output3 = user_profile_v2(result1['token'], result3['auth_user_id']) assert output1['user']['name_first'] == 'one' assert output1['user']['name_last'] == 'aye' assert output2['user']['name_first'] == 'two' assert output2['user']['name_last'] == 'bee' assert output3['user']['name_first'] == 'three' assert output3['user']['name_last'] == 'cee' user_profile_setname_v2(result1['token'], 'hello', 'world') user_profile_setname_v2(result2['token'], 'jump', 'start') user_profile_setname_v2(result3['token'], 'take', 'onme') output1a = user_profile_v2(result1['token'], result1['auth_user_id']) output2a = user_profile_v2(result2['token'], result2['auth_user_id']) output3a = user_profile_v2(result3['token'], result3['auth_user_id']) assert output1a['user']['name_first'] == 'hello' assert output1a['user']['name_last'] == 'world' assert output2a['user']['name_first'] == 'jump' assert output2a['user']['name_last'] == 'start' assert output3a['user']['name_first'] == 'take' assert output3a['user']['name_last'] == 'onme' clear_v1()
def test_message_send_message_too_long(): # InputError raised if message given is more than 1000 characters clear_v1() user = auth_register_v2('*****@*****.**', 'pasword24323132', 'Tinker', 'Bell') channel = channels_create_v2(user['token'], 'Insert Title Here', True) with pytest.raises(InputError): message_send_v2(user['token'], channel['channel_id'], 'L'*1001)
def test_order_of_exceptions(): """ Tests that the function raises exceptions in the order as assumed. The order should be: 1. AccessError from invalid token 2. InputError from invalid channel id 3. AccessError when any of the authorised user is not already part of the channel with channel_id """ clear_v1() user_1 = auth_register_v2("*****@*****.**", "dfgsdgsdfgdf", "Dum", "Doggo") user_2 = auth_register_v2("*****@*****.**", "password09123", "Dummy", "Dog") channel = channels_create_v2(user_1['token'], "General", True) # Pass in invalid channel id, invalid auth id, auth_user who is not part # of the channel. This should raise an access error. with pytest.raises(AccessError): channel_details_v2(user_2['token'] + 'bug', channel['channel_id'] + 5) # Pass in invalid channel id, valid auth id, auth_user who is not part # of the channel. This should raise an input error. with pytest.raises(InputError): channel_details_v2(user_2['token'], channel['channel_id'] + 5) # Pass in valid channel id, valid auth id, auth_user who is not part # of the channel. This should raise an access error. with pytest.raises(AccessError): channel_details_v2(user_2['token'], channel['channel_id']) clear_v1()
def test_standup_start_v1(): clear_v1() auth_user_1_data = auth_register_v2("*****@*****.**", "123456", "Andy", "Dandy") auth_user_1_token = auth_user_1_data["token"] auth_user_1_id = auth_user_1_data["auth_user_id"] auth_user_1_handle = user_profile_v2(auth_user_1_token, auth_user_1_id)["user"]["handle_str"] channel_id_1 = channels_create_v2(auth_user_1_token, "Andys channel", True)["channel_id"] message_id_1 = message_send_v2(auth_user_1_token, channel_id_1, "Hey Guys!")["message_id"] standup_start_v1(auth_user_1_token, channel_id_1, 3) standup_send_v1(auth_user_1_token, channel_id_1, "Hello") message_list = channel_messages_v2(auth_user_1_token, channel_id_1, 0)["messages"] assert len(message_list) == 1 assert message_list[0]["message_id"] == message_id_1 assert message_list[0]["message"] == "Hey Guys!" time.sleep(5) message_list_1 = channel_messages_v2(auth_user_1_token, channel_id_1, 0)["messages"] assert len(message_list_1) == 2 assert message_list_1[0]["message_id"] == message_id_1 + 1 assert message_list_1[0]["message"] == auth_user_1_handle + ": Hello" assert message_list_1[1]["message_id"] == message_id_1 assert message_list_1[1]["message"] == "Hey Guys!"
def test_removed_dms(): """Tests that sent dm messages are now 'Removed user' after the user is removed """ clear_v1() user_1 = auth_register_v2("*****@*****.**", "finalpassword", "Eric", "Zheng") user_2 = auth_register_v2("*****@*****.**", "validpassword", "Josh", "Hatton") dm_1 = dm_create_v1(user_1["token"], [user_2["auth_user_id"]]) message_senddm_v1(user_1["token"], dm_1["dm_id"], "Hello user 2!") message_2 = message_senddm_v1(user_2["token"], dm_1["dm_id"], "Nice to meet you user 1") message_senddm_v1(user_2["token"], dm_1["dm_id"], "you are a donkey :)") assert admin_user_remove_v1(user_1["token"], user_2["auth_user_id"]) == {} dm_1_messages = dm_messages_v1(user_1["token"], dm_1["dm_id"], 0) for dm in dm_1_messages["messages"]: if dm["message_id"] == message_2["message_id"]: assert dm["message"] == "Removed user" clear_v1()
def test_dm_remove_errors(create_dms): users = create_dms['users'] dm_1 = create_dms['dms'][0] dm_2 = create_dms['dms'][1] dm_3 = create_dms['dms'][2] with pytest.raises(InputError): dm_remove_v1(users[0]['token'], 100) with pytest.raises(InputError): dm_remove_v1(users[1]['token'], 100) with pytest.raises(AccessError): dm_remove_v1(users[1]['token'], dm_1['dm_id']) with pytest.raises(AccessError): dm_remove_v1(users[3]['token'], dm_2['dm_id']) with pytest.raises(AccessError): dm_remove_v1(users[1]['token'], dm_3['dm_id']) #invalid token with pytest.raises(AccessError): dm_remove_v1("fwsef", dm_3['dm_id']) with pytest.raises(AccessError): dm_remove_v1("afgde", dm_3['dm_id']) with pytest.raises(AccessError): dm_remove_v1("435vsrf", dm_3['dm_id']) clear_v1()
def test_dm_leave(create_dms): users = create_dms['users'] dm_1 = create_dms['dms'][0] dm_2 = create_dms['dms'][1] dm_3 = create_dms['dms'][2] dm_details_v1(users[0]['token'], dm_1['dm_id']) dm_leave_v1(users[2]['token'], dm_1['dm_id']) dm_leave_v1(users[0]['token'], dm_1['dm_id']) dm_leave_v1(users[1]['token'], dm_1['dm_id']) dm_details_v1(users[1]['token'], dm_2['dm_id']) dm_leave_v1(users[1]['token'], dm_2['dm_id']) dm_details_v1(users[3]['token'], dm_3['dm_id']) dm_leave_v1(users[3]['token'], dm_3['dm_id']) dm_leave_v1(users[0]['token'], dm_3['dm_id']) dm_leave_v1(users[2]['token'], dm_3['dm_id']) dm_leave_v1(users[1]['token'], dm_3['dm_id']) with pytest.raises(InputError): dm_details_v1(users[0]['token'], dm_1['dm_id']) with pytest.raises(InputError): dm_details_v1(users[3]['token'], dm_3['dm_id']) with pytest.raises(InputError): dm_details_v1(users[1]['token'], dm_2['dm_id']) clear_v1()
def test_dm_invite_errors(create_dms): users = create_dms['users'] dm_1 = create_dms['dms'][0] dm_2 = create_dms['dms'][1] #dm_3 = create_dms['dms'][2] #wrong dm id with pytest.raises(InputError): dm_invite_v1(users[0]['token'], 100, users[0]['auth_user_id']) with pytest.raises(InputError): dm_invite_v1(users[1]['token'], 100, users[0]['auth_user_id']) #wrong u_id with pytest.raises(InputError): dm_invite_v1(users[0]['token'], dm_1['dm_id'], 100) with pytest.raises(InputError): dm_invite_v1(users[1]['token'], dm_2['dm_id'], 432) #authetication error with pytest.raises(AccessError): dm_invite_v1(users[3]['token'], dm_1['dm_id'], users[3]['auth_user_id']) #authetication error with pytest.raises(AccessError): dm_invite_v1(users[3]['token'], dm_2['dm_id'], users[3]['auth_user_id']) #invalid token with pytest.raises(AccessError): dm_invite_v1("fef", dm_2['dm_id'], users[2]['auth_user_id']) clear_v1()
def test_channel_join_stat(): clear_v1() result1 = auth_register_v2('*****@*****.**', 'password', 'comp', 'student') result2 = auth_register_v2('*****@*****.**', 'password', 'comp', 'student') channel1 = channels_create_v2(result1['token'], "The party channel 1", True) channel_join_v2(result2['token'], channel1['channel_id']) output = user_stats(result1['token']) output1 = user_stats(result2['token']) dreams = users_stats(result1['token']) assert len(output['user_stats']) == 4 assert output['user_stats']['channels_joined'][-1]['num_channels_joined'] == 1 assert output['user_stats']['dms_joined'][-1]['num_dms_joined'] == 0 assert output['user_stats']['messages_sent'][-1]['num_messages_sent'] == 0 assert output['user_stats']['involvement_rate'] == 1 assert len(output1['user_stats']) == 4 assert output1['user_stats']['channels_joined'][-1]['num_channels_joined'] == 1 assert output1['user_stats']['dms_joined'][-1]['num_dms_joined'] == 0 assert output1['user_stats']['messages_sent'][-1]['num_messages_sent'] == 0 assert output1['user_stats']['involvement_rate'] == 1 assert len(dreams['dreams_stats']) == 4 assert dreams['dreams_stats']['channels_exist'][-1]['num_channels_exist'] == 1 assert dreams['dreams_stats']['dms_exist'][-1]['num_dms_exist'] == 0 assert dreams['dreams_stats']['messages_exist'][-1]['num_messages_exist'] == 0 assert dreams['dreams_stats']['utilization_rate'] == 2/2
def test_dm_messages_v1_more_50(): clear_v1() auth_user_1_data = auth_register_v2("*****@*****.**", "123456", "Andy", "Dandy") auth_user_1_token = auth_user_1_data["token"] auth_user_1_id = auth_user_1_data["auth_user_id"] auth_user_2_data = auth_register_v2("*****@*****.**", "123456", "Bob", "Hobs") auth_user_2_id = auth_user_2_data["auth_user_id"] auth_user_3_data = auth_register_v2("*****@*****.**", "123456", "Chris", "Wiz") auth_user_3_id = auth_user_3_data["auth_user_id"] dm_data_1 = dm_create_v1(auth_user_1_token, [auth_user_2_id, auth_user_3_id]) dm_id_1 = dm_data_1["dm_id"] latest_msg = None for num in range(99): latest_msg = message_senddm_v1(auth_user_1_token, dm_id_1, "Test") dm_messages_data = dm_messages_v1(auth_user_1_token, dm_id_1, 0) for num in range(50): assert dm_messages_data["messages"][num]["u_id"] == auth_user_1_id assert dm_messages_data["messages"][num]["message"] == "Test" assert dm_messages_data["messages"][0]["message_id"] == latest_msg["message_id"] assert len(dm_messages_data["messages"]) == 50 assert dm_messages_data["start"] == 0 assert dm_messages_data["end"] == 50
def test_data(): clear_v1() a_data = auth_register_v2('*****@*****.**', '123456', 'Andy', 'Anderson') b_data = auth_register_v2('*****@*****.**', '123456', 'Bob', 'Bobinson') c_data = auth_register_v2('*****@*****.**', '123456', 'Chris', 'Con') return a_data, b_data, c_data
def test_dm_messages_v1_less_50(): clear_v1() auth_user_1_data = auth_register_v2("*****@*****.**", "123456", "Andy", "Dandy") auth_user_1_token = auth_user_1_data["token"] auth_user_1_id = auth_user_1_data["auth_user_id"] auth_user_2_data = auth_register_v2("*****@*****.**", "123456", "Bob", "Hobs") auth_user_2_token = auth_user_2_data["token"] auth_user_2_id = auth_user_2_data["auth_user_id"] auth_user_3_data = auth_register_v2("*****@*****.**", "123456", "Chris", "Wiz") auth_user_3_id = auth_user_3_data["auth_user_id"] dm_data_1 = dm_create_v1(auth_user_1_token, [auth_user_2_id, auth_user_3_id]) dm_id_1 = dm_data_1["dm_id"] message_id_1 = message_senddm_v1(auth_user_1_token, dm_id_1, "Hello")["message_id"] message_id_2 = message_senddm_v1(auth_user_2_token, dm_id_1, "World")["message_id"] dm_messages_data = dm_messages_v1(auth_user_1_token, dm_id_1, 0) assert dm_messages_data["messages"][0]["message_id"] == message_id_2 assert dm_messages_data["messages"][0]["u_id"] == auth_user_2_id assert dm_messages_data["messages"][0]["message"] == "World" assert dm_messages_data["messages"][1]["message_id"] == message_id_1 assert dm_messages_data["messages"][1]["u_id"] == auth_user_1_id assert dm_messages_data["messages"][1]["message"] == "Hello" assert dm_messages_data["end"] == -1
def test_email_not_belong(): ''' Email entered does not belong to a user ''' clear_v1() with pytest.raises(InputError): auth_login_v2('*****@*****.**', 'asdjf~!')
def register_users(): clear_v1() user1 = auth_register_v2('*****@*****.**', '123abc!@#', 'a', 'b') user2 = auth_register_v2('*****@*****.**', '123abc!@#', 'c', 'd') user3 = auth_register_v2('*****@*****.**', '123abc!@#', 'e', 'f') user4 = auth_register_v2('*****@*****.**', '123abc!@#', 'g', 'h') return [user1, user2, user3, user4]
def test_different_permissions_edit_remove(): clear_v1() user_1 = auth_register_v2('*****@*****.**', 'aaaaaa', 'a', 'a') user_2 = auth_register_v2('*****@*****.**', 'bbbbbb', 'b', 'b') user_3 = auth_register_v2('*****@*****.**', 'cccccc', 'c', 'c') channel_1 = channels_create_v2(user_1['token'], 'Channel 1', True) channel_invite_v2(user_1['token'], channel_1['channel_id'], user_2['auth_user_id']) channel_invite_v2(user_1['token'], channel_1['channel_id'], user_3['auth_user_id']) msg1 = message_send_v2(user_2['token'], channel_1['channel_id'], 'First Message') msg2 = message_send_v2(user_2['token'], channel_1['channel_id'], 'Second Message') assert len( channel_messages_v2(user_1['token'], channel_1['channel_id'], 0)['messages']) == 2 assert message_edit_v2(user_1['token'], msg1['message_id'], '') == {} assert len( channel_messages_v2(user_1['token'], channel_1['channel_id'], 0)['messages']) == 1 assert channel_messages_v2(user_1['token'], channel_1['channel_id'], 0)['messages'][0]['message'] == "Second Message" assert message_edit_v2(user_2['token'], msg2['message_id'], '') == {} msg3 = message_send_v2(user_2['token'], channel_1['channel_id'], 'Third Message') assert channel_messages_v2(user_1['token'], channel_1['channel_id'], 0)['messages'][0]['message'] == "Third Message" with pytest.raises(AccessError): message_edit_v2(user_3['token'], msg3['message_id'], '') with pytest.raises(AccessError): message_remove_v1(user_3['token'], msg3['message_id']) assert channel_messages_v2(user_1['token'], channel_1['channel_id'], 0)['messages'][0]['message'] == "Third Message"
def test_dm_create_errors(register_users): users = register_users user_list = [] user_list.append(1000) #wrong u_id user_list.append(121323) user_1 = users[0] with pytest.raises(InputError): #invalid u_id dm_create_v1(user_1['token'], user_list) #try to create dm 1 user_list = [] user_list.append(33) #wrong u_id user_list.append(3245) user_1 = users[0] with pytest.raises(InputError): #invalid u_id dm_create_v1(user_1['token'], user_list) #try to create dm 1 with pytest.raises(AccessError): dm_create_v1("fseffew", user_list) clear_v1()
def test_multiple_messages_same_channel(): clear_v1() user_1 = auth_register_v2('*****@*****.**', 'aaaaaa', 'a', 'a') channel_1 = channels_create_v2(user_1['token'], 'Channel 1', True) msg1 = message_send_v2(user_1['token'], channel_1['channel_id'], 'Hello World!') msg2 = message_send_v2(user_1['token'], channel_1['channel_id'], 'I') msg3 = message_send_v2(user_1['token'], channel_1['channel_id'], 'Love') msg4 = message_send_v2(user_1['token'], channel_1['channel_id'], 'COMP') assert type(msg1) == dict assert type(msg1['message_id']) == int assert channel_messages_v2(user_1['token'], channel_1['channel_id'], 0)['messages'][0]['message'] == "COMP" assert type(msg2) == dict assert type(msg2['message_id']) == int assert channel_messages_v2(user_1['token'], channel_1['channel_id'], 1)['messages'][0]['message'] == "Love" assert type(msg3) == dict assert type(msg3['message_id']) == int assert channel_messages_v2(user_1['token'], channel_1['channel_id'], 2)['messages'][0]['message'] == "I" assert type(msg4) == dict assert type(msg4['message_id']) == int assert channel_messages_v2(user_1['token'], channel_1['channel_id'], 3)['messages'][0]['message'] == "Hello World!" assert msg1['message_id'] != msg2['message_id'] assert msg1 != msg3 assert msg1 != msg4 assert msg2 != msg3 assert msg2 != msg4 assert msg3 != msg4 assert len( channel_messages_v2(user_1['token'], channel_1['channel_id'], 0)['messages']) == 4
def test_message_send_invalid_token(): # Test if AccessError is raised when given invalid token clear_v1() user = auth_register_v2('*****@*****.**', 'password1234', 'Harry', 'Lurr') channel = channels_create_v2(user['token'], 'HARRYS CHANNEL', True) with pytest.raises(AccessError): message_send_v2(-2382732, channel['channel_id'], 'Poopoo')