Beispiel #1
0
def test_channels_list_owner_channels():

    clear()
    test_user0, test_user1 = create_two_test_users()

    # test_user0 creates 1 public channel
    _ = channels_create(test_user0['token'], "Public Channel 0", True)

    # test_user0 creates 1 private channel
    _ = channels_create(test_user0['token'], "Private Channel 0", False)

    # test_user1 creates 1 public channel
    pub_channel1 = channels_create(test_user1['token'], "Public Channel 1", True)

    # test_user1 creates 1 private channel
    priv_channel1 = channels_create(test_user1['token'], "Private Channel 1", False)

    # check that for user0, return only the 2 channels they created
    assert(channels_list(test_user1['token']) == {
        'channels' : [
            {
                "channel_id": pub_channel1['channel_id'],
                "name": "Public Channel 1",
            },
            {
                "channel_id": priv_channel1['channel_id'],
                "name": "Private Channel 1",
            },
        ]
    })
def test_users_all_valid_order():

    clear()
    user1 = create_two_test_users()[1]

    assert (users_all(user1['token']) != {
        'users': [
            {
                "u_id": 1,
                "email": "*****@*****.**",
                "name_first": "Jayden",
                "name_last": "Haycobs",
                "handle_str": "jaydenhaycobs",
                "profile_img_url": '',
            },
            {
                "u_id": 0,
                "email": "*****@*****.**",
                "name_first": "Hayden",
                "name_last": "Jacobs",
                "handle_str": "haydenjacobs",
                "profile_img_url": '',
            },
        ]
    })
Beispiel #3
0
def test_message_send_usernotinchannel():
    clear()
    test_user_0, test_user_1 = create_two_test_users()
    channel_name1 = channels_create(test_user_0['token'], "Main Channel", True)
    with pytest.raises(error.AccessError):
        assert message_send(test_user_1['token'], channel_name1['channel_id'],
                            message1)
def test_channel_removeowner_only_member():
    clear()
    _, user_1 = create_two_test_users()
    public_channel = channels_create(user_1['token'], "name", True)
    with pytest.raises(error.InputError):
        assert channel_removeowner(user_1['token'],
                                   public_channel['channel_id'],
                                   user_1['u_id']) == {}
def test_channel_removeowner_not_invited():
    clear()
    user_0, user_1 = create_two_test_users()
    private_channel = channels_create(user_0['token'], "name", False)
    with pytest.raises(error.InputError):
        assert channel_removeowner(user_0['token'],
                                   private_channel['channel_id'],
                                   user_1['u_id']) == {}
Beispiel #6
0
def test_channel_addowner_already_owner():
    clear()
    user_0, user_1 = create_two_test_users()
    public_channel = channels_create(user_0['token'], "name", True)
    channel_join(user_1['token'], public_channel['channel_id'])
    channel_addowner(user_0['token'], public_channel['channel_id'], user_1['u_id'])
    with pytest.raises(error.InputError):
        channel_addowner(user_0['token'], public_channel['channel_id'], user_1['u_id'])
def test_channel_removeowner_success():
    clear()
    user_0, user_1 = create_two_test_users()
    public_channel = channels_create(user_0['token'], "name", True)
    channel_join(user_1['token'], public_channel['channel_id'])
    channel_addowner(user_0['token'], public_channel['channel_id'],
                     user_1['u_id'])
    assert channel_removeowner(user_0['token'], public_channel['channel_id'],
                               user_1['u_id']) == {}
def test_channel_removeowner_invited():
    clear()
    user_0, user_1 = create_two_test_users()
    private_channel = channels_create(user_0['token'], "name", False)
    channel_invite(user_0['token'], private_channel['channel_id'],
                   user_1['u_id'])
    channel_addowner(user_0['token'], private_channel['channel_id'],
                     user_1['u_id'])
    assert channel_removeowner(user_0['token'], private_channel['channel_id'],
                               user_1['u_id']) == {}
