@Before public void setUp() throws Exception { permissionManager = new DefaultPermissionManager(); deployer = new AuthorizationPolicyDeployer(storage, permissionManager, deployedEvent); URL fileURL = Thread.currentThread().getContextClassLoader().getResource("security-policy.properties"); Path policyDir = Paths.get(fileURL.toURI()).getParent(); deployer.deployPolicy(policyDir); ArgumentCaptor<AuthorizationPolicy> policyCaptor = ArgumentCaptor.forClass(AuthorizationPolicy.class); verify(storage).loadPolicy(); verify(storage).savePolicy(policyCaptor.capture()); policy = policyCaptor.getValue(); }
public void deployPolicy() { Path policyDir = getPolicyDir(); deployPolicy(policyDir); }
/** * Put all the policy files together into a single properties instance. * @param policyDir The source directory where to read the policy files from. * @return An {@link NonEscapedProperties} instance containing all the properties read from the policy files found * @throws IOException When an IO error occurs reading any of the policy files */ public NonEscapedProperties readPolicyProperties(Path policyDir) throws IOException { NonEscapedProperties properties = new NonEscapedProperties(); Files.list(policyDir) .filter(this::isPolicyFile) .forEach(path -> loadPolicyFile(properties, path)); return properties; }
@Test public void testNothingToDeploy() { deployer.deployPolicy(null); verify(storage, never()).loadPolicy(); verify(storage, never()).savePolicy(any()); }
@Before public void setUp() { PermissionTypeRegistry permissionTypeRegistry = new DefaultPermissionTypeRegistry(); permissionManager = spy(new DefaultPermissionManager(permissionTypeRegistry)); deployer = new AuthorizationPolicyDeployer(storage, permissionManager, event); RoleRegistry.get().clear(); }
@Test public void testPolicyDir() { WebAppSettings.get().setRootDir("/test"); Path path = deployer.getPolicyDir(); Path expected = Paths.get(URI.create("file:///test/WEB-INF/classes")); assertEquals(path, expected); }
public void deployPolicy(Path policyDir) { if (policyDir != null) { AuthorizationPolicy policy = authzPolicyStorage.loadPolicy(); if (policy == null) { policy = loadPolicy(policyDir); authzPolicyStorage.savePolicy(policy); logger.info("Security policy deployed"); // Ensure any role defined is available in the role registry for (Role role : policy.getRoles()) { RoleRegistry.get().registerRole(role.getName()); } // Notify the interested parties deployedEvent.fire(new AuthorizationPolicyDeployedEvent(policy)); } else { logger.info("Security policy active"); } // Set the active policy permissionManager.setAuthorizationPolicy(policy); } else { logger.info("Security policy not defined"); } }
@Test public void testAlreadyDeployed() { when(storage.loadPolicy()).thenReturn(mock(AuthorizationPolicy.class)); deployer.deployPolicy(Paths.get("")); verify(storage).loadPolicy(); verify(storage, never()).savePolicy(any()); } }
@Before public void setUp() { PermissionTypeRegistry permissionTypeRegistry = new DefaultPermissionTypeRegistry(); permissionManager = spy(new DefaultPermissionManager(permissionTypeRegistry)); deployer = new AuthorizationPolicyDeployer(storage, permissionManager, event); RoleRegistry.get().clear(); }
@Test public void testPolicyDir() { WebAppSettings.get().setRootDir("/test"); Path path = deployer.getPolicyDir(); Path expected = Paths.get(URI.create("file:///test/WEB-INF/classes")); assertEquals(path, expected); }
@Before public void setUp() throws Exception { permissionManager = new DefaultPermissionManager(); deployer = new AuthorizationPolicyDeployer(storage, permissionManager, deployedEvent); URL fileURL = Thread.currentThread().getContextClassLoader().getResource("security-policy.properties"); Path policyDir = Paths.get(fileURL.toURI()).getParent(); deployer.deployPolicy(policyDir); ArgumentCaptor<AuthorizationPolicy> policyCaptor = ArgumentCaptor.forClass(AuthorizationPolicy.class); verify(storage).loadPolicy(); verify(storage).savePolicy(policyCaptor.capture()); policy = policyCaptor.getValue(); }
@Test public void testNothingToDeploy() { deployer.deployPolicy(null); verify(storage, never()).loadPolicy(); verify(storage, never()).savePolicy(any()); }
@Before public void setUp() throws Exception { permissionManager = new DefaultPermissionManager(); deployer = new AuthorizationPolicyDeployer(storage, permissionManager, deployedEvent); URL fileURL = Thread.currentThread().getContextClassLoader().getResource("security-policy.properties"); Path policyDir = Paths.get(fileURL.toURI()).getParent(); deployer.deployPolicy(policyDir); ArgumentCaptor<AuthorizationPolicy> policyCaptor = ArgumentCaptor.forClass(AuthorizationPolicy.class); verify(storage).loadPolicy(); verify(storage).savePolicy(policyCaptor.capture()); policy = policyCaptor.getValue(); }
@Test public void testAlreadyDeployed() { when(storage.loadPolicy()).thenReturn(mock(AuthorizationPolicy.class)); deployer.deployPolicy(Paths.get("")); verify(storage).loadPolicy(); verify(storage, never()).savePolicy(any()); } }
@Before public void setUp() throws Exception { permissionManager = new DefaultPermissionManager(); deployer = new AuthorizationPolicyDeployer(storage, permissionManager, deployedEvent); URL fileURL = Thread.currentThread().getContextClassLoader().getResource("security-policy.properties"); Path policyDir = Paths.get(fileURL.toURI()).getParent(); deployer.deployPolicy(policyDir); ArgumentCaptor<AuthorizationPolicy> policyCaptor = ArgumentCaptor.forClass(AuthorizationPolicy.class); verify(storage).loadPolicy(); verify(storage).savePolicy(policyCaptor.capture()); policy = policyCaptor.getValue(); }
deployer.deployPolicy(policyDir);
@Before public void setUp() throws Exception { permissionManager = new DefaultPermissionManager(); deployer = new AuthorizationPolicyDeployer(storage, permissionManager, deployedEvent); URL fileURL = Thread.currentThread().getContextClassLoader().getResource("security-policy.properties"); Path policyDir = Paths.get(fileURL.toURI()).getParent(); deployer.deployPolicy(policyDir); ArgumentCaptor<AuthorizationPolicy> policyCaptor = ArgumentCaptor.forClass(AuthorizationPolicy.class); verify(storage).loadPolicy(); verify(storage).savePolicy(policyCaptor.capture()); policy = policyCaptor.getValue(); }
deployer.deployPolicy(policyDir);