@Test public void testTopRoleAuthorize() { RoleResource roleResource = RoleResource.fromName("roles"); Set<Permission> expectedPermissions = givenAuthorizedPermission(mockAuthorizer, roleResource); Set<Permission> actualPermissions = authorizer.authorize(mockPerformer, roleResource); assertThat(actualPermissions).isEqualTo(expectedPermissions); verify(mockAuthorizer).authorize(eq(mockPerformer), eq(roleResource)); }
@Override public Set<Permission> authorize(AuthenticatedUser user, IResource resource) { if (resource.hasParent() && resource instanceof RoleResource) { Set<Permission> permissions = EnumSet.copyOf(wrappedAuthorizer.authorize(user, resource)); permissions.add(Permission.ALTER); return permissions; } else { return wrappedAuthorizer.authorize(user, resource); } }
AuditAuthorizer implements IAuthorizer { @Override public Set<Permission> authorize(AuthenticatedUser user, IResource resource) { if (resource.hasParent() && resource instanceof RoleResource) { Set<Permission> permissions = EnumSet.copyOf(wrappedAuthorizer.authorize(user, resource)); permissions.add(Permission.ALTER); return permissions; } else { return wrappedAuthorizer.authorize(user, resource); } } }
AuditAuthorizer implements IAuthorizer { @Override public Set<Permission> authorize(AuthenticatedUser user, IResource resource) { if (resource.hasParent() && resource instanceof RoleResource) { Set<Permission> permissions = EnumSet.copyOf(wrappedAuthorizer.authorize(user, resource)); permissions.add(Permission.ALTER); return permissions; } else { return wrappedAuthorizer.authorize(user, resource); } } AuditAuthorizer(); @VisibleForTesting  AuditAuthorizer(IAuthorizer wrappedAuthorizer); }
AuditAuthorizer implements IAuthorizer { @Override public Set<Permission> authorize(AuthenticatedUser user, IResource resource) { if (resource.hasParent() && resource instanceof RoleResource) { Set<Permission> permissions = EnumSet.copyOf(wrappedAuthorizer.authorize(user, resource)); permissions.add(Permission.ALTER); return permissions; } else { return wrappedAuthorizer.authorize(user, resource); } } AuditAuthorizer(); @VisibleForTesting  AuditAuthorizer(IAuthorizer wrappedAuthorizer); @Override Set<Permission> authorize(AuthenticatedUser user, IResource resource); @Override void grant(AuthenticatedUser performer, Set<Permission> permissions, IResource resource, RoleResource grantee); @Override void revoke(AuthenticatedUser performer, Set<Permission> permissions, IResource resource, RoleResource revokee); @Override Set<PermissionDetails> list(AuthenticatedUser performer, Set<Permission> permissionFilter, IResource resourceFilter, RoleResource roleFilter); @Override void revokeAllFrom(RoleResource revokee); @Override void revokeAllOn(IResource droppedResource); @Override Set<? extends IResource> protectedResources(); @Override void validateConfiguration(); @Override void setup(); IAuthorizer getWrappedAuthorizer(); }
AuditAuthorizer implements IAuthorizer { @Override public Set<Permission> authorize(AuthenticatedUser user, IResource resource) { if (resource.hasParent() && resource instanceof RoleResource) { Set<Permission> permissions = EnumSet.copyOf(wrappedAuthorizer.authorize(user, resource)); permissions.add(Permission.ALTER); return permissions; } else { return wrappedAuthorizer.authorize(user, resource); } } AuditAuthorizer(); @VisibleForTesting  AuditAuthorizer(IAuthorizer wrappedAuthorizer); @Override Set<Permission> authorize(AuthenticatedUser user, IResource resource); @Override void grant(AuthenticatedUser performer, Set<Permission> permissions, IResource resource, RoleResource grantee); @Override void revoke(AuthenticatedUser performer, Set<Permission> permissions, IResource resource, RoleResource revokee); @Override Set<PermissionDetails> list(AuthenticatedUser performer, Set<Permission> permissionFilter, IResource resourceFilter, RoleResource roleFilter); @Override void revokeAllFrom(RoleResource revokee); @Override void revokeAllOn(IResource droppedResource); @Override Set<? extends IResource> protectedResources(); @Override void validateConfiguration(); @Override void setup(); IAuthorizer getWrappedAuthorizer();  }