def standup_send(token, channel_id, message): channels = getChannelData() users = getUserData() channel_id = int(channel_id) authorised_u_id = get_u_id(token) if not channel_exists_persist(channel_id): raise InputError('Invalid channel') if not user_in_channel_persist(authorised_u_id, channel_id): raise AccessError('User not a member of channel') if len(message) > 1000: raise InputError("Message too long") for channel in channels: if channel['channel_id'] == channel_id: if channel['is_standup'] == False: raise InputError("Channel not in standup") for user in users: if user['u_id'] == authorised_u_id: handle = user['handle_str'] new_message = handle + ": " + message + "\n" for channel in channels: if channel['channel_id'] == channel_id: channel['standup'] = channel['standup'] + new_message saveChannelData(channels) return {}
def test_users_all_http(url): resetData() clear() user1data = { 'email': '*****@*****.**', 'password': '******', 'name_first': 'Frank', 'name_last': 'Su' } user1 = requests.post(f"{url}/auth/register", json=user1data) user1_dict = user1.json() user1token = user1_dict['token'] users = getUserData() print("Users:\n", users) usersallparam = {"token": user1token} resp1 = requests.get(f"{url}/users/all", params=usersallparam) resp1_dict = resp1.json() print("\nResp\n", resp1) print("Resp1_dict:", resp1_dict) assert 'users' in resp1_dict
def users_all(token): users = getUserData() u_id = get_u_id(token) if (user_exists_persist(int(u_id))): return {"users": users} else: # pragma: no cover cannot test this as not way to fake a invalid token return {}
def test_auth_passwordreset_reset_http(url): resetData() #creating user data registerdata = { 'email': '*****@*****.**', 'password': '******', 'name_first': 'Frank', 'name_last': 'Su' } #registering user requests.post(f"{url}/auth/register", json=registerdata) #requesting a password reset resp = requests.post(f"{url}/auth/passwordreset/request", json={'email': '*****@*****.**'}) print(json.loads(resp.text)) assert resp.status_code == 200 #finding users status code users = getUserData() for user in users: if user['u_id'] == 1: reset_code = user['reset_code'] break print(users) #testing password reset resp = requests.post(f"{url}/auth/passwordreset/reset", json={ 'reset_code': reset_code, 'new_password': "******" }) print(json.loads(resp.text)) assert resp.status_code == 200 resp_dict = (json.loads(resp.text)) assert resp_dict == {}
def test_channel_details_http(url): ''' Http test for channel_details ''' resetData() user1data = { 'email': '*****@*****.**', 'password': '******', 'name_first': 'Frank', 'name_last': 'Su' } user1 = requests.post(f"{url}/auth/register", json=user1data) user1_dict = user1.json() user1token = user1_dict['token'] channel1 = {'token': user1token, 'name': "Test_channel", 'is_public': True} new_channel = requests.post(f"{url}/channels/create", json=channel1) assert new_channel.status_code == 200 new_channel_dict = new_channel.json() print("\nnew_channel_dict:", new_channel_dict) channel_id = new_channel_dict['channel_id'] channeldetailparam = {'token': user1token, 'channel_id': channel_id} channels = getChannelData() users = getUserData() print("\nChannels:\n", channels) print("\nUsers:\n", users) resp = requests.get(f"{url}channel/details", params=channeldetailparam) print("\nresp:", resp) resp_dict = resp.json() print("\nresp_dict:", resp_dict) assert 'name' in resp_dict assert 'owner_members' in resp_dict assert 'all_members' in resp_dict
def test_channel_invite_http(url): resetData() clear() channels = getChannelData() print("\nChannels_start:\n", channels) users = getUserData() print("\nUsers_start:\n", users) #Code block each registers a user user1data = { 'email': '*****@*****.**', 'password': '******', 'name_first': 'Frank', 'name_last': 'Su' } user1 = requests.post(f"{url}/auth/register", json=user1data) user1_dict = user1.json() user1token = user1_dict['token'] #Code block registers a user user2data = { 'email': '*****@*****.**', 'password': '******', 'name_first': 'Howard', 'name_last': 'Fog' } user2 = requests.post(f"{url}/auth/register", json=user2data) assert user2.status_code == 200 #Extracts elements from the response dictionary and stores into varaibles user2_dict = user2.json() user2u_id = user2_dict['u_id'] channel1 = {'token': user1token, 'name': "Test_channel", 'is_public': True} new_channel = requests.post(f"{url}/channels/create", json=channel1) assert new_channel.status_code == 200 new_channel_dict = new_channel.json() channel_id = new_channel_dict['channel_id'] print("\nUser1token:", user1token) print("Channel_id:", channel_id) print("User2id:", user2u_id) channelinvitedata = { "token": user1token, "channel_id": channel_id, "u_id": user2u_id } resp = requests.post(f"{url}/channel/invite", json=channelinvitedata) print("\nResp:", resp) resp_dict = resp.json() print("Resp_dict:", resp_dict) channels = getChannelData() print("\nChannels_end:\n", channels) users = getUserData() print("\nUsers_end:\n", users) assert resp_dict == {}