catalog-backend: use new PermissionAuthorizer#policyDecision method
Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>
This commit is contained in:
committed by
Vincenzo Scamporlino
parent
ef2dd617e3
commit
23646e51a5
@@ -30,6 +30,7 @@ describe('AuthorizedEntitiesCatalog', () => {
|
||||
};
|
||||
const fakePermissionApi = {
|
||||
authorize: jest.fn(),
|
||||
policyDecision: jest.fn(),
|
||||
};
|
||||
|
||||
const createCatalog = (...rules: CatalogPermissionRule[]) =>
|
||||
@@ -45,7 +46,7 @@ describe('AuthorizedEntitiesCatalog', () => {
|
||||
|
||||
describe('entities', () => {
|
||||
it('returns empty response on DENY', async () => {
|
||||
fakePermissionApi.authorize.mockResolvedValue([
|
||||
fakePermissionApi.policyDecision.mockResolvedValue([
|
||||
{ result: AuthorizeResult.DENY },
|
||||
]);
|
||||
const catalog = createCatalog();
|
||||
@@ -61,7 +62,7 @@ describe('AuthorizedEntitiesCatalog', () => {
|
||||
});
|
||||
|
||||
it('calls underlying catalog method with correct filter on CONDITIONAL', async () => {
|
||||
fakePermissionApi.authorize.mockResolvedValue([
|
||||
fakePermissionApi.policyDecision.mockResolvedValue([
|
||||
{
|
||||
result: AuthorizeResult.CONDITIONAL,
|
||||
conditions: { rule: 'IS_ENTITY_KIND', params: [['b']] },
|
||||
@@ -78,7 +79,7 @@ describe('AuthorizedEntitiesCatalog', () => {
|
||||
});
|
||||
|
||||
it('calls underlying catalog method on ALLOW', async () => {
|
||||
fakePermissionApi.authorize.mockResolvedValue([
|
||||
fakePermissionApi.policyDecision.mockResolvedValue([
|
||||
{ result: AuthorizeResult.ALLOW },
|
||||
]);
|
||||
const catalog = createCatalog();
|
||||
@@ -98,7 +99,7 @@ describe('AuthorizedEntitiesCatalog', () => {
|
||||
{ kind: 'component', namespace: 'default', name: 'my-component' },
|
||||
],
|
||||
});
|
||||
fakePermissionApi.authorize.mockResolvedValue([
|
||||
fakePermissionApi.policyDecision.mockResolvedValue([
|
||||
{ result: AuthorizeResult.DENY },
|
||||
]);
|
||||
const catalog = new AuthorizedEntitiesCatalog(
|
||||
@@ -113,7 +114,7 @@ describe('AuthorizedEntitiesCatalog', () => {
|
||||
});
|
||||
|
||||
it('throws error on CONDITIONAL authorization that evaluates to 0 entities', async () => {
|
||||
fakePermissionApi.authorize.mockResolvedValue([
|
||||
fakePermissionApi.policyDecision.mockResolvedValue([
|
||||
{
|
||||
result: AuthorizeResult.CONDITIONAL,
|
||||
conditions: { rule: 'IS_ENTITY_KIND', params: [['b']] },
|
||||
@@ -132,7 +133,7 @@ describe('AuthorizedEntitiesCatalog', () => {
|
||||
});
|
||||
|
||||
it('calls underlying catalog method on CONDITIONAL authorization that evaluates to nonzero entities', async () => {
|
||||
fakePermissionApi.authorize.mockResolvedValue([
|
||||
fakePermissionApi.policyDecision.mockResolvedValue([
|
||||
{
|
||||
result: AuthorizeResult.CONDITIONAL,
|
||||
conditions: { rule: 'IS_ENTITY_KIND', params: [['b']] },
|
||||
@@ -158,7 +159,7 @@ describe('AuthorizedEntitiesCatalog', () => {
|
||||
{ kind: 'component', namespace: 'default', name: 'my-component' },
|
||||
],
|
||||
});
|
||||
fakePermissionApi.authorize.mockResolvedValue([
|
||||
fakePermissionApi.policyDecision.mockResolvedValue([
|
||||
{ result: AuthorizeResult.ALLOW },
|
||||
]);
|
||||
const catalog = new AuthorizedEntitiesCatalog(
|
||||
@@ -252,7 +253,7 @@ describe('AuthorizedEntitiesCatalog', () => {
|
||||
|
||||
describe('facets', () => {
|
||||
it('returns empty response on DENY', async () => {
|
||||
fakePermissionApi.authorize.mockResolvedValue([
|
||||
fakePermissionApi.policyDecision.mockResolvedValue([
|
||||
{ result: AuthorizeResult.DENY },
|
||||
]);
|
||||
const catalog = createCatalog();
|
||||
@@ -268,7 +269,7 @@ describe('AuthorizedEntitiesCatalog', () => {
|
||||
});
|
||||
|
||||
it('calls underlying catalog method with correct filter on CONDITIONAL', async () => {
|
||||
fakePermissionApi.authorize.mockResolvedValue([
|
||||
fakePermissionApi.policyDecision.mockResolvedValue([
|
||||
{
|
||||
result: AuthorizeResult.CONDITIONAL,
|
||||
conditions: { rule: 'IS_ENTITY_KIND', params: [['b']] },
|
||||
@@ -286,7 +287,7 @@ describe('AuthorizedEntitiesCatalog', () => {
|
||||
});
|
||||
|
||||
it('calls underlying catalog method on ALLOW', async () => {
|
||||
fakePermissionApi.authorize.mockResolvedValue([
|
||||
fakePermissionApi.policyDecision.mockResolvedValue([
|
||||
{ result: AuthorizeResult.ALLOW },
|
||||
]);
|
||||
const catalog = createCatalog();
|
||||
|
||||
@@ -45,7 +45,7 @@ export class AuthorizedEntitiesCatalog implements EntitiesCatalog {
|
||||
|
||||
async entities(request?: EntitiesRequest): Promise<EntitiesResponse> {
|
||||
const authorizeDecision = (
|
||||
await this.permissionApi.authorize(
|
||||
await this.permissionApi.policyDecision(
|
||||
[{ permission: catalogEntityReadPermission }],
|
||||
{ token: request?.authorizationToken },
|
||||
)
|
||||
@@ -78,7 +78,7 @@ export class AuthorizedEntitiesCatalog implements EntitiesCatalog {
|
||||
options?: { authorizationToken?: string },
|
||||
): Promise<void> {
|
||||
const authorizeResponse = (
|
||||
await this.permissionApi.authorize(
|
||||
await this.permissionApi.policyDecision(
|
||||
[{ permission: catalogEntityDeletePermission }],
|
||||
{ token: options?.authorizationToken },
|
||||
)
|
||||
@@ -155,7 +155,7 @@ export class AuthorizedEntitiesCatalog implements EntitiesCatalog {
|
||||
|
||||
async facets(request: EntityFacetsRequest): Promise<EntityFacetsResponse> {
|
||||
const authorizeDecision = (
|
||||
await this.permissionApi.authorize(
|
||||
await this.permissionApi.policyDecision(
|
||||
[{ permission: catalogEntityReadPermission }],
|
||||
{ token: request?.authorizationToken },
|
||||
)
|
||||
|
||||
@@ -27,6 +27,7 @@ describe('AuthorizedLocationService', () => {
|
||||
};
|
||||
const fakePermissionApi = {
|
||||
authorize: jest.fn(),
|
||||
policyDecision: jest.fn(),
|
||||
};
|
||||
|
||||
const mockAllow = () => {
|
||||
|
||||
@@ -25,6 +25,7 @@ describe('AuthorizedRefreshService', () => {
|
||||
};
|
||||
const permissionApi = {
|
||||
authorize: jest.fn(),
|
||||
policyDecision: jest.fn(),
|
||||
};
|
||||
|
||||
afterEach(() => {
|
||||
|
||||
Reference in New Issue
Block a user