示例#1
0
文件: test_roles.py 项目: sakti/lemur
def test_role_put_with_data_and_user(client, session):
    from lemur.auth.service import create_token
    user = UserFactory()
    role = RoleFactory(users=[user])
    role1 = RoleFactory()
    user1 = UserFactory()
    session.commit()

    headers = {
        'Authorization': 'Basic ' + create_token(user),
        'Content-Type': 'application/json'
    }

    data = {
        'users': [{
            'id': user1.id
        }, {
            'id': user.id
        }],
        'id': role.id,
        'name': role.name
    }

    assert client.put(api.url_for(Roles, role_id=role.id),
                      data=json.dumps(data),
                      headers=headers).status_code == 200
    assert client.get(api.url_for(RolesList), data={},
                      headers=headers).json['total'] == 1
示例#2
0
def test_role_put_with_data_and_user(client, session):
    from lemur.auth.service import create_token

    user = UserFactory()
    role = RoleFactory(users=[user])
    role1 = RoleFactory()
    user1 = UserFactory()
    session.commit()

    headers = {
        "Authorization": "Basic " + create_token(user),
        "Content-Type": "application/json",
    }

    data = {
        "users": [{"id": user1.id}, {"id": user.id}],
        "id": role.id,
        "name": role.name,
    }

    assert (
        client.put(
            api.url_for(Roles, role_id=role.id), data=json.dumps(data), headers=headers
        ).status_code
        == 200
    )
    assert (
        client.get(api.url_for(RolesList), data={}, headers=headers).json["total"] > 1
    )
示例#3
0
def test_user_role_changes(client, session):
    user = UserFactory()
    role1 = RoleFactory()
    role2 = RoleFactory()
    session.flush()

    data = {
        'active': True,
        'id': user.id,
        'username': user.username,
        'email': user.email,
        'roles': [
            {'id': role1.id},
            {'id': role2.id},
        ],
    }

    # PUT two roles
    resp = client.put(api.url_for(Users, user_id=user.id), data=json.dumps(data), headers=VALID_ADMIN_HEADER_TOKEN)
    assert resp.status_code == 200
    assert len(resp.json['roles']) == 2
    assert set(user.roles) == {role1, role2}

    # Remove one role and PUT again
    del data['roles'][1]
    resp = client.put(api.url_for(Users, user_id=user.id), data=json.dumps(data), headers=VALID_ADMIN_HEADER_TOKEN)
    assert resp.status_code == 200
    assert len(resp.json['roles']) == 1
    assert set(user.roles) == {role1}
示例#4
0
文件: test_roles.py 项目: sakti/lemur
def test_role_put_with_data(client, session, token, status):
    user = UserFactory()
    role = RoleFactory()
    session.commit()

    data = {'users': [{'id': user.id}], 'id': role.id, 'name': role.name}

    assert client.put(api.url_for(Roles, role_id=role.id),
                      data=json.dumps(data),
                      headers=token).status_code == status
示例#5
0
def test_user_role_changes(client, session):
    user = UserFactory()
    role1 = RoleFactory()
    role2 = RoleFactory()
    session.flush()

    data = {
        "active": True,
        "id": user.id,
        "username": user.username,
        "email": user.email,
        "roles": [{
            "id": role1.id
        }, {
            "id": role2.id
        }],
    }

    # PUT two roles
    resp = client.put(
        api.url_for(Users, user_id=user.id),
        data=json.dumps(data),
        headers=VALID_ADMIN_HEADER_TOKEN,
    )
    assert resp.status_code == 200
    assert len(resp.json["roles"]) == 2
    assert set(user.roles) == {role1, role2}

    # Remove one role and PUT again
    del data["roles"][1]
    resp = client.put(
        api.url_for(Users, user_id=user.id),
        data=json.dumps(data),
        headers=VALID_ADMIN_HEADER_TOKEN,
    )
    assert resp.status_code == 200
    assert len(resp.json["roles"]) == 1
    assert set(user.roles) == {role1}