コード例 #1
0
def test_group_permissions(engine, session):
    _create_all(session)

    admins = Group.get_by_name(session, "admins")
    admins.permissions.append(Permission.get_by_name(session, "READ"))
    admins.permissions.append(Permission.get_by_name(session, "WRITE"))
    session.commit()

    admins = Group.get_by_name(session, "admins")
    assert ["READ", "WRITE"] == sorted(permission.name
                                       for permission in admins.permissions)
コード例 #2
0
def test_user_permissions(engine, session):
    _create_all(session)

    alice = User.get_by_username(session, "alice")
    alice.user_permissions.append(Permission.get_by_name(session, "READ"))
    alice.user_permissions.append(Permission.get_by_name(session, "WRITE"))
    session.commit()

    alice = User.get_by_username(session, "alice")
    assert ["READ",
            "WRITE"] == sorted(permission.name
                               for permission in alice.user_permissions)
コード例 #3
0
def test_permissions(engine, session):
    _create_all(session)

    alice = User.get_by_username(session, "alice")

    admins = Group.get_by_name(session, "admins")
    admins.users.append(alice)

    write_permission = Permission.get_by_name(session, "WRITE")
    write_permission.groups.append(admins)

    alice.user_permissions.append(Permission.get_by_name(session, "READ"))
    session.commit()

    alice = User.get_by_username(session, "alice")
    assert ["READ", "WRITE"] == sorted(permission.name
                                       for permission in alice.permissions)
コード例 #4
0
def _create_all(session):

    alice = User(username="******")
    assert MODEL_MAPPING["User"] is User
    session.add(alice)

    users_group = Group(name="users")
    assert MODEL_MAPPING["Group"] is Group
    session.add(users_group)

    admins_group = Group(name="admins")
    session.add(admins_group)

    read_permission = Permission(name="READ")
    assert MODEL_MAPPING["Permission"] is Permission
    session.add(read_permission)

    write_permission = Permission(name="WRITE")
    session.add(write_permission)

    session.commit()