def initialisation():
    clear()
    test_user0, test_user1 = create_two_test_users()
    #create 2 channels
    channel_id0 = channels_create(test_user0['token'], "Main Channel", True)
    channel_id1 = channels_create(test_user0['token'], "Secondary Channel",
                                  True)
    #implement messages in both channels
    message_send(test_user0['token'], 0, "Let's geddit")
    message_send(test_user0['token'], 0, "Let's go")

    expectedmessages0 = [
        {
            'message_id': 1,
            'channel_id': 0,
            'u_id': 0,
            'message': "Let's go"
        },
        {
            'message_id': 0,
            'channel_id': 0,
            'u_id': 0,
            'message': "Let's geddit"
        },
    ]

    message_send(test_user0['token'], 1, "Hello")
    message_send(test_user0['token'], 1, "Hi")
    message_send(test_user0['token'], 1, "Hey")

    expectedmessages1 = [{
        'message_id': 4,
        'channel_id': 1,
        'u_id': 0,
        'message': "Hey"
    }, {
        'message_id': 2,
        'channel_id': 1,
        'u_id': 0,
        'message': "Hello"
    }, {
        'message_id': 1,
        'channel_id': 0,
        'u_id': 0,
        'message': "Let's go"
    }, {
        'message_id': 0,
        'channel_id': 0,
        'u_id': 0,
        'message': "Let's geddit"
    }]

    return test_user0, test_user1, expectedmessages0, expectedmessages1, channel_id0, channel_id1
Beispiel #10
0
def test_message_sendlater_in_order():
    clear()
    test_user_0, test_user_1 = create_two_test_users()
    channel_name1 = channels_create(test_user_0['token'], "Main Channel", True)
    channel_join(test_user_1['token'],channel_name1['channel_id'])
    message_sendlater(test_user_1['token'], channel_name1['channel_id'], message1, (datetime.now()).timestamp()+2)
    message_send(test_user_1['token'], channel_name1['channel_id'], message1)
    message_send(test_user_0['token'], channel_name1['channel_id'], message1)
    message_sendlater(test_user_0['token'], channel_name1['channel_id'], message1, (datetime.now()).timestamp()+4)
    sleep(2.5)
    assert message_send(test_user_1['token'], channel_name1['channel_id'], message1) == {'message_id': 3}
    sleep(2.5)
    assert message_send(test_user_1['token'], channel_name1['channel_id'], message1) == {'message_id': 5}
def test_standup_send_invalid_user():
    clear()
    test_user0, test_user1 = create_two_test_users()

    # test_user0 creates 1 public channel
    channel0 = channels_create(test_user0['token'], "Public Channel", True)

    # test_user0 starts a standup
    standup_start(test_user0['token'], channel0['channel_id'], 2)

    #test_user1 tries to send message into standup in channel he is not part of
    with pytest.raises(error.AccessError):
        standup_send(test_user1['token'], channel0['channel_id'], 'hi')
def test_message_pin_notmember():

    clear()
    test_user0, test_user1 = create_two_test_users()

    # test_user0 creates 1 public channel
    channel_id = channels_create(test_user1['token'], "Public Channel", True)

    # test_user1 sends 1 message to public channel
    message1 = "inital message"
    message1_id = message_send(test_user1['token'], channel_id['channel_id'],
                               message1)

    with pytest.raises(AccessError):
        message_pin(test_user0['token'], message1_id['message_id'])
def test_message_edit_flockrowner():

    clear()
    test_user0, test_user1 = create_two_test_users()

    # test_user0 creates 1 public channel
    public_channel_id = channels_create(test_user1['token'], "Main Channel", True)

    # test_user1 joins public channel 
    channel_join(test_user0['token'], public_channel_id['channel_id'])

    # test_user1 sends 1 message to public channel
    message0 = "inital message"
    message0_id = message_send(test_user1['token'], public_channel_id['channel_id'], message0)

    assert message_edit(test_user0['token'], message0_id['message_id'], 'edited message') == {}
def test_standup_start_existing_standup():
    
    clear()
    test_user0, test_user1 = create_two_test_users()

    # test_user0 creates 1 public channel
    channel0 = channels_create(test_user0['token'], "Public Channel", True)
    
    # test_user1 joins channel0
    channel_join(test_user1['token'], channel0['channel_id'])

    # test_user0 starts a standup
    standup_start(test_user0['token'], channel0['channel_id'], 2)

    # test_user1 also tries to starts a standup
    with pytest.raises(error.InputError):
        standup_start(test_user1['token'], channel0['channel_id'], 2)
