def test_channels_create_private(user_1, user_2, private_channel_1): """Test for a private channel. (test_user created the new_channel and is therefore already a part of it). """ with pytest.raises(AccessError): channel.channel_join(user_2['token'], private_channel_1['channel_id']) clear()
def test_output_admin_owner_change_to_member(user_1, user_2, private_channel_1): """Test whether the an owner can set themselves as an member """ admin_userpermission_change(user_1["token"], user_2["u_id"], OWNER) admin_userpermission_change(user_2["token"], user_2["u_id"], MEMBER) with pytest.raises(AccessError): channel.channel_join(user_2['token'], private_channel_1['channel_id']) clear()
def test_output_admin_owner_change_first_owner_to_owner(user_1, user_2, public_channel_1): """Test whether another flockr owner successfully change another the first flockr owner to an owner (essentially does nothing as permission has not changed) """ admin_userpermission_change(user_1["token"], user_2["u_id"], OWNER) admin_userpermission_change(user_2["token"], user_1["u_id"], OWNER) channel.channel_join(user_2['token'], public_channel_1['channel_id']) clear()
def test_output_admin_member_change_to_member(user_1, user_2, private_channel_1): """Test whether a member is changed to a member, the function will do nothing. """ with pytest.raises(AccessError): channel.channel_join(user_2['token'], private_channel_1['channel_id']) admin_userpermission_change(user_1["token"], user_2["u_id"], MEMBER) with pytest.raises(AccessError): channel.channel_join(user_2['token'], private_channel_1['channel_id']) clear()
def test_output_admin_owner_change_to_owner(user_1, user_2, public_channel_1): """Test whether an owner is changed to an owner, the function will do nothing. """ admin_userpermission_change(user_1["token"], user_2["u_id"], OWNER) channel.channel_join(user_2['token'], public_channel_1['channel_id']) channel.channel_leave(user_2['token'], public_channel_1['channel_id']) admin_userpermission_change(user_2["token"], user_2["u_id"], OWNER) channel.channel_join(user_2['token'], public_channel_1['channel_id']) clear()
def test_output_admin_owner_change_member_to_owner(user_1, user_2): """Test whether a member has become a flockr owner by joining a private channel """ admin_userpermission_change(user_1["token"], user_2["u_id"], OWNER) channel_info = channels.channels_create(user_1['token'], "Group 1", False) # Owner can join any channels including private # Testing user, with now as flockr owner to join private channel channel.channel_join(user_2['token'], channel_info['channel_id']) clear()
def test_output_admin_owner_change_owner_to_member_logout(user_1, user_2, private_channel_1): """Test whether permission change carry through after logout """ admin_userpermission_change(user_1["token"], user_2["u_id"], OWNER) admin_userpermission_change(user_1["token"], user_2["u_id"], MEMBER) auth.auth_logout(user_2['token']) user_2 = auth.auth_login('*****@*****.**', 'password') with pytest.raises(AccessError): channel.channel_join(user_2['token'], private_channel_1['channel_id']) clear()
def test_output_admin_owner_change_member_to_owner_logout(user_1, user_2, public_channel_1): """Testing whether the permission change carry through after user logout and logs back in. """ admin_userpermission_change(user_1["token"], user_2["u_id"], OWNER) auth.auth_logout(user_2["token"]) user_2 = auth.auth_login('*****@*****.**', 'password') # Owner can join any channels including private # Testing user, with now as flockr owner to join private channel channel.channel_join(user_2['token'], public_channel_1['channel_id']) clear()
def test_flock_owner(): """ making sure the first user registered is a flockr owner """ clear() result1 = auth.auth_register('*****@*****.**', 'abcdef', 'Chris', 'Ilag') result2 = auth.auth_register('*****@*****.**', 'abcdef', 'Bob', 'Smith') channel_data = channels.channels_create(result2['token'], 'blah', False) # Testing if flockr owner can join private channel channel.channel_join(result1['token'], channel_data['channel_id']) channel2_data = channels.channels_create(result1['token'], 'blah2', False) # user 2 should not have flockr ownership with pytest.raises(AccessError): channel.channel_join(result2['token'], channel2_data['channel_id']) clear()
def test_change_channel_data(user_1, user_2): """ Testing that name is updated in channels section in data structure. """ # creating a new channel new_channel = channels.channels_create(user_1['token'], 'Group 1', True) channel.channel_invite(user_1['token'], new_channel['channel_id'], user_2['u_id']) channel.channel_join(user_2['token'], new_channel['channel_id']) channel.channel_addowner(user_1['token'], new_channel['channel_id'], user_2['u_id']) details = channel.channel_details(user_1['token'], new_channel['channel_id']) for member in details['all_members']: if member['u_id'] == user_1['u_id']: assert member['name_first'] == 'John' assert member['name_last'] == 'Smith' if member['u_id'] == user_2['u_id']: assert member['name_first'] == 'Jane' assert member['name_last'] == 'Smith' for owner in details['owner_members']: if owner['u_id'] == user_1['u_id']: assert owner['name_first'] == 'John' assert owner['name_last'] == 'Smith' if owner['u_id'] == user_2['u_id']: assert owner['name_first'] == 'Jane' assert owner['name_last'] == 'Smith' user.user_profile_setname(user_2['token'], 'Bobby', 'Wills') details = channel.channel_details(user_1['token'], new_channel['channel_id']) for member in details['all_members']: if member['u_id'] == user_2['u_id']: assert member['name_first'] == 'Bobby' assert member['name_last'] == 'Wills' for owner in details['owner_members']: if owner['u_id'] == user_2['u_id']: assert owner['name_first'] == 'Bobby' assert owner['name_last'] == 'Wills' clear()
def test_search_standard(user_1, user_2, user_3, user_4, public_channel_1, public_channel_2, public_channel_3, public_channel_4): """Test searching messages in multiple channels """ message_str_1 = "Welcome to group 1!" message_str_2 = "Welcome to group 2!" message_str_3 = "Welcome to group 3!" message_str_4 = "Welcome to group 4!" message_str_5 = "Hiya guys!" message_str_6 = "sup" message_str_7 = "Let's get down to business!" query_str = "Welcome" channel.channel_join(user_1['token'], public_channel_2['channel_id']) channel.channel_join(user_1['token'], public_channel_3['channel_id']) channel.channel_join(user_1['token'], public_channel_4['channel_id']) message.message_send(user_1['token'], public_channel_1['channel_id'], message_str_1) message.message_send(user_2['token'], public_channel_2['channel_id'], message_str_2) message.message_send(user_3['token'], public_channel_3['channel_id'], message_str_3) message.message_send(user_4['token'], public_channel_4['channel_id'], message_str_4) message.message_send(user_1['token'], public_channel_1['channel_id'], message_str_5) message.message_send(user_1['token'], public_channel_2['channel_id'], message_str_6) message.message_send(user_1['token'], public_channel_2['channel_id'], message_str_7) msg_list = search(user_1['token'], query_str) msg_count = 0 msg_cmp_2 = [] for msg in msg_list['messages']: msg_cmp_2.append(msg['message']) msg_count += 1 assert msg_count == 4 msg_cmp_1 = [message_str_1, message_str_2, message_str_3, message_str_4] msg_cmp_1.sort() msg_cmp_2.sort() assert msg_cmp_1 == msg_cmp_2 clear()
def route_channel_join(): """Given a channel_id of a channel that the authorised user can join, adds them to that channel Args: token (string) channel_id (int) Returns: (dict): {} """ payload = request.get_json() channel_id = int(payload['channel_id']) try: return dumps(channel.channel_join(payload['token'], channel_id)) except (InputError, AccessError) as e: return e