示例#1
0
def test_remove_user(new_user, new_user_2):
	glob_users = get_users()
	channel = channels_create(new_user['token'], "new_channel", False)
	channel_invite(new_user['token'], channel['channel_id'], new_user_2['u_id'])
	user_remove(new_user['token'], new_user_2['u_id'])
	assert not new_user_2 in get_channels()[channel['channel_id']]['members']
	with pytest.raises(InputError):
		auth_login(glob_users[new_user_2['u_id']]['email'], glob_users[new_user_2['u_id']]['password_hash'])
示例#2
0
def test_removing_message_as_owner(new_channel_and_user):
    ''' tests the sucessful removal of a message by the channel owner'''
    author = auth_register("*****@*****.**", "password", "first_name1",
                           "last_name1")
    channel_invite(new_channel_and_user['token'],
                   new_channel_and_user['channel_id'], author['u_id'])
    message = message_send(author['token'], new_channel_and_user['channel_id'],
                           'a')
    message_remove(new_channel_and_user['token'], message['message_id'])
示例#3
0
def test_removing_authored_message(new_channel_and_user):
    """ Tests the successful removal of a message from a user that sent it"""
    author = auth_register("*****@*****.**", "password", "first_name1",
                           "last_name1")
    channel_invite(new_channel_and_user['token'],
                   new_channel_and_user['channel_id'], author['u_id'])
    message = message_send(author['token'], new_channel_and_user['channel_id'],
                           'a')
    message_remove(author['token'], message['message_id'])
示例#4
0
def test_message_pin_not_owner(new_channel_and_user, new_channel_and_user_2):
    """ Test that try to pin a message but not the owner"""
    message = message_send(new_channel_and_user['token'],
                           new_channel_and_user['channel_id'], 'adcd')
    channel_invite(new_channel_and_user['token'],
                   new_channel_and_user['channel_id'],
                   new_channel_and_user_2['u_id'])

    with pytest.raises(InputError):
        message_pin(new_channel_and_user_2['token'], message['message_id'])
示例#5
0
def test_editing_authored_message_with_empty_message(new_channel_and_user):
    """ Tests replacing a message with an empty message removes the messages"""
    author = auth_register("*****@*****.**", "password", "first_name1",
                           "last_name1")
    channel_invite(new_channel_and_user['token'],
                   new_channel_and_user['channel_id'], author['u_id'])
    message = message_send(author['token'], new_channel_and_user['channel_id'],
                           'a')
    message_edit(author['token'], message['message_id'], '')
    with pytest.raises(InputError):
        message_edit(author['token'], message['message_id'], '')
示例#6
0
def test_message_unreact_ueser_not_react(new_channel_and_user,
                                         new_channel_and_user_2):
    """ Test that if a uer try to unreact a message which is not his/her reaction"""
    message = message_send(new_channel_and_user['token'],
                           new_channel_and_user['channel_id'], 'adcd')
    message_react(new_channel_and_user['token'], message['message_id'], 1)

    channel_invite(new_channel_and_user['token'],
                   new_channel_and_user['channel_id'],
                   new_channel_and_user_2['u_id'])

    with pytest.raises(InputError):
        message_unreact(new_channel_and_user_2['token'], message['message_id'],
                        1)
示例#7
0
def test_removing_a_message_neither_author_nor_owner(new_channel_and_user):
    """Tests that an error is thrown when the user is not authorised to remove the message
        A user is not authorised if they are
             i not the author of the message and
            ii: not an admin/owner of the chat
    """
    not_author = auth_register("*****@*****.**", "password",
                               "first_name1", "last_name1")
    message = message_send(new_channel_and_user['token'],
                           new_channel_and_user['channel_id'], 'a')
    channel_invite(new_channel_and_user['token'],
                   new_channel_and_user['channel_id'], not_author['u_id'])

    with pytest.raises(AccessError):
        assert message_remove(not_author['token'], message['message_id'])
示例#8
0
def test_channel_invite_valid_inputs(user_dav, user_jas, channel_dav):
    ''' user_dav invites user_jas to channel_dav '''
    channel_invite(user_dav['token'], channel_dav['channel_id'],
                   user_jas['u_id'])

    member_jas = {}
    member_jas['u_id'] = user_jas['u_id']
    member_jas['name_first'] = "jas"
    member_jas['name_last'] = "zhu"
    member_jas['profile_img_url'] = "http://localhost:8080/imgurl/default.png"

    channel_dav_detail = channel_details(user_dav['token'],
                                         channel_dav['channel_id'])

    assert member_jas in channel_dav_detail['all_members']
