Set<String> roles = getAuthorizedRoles(mode);
if (node.getAuthorizedRoles(accessMode) != null && node.getAuthorizedRoles(accessMode).size() > 0 && node != root) { LOGGER.warning(
@Test public void testWideOpen() throws Exception { SecureTreeNode root = buildTree("wideOpen.properties"); assertEquals(0, root.children.size()); // we have he "*" rules assertEquals(1, root.getAuthorizedRoles(AccessMode.READ).size()); assertEquals(1, root.getAuthorizedRoles(AccessMode.WRITE).size()); assertTrue(root.canAccess(anonymous, AccessMode.READ)); assertTrue(root.canAccess(anonymous, AccessMode.WRITE)); }
@Test public void testLockedDown() throws Exception { SecureTreeNode root = buildTree("lockedDown.properties"); assertEquals(0, root.children.size()); final Set<String> readRoles = root.getAuthorizedRoles(AccessMode.READ); assertEquals(1, readRoles.size()); assertTrue(readRoles.contains("WRITER")); final Set<String> writeRoles = root.getAuthorizedRoles(AccessMode.WRITE); assertEquals(1, writeRoles.size()); assertTrue(writeRoles.contains("WRITER")); assertFalse(root.canAccess(anonymous, AccessMode.READ)); assertFalse(root.canAccess(anonymous, AccessMode.WRITE)); assertFalse(root.canAccess(roUser, AccessMode.READ)); assertFalse(root.canAccess(roUser, AccessMode.WRITE)); assertTrue(root.canAccess(rwUser, AccessMode.READ)); assertTrue(root.canAccess(rwUser, AccessMode.WRITE)); }
@Test public void testPublicRead() throws Exception { SecureTreeNode root = buildTree("publicRead.properties"); assertEquals(0, root.children.size()); assertEquals(SecureTreeNode.EVERYBODY, root.getAuthorizedRoles(AccessMode.READ)); final Set<String> writeRoles = root.getAuthorizedRoles(AccessMode.WRITE); assertEquals(1, writeRoles.size()); assertTrue(writeRoles.contains("WRITER")); assertTrue(root.canAccess(anonymous, AccessMode.READ)); assertFalse(root.canAccess(anonymous, AccessMode.WRITE)); assertTrue(root.canAccess(roUser, AccessMode.READ)); assertFalse(root.canAccess(roUser, AccessMode.WRITE)); assertTrue(root.canAccess(rwUser, AccessMode.READ)); assertTrue(root.canAccess(rwUser, AccessMode.WRITE)); }
@Test public void testEmptyRoot() { SecureTreeNode root = new SecureTreeNode(); // smoke tests assertNull(root.getChild("NotThere")); assertEquals(SecureTreeNode.EVERYBODY, root.getAuthorizedRoles(AccessMode.READ)); assertEquals(SecureTreeNode.EVERYBODY, root.getAuthorizedRoles(AccessMode.WRITE)); // empty, deepest node is itself SecureTreeNode node = root.getDeepestNode(new String[] {"a", "b"}); assertSame(root, node); // allows access to everyone assertTrue(root.canAccess(anonymous, AccessMode.WRITE)); assertTrue(root.canAccess(anonymous, AccessMode.READ)); // make sure this includes not having a current user as well assertTrue(root.canAccess(null, AccessMode.WRITE)); assertTrue(root.canAccess(null, AccessMode.READ)); } }