Exemplo n.º 1
0
def test_logout_then_channels_listall(
        reg_user):  # Ensure that token becomes invalid after logout
    clear_v2()
    user_token = reg_user(0)['token']
    assert auth_logout_v1(user_token)['is_success']
    with pytest.raises(AccessError):
        channels_listall_v2(user_token)
def test_create_channel_successfully():
    clear_v1()
    u1 = auth_register_v2("*****@*****.**", "abcdefg1234", "bunny",
                          "dong")
    u2 = auth_register_v2("*****@*****.**", "abcdefg1234", "bunny",
                          "dong")
    u3 = auth_register_v2("*****@*****.**", "abcdefg1234", "abcdef",
                          "fwef")

    channel_1 = channels_create_v2(u1['token'], "The party channel 1",
                                   True)['channel_id']
    assert (channels_listall_v2(u1['token']) == {
        'channels': [
            {
                'channel_id': channel_1,
                'name': "The party channel 1",
            },
        ]
    })

    channel_2 = channels_create_v2(u2['token'], "The party channel 2",
                                   True)['channel_id']

    assert (channels_listall_v2(u1['token']) == {
        'channels': [
            {
                'channel_id': channel_1,
                'name': "The party channel 1",
            },
            {
                'channel_id': channel_2,
                'name': "The party channel 2",
            },
        ]
    })

    channel_3 = channels_create_v2(u3['token'], "The party channel 3",
                                   True)['channel_id']

    assert (channels_listall_v2(u1['token']) == {
        'channels': [
            {
                'channel_id': channel_1,
                'name': "The party channel 1",
            },
            {
                'channel_id': channel_2,
                'name': "The party channel 2",
            },
            {
                'channel_id': channel_3,
                'name': "The party channel 3",
            },
        ]
    })
    clear_v1()
def test_channels_listall_v2_correct(user_details):
    clear_v2()
    email, pwd, fName, lName = user_details
    token = auth_register_v2(email, pwd, fName, lName)['token']

    name_1 = "Stress Puppy"
    name_2 = "Sweet Britney"
    name_3 = "Small Room"

    is_public_1 = True
    is_public_2 = False
    is_public_3 = False

    channel_id_1 = channels_create_v2(token, name_1, is_public_1)['channel_id']
    channel_id_2 = channels_create_v2(token, name_2, is_public_2)['channel_id']
    channel_id_3 = channels_create_v2(token, name_3, is_public_3)['channel_id']

    assert channels_listall_v2(token) == {
        'channels': [{
            'channel_id': channel_id_1,
            'name': name_1
        }, {
            'channel_id': channel_id_2,
            'name': name_2
        }, {
            'channel_id': channel_id_3,
            'name': name_3
        }]
    }
def test_channels_listall_v2_no_channel(user_details):
    clear_v2()
    email, pwd, fName, lName = user_details
    token = auth_register_v2(email, pwd, fName, lName)['token']

    assert (channels_listall_v2(token) == {
        'channels': []
    })  #   InputError with no channel
Exemplo n.º 5
0
def test_channels_listall_v2():
    #Resets the internal data of the application to it"s initial state
    clear_v1()
    #register a user to operate
    auth_user_1_data = auth_register_v2("*****@*****.**", "123456", "Andy",
                                        "Dandy")
    auth_user_1_token = auth_user_1_data["token"]
    #Test for there are no channel exist now
    assert channels_listall_v2(auth_user_1_token) == {"channels": []}
    #User create a channel to test whether it return or not
    channel_id_1 = channels_create_v2(auth_user_1_token, "Andys channel",
                                      True)["channel_id"]
    assert channels_listall_v2(auth_user_1_token) == {
        "channels": [{
            "channel_id": channel_id_1,
            "name": "Andys channel"
        }]
    }
    #User create another channel to test whether all the channels return or not
    channel_id_2 = channels_create_v2(auth_user_1_token, "School channel",
                                      True)["channel_id"]
    assert channels_listall_v2(auth_user_1_token) == {
        "channels": [{
            "channel_id": channel_id_1,
            "name": "Andys channel"
        }, {
            "channel_id": channel_id_2,
            "name": "School channel"
        }]
    }
    #User create another channel to test whether all the channels return or not
    channel_id_3 = channels_create_v2(auth_user_1_token, "Game channel",
                                      True)["channel_id"]
    assert channels_listall_v2(auth_user_1_token) == {
        "channels": [{
            "channel_id": channel_id_1,
            "name": "Andys channel"
        }, {
            "channel_id": channel_id_2,
            "name": "School channel"
        }, {
            "channel_id": channel_id_3,
            "name": "Game channel"
        }]
    }
Exemplo n.º 6
0
def test_single_user_and_channel(
    reg_user, crt_channel
):  # Test clearing of a single channel from the channels dictionary
    clear_v2()
    auth_user_token = reg_user(0)['token']
    crt_channel(auth_user_token, 0, True)
    clear_v2()
    auth_user_token = reg_user(0)['token']
    assert channels_listall_v2(auth_user_token)['channels'] == []
Exemplo n.º 7
0
def test_single_user_multi_channel(
    reg_user, crt_channel
):  # Test clearing of multiple channels from the channels dictionary
    clear_v2()
    auth_user_token = reg_user(0)['token']
    for i in range(5):
        crt_channel(auth_user_token, i, i % 2 == 0)
    clear_v2()
    auth_user_token = reg_user(0)['token']
    assert channels_listall_v2(auth_user_token)['channels'] == []