示例#9
0
def test_channel_invite_self_invite(user_dav, channel_dav, user_jas):

    # invite jas to the channel
    channel_invite(user_dav['token'], channel_dav['channel_id'],
                   user_jas['u_id'])

    # jas invite himself again
    channel_invite(user_jas['token'], channel_dav['channel_id'],
                   user_jas['u_id'])

    # create member jas
    member_jas = {}
    member_jas['u_id'] = user_jas['u_id']
    member_jas['name_first'] = "jas"
    member_jas['name_last'] = "zhu"
    member_jas['profile_img_url'] = "http://localhost:8080/imgurl/default.png"

    # set up channel details
    channel_dav_detail = channel_details(user_dav['token'],
                                         channel_dav['channel_id'])

    assert member_jas in channel_dav_detail['all_members']
示例#10
0
def test_channel_invite_already_member(user_dav, user_jas, channel_dav):

    # First invitation
    channel_invite(user_dav['token'], channel_dav['channel_id'],
                   user_jas['u_id'])

    # Second invitation
    channel_invite(user_dav['token'], channel_dav['channel_id'],
                   user_jas['u_id'])

    # create member jas
    member_jas = {}
    member_jas['u_id'] = user_jas['u_id']
    member_jas['name_first'] = "jas"
    member_jas['name_last'] = "zhu"
    member_jas['profile_img_url'] = "http://localhost:8080/imgurl/default.png"

    # set up channel details
    channel_dav_detail = channel_details(user_dav['token'],
                                         channel_dav['channel_id'])

    assert member_jas in channel_dav_detail['all_members']
示例#11
0
def test_channel_details(user_chas, user_dav, user_jas, channel_dav):

    # Invite jas and chas to the channel
    channel_invite(user_dav['token'], channel_dav['channel_id'],
                   user_jas['u_id'])
    channel_invite(user_dav['token'], channel_dav['channel_id'],
                   user_chas['u_id'])

    # Achieve the detail of the channel by dev
    channel_dav_detail = channel_details(user_dav['token'],
                                         channel_dav['channel_id'])

    # Set up the member card for every member
    member_dav = {}
    member_dav['u_id'] = user_dav['u_id']
    member_dav['name_first'] = "dav"
    member_dav['name_last'] = "zhu"
    member_dav['profile_img_url'] = "http://localhost:8080/imgurl/default.png"

    member_jas = {}
    member_jas['u_id'] = user_jas['u_id']
    member_jas['name_first'] = "jas"
    member_jas['name_last'] = "zhu"
    member_jas['profile_img_url'] = "http://localhost:8080/imgurl/default.png"

    member_chas = {}
    member_chas['u_id'] = user_chas['u_id']
    member_chas['name_first'] = "chas"
    member_chas['name_last'] = "zhu"
    member_chas['profile_img_url'] = "http://localhost:8080/imgurl/default.png"

    assert channel_dav_detail['name'] == "channel_dav"
    assert channel_dav_detail['owner_members'][0] == member_dav
    assert member_chas in channel_dav_detail['all_members']
    assert member_dav in channel_dav_detail['all_members']
    assert member_jas in channel_dav_detail['all_members']
示例#12
0
def channel_invite_wsgi():
    json = request.get_json()
    return jsonify(
        channel_invite(json['token'], int(json['channel_id']),
                       int(json['u_id'])))
示例#13
0
def test_channel_invite_not_a_member(user_jas, channel_dav, user_dav):
    ''' inviting user_dav to a channel that user_jas is not part of '''

    with pytest.raises(AccessError):
        channel_invite(user_jas['token'], channel_dav['channel_id'],
                       user_jas['u_id'])
示例#14
0
def test_invalid_user(user_dav, channel_dav):
    ''' tests that an input error is thrown when an invalid user_id is provided'''
    with pytest.raises(InputError):
        assert channel_invite(user_dav['token'], channel_dav['channel_id'], -1)
示例#15
0
def test_invalid_channel_invite(user_dav, user_jas):
    with pytest.raises(InputError):
        assert channel_invite(user_dav['token'], "invalid channel id",
                              user_jas['u_id'])