Beispiel #1
0
def test_admin_invalid_permmission_id(auth_fixture):
    """
    Pytest: testing invalid permission_id
    """

    (server_data, auth_fixture) = auth_fixture
    token = auth_fixture[0]["token"]
    u_id = auth_fixture[1]["u_id"]

    with pytest.raises(InputError):
        admin_userpermission_change(server_data, token, u_id, 3)
Beispiel #2
0
def test_admin_no_permission(auth_fixture):
    """
    Pytest: testing no permission
    """

    (server_data, auth_fixture) = auth_fixture
    token = auth_fixture[1]["token"]
    u_id = auth_fixture[0]["u_id"]

    with pytest.raises(AccessError):
        admin_userpermission_change(server_data, token, u_id,
                                    const.PERMISSION_GLOBAL_MEMBER)
Beispiel #3
0
def test_admin_invalid_u_id(auth_fixture):
    """
    Pytest: testing invalid u_id
    """

    (server_data, auth_fixture) = auth_fixture
    token = auth_fixture[0]["token"]
    u_id = 12414910

    with pytest.raises(InputError):
        admin_userpermission_change(server_data, token, u_id,
                                    const.PERMISSION_GLOBAL_MEMBER)
Beispiel #4
0
def test_admin_invalid_token(auth_fixture):
    """
    Pytest: testing invalid token
    """

    (server_data, auth_fixture) = auth_fixture
    token = "testtokenrandom"
    u_id = auth_fixture[0]["u_id"]

    with pytest.raises(AccessError):
        admin_userpermission_change(server_data, token, u_id,
                                    const.PERMISSION_GLOBAL_MEMBER)
Beispiel #5
0
def admin_userpermission_change():
    input_data = request.get_json()
    token = input_data['token']
    u_id = input_data['u_id']
    permission_id = input_data['permission_id']
    returned_data = admin.admin_userpermission_change(token, u_id,
                                                      permission_id)
    return dumps({})
Beispiel #6
0
def http_admin_userpermission_change():
    """
    http_admin_userpermission_change:
    Given a user by their u_id, set their permission to new permissions described by permission_id

    Input:
    - (JSON) {token, u_id, permission_id}
    Output:
    - (JSON) {}
    """

    # Get input and server data
    input_data = request.get_json()
    server_data = get_server_data_obj()
    u_id = input_handle_ids(input_data["u_id"])
    permission_id = input_handle_ids(input_data["permission_id"])
    output_data = admin_userpermission_change(server_data, input_data["token"],
                                              u_id, permission_id)

    return dumps(output_data)
Beispiel #7
0
def test_admin_valid_permission_change(auth_fixture):
    """
    Pytest: testing valid requests
    """
    (server_data, auth_fixture) = auth_fixture

    token = auth_fixture[0]["token"]
    token1 = auth_fixture[1]["token"]
    token2 = auth_fixture[2]["token"]
    token3 = auth_fixture[3]["token"]
    token4 = auth_fixture[4]["token"]

    u_id1 = auth_fixture[1]["u_id"]
    u_id2 = auth_fixture[2]["u_id"]
    u_id3 = auth_fixture[3]["u_id"]
    u_id4 = auth_fixture[4]["u_id"]

    # Change all of them to owner
    admin_userpermission_change(server_data, token, u_id1,
                                const.PERMISSION_GLOBAL_OWNER)
    admin_userpermission_change(server_data, token, u_id2,
                                const.PERMISSION_GLOBAL_OWNER)
    admin_userpermission_change(server_data, token, u_id3,
                                const.PERMISSION_GLOBAL_OWNER)
    admin_userpermission_change(server_data, token, u_id4,
                                const.PERMISSION_GLOBAL_OWNER)

    # user 0 now create a channel
    channel_info = channels_create(server_data, token, "TEST1", True)

    # All other users join the channel, they should automatically become owners
    channel_join(server_data, token1, channel_info["channel_id"])
    channel_join(server_data, token2, channel_info["channel_id"])
    channel_join(server_data, token3, channel_info["channel_id"])
    channel_join(server_data, token4, channel_info["channel_id"])

    # Get channel details and check
    rt_info = channel_details(server_data, token, channel_info["channel_id"])
    assert len(rt_info["owner_members"]) == 5
    assert len(rt_info["all_members"]) == 5

    # Test other users to change permission, it should not fail
    admin_userpermission_change(server_data, token2, u_id1,
                                const.PERMISSION_GLOBAL_MEMBER)
    admin_userpermission_change(server_data, token2, u_id3,
                                const.PERMISSION_GLOBAL_MEMBER)
    admin_userpermission_change(server_data, token2, u_id4,
                                const.PERMISSION_GLOBAL_MEMBER)

    # Create a second channel to test
    channel_info = channels_create(server_data, token, "TEST1", True)
    channel_join(server_data, token1, channel_info["channel_id"])
    channel_join(server_data, token2, channel_info["channel_id"])
    channel_join(server_data, token3, channel_info["channel_id"])
    channel_join(server_data, token4, channel_info["channel_id"])

    # Get channel details and check
    rt_info = channel_details(server_data, token, channel_info["channel_id"])
    assert len(rt_info["owner_members"]) == 2
    assert len(rt_info["all_members"]) == 5