@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")); }
@Test public void testConvertFomCmisAcl() { List<Ace> aces = Arrays.asList( new Ace[] { createAce(ANDREAS, EnumBasicPermissions.CMIS_READ.value()), createAce(DOROTHEE, EnumBasicPermissions.CMIS_WRITE.value()) }); AccessControlListImpl cAcl = new AccessControlListImpl(aces); InMemoryAcl acl = InMemoryAcl.createFromCommonsAcl(cAcl); assertEquals(2, acl.size()); assertEquals(Permission.READ, acl.getPermission(ANDREAS)); assertEquals(Permission.WRITE, acl.getPermission(DOROTHEE)); try { List<Ace> aces2 = Arrays.asList( new Ace[] { new AccessControlEntryImpl( null, Arrays.asList(new String[] {EnumBasicPermissions.CMIS_READ.value()})) }); acl = InMemoryAcl.createFromCommonsAcl(new AccessControlListImpl(aces2)); fail("create Ace will null principal should raise exception."); } catch (RuntimeException e) { } try { List<Ace> aces2 = Arrays.asList( new Ace[] { new AccessControlEntryImpl(new AccessControlPrincipalDataImpl(ANDREAS), null) }); acl = InMemoryAcl.createFromCommonsAcl(new AccessControlListImpl(aces2)); fail("create Ace will null permission should raise exception."); } catch (RuntimeException e) { } }