def test_unreact(): ''' Test a valid case of message_unreact to a message someone else had sent ''' workspace_reset() user1 = reg_user1() user2 = reg_user2() channel1 = create_ch1(user1) invite_to_ch1(user1, user2, channel1) msg1 = send_msg1(user1, channel1) # react to the message react_to_msg(1, msg1, user2) payload = { 'token': user2['token'], 'message_id': msg1['message_id'], 'react_id': 1 } message.unreact(payload) message1_reacts = find_message(msg1['message_id'])['reacts'] for i in message1_reacts: if i['react_id'] == 1: assert user2['u_id'] not in i['u_ids']
def test_admin_user_remove_successful3(): 'Successful case with messages' workspace_reset() channel_store = get_channel_data_store() messages_store = get_messages_store() ret = register_and_create() user1 = ret['user'] token1 = user1['token'] u_id1 = user1['u_id'] user2 = reg_user2() token2 = user2['token'] u_id2 = user2['u_id'] channel_info = ret['channel'] channel_id = channel_info['channel_id'] channel.join(token2, channel_id) payload = {'token': token1, 'u_id': u_id2} msg1 = send_msg1(user2, channel_info) # Remove user1 from slackr user_remove(payload) user2_dets = user_details(u_id2) channel_info = ret['channel'] channel_id = channel_info['channel_id'] for curr_channel in channel_store: channel_id = curr_channel['channel_id'] if user2_dets in curr_channel['members']: assert channel.details(token1, channel_id)['all_members'] == [{ "u_id": u_id1, "name_first": 'Kennan', "name_last": 'Wong' }] if user2_dets in curr_channel['owners']: assert channel.details(token1, channel_id)['owner_members'] == [{ "u_id": u_id1, "name_first": 'Kennan', "name_last": 'Wong' }] assert msg1 not in messages_store assert msg1 not in channel_info['messages']
def test_invalid_msg_id(): ''' Test unreacting with an invalid message id ''' workspace_reset() user1 = reg_user1() channel1 = create_ch1(user1) msg1 = send_msg1(user1, channel1) react_to_msg(1, msg1, user1) payload = {'token': user1['token'], 'message_id': 2, 'react_id': 1} with pytest.raises(InputError): message.unreact(payload)
def test_pin(): 'testing functionability for message pin' workspace_reset() ret = register_and_create() user = ret['user'] channel1 = ret['channel'] msg1 = send_msg1(user, channel1) message.pin({'token': user['token'], 'message_id': msg1['message_id']}) assert msg1['is_pinned'] is True
def test_remove1(): ''' Test a valid use of message.remove ''' workspace_reset() messages_store = get_messages_store() ret = register_and_create() user = ret['user'] channel1 = ret['channel'] msg1 = send_msg1(user, channel1) message.remove({'token': user['token'], 'message_id': msg1['message_id']}) assert msg1 not in messages_store assert msg1 not in channel1['messages']
def test_not_reacted(): ''' Test unreacting to a message they have already reacted to ''' workspace_reset() user1 = reg_user1() channel1 = create_ch1(user1) msg1 = send_msg1(user1, channel1) payload = { 'token': user1['token'], 'message_id': msg1['message_id'], 'react_id': 1 } with pytest.raises(InputError): message.unreact(payload)
def test_already_pinned(): 'testing error case' #message is already pinned workspace_reset() ret = register_and_create() user = ret['user'] channel1 = ret['channel'] msg1 = send_msg1(user, channel1) message.pin({'token': user['token'], 'message_id': msg1['message_id']}) with pytest.raises(InputError): message.pin({'token': user['token'], 'message_id': msg1['message_id']})
def test_invalid_react_id(): ''' Test a user reacting with an invalid reactId ''' workspace_reset() user1 = reg_user1() channel1 = create_ch1(user1) msg1 = send_msg1(user1, channel1) payload = { 'token': user1['token'], 'message_id': msg1['message_id'], 'react_id': 2 } with pytest.raises(InputError): message.react(payload)
def test_not_in_channel(): ''' Test a user reacting to a message in a channel they are not a part of ''' workspace_reset() user1 = reg_user1() user2 = reg_user2() channel1 = create_ch1(user1) msg1 = send_msg1(user1, channel1) payload = { 'token': user2['token'], 'message_id': msg1['message_id'], 'react_id': 1 } with pytest.raises(InputError): message.react(payload)
def test_unauthor_member(): 'testing error case' workspace_reset() ret = register_and_create() user = ret['user'] channel1 = ret['channel'] user2 = reg_user2() msg1 = send_msg1(user, channel1) with pytest.raises(AccessError): message.pin({ 'token': user2['token'], 'message_id': msg1['message_id'], })
def test_search_one_channel(): #create user workspace_reset() reg_cre = register_and_create() user = reg_cre['user'] chan = reg_cre['channel'] msg_test = send_msg1(user, chan) #test to see if search will return the messages that have helloworld query = "Testing" messages = search(token, query) #test to see if the query string used found messages in channels for i in messages['messages']: assert i['message'] == "Testing"
def test_unauth_remove2(): ''' Attempting remove another users message in a channel they are not a part of ''' workspace_reset() ret = register_and_create() user1 = ret['user'] channel1 = ret['channel'] user2 = reg_user2() msg1 = send_msg1(user1, channel1) with pytest.raises(AccessError): message.remove({ 'token': user2['token'], 'message_id': msg1['message_id'] })
def test_edit1(): ''' Test valid use of message.edit where someone is editing their own message ''' workspace_reset() ret = register_and_create() user1 = ret['user'] channel1 = ret['channel'] msg1 = send_msg1(user1, channel1) message.edit({ 'token': user1['token'], 'message_id': msg1['message_id'], 'message': 'edit' }) assert msg1['message'] == 'edit'
def test_unauth_edit2(): ''' Someone attempting to edit a message in a channel they are not a part of ''' workspace_reset() ret = register_and_create() user1 = ret['user'] channel1 = ret['channel'] user2 = reg_user2() msg1 = send_msg1(user1, channel1) with pytest.raises(AccessError): message.edit({ 'token': user2['token'], 'message_id': msg1['message_id'], 'message': 'edit' })
def test_edit3(): ''' Someone attempts to edit a message by replacing it witha a blank string ''' workspace_reset() message_store = get_messages_store() ret = register_and_create() user1 = ret['user'] channel1 = ret['channel'] msg1 = send_msg1(user1, channel1) message.edit({ 'token': user1['token'], 'message_id': msg1['message_id'], 'message': '' }) assert msg1 not in message_store assert msg1 not in channel1['messages']
def test_remove2(): ''' The admin of a channel is attempting to remove a message ''' workspace_reset() messages_store = get_messages_store() #register user1 and create channel1 ret = register_and_create() user1 = ret['user'] channel1 = ret['channel'] user2 = reg_user2() channel.invite(user1['token'], channel1['channel_id'], user2['u_id']) msg1 = send_msg1(user2, channel1) message.remove({'token': user1['token'], 'message_id': msg1['message_id']}) assert msg1 not in messages_store assert msg1 not in channel1['messages']
def test_react1(): ''' Test a valid use of react on your own message ''' workspace_reset() user1 = reg_user1() channel1 = create_ch1(user1) msg1 = send_msg1(user1, channel1) payload = { 'token': user1['token'], 'message_id': msg1['message_id'], 'react_id': 1 } # find the reacts in the message with react_id 1 # Assert user1 has reacted message.react(payload) message1_reacts = find_message(msg1['message_id'])['reacts'] for i in message1_reacts: if i['react_id'] == 1: assert user1['u_id'] in i['u_ids']
def test_unauth_owner(): 'testing error case' #user is not an owner workspace_reset() ret = register_and_create() user1 = ret['user'] channel1 = ret['channel'] user2 = reg_user2() token = user1['token'] channel_id = channel1['channel_id'] u_id = user2['u_id'] channel.invite(token, channel_id, u_id) msg1 = send_msg1(user2, channel1) with pytest.raises(InputError): message.pin({ 'token': user2['token'], 'message_id': msg1['message_id'], }) # pylint: disable=C0304
def test_unauth_edit1(): ''' Someone is attempting to edit another users message but they are not an owner ''' workspace_reset() ret = register_and_create() user1 = ret['user'] channel1 = ret['channel'] user2 = reg_user2() invite_to_ch1(user1, user2, channel1) msg1 = send_msg1(user1, channel1) with pytest.raises(AccessError): message.edit({ 'token': user2['token'], 'message_id': msg1['message_id'], 'message': 'edit' })
def test_edit2(): ''' Test if an owner is editing another users message ''' workspace_reset() ret = register_and_create() user1 = ret['user'] channel1 = ret['channel'] user2 = reg_user2() channel.invite(user1['token'], channel1['channel_id'], user2['u_id']) msg1 = send_msg1(user2, channel1) message.edit({ 'token': user1['token'], 'message_id': msg1['message_id'], 'message': 'edit' }) assert msg1['message'] == 'edit'
def test_react2(): ''' Test a valid use of react where someone else reacts to someones elses message ''' workspace_reset() user1 = reg_user1() user2 = reg_user2() channel1 = create_ch1(user1) msg1 = send_msg1(user1, channel1) invite_to_ch1(user1, user2, channel1) payload = { 'token': user2['token'], 'message_id': msg1['message_id'], 'react_id': 1 } message.react(payload) message1_reacts = find_message(msg1['message_id'])['reacts'] for i in message1_reacts: if i['react_id'] == 1: assert user2['u_id'] in i['u_ids']