Beispiel #15
0
def test_message_send_in_order():
    clear()
    test_user_0, test_user_1 = create_two_test_users()
    channel_name1 = channels_create(test_user_0['token'], "Main Channel", True)
    channel_join(test_user_1['token'], channel_name1['channel_id'])
    assert message_send(test_user_1['token'], channel_name1['channel_id'],
                        message1) == {
                            'message_id': 0
                        }
    assert message_send(test_user_1['token'], channel_name1['channel_id'],
                        message1) == {
                            'message_id': 1
                        }
    assert message_send(test_user_0['token'], channel_name1['channel_id'],
                        message1) == {
                            'message_id': 2
                        }
def test_message_edit_notusermsg():

    clear()
    test_user0, test_user1 = create_two_test_users()

    # test_user0 creates 1 public channel
    public_channel_id = channels_create(test_user0['token'], "Main Channel", True)

    # test_user1 joins public channel 
    channel_join(test_user1['token'], public_channel_id['channel_id'])
        
    # test_user0 sends 1 message
    message0 = "user0's message"
    message0_id = message_send(test_user0['token'], public_channel_id['channel_id'], message0)
    
    # raise error if user1 tries to edit user0's message
    with pytest.raises(AccessError):
        message_edit(test_user1['token'], message0_id['message_id'], 'edited message')
Beispiel #17
0
def test_message_remove_no_permission():
    clear()
    test_user0, test_user1 = create_two_test_users()

    # test_user0 creates 1 public channel
    public_channel_id = channels_create(test_user0['token'], "Main Channel",
                                        True)

    # test_user1 joins public channel
    channel_join(test_user1['token'], public_channel_id['channel_id'])

    # test_user0 sends 1 message
    message0 = "Let's geddit"
    message0_id = message_send(test_user0['token'],
                               public_channel_id['channel_id'], message0)

    # test_user1 tries to remove test_user0's message
    with pytest.raises(AccessError):
        assert message_remove(test_user1['token'], message0_id['message_id'])
Beispiel #18
0
def test_message_remove_channel_owner():

    clear()
    test_user0, test_user1 = create_two_test_users()

    # test_user0 creates 1 public channel
    public_channel_id = channels_create(test_user0['token'], "Main Channel",
                                        True)

    # test_user1 joins public channel
    channel_join(test_user1['token'], public_channel_id['channel_id'])

    # test_user1 sends 1 message
    message0 = "Let's geddit"
    message0_id = message_send(test_user1['token'],
                               public_channel_id['channel_id'], message0)

    # check test_user1 (channel owner) removes their message
    assert message_remove(test_user0['token'], message0_id['message_id']) == {}
def test_message_pin_owner():

    clear()
    test_user0, test_user1 = create_two_test_users()

    # test_user0 creates 1 public channel
    channel_id = channels_create(test_user0['token'], "Main Channel", True)

    # test_user1 joins public channel
    channel_join(test_user1['token'], channel_id['channel_id'])

    # test_user0 sends 1 message
    message0 = "initial message"
    message0_id = message_send(test_user0['token'], channel_id['channel_id'],
                               message0)

    # raise error if user1 tries to pin user0's message
    with pytest.raises(AccessError):
        message_pin(test_user1['token'], message0_id['message_id'])
Beispiel #20
0
def test_channels_list_joined_channels():

    clear()
    test_user0, test_user1 = create_two_test_users()

    # test_user0 creates 1 public channel
    pub_channel0 = channels_create(test_user0['token'], "Public Channel 0", True)

    # test_user0 creates 1 private channel
    priv_channel0 = channels_create(test_user0['token'], "Private Channel 0", False)

    # test_user1 creates 1 public channel
    pub_channel1 = channels_create(test_user1['token'], "Public Channel 1", True)

    # test_user1 creates 1 private channel
    priv_channel1 = channels_create(test_user1['token'], "Private Channel 1", False)

    # test_user1 joins the channels test_user0 created
    channel_join(test_user1['token'], pub_channel0['channel_id'])
    channel_invite(test_user0['token'], priv_channel0['channel_id'], test_user1['u_id'])

    # check that for test_user1, return list of all channels
    assert(channels_list(test_user1['token']) == {
        'channels': [
            {
                "channel_id": pub_channel0['channel_id'],
                "name": "Public Channel 0"
            },
            {
                "channel_id": priv_channel0['channel_id'],
                "name": "Private Channel 0"
            },
            {
                "channel_id": pub_channel1['channel_id'],
                "name": "Public Channel 1"
            },
            {
                "channel_id": priv_channel1['channel_id'],
                "name": "Private Channel 1"
            },
        ]
    })
