LdifReader reader = new LdifReader();
List<LdifEntry> entries = reader.parseLdif( ldif );
reader.close();
LdifEntry entry = entries.get( 0 );
assertEquals( "cn=browseRootAci,dc=example,dc=com", entry.getDn().getName() );
Attribute attr = entry.get( "objectClass" );
assertTrue( attr.contains( "top" ) );
assertTrue( attr.contains( SchemaConstants.SUBENTRY_OC ) );
assertTrue( attr.contains( "accessControlSubentry" ) );
attr = entry.get( "subtreeSpecification" );
assertTrue( attr.contains( "{ maximum 1 }" ) );
attr = entry.get( "prescriptiveACI" );
assertTrue( attr
.contains( "{ identificationTag \"browseRoot\", precedence 100, authenticationLevel none, itemOrUserFirst userFirst: { userClasses { allUsers }, userPermissions { { protectedItems {entry}, grantsAndDenials { grantReturnDN, grantBrowse } } } } }" ) );
}