def test_single_channel_including_user():
    clear_v1()
    user_1 = auth_register_v2('*****@*****.**', 'aaaaaa1', 'a', 'a')
    channel_1 = channels_create_v2(user_1['token'], 'Channel 1', True)
    assert channels_listall_v2(user_1['token']) == {
        'channels': [{
            'channel_id': channel_1['channel_id'],
            'name': 'Channel 1'
        }]
    }
Exemplo n.º 9
0
def test_clear_everything():
    """ Tests that calling clear on database filled with channels and channel
        members does indeed clear everything.
    """
    clear_v1()
    user_1 = auth_register_v2("*****@*****.**", "peterpiper", "Eric",
                              "Zheng")
    user_2 = auth_register_v2("*****@*****.**", "maryreider", "Josh",
                              "Hatton")
    user_3 = auth_register_v2("*****@*****.**", "runescape4lyfe",
                              "Dean", "Zworestine")
    user_4 = auth_register_v2("*****@*****.**", "iheartnewyork",
                              "Jordan", "Milch")

    channel_1 = channels_create_v2(user_1["token"], "Party Channel", True)
    channel_2 = channels_create_v2(user_3["token"], "General", True)

    channel_join_v2(user_2["token"], channel_2['channel_id'])
    channel_join_v2(user_3["token"], channel_1['channel_id'])
    channel_join_v2(user_4["token"], channel_1['channel_id'])

    assert clear_v1() == {}

    with pytest.raises(InputError):
        # All data should have been reset so no users should be able to log in
        auth_login_v2("*****@*****.**", "peterpiper")
        auth_login_v2("*****@*****.**", "maryreider")
        auth_login_v2("*****@*****.**", "globalempire4")
        auth_login_v2("*****@*****.**", "runescape4lyfe")
        auth_login_v2("*****@*****.**", "iheartnewyork")

    with pytest.raises(AccessError):
        # Should also be unable to access list of channels as there are no valid
        # tokens
        channels_listall_v2(user_1["token"])

    # Should be able to open a list of channels with a new valid token
    user_1 = auth_register_v2("*****@*****.**", "peterpiper", "Eric",
                              "Zheng")

    channels_listall_v2(user_1["token"])

    clear_v1()
Exemplo n.º 10
0
def test_channels_listall_v2_success(user_setup, channel_setup_owner):
    '''
    Lists all created channels even if user is not in any/all channels
    '''
    assert channels_listall_v2(make_token(0)) == {
        'channels': [{
            'channel_id': 0,
            'name': 'Gchannel1',
        }, {
            'channel_id': 1,
            'name': 'Gchannel2',
        }, {
            'channel_id': 2,
            'name': 'Gchannel3',
        }],
    }
Exemplo n.º 11
0
def channels_listall():
    parameters = request.args
    token = parameters['token']
    output = channels_listall_v2(token)
    return dumps(output)
def test_multiple_channels_different_permissions():
    clear_v1()
    user_1 = auth_register_v2('*****@*****.**', 'aaaaaa1', 'a', 'a')
    user_2 = auth_register_v2('*****@*****.**', 'bbbbbb1', 'b', 'b')
    user_3 = auth_register_v2('*****@*****.**', 'aaaaaa1', 'a', 'a')
    user_4 = auth_register_v2('*****@*****.**', 'bbbbbb1', 'b', 'b')
    user_5 = auth_register_v2('*****@*****.**', 'aaaaaa1', 'a', 'a')
    user_6 = auth_register_v2('*****@*****.**', 'bbbbbb1', 'b', 'b')
    channel_1 = channels_create_v2(user_1['token'], 'Channel 1', True)
    channel_2 = channels_create_v2(user_2['token'], 'Channel 2', True)
    channel_3 = channels_create_v2(user_3['token'], 'Channel 3', False)
    channel_4 = channels_create_v2(user_4['token'], 'Channel 4', False)
    channel_invite_v2(user_1['token'], channel_1['channel_id'],
                      user_5['auth_user_id'])
    assert channels_listall_v2(user_1['token']) == {
        'channels': [{
            'channel_id': channel_1['channel_id'],
            'name': 'Channel 1'
        }, {
            'channel_id': channel_2['channel_id'],
            'name': 'Channel 2'
        }, {
            'channel_id': channel_3['channel_id'],
            'name': 'Channel 3'
        }, {
            'channel_id': channel_4['channel_id'],
            'name': 'Channel 4'
        }]
    }
    assert channels_listall_v2(user_1['token']) == channels_listall_v2(
        user_2['token'])
    assert channels_listall_v2(user_1['token']) == channels_listall_v2(
        user_3['token'])
    assert channels_listall_v2(user_1['token']) == channels_listall_v2(
        user_4['token'])
    assert channels_listall_v2(user_1['token']) == channels_listall_v2(
        user_5['token'])
    assert channels_listall_v2(user_1['token']) == channels_listall_v2(
        user_6['token'])
def test_invalid_token(user_details):

    clear_v2()

    with pytest.raises(AccessError):
        channels_listall_v2("invalid_token")
Exemplo n.º 14
0
def test_no_initial_data(
    reg_user
):  # Test clearing with no data added to users or channels dictionary
    clear_v2()
    auth_user_token = reg_user(0)['token']
    assert channels_listall_v2(auth_user_token)['channels'] == []
Exemplo n.º 15
0
def list_all():
    token = request.args.get('token')

    list_all = channels_listall_v2(token)
    return dumps(list_all)
Exemplo n.º 16
0
def channels_listall():
    token = request.args.get('token')

    output = channels_listall_v2(token)

    return dumps(output)
def test_empty():
    clear_v1()
    user_1 = auth_register_v2('*****@*****.**', 'aaaaaa1', 'a', 'a')
    assert channels_listall_v2(user_1['token']) == {'channels': []}