@Test public void testAdd() { InMemoryAcl acl = new InMemoryAcl(); acl.addAce(aceR); assertEquals(1, acl.getAces().size()); assertTrue(acl.getAces().get(0) == aceR); acl.addAce(aceW); assertEquals(2, acl.getAces().size()); assertTrue(acl.getAces().get(0) == aceR); assertTrue(acl.getAces().get(1) == aceW); acl.addAce(aceN); assertEquals(3, acl.getAces().size()); assertTrue(acl.getAces().get(0) == aceN); assertTrue(acl.getAces().get(1) == aceR); assertTrue(acl.getAces().get(2) == aceW); acl.addAce(aceA); assertEquals(4, acl.getAces().size()); assertTrue(acl.getAces().get(0) == aceN); assertTrue(acl.getAces().get(1) == aceR); assertTrue(acl.getAces().get(2) == aceW); assertTrue(acl.getAces().get(3) == aceA); assertFalse("Adding an existing ACE to an ACL should fail.", acl.addAce(aceN)); assertFalse("Adding null to an ACL should fail.", acl.addAce(null)); }
@Test public void testCreate() { InMemoryAcl acl = new InMemoryAcl(); acl.addAce(aceA); assertEquals(1, acl.getAces().size()); assertTrue(acl.getAces().get(0) == aceA); acl = new InMemoryAcl(createAceList()); LOG.debug(acl.toString()); assertEquals(2, acl.getAces().size()); assertTrue(acl.getAces().get(0) == aceR); assertTrue(acl.getAces().get(1) == aceA); acl = createDefaultAcl(); checkDefaultAcl(acl); try { List<InMemoryAce> aces = createAceList(); aces.add(null); acl = new InMemoryAcl(aces); fail("create an ACL with a null ACE should fail."); } catch (RuntimeException e) { } }
private void checkDefaultAcl(InMemoryAcl acl) { assertEquals(4, acl.getAces().size()); assertTrue(acl.getAces().get(0) == aceN); assertTrue(acl.getAces().get(1) == aceR); assertTrue(acl.getAces().get(2) == aceW); assertTrue(acl.getAces().get(3) == aceA); }
@Test public void testRemove() { InMemoryAcl acl = createDefaultAcl(); checkDefaultAcl(acl); acl.removeAce(aceR); assertEquals(3, acl.getAces().size()); assertTrue(acl.getAces().get(0) == aceN); assertTrue(acl.getAces().get(1) == aceW); assertTrue(acl.getAces().get(2) == aceA); acl.removeAce(aceW); assertEquals(2, acl.getAces().size()); assertTrue(acl.getAces().get(0) == aceN); assertTrue(acl.getAces().get(1) == aceA); acl.removeAce(aceN); assertEquals(1, acl.getAces().size()); assertTrue(acl.getAces().get(0) == aceA); acl.removeAce(aceA); assertEquals(0, acl.getAces().size()); acl = createDefaultAcl(); final InMemoryAce ace = new InMemoryAce("xyu", Permission.ALL); assertFalse("Removing an unknown ACE from an ACL should fail.", acl.removeAce(ace)); assertFalse("Removing null from an ACL should fail.", acl.removeAce(null)); }
@Test public void testMerge() { final InMemoryAce aceNew = new InMemoryAce("Hugo", Permission.WRITE); // will // be // added final InMemoryAce aceRCopy = new InMemoryAce(BERTA, Permission.READ); // is // same final InMemoryAce aceChange = new InMemoryAce(CHRISTIAN, Permission.ALL); // changes // permission InMemoryAcl acl1 = createDefaultAcl(); InMemoryAcl acl2 = new InMemoryAcl( new ArrayList<InMemoryAce>() { { add(aceNew); add(aceRCopy); add(aceChange); } }); acl1.mergeAcl(acl2); assertEquals(5, acl1.getAces().size()); assertEquals(Permission.NONE, acl1.getPermission(ANDREAS)); assertEquals(Permission.READ, acl1.getPermission(BERTA)); assertEquals(Permission.ALL, acl1.getPermission(CHRISTIAN)); assertEquals(Permission.ALL, acl1.getPermission(DOROTHEE)); assertEquals(Permission.WRITE, acl1.getPermission("Hugo")); }