示例#1
0
  @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"));
  }
示例#2
0
  @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) {
    }
  }