def test_channels_listsall_many():

    clear()
    test_user0, test_user1 = create_two_test_users()
    # create multiple test channels

    # test_user0 creates 1 public channel
    pub_channel0 = channels_create(test_user0['token'], "Public Channel 0", True)

    # test_user0 creates 1 private channel
    priv_channel0 = channels_create(test_user0['token'], "Private Channel 0", False)

    # test_user1 creates 1 public channel
    pub_channel1 = channels_create(test_user1['token'], "Public Channel 1", True)

    # test_user1 creates 1 private channel
    priv_channel1 = channels_create(test_user1['token'], "Private Channel 1", False)

    assert(channels_listall(test_user0['token']) == {
        'channels' : [
            {
                "channel_id": pub_channel0['channel_id'],
                "name": "Public Channel 0",
            },
            {
                "channel_id": priv_channel0['channel_id'],
                "name": "Private Channel 0",
            },
            {
                "channel_id": pub_channel1['channel_id'],
                "name": "Public Channel 1",
            },
            {
                "channel_id": priv_channel1['channel_id'],
                "name": "Private Channel 1",
            },
        ]
    })
Beispiel #22
0
def test_channels_list_authorised_priv_channel():
    
    clear()
    test_user0, test_user1 = create_two_test_users()

    # test_user0 creates 1 public channel
    _ = channels_create(test_user0['token'], "Public Channel 0", True)

    # test_user0 creates 1 private channel
    priv_channel0 = channels_create(test_user0['token'], "Private Channel 0", False)

    # test_user1 is invited to join private channel
    channel_invite(test_user0['token'], priv_channel0['channel_id'], test_user1['u_id'])

    # for test_user1, only lists the 1 private channel they are part of
    assert(channels_list(test_user1['token']) == {
        'channels' : [
            {
                "channel_id": priv_channel0['channel_id'],
                "name": "Private Channel 0",
            },
        ]
    })
def test_user_profile_sethandle_already_exists():

    clear()
    test_user_0 = create_two_test_users()[0]
    with pytest.raises(InputError):
        user_profile_sethandle(test_user_0['token'], "jaydenhaycobs")
Beispiel #24
0
def test_channel_addowner_invalid_channel(): 
    clear()
    user_0, user_1 = create_two_test_users() 
    public_channel = 4
    with pytest.raises(error.InputError):
        assert channel_addowner(user_0['token'], public_channel, user_1['u_id']) == {}
def test_admin_userpermission_change_notflockrowner():
    clear()
    user_0, user_1 = create_two_test_users()
    with pytest.raises(error.AccessError):
        assert admin_userpermission_change(user_1['token'], user_0['u_id'], 1) == {}
def test_admin_userpermission_change_invalidpermissionid():
    clear()
    user_0, user_1 = create_two_test_users()
    with pytest.raises(error.InputError):
        assert admin_userpermission_change(user_0['token'], user_1['u_id'], 7) == {}
def test_admin_userpermission_change_successtoowner():
    clear()
    user_0, user_1 = create_two_test_users()
    assert admin_userpermission_change(user_0['token'], user_1['u_id'], 1) == {}
Beispiel #28
0
def test_message_sendlater_usernotinchannel():
    clear()
    test_user_0, test_user_1 = create_two_test_users()
    channel_name1 = channels_create(test_user_0['token'], "Main Channel", True)
    with pytest.raises(error.AccessError):
        message_sendlater(test_user_1['token'], channel_name1['channel_id'], message1, (datetime.now()).timestamp()+1)
def test_user_profile_setemail_existing():
    clear()
    test_user0 = create_two_test_users()[0]
    with pytest.raises(InputError):
        user_profile_setemail(test_user0['token'], "*****@*****.**")