@Test
public void testAclPermissionParam() {

  final AclPermissionParam p =
      new AclPermissionParam("user::rwx,group::r--,other::rwx,user:user1:rwx");
  List<AclEntry> setAclList =
      AclEntry.parseAclSpec("user::rwx,group::r--,other::rwx,user:user1:rwx",
          true);
  Assert.assertEquals(setAclList.toString(), p.getAclPermission(true)
      .toString());
  new AclPermissionParam("user::rw-,group::rwx,other::rw-,user:user1:rwx");
  try {
    new AclPermissionParam("user::rw--,group::rwx-,other::rw-");
    Assert.fail();
  } catch (IllegalArgumentException e) {
    LOG.info("EXPECTED: " + e);
  }
  new AclPermissionParam(
      "user::rw-,group::rwx,other::rw-,user:user1:rwx,group:group1:rwx,other::rwx,mask::rwx,default:user:user1:rwx");
  try {
    new AclPermissionParam("user:r-,group:rwx,other:rw-");
    Assert.fail();
  } catch (IllegalArgumentException e) {
    LOG.info("EXPECTED: " + e);
  }
  try {
    new AclPermissionParam("default:::r-,default:group::rwx,other::rw-");
    Assert.fail();
  } catch (IllegalArgumentException e) {
    LOG.info("EXPECTED: " + e);
  }
  try {
    new AclPermissionParam("user:r-,group::rwx,other:rw-,mask:rw-,temp::rwx");
    Assert.fail();
  } catch (IllegalArgumentException e) {
    LOG.info("EXPECTED: " + e);
  }
}