def test_logout_then_channels_listall( reg_user): # Ensure that token becomes invalid after logout clear_v2() user_token = reg_user(0)['token'] assert auth_logout_v1(user_token)['is_success'] with pytest.raises(AccessError): channels_listall_v2(user_token)
def test_create_channel_successfully(): clear_v1() u1 = auth_register_v2("*****@*****.**", "abcdefg1234", "bunny", "dong") u2 = auth_register_v2("*****@*****.**", "abcdefg1234", "bunny", "dong") u3 = auth_register_v2("*****@*****.**", "abcdefg1234", "abcdef", "fwef") channel_1 = channels_create_v2(u1['token'], "The party channel 1", True)['channel_id'] assert (channels_listall_v2(u1['token']) == { 'channels': [ { 'channel_id': channel_1, 'name': "The party channel 1", }, ] }) channel_2 = channels_create_v2(u2['token'], "The party channel 2", True)['channel_id'] assert (channels_listall_v2(u1['token']) == { 'channels': [ { 'channel_id': channel_1, 'name': "The party channel 1", }, { 'channel_id': channel_2, 'name': "The party channel 2", }, ] }) channel_3 = channels_create_v2(u3['token'], "The party channel 3", True)['channel_id'] assert (channels_listall_v2(u1['token']) == { 'channels': [ { 'channel_id': channel_1, 'name': "The party channel 1", }, { 'channel_id': channel_2, 'name': "The party channel 2", }, { 'channel_id': channel_3, 'name': "The party channel 3", }, ] }) clear_v1()
def test_channels_listall_v2_correct(user_details): clear_v2() email, pwd, fName, lName = user_details token = auth_register_v2(email, pwd, fName, lName)['token'] name_1 = "Stress Puppy" name_2 = "Sweet Britney" name_3 = "Small Room" is_public_1 = True is_public_2 = False is_public_3 = False channel_id_1 = channels_create_v2(token, name_1, is_public_1)['channel_id'] channel_id_2 = channels_create_v2(token, name_2, is_public_2)['channel_id'] channel_id_3 = channels_create_v2(token, name_3, is_public_3)['channel_id'] assert channels_listall_v2(token) == { 'channels': [{ 'channel_id': channel_id_1, 'name': name_1 }, { 'channel_id': channel_id_2, 'name': name_2 }, { 'channel_id': channel_id_3, 'name': name_3 }] }
def test_channels_listall_v2_no_channel(user_details): clear_v2() email, pwd, fName, lName = user_details token = auth_register_v2(email, pwd, fName, lName)['token'] assert (channels_listall_v2(token) == { 'channels': [] }) # InputError with no channel
def test_channels_listall_v2(): #Resets the internal data of the application to it"s initial state clear_v1() #register a user to operate auth_user_1_data = auth_register_v2("*****@*****.**", "123456", "Andy", "Dandy") auth_user_1_token = auth_user_1_data["token"] #Test for there are no channel exist now assert channels_listall_v2(auth_user_1_token) == {"channels": []} #User create a channel to test whether it return or not channel_id_1 = channels_create_v2(auth_user_1_token, "Andys channel", True)["channel_id"] assert channels_listall_v2(auth_user_1_token) == { "channels": [{ "channel_id": channel_id_1, "name": "Andys channel" }] } #User create another channel to test whether all the channels return or not channel_id_2 = channels_create_v2(auth_user_1_token, "School channel", True)["channel_id"] assert channels_listall_v2(auth_user_1_token) == { "channels": [{ "channel_id": channel_id_1, "name": "Andys channel" }, { "channel_id": channel_id_2, "name": "School channel" }] } #User create another channel to test whether all the channels return or not channel_id_3 = channels_create_v2(auth_user_1_token, "Game channel", True)["channel_id"] assert channels_listall_v2(auth_user_1_token) == { "channels": [{ "channel_id": channel_id_1, "name": "Andys channel" }, { "channel_id": channel_id_2, "name": "School channel" }, { "channel_id": channel_id_3, "name": "Game channel" }] }
def test_single_user_and_channel( reg_user, crt_channel ): # Test clearing of a single channel from the channels dictionary clear_v2() auth_user_token = reg_user(0)['token'] crt_channel(auth_user_token, 0, True) clear_v2() auth_user_token = reg_user(0)['token'] assert channels_listall_v2(auth_user_token)['channels'] == []
def test_single_user_multi_channel( reg_user, crt_channel ): # Test clearing of multiple channels from the channels dictionary clear_v2() auth_user_token = reg_user(0)['token'] for i in range(5): crt_channel(auth_user_token, i, i % 2 == 0) clear_v2() auth_user_token = reg_user(0)['token'] assert channels_listall_v2(auth_user_token)['channels'] == []
def test_single_channel_including_user(): clear_v1() user_1 = auth_register_v2('*****@*****.**', 'aaaaaa1', 'a', 'a') channel_1 = channels_create_v2(user_1['token'], 'Channel 1', True) assert channels_listall_v2(user_1['token']) == { 'channels': [{ 'channel_id': channel_1['channel_id'], 'name': 'Channel 1' }] }
def test_clear_everything(): """ Tests that calling clear on database filled with channels and channel members does indeed clear everything. """ clear_v1() user_1 = auth_register_v2("*****@*****.**", "peterpiper", "Eric", "Zheng") user_2 = auth_register_v2("*****@*****.**", "maryreider", "Josh", "Hatton") user_3 = auth_register_v2("*****@*****.**", "runescape4lyfe", "Dean", "Zworestine") user_4 = auth_register_v2("*****@*****.**", "iheartnewyork", "Jordan", "Milch") channel_1 = channels_create_v2(user_1["token"], "Party Channel", True) channel_2 = channels_create_v2(user_3["token"], "General", True) channel_join_v2(user_2["token"], channel_2['channel_id']) channel_join_v2(user_3["token"], channel_1['channel_id']) channel_join_v2(user_4["token"], channel_1['channel_id']) assert clear_v1() == {} with pytest.raises(InputError): # All data should have been reset so no users should be able to log in auth_login_v2("*****@*****.**", "peterpiper") auth_login_v2("*****@*****.**", "maryreider") auth_login_v2("*****@*****.**", "globalempire4") auth_login_v2("*****@*****.**", "runescape4lyfe") auth_login_v2("*****@*****.**", "iheartnewyork") with pytest.raises(AccessError): # Should also be unable to access list of channels as there are no valid # tokens channels_listall_v2(user_1["token"]) # Should be able to open a list of channels with a new valid token user_1 = auth_register_v2("*****@*****.**", "peterpiper", "Eric", "Zheng") channels_listall_v2(user_1["token"]) clear_v1()
def test_channels_listall_v2_success(user_setup, channel_setup_owner): ''' Lists all created channels even if user is not in any/all channels ''' assert channels_listall_v2(make_token(0)) == { 'channels': [{ 'channel_id': 0, 'name': 'Gchannel1', }, { 'channel_id': 1, 'name': 'Gchannel2', }, { 'channel_id': 2, 'name': 'Gchannel3', }], }
def channels_listall(): parameters = request.args token = parameters['token'] output = channels_listall_v2(token) return dumps(output)
def test_multiple_channels_different_permissions(): clear_v1() user_1 = auth_register_v2('*****@*****.**', 'aaaaaa1', 'a', 'a') user_2 = auth_register_v2('*****@*****.**', 'bbbbbb1', 'b', 'b') user_3 = auth_register_v2('*****@*****.**', 'aaaaaa1', 'a', 'a') user_4 = auth_register_v2('*****@*****.**', 'bbbbbb1', 'b', 'b') user_5 = auth_register_v2('*****@*****.**', 'aaaaaa1', 'a', 'a') user_6 = auth_register_v2('*****@*****.**', 'bbbbbb1', 'b', 'b') channel_1 = channels_create_v2(user_1['token'], 'Channel 1', True) channel_2 = channels_create_v2(user_2['token'], 'Channel 2', True) channel_3 = channels_create_v2(user_3['token'], 'Channel 3', False) channel_4 = channels_create_v2(user_4['token'], 'Channel 4', False) channel_invite_v2(user_1['token'], channel_1['channel_id'], user_5['auth_user_id']) assert channels_listall_v2(user_1['token']) == { 'channels': [{ 'channel_id': channel_1['channel_id'], 'name': 'Channel 1' }, { 'channel_id': channel_2['channel_id'], 'name': 'Channel 2' }, { 'channel_id': channel_3['channel_id'], 'name': 'Channel 3' }, { 'channel_id': channel_4['channel_id'], 'name': 'Channel 4' }] } assert channels_listall_v2(user_1['token']) == channels_listall_v2( user_2['token']) assert channels_listall_v2(user_1['token']) == channels_listall_v2( user_3['token']) assert channels_listall_v2(user_1['token']) == channels_listall_v2( user_4['token']) assert channels_listall_v2(user_1['token']) == channels_listall_v2( user_5['token']) assert channels_listall_v2(user_1['token']) == channels_listall_v2( user_6['token'])
def test_invalid_token(user_details): clear_v2() with pytest.raises(AccessError): channels_listall_v2("invalid_token")
def test_no_initial_data( reg_user ): # Test clearing with no data added to users or channels dictionary clear_v2() auth_user_token = reg_user(0)['token'] assert channels_listall_v2(auth_user_token)['channels'] == []
def list_all(): token = request.args.get('token') list_all = channels_listall_v2(token) return dumps(list_all)
def channels_listall(): token = request.args.get('token') output = channels_listall_v2(token) return dumps(output)
def test_empty(): clear_v1() user_1 = auth_register_v2('*****@*****.**', 'aaaaaa1', 'a', 'a') assert channels_listall_v2(user_1['token']) == {'channels': []}