Exemplo n.º 1
0
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']
Exemplo n.º 2
0
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']
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
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
Exemplo n.º 5
0
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']
Exemplo n.º 6
0
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)
Exemplo n.º 7
0
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']})
Exemplo n.º 8
0
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)
Exemplo n.º 9
0
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)
Exemplo n.º 10
0
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'],
        })
Exemplo n.º 11
0
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"
Exemplo n.º 12
0
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']
        })
Exemplo n.º 13
0
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'
Exemplo n.º 14
0
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'
        })
Exemplo n.º 15
0
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']
Exemplo n.º 16
0
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']
Exemplo n.º 17
0
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']
Exemplo n.º 18
0
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
Exemplo n.º 19
0
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'
        })
Exemplo n.º 20
0
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'
Exemplo n.º 21
0
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']