You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2010/05/27 10:08:45 UTC
svn commit: r948711 [6/7] - in /directory:
apacheds/trunk/core-api/src/test/java/org/apache/directory/server/core/entry/
apacheds/trunk/core-avl/src/main/java/org/apache/directory/server/core/avltree/
apacheds/trunk/core-integ/src/test/java/org/apache/...
Modified: directory/shared/trunk/ldap-ldif/src/test/java/org/apache/directory/shared/ldap/ldif/LdifReaderTest.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap-ldif/src/test/java/org/apache/directory/shared/ldap/ldif/LdifReaderTest.java?rev=948711&r1=948710&r2=948711&view=diff
==============================================================================
--- directory/shared/trunk/ldap-ldif/src/test/java/org/apache/directory/shared/ldap/ldif/LdifReaderTest.java (original)
+++ directory/shared/trunk/ldap-ldif/src/test/java/org/apache/directory/shared/ldap/ldif/LdifReaderTest.java Thu May 27 08:08:44 2010
@@ -44,6 +44,7 @@ import org.apache.directory.shared.ldap.
import org.junit.BeforeClass;
import org.junit.Test;
+
/**
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev: 379008 $
@@ -51,14 +52,15 @@ import org.junit.Test;
public class LdifReaderTest
{
private static byte[] data;
-
+
private static File HJENSEN_JPEG_FILE = null;
private static File FIONA_JPEG_FILE = null;
-
+
+
private static File createFile( String name, byte[] data ) throws IOException
{
File jpeg = File.createTempFile( name, "jpg" );
-
+
jpeg.createNewFile();
DataOutputStream os = new DataOutputStream( new FileOutputStream( jpeg ) );
@@ -73,23 +75,25 @@ public class LdifReaderTest
return jpeg;
}
+
/**
* Create a file to be used by ":<" values
*/
- @BeforeClass
+ @BeforeClass
public static void setUp() throws Exception
{
data = new byte[256];
for ( int i = 0; i < 256; i++ )
{
- data[i] = (byte) i;
+ data[i] = ( byte ) i;
}
HJENSEN_JPEG_FILE = createFile( "hjensen", data );
FIONA_JPEG_FILE = createFile( "fiona", data );
}
+
@Test
public void testLdifNull() throws Exception
{
@@ -101,7 +105,7 @@ public class LdifReaderTest
assertEquals( 0, entries.size() );
}
-
+
@Test
public void testLdifEmpty() throws Exception
{
@@ -114,7 +118,7 @@ public class LdifReaderTest
assertEquals( 0, entries.size() );
}
-
+
@Test
public void testLdifEmptyLines() throws Exception
{
@@ -127,15 +131,11 @@ public class LdifReaderTest
assertEquals( 0, entries.size() );
}
+
@Test
public void testLdifComments() throws Exception
{
- String ldif =
- "#Comment 1\r" +
- "#\r" +
- " th\n" +
- " is is still a comment\n" +
- "\n";
+ String ldif = "#Comment 1\r" + "#\r" + " th\n" + " is is still a comment\n" + "\n";
LdifReader reader = new LdifReader();
List<LdifEntry> entries = reader.parseLdif( ldif );
@@ -143,20 +143,13 @@ public class LdifReaderTest
assertEquals( 0, entries.size() );
}
-
+
@Test
public void testLdifVersion() throws Exception
{
- String ldif =
- "#Comment 1\r" +
- "#\r" +
- " th\n" +
- " is is still a comment\n" +
- "\n" +
- "version:\n" +
- " 1\n" +
- "# end";
+ String ldif = "#Comment 1\r" + "#\r" + " th\n" + " is is still a comment\n" + "\n" + "version:\n" + " 1\n"
+ + "# end";
LdifReader reader = new LdifReader();
List<LdifEntry> entries = reader.parseLdif( ldif );
@@ -166,22 +159,13 @@ public class LdifReaderTest
assertEquals( 1, reader.getVersion() );
}
-
+
@Test
public void testLdifVersionStart() throws Exception
{
- String ldif =
- "version:\n" +
- " 1\n" +
- "\n" +
- "dn: cn=app1,ou=applications,ou=conf,dc=apache,dc=org\n" +
- "cn: app1\n" +
- "objectClass: top\n" +
- "objectClass: apApplication\n" +
- "displayName: app1 \n" +
- "dependencies:\n" +
- "envVars:";
-
+ String ldif = "version:\n" + " 1\n" + "\n" + "dn: cn=app1,ou=applications,ou=conf,dc=apache,dc=org\n"
+ + "cn: app1\n" + "objectClass: top\n" + "objectClass: apApplication\n" + "displayName: app1 \n"
+ + "dependencies:\n" + "envVars:";
LdifReader reader = new LdifReader();
List<LdifEntry> entries = reader.parseLdif( ldif );
@@ -190,7 +174,7 @@ public class LdifReaderTest
assertEquals( 1, reader.getVersion() );
assertNotNull( entries );
- LdifEntry entry = (LdifEntry) entries.get( 0 );
+ LdifEntry entry = ( LdifEntry ) entries.get( 0 );
assertTrue( entry.isChangeAdd() );
@@ -199,7 +183,7 @@ public class LdifReaderTest
EntryAttribute attr = entry.get( "displayname" );
assertTrue( attr.contains( "app1" ) );
}
-
+
/**
* Test the ldif parser with a file without a version. It should default to 1
@@ -208,13 +192,7 @@ public class LdifReaderTest
@Test
public void testLdifWithoutVersion() throws Exception
{
- String ldif =
- "#Comment 1\r" +
- "#\r" +
- " th\n" +
- " is is still a comment\n" +
- "\n" +
- "# end";
+ String ldif = "#Comment 1\r" + "#\r" + " th\n" + " is is still a comment\n" + "\n" + "# end";
LdifReader reader = new LdifReader();
List<LdifEntry> entries = reader.parseLdif( ldif );
@@ -223,7 +201,7 @@ public class LdifReaderTest
assertEquals( 0, entries.size() );
assertEquals( 1, reader.getVersion() );
}
-
+
/**
* Spaces at the end of values should not be included into values.
@@ -233,15 +211,9 @@ public class LdifReaderTest
@Test
public void testLdifParserEndSpaces() throws Exception
{
- String ldif =
- "version: 1\n" +
- "dn: cn=app1,ou=applications,ou=conf,dc=apache,dc=org\n" +
- "cn: app1\n" +
- "objectClass: top\n" +
- "objectClass: apApplication\n" +
- "displayName: app1 \n" +
- "dependencies:\n" +
- "envVars:";
+ String ldif = "version: 1\n" + "dn: cn=app1,ou=applications,ou=conf,dc=apache,dc=org\n" + "cn: app1\n"
+ + "objectClass: top\n" + "objectClass: apApplication\n" + "displayName: app1 \n" + "dependencies:\n"
+ + "envVars:";
LdifReader reader = new LdifReader();
@@ -250,7 +222,7 @@ public class LdifReaderTest
assertNotNull( entries );
- LdifEntry entry = (LdifEntry) entries.get( 0 );
+ LdifEntry entry = ( LdifEntry ) entries.get( 0 );
assertTrue( entry.isChangeAdd() );
@@ -261,36 +233,25 @@ public class LdifReaderTest
}
-
+
@Test
public void testLdifParserAddAttrCaseInsensitiveAttrId() throws Exception
{
// test that mixed case attr ids work at all
- String ldif =
- "version: 1\n" +
- "dn: dc=example,dc=com\n" +
- "changetype: modify\n" +
- "add: administrativeRole\n" +
- "administrativeRole: accessControlSpecificArea\n" +
- "-";
+ String ldif = "version: 1\n" + "dn: dc=example,dc=com\n" + "changetype: modify\n"
+ + "add: administrativeRole\n" + "administrativeRole: accessControlSpecificArea\n" + "-";
testReaderAttrIdCaseInsensitive( ldif );
// test that attr id comparisons are case insensitive and that the version in the add: line is used.
// See DIRSERVER-1029 for some discussion.
- ldif =
- "version: 1\n" +
- "dn: dc=example,dc=com\n" +
- "changetype: modify\n" +
- "add: administrativeRole\n" +
- "administrativerole: accessControlSpecificArea\n" +
- "-";
+ ldif = "version: 1\n" + "dn: dc=example,dc=com\n" + "changetype: modify\n" + "add: administrativeRole\n"
+ + "administrativerole: accessControlSpecificArea\n" + "-";
testReaderAttrIdCaseInsensitive( ldif );
}
-
- private void testReaderAttrIdCaseInsensitive( String ldif )
- throws Exception
+
+ private void testReaderAttrIdCaseInsensitive( String ldif ) throws Exception
{
LdifReader reader = new LdifReader();
@@ -304,13 +265,13 @@ public class LdifReaderTest
assertEquals( "dc=example,dc=com", entry.getDn().getName() );
- List<Modification> mods = entry.getModificationItems( );
+ List<Modification> mods = entry.getModificationItems();
assertTrue( mods.size() == 1 );
- EntryAttribute attr = mods.get(0).getAttribute();
- assertTrue( attr.getId().equals( "administrativerole"));
+ EntryAttribute attr = mods.get( 0 ).getAttribute();
+ assertTrue( attr.getId().equals( "administrativerole" ) );
assertEquals( attr.getString(), "accessControlSpecificArea" );
}
-
+
/**
* Changes and entries should not be mixed
@@ -320,23 +281,13 @@ public class LdifReaderTest
@Test
public void testLdifParserCombinedEntriesChanges() throws Exception
{
- String ldif =
- "version: 1\n" +
- "dn: cn=app1,ou=applications,ou=conf,dc=apache,dc=org\n" +
- "cn: app1\n" +
- "objectClass: top\n" +
- "objectClass: apApplication\n" +
- "displayName: app1 \n" +
- "dependencies:\n" +
- "envVars:\n" +
- "\n" +
- "# Delete an entry. The operation will attach the LDAPv3\n" +
- "# Tree Delete Control defined in [9]. The criticality\n" +
- "# field is \"true\" and the controlValue field is\n" +
- "# absent, as required by [9].\n" +
- "dn: ou=Product Development, dc=airius, dc=com\n" +
- "control: 1.2.840.11A556.1.4.805 true\n" +
- "changetype: delete\n";
+ String ldif = "version: 1\n" + "dn: cn=app1,ou=applications,ou=conf,dc=apache,dc=org\n" + "cn: app1\n"
+ + "objectClass: top\n" + "objectClass: apApplication\n" + "displayName: app1 \n" + "dependencies:\n"
+ + "envVars:\n" + "\n" + "# Delete an entry. The operation will attach the LDAPv3\n"
+ + "# Tree Delete Control defined in [9]. The criticality\n"
+ + "# field is \"true\" and the controlValue field is\n" + "# absent, as required by [9].\n"
+ + "dn: ou=Product Development, dc=airius, dc=com\n" + "control: 1.2.840.11A556.1.4.805 true\n"
+ + "changetype: delete\n";
LdifReader reader = new LdifReader();
@@ -345,7 +296,7 @@ public class LdifReaderTest
reader.parseLdif( ldif );
fail();
}
- catch (Exception ne)
+ catch ( Exception ne )
{
assertTrue( true );
}
@@ -354,7 +305,7 @@ public class LdifReaderTest
reader.close();
}
}
-
+
/**
* Changes and entries should not be mixed
@@ -364,22 +315,12 @@ public class LdifReaderTest
@Test
public void testLdifParserCombinedEntriesChanges2() throws Exception
{
- String ldif =
- "version: 1\n" +
- "dn: cn=app1,ou=applications,ou=conf,dc=apache,dc=org\n" +
- "cn: app1\n" +
- "objectClass: top\n" +
- "objectClass: apApplication\n" +
- "displayName: app1 \n" +
- "dependencies:\n" +
- "envVars:\n" +
- "\n" +
- "# Delete an entry. The operation will attach the LDAPv3\n" +
- "# Tree Delete Control defined in [9]. The criticality\n" +
- "# field is \"true\" and the controlValue field is\n" +
- "# absent, as required by [9].\n" +
- "dn: ou=Product Development, dc=airius, dc=com\n" +
- "changetype: delete\n";
+ String ldif = "version: 1\n" + "dn: cn=app1,ou=applications,ou=conf,dc=apache,dc=org\n" + "cn: app1\n"
+ + "objectClass: top\n" + "objectClass: apApplication\n" + "displayName: app1 \n" + "dependencies:\n"
+ + "envVars:\n" + "\n" + "# Delete an entry. The operation will attach the LDAPv3\n"
+ + "# Tree Delete Control defined in [9]. The criticality\n"
+ + "# field is \"true\" and the controlValue field is\n" + "# absent, as required by [9].\n"
+ + "dn: ou=Product Development, dc=airius, dc=com\n" + "changetype: delete\n";
LdifReader reader = new LdifReader();
@@ -388,7 +329,7 @@ public class LdifReaderTest
reader.parseLdif( ldif );
fail();
}
- catch (Exception ne)
+ catch ( Exception ne )
{
assertTrue( true );
}
@@ -397,7 +338,7 @@ public class LdifReaderTest
reader.close();
}
}
-
+
/**
* Changes and entries should not be mixed
@@ -407,23 +348,13 @@ public class LdifReaderTest
@Test
public void testLdifParserCombinedChangesEntries() throws Exception
{
- String ldif =
- "version: 1\n" +
- "# Delete an entry. The operation will attach the LDAPv3\n" +
- "# Tree Delete Control defined in [9]. The criticality\n" +
- "# field is \"true\" and the controlValue field is\n" +
- "# absent, as required by [9].\n" +
- "dn: ou=Product Development, dc=airius, dc=com\n" +
- "control: 1.2.840.11A556.1.4.805 true\n" +
- "changetype: delete\n" +
- "\n" +
- "dn: cn=app1,ou=applications,ou=conf,dc=apache,dc=org\n" +
- "cn: app1\n" +
- "objectClass: top\n" +
- "objectClass: apApplication\n" +
- "displayName: app1 \n" +
- "dependencies:\n" +
- "envVars:\n";
+ String ldif = "version: 1\n" + "# Delete an entry. The operation will attach the LDAPv3\n"
+ + "# Tree Delete Control defined in [9]. The criticality\n"
+ + "# field is \"true\" and the controlValue field is\n" + "# absent, as required by [9].\n"
+ + "dn: ou=Product Development, dc=airius, dc=com\n" + "control: 1.2.840.11A556.1.4.805 true\n"
+ + "changetype: delete\n" + "\n" + "dn: cn=app1,ou=applications,ou=conf,dc=apache,dc=org\n" + "cn: app1\n"
+ + "objectClass: top\n" + "objectClass: apApplication\n" + "displayName: app1 \n" + "dependencies:\n"
+ + "envVars:\n";
LdifReader reader = new LdifReader();
@@ -432,7 +363,7 @@ public class LdifReaderTest
reader.parseLdif( ldif );
fail();
}
- catch (Exception ne)
+ catch ( Exception ne )
{
assertTrue( true );
}
@@ -441,7 +372,7 @@ public class LdifReaderTest
reader.close();
}
}
-
+
/**
* Changes and entries should not be mixed
@@ -451,22 +382,12 @@ public class LdifReaderTest
@Test
public void testLdifParserCombinedChangesEntries2() throws Exception
{
- String ldif =
- "version: 1\n" +
- "# Delete an entry. The operation will attach the LDAPv3\n" +
- "# Tree Delete Control defined in [9]. The criticality\n" +
- "# field is \"true\" and the controlValue field is\n" +
- "# absent, as required by [9].\n" +
- "dn: ou=Product Development, dc=airius, dc=com\n" +
- "changetype: delete\n" +
- "\n" +
- "dn: cn=app1,ou=applications,ou=conf,dc=apache,dc=org\n" +
- "cn: app1\n" +
- "objectClass: top\n" +
- "objectClass: apApplication\n" +
- "displayName: app1 \n" +
- "dependencies:\n" +
- "envVars:\n";
+ String ldif = "version: 1\n" + "# Delete an entry. The operation will attach the LDAPv3\n"
+ + "# Tree Delete Control defined in [9]. The criticality\n"
+ + "# field is \"true\" and the controlValue field is\n" + "# absent, as required by [9].\n"
+ + "dn: ou=Product Development, dc=airius, dc=com\n" + "changetype: delete\n" + "\n"
+ + "dn: cn=app1,ou=applications,ou=conf,dc=apache,dc=org\n" + "cn: app1\n" + "objectClass: top\n"
+ + "objectClass: apApplication\n" + "displayName: app1 \n" + "dependencies:\n" + "envVars:\n";
LdifReader reader = new LdifReader();
@@ -475,7 +396,7 @@ public class LdifReaderTest
reader.parseLdif( ldif );
fail();
}
- catch (Exception ne)
+ catch ( Exception ne )
{
assertTrue( true );
}
@@ -484,20 +405,14 @@ public class LdifReaderTest
reader.close();
}
}
-
+
@Test
public void testLdifParser() throws Exception
{
- String ldif =
- "version: 1\n" +
- "dn: cn=app1,ou=applications,ou=conf,dc=apache,dc=org\n" +
- "cn: app1\n" +
- "objectClass: top\n" +
- "objectClass: apApplication\n" +
- "displayName: app1 \n" +
- "dependencies:\n" +
- "envVars:";
+ String ldif = "version: 1\n" + "dn: cn=app1,ou=applications,ou=conf,dc=apache,dc=org\n" + "cn: app1\n"
+ + "objectClass: top\n" + "objectClass: apApplication\n" + "displayName: app1 \n" + "dependencies:\n"
+ + "envVars:";
LdifReader reader = new LdifReader();
List<LdifEntry> entries = reader.parseLdif( ldif );
@@ -505,7 +420,7 @@ public class LdifReaderTest
assertNotNull( entries );
- LdifEntry entry = (LdifEntry) entries.get( 0 );
+ LdifEntry entry = ( LdifEntry ) entries.get( 0 );
assertTrue( entry.isChangeAdd() );
assertEquals( "cn=app1,ou=applications,ou=conf,dc=apache,dc=org", entry.getDn().getName() );
@@ -526,24 +441,15 @@ public class LdifReaderTest
attr = entry.get( "envvars" );
assertNull( attr.get().get() );
}
-
+
@Test
public void testLdifParserMuiltiLineComments() throws Exception
{
- String ldif =
- "#comment\n" +
- " still a comment\n" +
- "dn: cn=app1,ou=applications,ou=conf,dc=apache,dc=org\n" +
- "cn: app1#another comment\n" +
- "objectClass: top\n" +
- "objectClass: apApplication\n" +
- "displayName: app1\n" +
- "serviceType: http\n" +
- "dependencies:\n" +
- "httpHeaders:\n" +
- "startupOptions:\n" +
- "envVars:";
+ String ldif = "#comment\n" + " still a comment\n" + "dn: cn=app1,ou=applications,ou=conf,dc=apache,dc=org\n"
+ + "cn: app1#another comment\n" + "objectClass: top\n" + "objectClass: apApplication\n"
+ + "displayName: app1\n" + "serviceType: http\n" + "dependencies:\n" + "httpHeaders:\n"
+ + "startupOptions:\n" + "envVars:";
LdifReader reader = new LdifReader();
List<LdifEntry> entries = reader.parseLdif( ldif );
@@ -551,7 +457,7 @@ public class LdifReaderTest
assertNotNull( entries );
- LdifEntry entry = (LdifEntry) entries.get( 0 );
+ LdifEntry entry = ( LdifEntry ) entries.get( 0 );
assertTrue( entry.isChangeAdd() );
assertEquals( "cn=app1,ou=applications,ou=conf,dc=apache,dc=org", entry.getDn().getName() );
@@ -573,23 +479,14 @@ public class LdifReaderTest
assertNull( attr.get().get() );
}
-
+
@Test
public void testLdifParserMultiLineEntries() throws Exception
{
- String ldif =
- "#comment\n" +
- "dn: cn=app1,ou=appli\n" +
- " cations,ou=conf,dc=apache,dc=org\n" +
- "cn: app1#another comment\n" +
- "objectClass: top\n" +
- "objectClass: apApplication\n" +
- "displayName: app1\n" +
- "serviceType: http\n" +
- "dependencies:\n" +
- "httpHeaders:\n" +
- "startupOptions:\n" +
- "envVars:";
+ String ldif = "#comment\n" + "dn: cn=app1,ou=appli\n" + " cations,ou=conf,dc=apache,dc=org\n"
+ + "cn: app1#another comment\n" + "objectClass: top\n" + "objectClass: apApplication\n"
+ + "displayName: app1\n" + "serviceType: http\n" + "dependencies:\n" + "httpHeaders:\n"
+ + "startupOptions:\n" + "envVars:";
LdifReader reader = new LdifReader();
List<LdifEntry> entries = reader.parseLdif( ldif );
@@ -597,7 +494,7 @@ public class LdifReaderTest
assertNotNull( entries );
- LdifEntry entry = (LdifEntry) entries.get( 0 );
+ LdifEntry entry = ( LdifEntry ) entries.get( 0 );
assertTrue( entry.isChangeAdd() );
assertEquals( "cn=app1,ou=applications,ou=conf,dc=apache,dc=org", entry.getDn().getName() );
@@ -618,23 +515,15 @@ public class LdifReaderTest
attr = entry.get( "envvars" );
assertNull( attr.get().get() );
}
-
+
@Test
public void testLdifParserBase64() throws Exception, UnsupportedEncodingException
{
- String ldif =
- "#comment\n" +
- "dn: cn=app1,ou=applications,ou=conf,dc=apache,dc=org\n" +
- "cn:: RW1tYW51ZWwgTMOpY2hhcm55\n" +
- "objectClass: top\n" +
- "objectClass: apApplication\n" +
- "displayName: app1\n" +
- "serviceType: http\n" +
- "dependencies:\n" +
- "httpHeaders:\n" +
- "startupOptions:\n" +
- "envVars:";
+ String ldif = "#comment\n" + "dn: cn=app1,ou=applications,ou=conf,dc=apache,dc=org\n"
+ + "cn:: RW1tYW51ZWwgTMOpY2hhcm55\n" + "objectClass: top\n" + "objectClass: apApplication\n"
+ + "displayName: app1\n" + "serviceType: http\n" + "dependencies:\n" + "httpHeaders:\n"
+ + "startupOptions:\n" + "envVars:";
LdifReader reader = new LdifReader();
List<LdifEntry> entries = reader.parseLdif( ldif );
@@ -642,7 +531,7 @@ public class LdifReaderTest
assertNotNull( entries );
- LdifEntry entry = (LdifEntry) entries.get( 0 );
+ LdifEntry entry = ( LdifEntry ) entries.get( 0 );
assertTrue( entry.isChangeAdd() );
assertEquals( "cn=app1,ou=applications,ou=conf,dc=apache,dc=org", entry.getDn().getName() );
@@ -663,24 +552,14 @@ public class LdifReaderTest
attr = entry.get( "envvars" );
assertNull( attr.get().get() );
}
-
+
@Test
public void testLdifParserBase64MultiLine() throws Exception, UnsupportedEncodingException
{
- String ldif =
- "#comment\n" +
- "dn: cn=app1,ou=applications,ou=conf,dc=apache,dc=org\n" +
- "cn:: RW1tYW51ZWwg\n" +
- " TMOpY2hhcm55ICA=\n" +
- "objectClass: top\n" +
- "objectClass: apApplication\n" +
- "displayName: app1\n" +
- "serviceType: http\n" +
- "dependencies:\n" +
- "httpHeaders:\n" +
- "startupOptions:\n" +
- "envVars:";
+ String ldif = "#comment\n" + "dn: cn=app1,ou=applications,ou=conf,dc=apache,dc=org\n" + "cn:: RW1tYW51ZWwg\n"
+ + " TMOpY2hhcm55ICA=\n" + "objectClass: top\n" + "objectClass: apApplication\n" + "displayName: app1\n"
+ + "serviceType: http\n" + "dependencies:\n" + "httpHeaders:\n" + "startupOptions:\n" + "envVars:";
LdifReader reader = new LdifReader();
List<LdifEntry> entries = reader.parseLdif( ldif );
@@ -688,7 +567,7 @@ public class LdifReaderTest
assertNotNull( entries );
- LdifEntry entry = (LdifEntry) entries.get( 0 );
+ LdifEntry entry = ( LdifEntry ) entries.get( 0 );
assertTrue( entry.isChangeAdd() );
assertEquals( "cn=app1,ou=applications,ou=conf,dc=apache,dc=org", entry.getDn().getName() );
@@ -709,32 +588,18 @@ public class LdifReaderTest
attr = entry.get( "envvars" );
assertNull( attr.get().get() );
}
-
+
@Test
public void testLdifParserRFC2849Sample1() throws Exception
{
- String ldif =
- "version: 1\n" +
- "dn: cn=Barbara Jensen, ou=Product Development, dc=airius, dc=com\n" +
- "objectclass: top\n" +
- "objectclass: person\n" +
- "objectclass: organizationalPerson\n" +
- "cn: Barbara Jensen\n" +
- "cn: Barbara J Jensen\n" +
- "cn: Babs Jensen\n" +
- "sn: Jensen\n" +
- "uid: bjensen\n" +
- "telephonenumber: +1 408 555 1212\n" +
- "description: A big sailing fan.\n" +
- "\n" +
- "dn: cn=Bjorn Jensen, ou=Accounting, dc=airius, dc=com\n" +
- "objectclass: top\n" +
- "objectclass: person\n" +
- "objectclass: organizationalPerson\n" +
- "cn: Bjorn Jensen\n" +
- "sn: Jensen\n" +
- "telephonenumber: +1 408 555 1212";
+ String ldif = "version: 1\n" + "dn: cn=Barbara Jensen, ou=Product Development, dc=airius, dc=com\n"
+ + "objectclass: top\n" + "objectclass: person\n" + "objectclass: organizationalPerson\n"
+ + "cn: Barbara Jensen\n" + "cn: Barbara J Jensen\n" + "cn: Babs Jensen\n" + "sn: Jensen\n"
+ + "uid: bjensen\n" + "telephonenumber: +1 408 555 1212\n" + "description: A big sailing fan.\n" + "\n"
+ + "dn: cn=Bjorn Jensen, ou=Accounting, dc=airius, dc=com\n" + "objectclass: top\n"
+ + "objectclass: person\n" + "objectclass: organizationalPerson\n" + "cn: Bjorn Jensen\n" + "sn: Jensen\n"
+ + "telephonenumber: +1 408 555 1212";
LdifReader reader = new LdifReader();
List<LdifEntry> entries = reader.parseLdif( ldif );
@@ -743,7 +608,7 @@ public class LdifReaderTest
assertEquals( 2, entries.size() );
// Entry 1
- LdifEntry entry = (LdifEntry) entries.get( 0 );
+ LdifEntry entry = ( LdifEntry ) entries.get( 0 );
assertTrue( entry.isChangeAdd() );
assertEquals( "cn=Barbara Jensen, ou=Product Development, dc=airius, dc=com", entry.getDn().getName() );
@@ -771,7 +636,7 @@ public class LdifReaderTest
assertTrue( attr.contains( "A big sailing fan." ) );
// Entry 2
- entry = (LdifEntry) entries.get( 1 );
+ entry = ( LdifEntry ) entries.get( 1 );
assertTrue( entry.isChangeAdd() );
attr = entry.get( "dn" );
@@ -792,25 +657,16 @@ public class LdifReaderTest
assertTrue( attr.contains( "+1 408 555 1212" ) );
}
-
+
@Test
public void testLdifParserRFC2849Sample2() throws Exception
{
- String ldif =
- "version: 1\n" +
- "dn: cn=Barbara Jensen, ou=Product Development, dc=airius, dc=com\n" +
- "objectclass: top\n" +
- "objectclass: person\n" +
- "objectclass: organizationalPerson\n" +
- "cn: Barbara Jensen\n" +
- "cn: Barbara J Jensen\n" +
- "cn: Babs Jensen\n" +
- "sn: Jensen\n" +
- "uid: bjensen\n" +
- "telephonenumber: +1 408 555 1212\n" +
- "description:Babs is a big sailing fan, and travels extensively in sea\n" +
- " rch of perfect sailing conditions.\n" +
- "title:Product Manager, Rod and Reel Division";
+ String ldif = "version: 1\n" + "dn: cn=Barbara Jensen, ou=Product Development, dc=airius, dc=com\n"
+ + "objectclass: top\n" + "objectclass: person\n" + "objectclass: organizationalPerson\n"
+ + "cn: Barbara Jensen\n" + "cn: Barbara J Jensen\n" + "cn: Babs Jensen\n" + "sn: Jensen\n"
+ + "uid: bjensen\n" + "telephonenumber: +1 408 555 1212\n"
+ + "description:Babs is a big sailing fan, and travels extensively in sea\n"
+ + " rch of perfect sailing conditions.\n" + "title:Product Manager, Rod and Reel Division";
LdifReader reader = new LdifReader();
List<LdifEntry> entries = reader.parseLdif( ldif );
@@ -819,7 +675,7 @@ public class LdifReaderTest
assertEquals( 1, entries.size() );
// Entry 1
- LdifEntry entry = (LdifEntry) entries.get( 0 );
+ LdifEntry entry = ( LdifEntry ) entries.get( 0 );
assertTrue( entry.isChangeAdd() );
assertEquals( "cn=Barbara Jensen, ou=Product Development, dc=airius, dc=com", entry.getDn().getName() );
@@ -845,31 +701,23 @@ public class LdifReaderTest
attr = entry.get( "description" );
assertTrue( attr
- .contains( "Babs is a big sailing fan, and travels extensively in search of perfect sailing conditions." ) );
+ .contains( "Babs is a big sailing fan, and travels extensively in search of perfect sailing conditions." ) );
attr = entry.get( "title" );
assertTrue( attr.contains( "Product Manager, Rod and Reel Division" ) );
}
-
+
@Test
public void testLdifParserRFC2849Sample3() throws Exception, Exception
{
- String ldif =
- "version: 1\n" +
- "dn: cn=Gern Jensen, ou=Product Testing, dc=airius, dc=com\n" +
- "objectclass: top\n" +
- "objectclass: person\n" +
- "objectclass: organizationalPerson\n" +
- "cn: Gern Jensen\n" +
- "cn: Gern O Jensen\n" +
- "sn: Jensen\n" +
- "uid: gernj\n" +
- "telephonenumber: +1 408 555 1212\n" +
- "description:: V2hhdCBhIGNhcmVmdWwgcmVhZGVyIHlvdSBhcmUhICBUaGlzIHZhbHVl\n" +
- " IGlzIGJhc2UtNjQtZW5jb2RlZCBiZWNhdXNlIGl0IGhhcyBhIGNvbnRyb2wgY2hhcmFjdG\n" +
- " VyIGluIGl0IChhIENSKS4NICBCeSB0aGUgd2F5LCB5b3Ugc2hvdWxkIHJlYWxseSBnZXQg\n" +
- " b3V0IG1vcmUu";
+ String ldif = "version: 1\n" + "dn: cn=Gern Jensen, ou=Product Testing, dc=airius, dc=com\n"
+ + "objectclass: top\n" + "objectclass: person\n" + "objectclass: organizationalPerson\n"
+ + "cn: Gern Jensen\n" + "cn: Gern O Jensen\n" + "sn: Jensen\n" + "uid: gernj\n"
+ + "telephonenumber: +1 408 555 1212\n"
+ + "description:: V2hhdCBhIGNhcmVmdWwgcmVhZGVyIHlvdSBhcmUhICBUaGlzIHZhbHVl\n"
+ + " IGlzIGJhc2UtNjQtZW5jb2RlZCBiZWNhdXNlIGl0IGhhcyBhIGNvbnRyb2wgY2hhcmFjdG\n"
+ + " VyIGluIGl0IChhIENSKS4NICBCeSB0aGUgd2F5LCB5b3Ugc2hvdWxkIHJlYWxseSBnZXQg\n" + " b3V0IG1vcmUu";
LdifReader reader = new LdifReader();
List<LdifEntry> entries = reader.parseLdif( ldif );
@@ -878,7 +726,7 @@ public class LdifReaderTest
assertEquals( 1, entries.size() );
// Entry 1
- LdifEntry entry = (LdifEntry) entries.get( 0 );
+ LdifEntry entry = ( LdifEntry ) entries.get( 0 );
assertTrue( entry.isChangeAdd() );
assertEquals( "cn=Gern Jensen, ou=Product Testing, dc=airius, dc=com", entry.getDn().getName() );
@@ -903,29 +751,21 @@ public class LdifReaderTest
attr = entry.get( "description" );
assertTrue( attr
- .contains( "What a careful reader you are! This value is base-64-encoded because it has a control character in it (a CR).\r By the way, you should really get out more."
- .getBytes( "UTF-8" ) ) );
+ .contains( "What a careful reader you are! This value is base-64-encoded because it has a control character in it (a CR).\r By the way, you should really get out more."
+ .getBytes( "UTF-8" ) ) );
}
-
+
@Test
public void testLdifParserRFC2849Sample3VariousSpacing() throws Exception, Exception
{
- String ldif =
- "version:1\n" +
- "dn:cn=Gern Jensen, ou=Product Testing, dc=airius, dc=com \n" +
- "objectclass:top\n" +
- "objectclass: person \n" +
- "objectclass:organizationalPerson\n" +
- "cn:Gern Jensen\n" +
- "cn:Gern O Jensen\n" +
- "sn:Jensen\n" +
- "uid:gernj\n" +
- "telephonenumber:+1 408 555 1212 \n" +
- "description:: V2hhdCBhIGNhcmVmdWwgcmVhZGVyIHlvdSBhcmUhICBUaGlzIHZhbHVl\n" +
- " IGlzIGJhc2UtNjQtZW5jb2RlZCBiZWNhdXNlIGl0IGhhcyBhIGNvbnRyb2wgY2hhcmFjdG\n" +
- " VyIGluIGl0IChhIENSKS4NICBCeSB0aGUgd2F5LCB5b3Ugc2hvdWxkIHJlYWxseSBnZXQg\n" +
- " b3V0IG1vcmUu ";
+ String ldif = "version:1\n" + "dn:cn=Gern Jensen, ou=Product Testing, dc=airius, dc=com \n"
+ + "objectclass:top\n" + "objectclass: person \n" + "objectclass:organizationalPerson\n"
+ + "cn:Gern Jensen\n" + "cn:Gern O Jensen\n" + "sn:Jensen\n" + "uid:gernj\n"
+ + "telephonenumber:+1 408 555 1212 \n"
+ + "description:: V2hhdCBhIGNhcmVmdWwgcmVhZGVyIHlvdSBhcmUhICBUaGlzIHZhbHVl\n"
+ + " IGlzIGJhc2UtNjQtZW5jb2RlZCBiZWNhdXNlIGl0IGhhcyBhIGNvbnRyb2wgY2hhcmFjdG\n"
+ + " VyIGluIGl0IChhIENSKS4NICBCeSB0aGUgd2F5LCB5b3Ugc2hvdWxkIHJlYWxseSBnZXQg\n" + " b3V0IG1vcmUu ";
LdifReader reader = new LdifReader();
List<LdifEntry> entries = reader.parseLdif( ldif );
@@ -934,7 +774,7 @@ public class LdifReaderTest
assertEquals( 1, entries.size() );
// Entry 1
- LdifEntry entry = (LdifEntry) entries.get( 0 );
+ LdifEntry entry = ( LdifEntry ) entries.get( 0 );
assertTrue( entry.isChangeAdd() );
assertEquals( "cn=Gern Jensen, ou=Product Testing, dc=airius, dc=com", entry.getDn().getName() );
@@ -959,68 +799,65 @@ public class LdifReaderTest
attr = entry.get( "description" );
assertTrue( attr
- .contains( "What a careful reader you are! This value is base-64-encoded because it has a control character in it (a CR).\r By the way, you should really get out more."
- .getBytes( "UTF-8" ) ) );
+ .contains( "What a careful reader you are! This value is base-64-encoded because it has a control character in it (a CR).\r By the way, you should really get out more."
+ .getBytes( "UTF-8" ) ) );
}
-
+
@Test
public void testLdifParserRFC2849Sample4() throws Exception, Exception
{
- String ldif =
- "version: 1\n" +
- "dn:: b3U95Za25qWt6YOoLG89QWlyaXVz\n" +
- "# dn:: ou=���������,o=Airius\n" +
- "objectclass: top\n" +
- "objectclass: organizationalUnit\n" +
- "ou:: 5Za25qWt6YOo\n" +
- "# ou:: ���������\n" +
- "ou;lang-ja:: 5Za25qWt6YOo\n" +
- "# ou;lang-ja:: ���������\n" +
- "ou;lang-ja;phonetic:: 44GI44GE44GO44KH44GG44G2\n" +
- "# ou;lang-ja:: ������������������\n" +
- "ou;lang-en: Sales\n" +
- "description: Japanese office\n" +
- "\n" +
- "dn:: dWlkPXJvZ2FzYXdhcmEsb3U95Za25qWt6YOoLG89QWlyaXVz\n" +
- "# dn:: uid=rogasawara,ou=���������,o=Airius\n" +
- "userpassword: {SHA}O3HSv1MusyL4kTjP+HKI5uxuNoM=\n" +
- "objectclass: top\n" +
- "objectclass: person\n" +
- "objectclass: organizationalPerson\n" +
- "objectclass: inetOrgPerson\n" +
- "uid: rogasawara\n" +
- "mail: rogasawara@airius.co.jp\n" +
- "givenname;lang-ja:: 44Ot44OJ44OL44O8\n" +
- "# givenname;lang-ja:: ������������\n" +
- "sn;lang-ja:: 5bCP56yg5Y6f\n" +
- "# sn;lang-ja:: ���������\n" +
- "cn;lang-ja:: 5bCP56yg5Y6fIOODreODieODi+ODvA==\n" +
- "# cn;lang-ja:: ��������� ������������\n" +
- "title;lang-ja:: 5Za25qWt6YOoIOmDqOmVtw==\n" +
- "# title;lang-ja:: ��������� ������\n" +
- "preferredlanguage: ja\n" +
- "givenname:: 44Ot44OJ44OL44O8\n" +
- "# givenname:: ������������\n" +
- "sn:: 5bCP56yg5Y6f\n" +
- "# sn:: ���������\n" +
- "cn:: 5bCP56yg5Y6fIOODreODieODi+ODvA==\n" +
- "# cn:: ��������� ������������\n" +
- "title:: 5Za25qWt6YOoIOmDqOmVtw==\n" +
- "# title:: ��������� ������\n" +
- "givenname;lang-ja;phonetic:: 44KN44Gp44Gr44O8\n" +
- "# givenname;lang-ja;phonetic:: ������������\n" +
- "sn;lang-ja;phonetic:: 44GK44GM44GV44KP44KJ\n" +
- "# sn;lang-ja;phonetic:: ���������������\n" +
- "cn;lang-ja;phonetic:: 44GK44GM44GV44KP44KJIOOCjeOBqeOBq+ODvA==\n" +
- "# cn;lang-ja;phonetic:: ��������������� ������������\n" +
- "title;lang-ja;phonetic:: 44GI44GE44GO44KH44GG44G2IOOBtuOBoeOCh+OBhg==\n" +
- "# title;lang-ja;phonetic::\n" +
- "# ������������������ ������������\n" +
- "givenname;lang-en: Rodney\n" +
- "sn;lang-en: Ogasawara\n" +
- "cn;lang-en: Rodney Ogasawara\n" +
- "title;lang-en: Sales, Director\n";
+ String ldif = "version: 1\n"
+ + "dn:: b3U95Za25qWt6YOoLG89QWlyaXVz\n"
+ + "# dn:: ou=���������,o=Airius\n"
+ + "objectclass: top\n"
+ + "objectclass: organizationalUnit\n"
+ + "ou:: 5Za25qWt6YOo\n"
+ + "# ou:: ���������\n"
+ + "ou;lang-ja:: 5Za25qWt6YOo\n"
+ + "# ou;lang-ja:: ���������\n"
+ + "ou;lang-ja;phonetic:: 44GI44GE44GO44KH44GG44G2\n"
+ + "# ou;lang-ja:: ������������������\n"
+ + "ou;lang-en: Sales\n"
+ + "description: Japanese office\n"
+ + "\n"
+ + "dn:: dWlkPXJvZ2FzYXdhcmEsb3U95Za25qWt6YOoLG89QWlyaXVz\n"
+ + "# dn:: uid=rogasawara,ou=���������,o=Airius\n"
+ + "userpassword: {SHA}O3HSv1MusyL4kTjP+HKI5uxuNoM=\n"
+ + "objectclass: top\n"
+ + "objectclass: person\n"
+ + "objectclass: organizationalPerson\n"
+ + "objectclass: inetOrgPerson\n"
+ + "uid: rogasawara\n"
+ + "mail: rogasawara@airius.co.jp\n"
+ + "givenname;lang-ja:: 44Ot44OJ44OL44O8\n"
+ + "# givenname;lang-ja:: ������������\n"
+ + "sn;lang-ja:: 5bCP56yg5Y6f\n"
+ + "# sn;lang-ja:: ���������\n"
+ + "cn;lang-ja:: 5bCP56yg5Y6fIOODreODieODi+ODvA==\n"
+ + "# cn;lang-ja:: ��������� ������������\n"
+ + "title;lang-ja:: 5Za25qWt6YOoIOmDqOmVtw==\n"
+ + "# title;lang-ja:: ��������� ������\n"
+ + "preferredlanguage: ja\n"
+ + "givenname:: 44Ot44OJ44OL44O8\n"
+ + "# givenname:: ������������\n"
+ + "sn:: 5bCP56yg5Y6f\n"
+ + "# sn:: ���������\n"
+ + "cn:: 5bCP56yg5Y6fIOODreODieODi+ODvA==\n"
+ + "# cn:: ��������� ������������\n"
+ + "title:: 5Za25qWt6YOoIOmDqOmVtw==\n"
+ + "# title:: ��������� ������\n"
+ + "givenname;lang-ja;phonetic:: 44KN44Gp44Gr44O8\n"
+ + "# givenname;lang-ja;phonetic:: ������������\n"
+ + "sn;lang-ja;phonetic:: 44GK44GM44GV44KP44KJ\n"
+ + "# sn;lang-ja;phonetic:: ���������������\n"
+ + "cn;lang-ja;phonetic:: 44GK44GM44GV44KP44KJIOOCjeOBqeOBq+ODvA==\n"
+ + "# cn;lang-ja;phonetic:: ��������������� ������������\n"
+ + "title;lang-ja;phonetic:: 44GI44GE44GO44KH44GG44G2IOOBtuOBoeOCh+OBhg==\n"
+ + "# title;lang-ja;phonetic::\n"
+ + "# ������������������ ������������\n"
+ + "givenname;lang-en: Rodney\n" + "sn;lang-en: Ogasawara\n" + "cn;lang-en: Rodney Ogasawara\n"
+ + "title;lang-en: Sales, Director\n";
LdifReader reader = new LdifReader();
List<LdifEntry> entries = reader.parseLdif( ldif );
@@ -1030,15 +867,15 @@ public class LdifReaderTest
{
{
{ "dn", "ou=\u55b6\u696d\u90e8,o=Airius" }, // 55b6 = ���, 696d = ���, 90e8 = ���
- { "objectclass", "top" },
- { "objectclass", "organizationalUnit" },
- { "ou", "\u55b6\u696d\u90e8" },
- { "ou;lang-ja", "\u55b6\u696d\u90e8" },
- { "ou;lang-ja;phonetic", "\u3048\u3044\u304e\u3087\u3046\u3076" }, // 3048 = ���, 3044 = ���, 304e = ���
- // 3087 = ���, 3046 = ���, 3076 = ���
+ { "objectclass", "top" },
+ { "objectclass", "organizationalUnit" },
+ { "ou", "\u55b6\u696d\u90e8" },
+ { "ou;lang-ja", "\u55b6\u696d\u90e8" },
+ { "ou;lang-ja;phonetic", "\u3048\u3044\u304e\u3087\u3046\u3076" }, // 3048 = ���, 3044 = ���, 304e = ���
+ // 3087 = ���, 3046 = ���, 3076 = ���
{ "ou;lang-en", "Sales" },
{ "description", "Japanese office" } },
- {
+ {
{ "dn", "uid=rogasawara,ou=\u55b6\u696d\u90e8,o=Airius" },
{ "userpassword", "{SHA}O3HSv1MusyL4kTjP+HKI5uxuNoM=" },
{ "objectclass", "top" },
@@ -1047,32 +884,30 @@ public class LdifReaderTest
{ "objectclass", "inetOrgPerson" },
{ "uid", "rogasawara" },
{ "mail", "rogasawara@airius.co.jp" },
- { "givenname;lang-ja", "\u30ed\u30c9\u30cb\u30fc" }, // 30ed = ���, 30c9 = ���, 30cb = ���, 30fc = ���
- { "sn;lang-ja", "\u5c0f\u7b20\u539f" }, // 5c0f = ���, 7b20 = ���, 539f = ���
- { "cn;lang-ja", "\u5c0f\u7b20\u539f \u30ed\u30c9\u30cb\u30fc" },
- { "title;lang-ja", "\u55b6\u696d\u90e8 \u90e8\u9577" }, // 9577 = ���
- { "preferredlanguage", "ja" },
- { "givenname", "\u30ed\u30c9\u30cb\u30fc" },
- { "sn", "\u5c0f\u7b20\u539f" },
- { "cn", "\u5c0f\u7b20\u539f \u30ed\u30c9\u30cb\u30fc" },
- { "title", "\u55b6\u696d\u90e8 \u90e8\u9577" },
- { "givenname;lang-ja;phonetic", "\u308d\u3069\u306b\u30fc" }, // 308d = ���,3069 = ���, 306b = ���
- { "sn;lang-ja;phonetic", "\u304a\u304c\u3055\u308f\u3089" }, // 304a = ���, 304c = ���,3055 = ���,308f = ���, 3089 = ���
- { "cn;lang-ja;phonetic", "\u304a\u304c\u3055\u308f\u3089 \u308d\u3069\u306b\u30fc" },
- { "title;lang-ja;phonetic", "\u3048\u3044\u304e\u3087\u3046\u3076 \u3076\u3061\u3087\u3046" }, // 304E = ���, 3061 = ���
- { "givenname;lang-en", "Rodney" },
- { "sn;lang-en", "Ogasawara" },
- { "cn;lang-en", "Rodney Ogasawara" },
- { "title;lang-en", "Sales, Director" }
- }
- };
+ { "givenname;lang-ja", "\u30ed\u30c9\u30cb\u30fc" }, // 30ed = ���, 30c9 = ���, 30cb = ���, 30fc = ���
+ { "sn;lang-ja", "\u5c0f\u7b20\u539f" }, // 5c0f = ���, 7b20 = ���, 539f = ���
+ { "cn;lang-ja", "\u5c0f\u7b20\u539f \u30ed\u30c9\u30cb\u30fc" },
+ { "title;lang-ja", "\u55b6\u696d\u90e8 \u90e8\u9577" }, // 9577 = ���
+ { "preferredlanguage", "ja" },
+ { "givenname", "\u30ed\u30c9\u30cb\u30fc" },
+ { "sn", "\u5c0f\u7b20\u539f" },
+ { "cn", "\u5c0f\u7b20\u539f \u30ed\u30c9\u30cb\u30fc" },
+ { "title", "\u55b6\u696d\u90e8 \u90e8\u9577" },
+ { "givenname;lang-ja;phonetic", "\u308d\u3069\u306b\u30fc" }, // 308d = ���,3069 = ���, 306b = ���
+ { "sn;lang-ja;phonetic", "\u304a\u304c\u3055\u308f\u3089" }, // 304a = ���, 304c = ���,3055 = ���,308f = ���, 3089 = ���
+ { "cn;lang-ja;phonetic", "\u304a\u304c\u3055\u308f\u3089 \u308d\u3069\u306b\u30fc" },
+ { "title;lang-ja;phonetic", "\u3048\u3044\u304e\u3087\u3046\u3076 \u3076\u3061\u3087\u3046" }, // 304E = ���, 3061 = ���
+ { "givenname;lang-en", "Rodney" },
+ { "sn;lang-en", "Ogasawara" },
+ { "cn;lang-en", "Rodney Ogasawara" },
+ { "title;lang-en", "Sales, Director" } } };
assertEquals( 2, entries.size() );
// Entry 1
for ( int i = 0; i < entries.size(); i++ )
{
- LdifEntry entry = (LdifEntry) entries.get( i );
+ LdifEntry entry = ( LdifEntry ) entries.get( i );
assertTrue( entry.isChangeAdd() );
for ( int j = 0; j < values[i].length; j++ )
@@ -1097,23 +932,15 @@ public class LdifReaderTest
}
}
}
-
+
@Test
public void testLdifParserRFC2849Sample5() throws Exception, Exception
{
- String ldif =
- "version: 1\n" +
- "dn: cn=Horatio Jensen, ou=Product Testing, dc=airius, dc=com\n" +
- "objectclass: top\n" +
- "objectclass: person\n" +
- "objectclass: organizationalPerson\n" +
- "cn: Horatio Jensen\n" +
- "cn: Horatio N Jensen\n" +
- "sn: Jensen\n" +
- "uid: hjensen\n" +
- "telephonenumber: +1 408 555 1212\n" +
- "jpegphoto:< file:" + HJENSEN_JPEG_FILE.getAbsolutePath() + "\n";
+ String ldif = "version: 1\n" + "dn: cn=Horatio Jensen, ou=Product Testing, dc=airius, dc=com\n"
+ + "objectclass: top\n" + "objectclass: person\n" + "objectclass: organizationalPerson\n"
+ + "cn: Horatio Jensen\n" + "cn: Horatio N Jensen\n" + "sn: Jensen\n" + "uid: hjensen\n"
+ + "telephonenumber: +1 408 555 1212\n" + "jpegphoto:< file:" + HJENSEN_JPEG_FILE.getAbsolutePath() + "\n";
LdifReader reader = new LdifReader();
List<LdifEntry> entries = reader.parseLdif( ldif );
@@ -1130,13 +957,12 @@ public class LdifReaderTest
{ "sn", "Jensen" },
{ "uid", "hjensen" },
{ "telephonenumber", "+1 408 555 1212" },
- { "jpegphoto", null }
- };
+ { "jpegphoto", null } };
assertEquals( 1, entries.size() );
// Entry 1
- LdifEntry entry = (LdifEntry) entries.get( 0 );
+ LdifEntry entry = ( LdifEntry ) entries.get( 0 );
assertTrue( entry.isChangeAdd() );
for ( int i = 0; i < values.length; i++ )
@@ -1165,23 +991,15 @@ public class LdifReaderTest
}
}
}
-
+
@Test
public void testLdifParserRFC2849Sample5WithSizeLimit() throws Exception
{
- String ldif =
- "version: 1\n" +
- "dn: cn=Horatio Jensen, ou=Product Testing, dc=airius, dc=com\n" +
- "objectclass: top\n" +
- "objectclass: person\n" +
- "objectclass: organizationalPerson\n" +
- "cn: Horatio Jensen\n" +
- "cn: Horatio N Jensen\n" +
- "sn: Jensen\n" +
- "uid: hjensen\n" +
- "telephonenumber: +1 408 555 1212\n" +
- "jpegphoto:< file:" + HJENSEN_JPEG_FILE.getAbsolutePath() + "\n";
+ String ldif = "version: 1\n" + "dn: cn=Horatio Jensen, ou=Product Testing, dc=airius, dc=com\n"
+ + "objectclass: top\n" + "objectclass: person\n" + "objectclass: organizationalPerson\n"
+ + "cn: Horatio Jensen\n" + "cn: Horatio N Jensen\n" + "sn: Jensen\n" + "uid: hjensen\n"
+ + "telephonenumber: +1 408 555 1212\n" + "jpegphoto:< file:" + HJENSEN_JPEG_FILE.getAbsolutePath() + "\n";
LdifReader reader = new LdifReader();
reader.setSizeLimit( 128 );
@@ -1192,84 +1010,81 @@ public class LdifReaderTest
reader.parseLdif( ldif );
fail();
}
- catch (Exception ne)
+ catch ( Exception ne )
{
- assertTrue( I18n.err( I18n.ERR_12070 ), ne.getMessage().startsWith( I18n.ERR_12070.getErrorCode() ) );
+ assertTrue( I18n.err( I18n.ERR_12070 ), ne.getMessage().startsWith( I18n.ERR_12070.getErrorCode() ) );
}
}
-
+
@Test
public void testLdifParserRFC2849Sample6() throws Exception, Exception
{
- String ldif =
- "version: 1\n" +
+ String ldif = "version: 1\n"
+ +
// First entry modification : ADD
- "# Add a new entry\n" +
- "dn: cn=Fiona Jensen, ou=Marketing, dc=airius, dc=com\n" +
- "changetype: add\n" +
- "objectclass: top\n" +
- "objectclass: person\n" +
- "objectclass: organizationalPerson\n" +
- "cn: Fiona Jensen\n" +
- "sn: Jensen\n" +
- "uid: fiona\n" +
- "telephonenumber: +1 408 555 1212\n" +
- "jpegphoto:< file:" + FIONA_JPEG_FILE.getAbsolutePath() + "\n" +
- "\n" +
+ "# Add a new entry\n" + "dn: cn=Fiona Jensen, ou=Marketing, dc=airius, dc=com\n" + "changetype: add\n"
+ + "objectclass: top\n" + "objectclass: person\n" + "objectclass: organizationalPerson\n"
+ + "cn: Fiona Jensen\n" + "sn: Jensen\n" + "uid: fiona\n" + "telephonenumber: +1 408 555 1212\n"
+ + "jpegphoto:< file:"
+ + FIONA_JPEG_FILE.getAbsolutePath()
+ + "\n"
+ + "\n"
+ +
// Second entry modification : DELETE
- "# Delete an existing entry\n" +
- "dn: cn=Robert Jensen, ou=Marketing, dc=airius, dc=com\n" +
- "changetype: delete\n" +
- "\n" +
+ "# Delete an existing entry\n"
+ + "dn: cn=Robert Jensen, ou=Marketing, dc=airius, dc=com\n"
+ + "changetype: delete\n"
+ + "\n"
+ +
// Third entry modification : MODRDN
- "# Modify an entry's relative distinguished name\n" +
- "dn: cn=Paul Jensen, ou=Product Development, dc=airius, dc=com\n" +
- "changetype: modrdn\n" +
- "newrdn: cn=Paula Jensen\n" +
- "deleteoldrdn: 1\n" +
- "\n" +
+ "# Modify an entry's relative distinguished name\n"
+ + "dn: cn=Paul Jensen, ou=Product Development, dc=airius, dc=com\n"
+ + "changetype: modrdn\n"
+ + "newrdn: cn=Paula Jensen\n"
+ + "deleteoldrdn: 1\n"
+ + "\n"
+ +
// Forth entry modification : MODRDN
- "# Rename an entry and move all of its children to a new location in\n" +
- "# the directory tree (only implemented by LDAPv3 servers).\n" +
- "dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com\n" +
- "changetype: moddn\n" +
- "newrdn: ou=Product Development Accountants\n" +
- "deleteoldrdn: 0\n" +
- "newsuperior: ou=Accounting, dc=airius, dc=com\n" +
- "# Modify an entry: add an additional value to the postaladdress\n" +
- "# attribute, completely delete the description attribute, replace\n" +
- "# the telephonenumber attribute with two values, and delete a specific\n" +
- "# value from the facsimiletelephonenumber attribute\n" +
- "\n" +
+ "# Rename an entry and move all of its children to a new location in\n"
+ + "# the directory tree (only implemented by LDAPv3 servers).\n"
+ + "dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com\n"
+ + "changetype: moddn\n"
+ + "newrdn: ou=Product Development Accountants\n"
+ + "deleteoldrdn: 0\n"
+ + "newsuperior: ou=Accounting, dc=airius, dc=com\n"
+ + "# Modify an entry: add an additional value to the postaladdress\n"
+ + "# attribute, completely delete the description attribute, replace\n"
+ + "# the telephonenumber attribute with two values, and delete a specific\n"
+ + "# value from the facsimiletelephonenumber attribute\n"
+ + "\n"
+ +
// Fitfh entry modification : MODIFY
- "dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com\n" +
- "changetype: modify\n" +
- "add: postaladdress\n" +
- "postaladdress: 123 Anystreet $ Sunnyvale, CA $ 94086\n" +
- "-\n" +
- "delete: description\n" +
- "-\n" +
- "replace: telephonenumber\n" +
- "telephonenumber: +1 408 555 1234\n" +
- "telephonenumber: +1 408 555 5678\n" +
- "-\n" +
- "delete: facsimiletelephonenumber\n" +
- "facsimiletelephonenumber: +1 408 555 9876\n" +
- "-\n" +
- "\n" +
+ "dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com\n"
+ + "changetype: modify\n"
+ + "add: postaladdress\n"
+ + "postaladdress: 123 Anystreet $ Sunnyvale, CA $ 94086\n"
+ + "-\n"
+ + "delete: description\n"
+ + "-\n"
+ + "replace: telephonenumber\n"
+ + "telephonenumber: +1 408 555 1234\n"
+ + "telephonenumber: +1 408 555 5678\n"
+ + "-\n"
+ + "delete: facsimiletelephonenumber\n"
+ + "facsimiletelephonenumber: +1 408 555 9876\n"
+ + "-\n"
+ + "\n"
+ +
// Sixth entry modification : MODIFY
- "# Modify an entry: replace the postaladdress attribute with an empty\n" +
- "# set of values (which will cause the attribute to be removed), and\n" +
- "# delete the entire description attribute. Note that the first will\n" +
- "# always succeed, while the second will only succeed if at least\n" +
- "# one value for the description attribute is present.\n" +
- "dn: cn=Ingrid Jensen, ou=Product Support, dc=airius, dc=com\n" +
- "changetype: modify\n" +
- "replace: postaladdress\n" +
- "-\n" +
- "delete: description\n" +
- "-\n";
+ "# Modify an entry: replace the postaladdress attribute with an empty\n"
+ + "# set of values (which will cause the attribute to be removed), and\n"
+ + "# delete the entire description attribute. Note that the first will\n"
+ + "# always succeed, while the second will only succeed if at least\n"
+ + "# one value for the description attribute is present.\n"
+ + "dn: cn=Ingrid Jensen, ou=Product Support, dc=airius, dc=com\n"
+ + "changetype: modify\n"
+ + "replace: postaladdress\n" + "-\n" + "delete: description\n" + "-\n";
LdifReader reader = new LdifReader();
List<LdifEntry> entries = reader.parseLdif( ldif );
@@ -1287,23 +1102,19 @@ public class LdifReaderTest
{ "sn", "Jensen" },
{ "uid", "fiona" },
{ "telephonenumber", "+1 408 555 1212" },
- { "jpegphoto", "" }
- },
+ { "jpegphoto", "" } },
// Second entry modification : DELETE
{
- { "dn", "cn=Robert Jensen, ou=Marketing, dc=airius, dc=com" }
- },
+ { "dn", "cn=Robert Jensen, ou=Marketing, dc=airius, dc=com" } },
// Third entry modification : MODRDN
{
{ "dn", "cn=Paul Jensen, ou=Product Development, dc=airius, dc=com" },
- { "cn=Paula Jensen" }
- },
+ { "cn=Paula Jensen" } },
// Forth entry modification : MODRDN
{
{ "dn", "ou=PD Accountants, ou=Product Development, dc=airius, dc=com" },
{ "ou=Product Development Accountants" },
- { "ou=Accounting, dc=airius, dc=com" }
- },
+ { "ou=Accounting, dc=airius, dc=com" } },
// Fitfh entry modification : MODIFY
{
{ "dn", "cn=Paula Jensen, ou=Product Development, dc=airius, dc=com" },
@@ -1314,19 +1125,16 @@ public class LdifReaderTest
// replace
{ "telephonenumber", "+1 408 555 1234", "+1 408 555 5678" },
// delete
- { "facsimiletelephonenumber", "+1 408 555 9876" },
- },
+ { "facsimiletelephonenumber", "+1 408 555 9876" }, },
// Sixth entry modification : MODIFY
{
{ "dn", "cn=Ingrid Jensen, ou=Product Support, dc=airius, dc=com" },
// replace
{ "postaladdress" },
// delete
- { "description" }
- }
- };
+ { "description" } } };
- LdifEntry entry = (LdifEntry) entries.get( 0 );
+ LdifEntry entry = ( LdifEntry ) entries.get( 0 );
assertTrue( entry.isChangeAdd() );
for ( int i = 0; i < values.length; i++ )
@@ -1356,19 +1164,19 @@ public class LdifReaderTest
}
// Second entry
- entry = (LdifEntry) entries.get( 1 );
+ entry = ( LdifEntry ) entries.get( 1 );
assertTrue( entry.isChangeDelete() );
assertEquals( values[1][0][1], entry.getDn().getName() );
// Third entry
- entry = (LdifEntry) entries.get( 2 );
+ entry = ( LdifEntry ) entries.get( 2 );
assertTrue( entry.isChangeModRdn() );
assertEquals( values[2][0][1], entry.getDn().getName() );
assertEquals( values[2][1][0], entry.getNewRdn() );
assertTrue( entry.isDeleteOldRdn() );
// Forth entry
- entry = (LdifEntry) entries.get( 3 );
+ entry = ( LdifEntry ) entries.get( 3 );
assertTrue( entry.isChangeModDn() );
assertEquals( values[3][0][1], entry.getDn().getName() );
assertEquals( values[3][1][0], entry.getNewRdn() );
@@ -1376,7 +1184,7 @@ public class LdifReaderTest
assertEquals( values[3][2][0], entry.getNewSuperior() );
// Fifth entry
- entry = (LdifEntry) entries.get( 4 );
+ entry = ( LdifEntry ) entries.get( 4 );
List<Modification> modifs = entry.getModificationItems();
assertTrue( entry.isChangeModify() );
@@ -1384,71 +1192,67 @@ public class LdifReaderTest
// "add: postaladdress"
// "postaladdress: 123 Anystreet $ Sunnyvale, CA $ 94086"
- Modification item = (Modification) modifs.get( 0 );
+ Modification item = ( Modification ) modifs.get( 0 );
assertEquals( ModificationOperation.ADD_ATTRIBUTE, item.getOperation() );
assertEquals( values[4][1][0], item.getAttribute().getId() );
assertTrue( item.getAttribute().contains( values[4][1][1] ) );
// "delete: description\n" +
- item = (Modification) modifs.get( 1 );
+ item = ( Modification ) modifs.get( 1 );
assertEquals( ModificationOperation.REMOVE_ATTRIBUTE, item.getOperation() );
assertEquals( values[4][2][0], item.getAttribute().getId() );
// "replace: telephonenumber"
// "telephonenumber: +1 408 555 1234"
// "telephonenumber: +1 408 555 5678"
- item = (Modification) modifs.get( 2 );
+ item = ( Modification ) modifs.get( 2 );
assertEquals( ModificationOperation.REPLACE_ATTRIBUTE, item.getOperation() );
-
+
assertEquals( values[4][3][0], item.getAttribute().getId() );
assertTrue( item.getAttribute().contains( values[4][3][1], values[4][3][2] ) );
// "delete: facsimiletelephonenumber"
// "facsimiletelephonenumber: +1 408 555 9876"
- item = (Modification) modifs.get( 3 );
-
+ item = ( Modification ) modifs.get( 3 );
+
assertEquals( ModificationOperation.REMOVE_ATTRIBUTE, item.getOperation() );
assertEquals( values[4][4][0], item.getAttribute().getId() );
assertTrue( item.getAttribute().contains( values[4][4][1] ) );
// Sixth entry
- entry = (LdifEntry) entries.get( 5 );
+ entry = ( LdifEntry ) entries.get( 5 );
modifs = entry.getModificationItems();
assertTrue( entry.isChangeModify() );
assertEquals( values[5][0][1], entry.getDn().getName() );
// "replace: postaladdress"
- item = (Modification) modifs.get( 0 );
+ item = ( Modification ) modifs.get( 0 );
assertEquals( ModificationOperation.REPLACE_ATTRIBUTE, item.getOperation() );
assertEquals( values[5][1][0], item.getAttribute().getId() );
// "delete: description"
- item = (Modification) modifs.get( 1 );
+ item = ( Modification ) modifs.get( 1 );
assertEquals( ModificationOperation.REMOVE_ATTRIBUTE, item.getOperation() );
assertEquals( values[5][2][0], item.getAttribute().getId() );
}
-
+
@Test
public void testLdifParserRFC2849Sample7() throws Exception, Exception
{
- String ldif =
- "version: 1\n" +
- "# Delete an entry. The operation will attach the LDAPv3\n" +
- "# Tree Delete Control defined in [9]. The criticality\n" +
- "# field is \"true\" and the controlValue field is\n" +
- "# absent, as required by [9].\n" +
- "dn: ou=Product Development, dc=airius, dc=com\n" +
- "control: 1.2.840.113556.1.4.805 true\n" +
- "changetype: delete\n";
+ String ldif = "version: 1\n" + "# Delete an entry. The operation will attach the LDAPv3\n"
+ + "# Tree Delete Control defined in [9]. The criticality\n"
+ + "# field is \"true\" and the controlValue field is\n" + "# absent, as required by [9].\n"
+ + "dn: ou=Product Development, dc=airius, dc=com\n" + "control: 1.2.840.113556.1.4.805 true\n"
+ + "changetype: delete\n";
LdifReader reader = new LdifReader();
List<LdifEntry> entries = reader.parseLdif( ldif );
reader.close();
- LdifEntry entry = (LdifEntry) entries.get( 0 );
+ LdifEntry entry = ( LdifEntry ) entries.get( 0 );
assertEquals( "ou=Product Development, dc=airius, dc=com", entry.getDn().getName() );
assertTrue( entry.isChangeDelete() );
@@ -1459,26 +1263,22 @@ public class LdifReaderTest
assertEquals( "1.2.840.113556.1.4.805", control.getOid() );
assertTrue( control.isCritical() );
}
-
+
@Test
public void testLdifParserRFC2849Sample7NoValueNoCritical() throws Exception, Exception
{
- String ldif =
- "version: 1\n" +
- "# Delete an entry. The operation will attach the LDAPv3\n" +
- "# Tree Delete Control defined in [9]. The criticality\n" +
- "# field is \"true\" and the controlValue field is\n" +
- "# absent, as required by [9].\n" +
- "dn: ou=Product Development, dc=airius, dc=com\n" +
- "control: 1.2.840.11556.1.4.805\n" +
- "changetype: delete\n";
+ String ldif = "version: 1\n" + "# Delete an entry. The operation will attach the LDAPv3\n"
+ + "# Tree Delete Control defined in [9]. The criticality\n"
+ + "# field is \"true\" and the controlValue field is\n" + "# absent, as required by [9].\n"
+ + "dn: ou=Product Development, dc=airius, dc=com\n" + "control: 1.2.840.11556.1.4.805\n"
+ + "changetype: delete\n";
LdifReader reader = new LdifReader();
List<LdifEntry> entries = reader.parseLdif( ldif );
reader.close();
- LdifEntry entry = (LdifEntry) entries.get( 0 );
+ LdifEntry entry = ( LdifEntry ) entries.get( 0 );
assertEquals( "ou=Product Development, dc=airius, dc=com", entry.getDn().getName() );
assertTrue( entry.isChangeDelete() );
@@ -1489,26 +1289,22 @@ public class LdifReaderTest
assertEquals( "1.2.840.11556.1.4.805", control.getOid() );
assertFalse( control.isCritical() );
}
-
+
@Test
public void testLdifParserRFC2849Sample7NoCritical() throws Exception, Exception
{
- String ldif =
- "version: 1\n" +
- "# Delete an entry. The operation will attach the LDAPv3\n" +
- "# Tree Delete Control defined in [9]. The criticality\n" +
- "# field is \"true\" and the controlValue field is\n" +
- "# absent, as required by [9].\n" +
- "dn: ou=Product Development, dc=airius, dc=com\n" +
- "control: 1.2.840.11556.1.4.805:control-value\n" +
- "changetype: delete\n";
+ String ldif = "version: 1\n" + "# Delete an entry. The operation will attach the LDAPv3\n"
+ + "# Tree Delete Control defined in [9]. The criticality\n"
+ + "# field is \"true\" and the controlValue field is\n" + "# absent, as required by [9].\n"
+ + "dn: ou=Product Development, dc=airius, dc=com\n" + "control: 1.2.840.11556.1.4.805:control-value\n"
+ + "changetype: delete\n";
LdifReader reader = new LdifReader();
List<LdifEntry> entries = reader.parseLdif( ldif );
reader.close();
- LdifEntry entry = (LdifEntry) entries.get( 0 );
+ LdifEntry entry = ( LdifEntry ) entries.get( 0 );
assertEquals( "ou=Product Development, dc=airius, dc=com", entry.getDn().getName() );
assertTrue( entry.isChangeDelete() );
@@ -1521,19 +1317,14 @@ public class LdifReaderTest
assertEquals( "control-value", StringTools.utf8ToString( control.getValue() ) );
}
-
+
@Test
public void testLdifParserRFC2849Sample7NoOid() throws Exception
{
- String ldif =
- "version: 1\n" +
- "# Delete an entry. The operation will attach the LDAPv3\n" +
- "# Tree Delete Control defined in [9]. The criticality\n" +
- "# field is \"true\" and the controlValue field is\n" +
- "# absent, as required by [9].\n" +
- "dn: ou=Product Development, dc=airius, dc=com\n" +
- "control: true\n" +
- "changetype: delete\n";
+ String ldif = "version: 1\n" + "# Delete an entry. The operation will attach the LDAPv3\n"
+ + "# Tree Delete Control defined in [9]. The criticality\n"
+ + "# field is \"true\" and the controlValue field is\n" + "# absent, as required by [9].\n"
+ + "dn: ou=Product Development, dc=airius, dc=com\n" + "control: true\n" + "changetype: delete\n";
LdifReader reader = new LdifReader();
@@ -1542,7 +1333,7 @@ public class LdifReaderTest
reader.parseLdif( ldif );
fail();
}
- catch (Exception ne)
+ catch ( Exception ne )
{
assertTrue( true );
}
@@ -1551,20 +1342,16 @@ public class LdifReaderTest
reader.close();
}
}
-
+
@Test
public void testLdifParserRFC2849Sample7BadOid() throws Exception
{
- String ldif =
- "version: 1\n" +
- "# Delete an entry. The operation will attach the LDAPv3\n" +
- "# Tree Delete Control defined in [9]. The criticality\n" +
- "# field is \"true\" and the controlValue field is\n" +
- "# absent, as required by [9].\n" +
- "dn: ou=Product Development, dc=airius, dc=com\n" +
- "control: 1.2.840.11A556.1.4.805 true\n" +
- "changetype: delete\n";
+ String ldif = "version: 1\n" + "# Delete an entry. The operation will attach the LDAPv3\n"
+ + "# Tree Delete Control defined in [9]. The criticality\n"
+ + "# field is \"true\" and the controlValue field is\n" + "# absent, as required by [9].\n"
+ + "dn: ou=Product Development, dc=airius, dc=com\n" + "control: 1.2.840.11A556.1.4.805 true\n"
+ + "changetype: delete\n";
LdifReader reader = new LdifReader();
@@ -1573,7 +1360,7 @@ public class LdifReaderTest
reader.parseLdif( ldif );
fail();
}
- catch (Exception ne)
+ catch ( Exception ne )
{
assertTrue( true );
}
@@ -1583,48 +1370,36 @@ public class LdifReaderTest
}
}
-
+
@Test
public void testLdifReaderDirServer() throws Exception, Exception
{
- String ldif =
- "# -------------------------------------------------------------------\n" +
- "#\n" +
- "# Licensed to the Apache Software Foundation (ASF) under one\n" +
- "# or more contributor license agreements. See the NOTICE file\n" +
- "# distributed with this work for additional information\n" +
- "# regarding copyright ownership. The ASF licenses this file\n" +
- "# to you under the Apache License, Version 2.0 (the\n" +
- "# \"License\"); you may not use this file except in compliance\n" +
- "# with the License. You may obtain a copy of the License at\n" +
- "# \n" +
- "# http://www.apache.org/licenses/LICENSE-2.0\n" +
- "# \n" +
- "# Unless required by applicable law or agreed to in writing,\n" +
- "# software distributed under the License is distributed on an\n" +
- "# \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n" +
- "# KIND, either express or implied. See the License for the\n" +
- "# specific language governing permissions and limitations\n" +
- "# under the License. \n" +
- "# \n" +
- "#\n" +
- "# EXAMPLE.COM is freely and reserved for testing according to this RFC:\n" +
- "#\n" +
- "# http://www.rfc-editor.org/rfc/rfc2606.txt\n" +
- "#\n" +
- "# -------------------------------------------------------------------\n" +
- "\n" +
- "dn: ou=Users, dc=example, dc=com\n" +
- "objectclass: top\n" +
- "objectclass: organizationalunit\n" +
- "ou: Users";
-
+ String ldif = "# -------------------------------------------------------------------\n" + "#\n"
+ + "# Licensed to the Apache Software Foundation (ASF) under one\n"
+ + "# or more contributor license agreements. See the NOTICE file\n"
+ + "# distributed with this work for additional information\n"
+ + "# regarding copyright ownership. The ASF licenses this file\n"
+ + "# to you under the Apache License, Version 2.0 (the\n"
+ + "# \"License\"); you may not use this file except in compliance\n"
+ + "# with the License. You may obtain a copy of the License at\n" + "# \n"
+ + "# http://www.apache.org/licenses/LICENSE-2.0\n" + "# \n"
+ + "# Unless required by applicable law or agreed to in writing,\n"
+ + "# software distributed under the License is distributed on an\n"
+ + "# \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n"
+ + "# KIND, either express or implied. See the License for the\n"
+ + "# specific language governing permissions and limitations\n" + "# under the License. \n" + "# \n"
+ + "#\n" + "# EXAMPLE.COM is freely and reserved for testing according to this RFC:\n" + "#\n"
+ + "# http://www.rfc-editor.org/rfc/rfc2606.txt\n" + "#\n"
+ + "# -------------------------------------------------------------------\n" + "\n"
+ + "dn: ou=Users, dc=example, dc=com\n" + "objectclass: top\n" + "objectclass: organizationalunit\n"
+ + "ou: Users";
+
LdifReader reader = new LdifReader();
List<LdifEntry> entries = reader.parseLdif( ldif );
reader.close();
- LdifEntry entry = (LdifEntry) entries.get( 0 );
+ LdifEntry entry = ( LdifEntry ) entries.get( 0 );
assertEquals( "ou=Users, dc=example, dc=com", entry.getDn().getName() );
@@ -1636,55 +1411,54 @@ public class LdifReaderTest
assertTrue( attr.contains( "Users" ) );
}
-
+
@Test
public void testLdifParserCommentsEmptyLines() throws Exception, Exception
{
- String ldif =
- "#\n" +
- "# Licensed to the Apache Software Foundation (ASF) under one\n" +
- "# or more contributor license agreements. See the NOTICE file\n" +
- "# distributed with this work for additional information\n" +
- "# regarding copyright ownership. The ASF licenses this file\n" +
- "# to you under the Apache License, Version 2.0 (the\n" +
- "# \"License\"); you may not use this file except in compliance\n" +
- "# with the License. You may obtain a copy of the License at\n" +
- "# \n" +
- "# http://www.apache.org/licenses/LICENSE-2.0\n" +
- "# \n" +
- "# Unless required by applicable law or agreed to in writing,\n" +
- "# software distributed under the License is distributed on an\n" +
- "# \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n" +
- "# KIND, either express or implied. See the License for the\n" +
- "# specific language governing permissions and limitations\n" +
- "# under the License. \n" +
- "# \n" +
- "#\n" +
- "#\n" +
- "# EXAMPLE.COM is freely and reserved for testing according to this RFC:\n" +
- "#\n" +
- "# http://www.rfc-editor.org/rfc/rfc2606.txt\n" +
- "#\n" +
- "#\n" +
- "\n" +
- "#\n" +
- "# This ACI allows brouse access to the root suffix and one level below that to anyone.\n" +
- "# At this level there is nothing critical exposed. Everything that matters is one or\n" +
- "# more levels below this.\n" +
- "#\n" +
- "\n" +
- "dn: cn=browseRootAci,dc=example,dc=com\n" +
- "objectClass: top\n" +
- "objectClass: subentry\n" +
- "objectClass: accessControlSubentry\n" +
- "subtreeSpecification: { maximum 1 }\n" +
- "prescriptiveACI: { identificationTag \"browseRoot\", precedence 100, authenticationLevel none, itemOrUserFirst userFirst: { userClasses { allUsers }, userPermissions { { protectedItems {entry}, grantsAndDenials { grantReturnDN, grantBrowse } } } } }\n";
+ String ldif = "#\n"
+ + "# Licensed to the Apache Software Foundation (ASF) under one\n"
+ + "# or more contributor license agreements. See the NOTICE file\n"
+ + "# distributed with this work for additional information\n"
+ + "# regarding copyright ownership. The ASF licenses this file\n"
+ + "# to you under the Apache License, Version 2.0 (the\n"
+ + "# \"License\"); you may not use this file except in compliance\n"
+ + "# with the License. You may obtain a copy of the License at\n"
+ + "# \n"
+ + "# http://www.apache.org/licenses/LICENSE-2.0\n"
+ + "# \n"
+ + "# Unless required by applicable law or agreed to in writing,\n"
+ + "# software distributed under the License is distributed on an\n"
+ + "# \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n"
+ + "# KIND, either express or implied. See the License for the\n"
+ + "# specific language governing permissions and limitations\n"
+ + "# under the License. \n"
+ + "# \n"
+ + "#\n"
+ + "#\n"
+ + "# EXAMPLE.COM is freely and reserved for testing according to this RFC:\n"
+ + "#\n"
+ + "# http://www.rfc-editor.org/rfc/rfc2606.txt\n"
+ + "#\n"
+ + "#\n"
+ + "\n"
+ + "#\n"
+ + "# This ACI allows brouse access to the root suffix and one level below that to anyone.\n"
+ + "# At this level there is nothing critical exposed. Everything that matters is one or\n"
+ + "# more levels below this.\n"
+ + "#\n"
+ + "\n"
+ + "dn: cn=browseRootAci,dc=example,dc=com\n"
+ + "objectClass: top\n"
+ + "objectClass: subentry\n"
+ + "objectClass: accessControlSubentry\n"
+ + "subtreeSpecification: { maximum 1 }\n"
+ + "prescriptiveACI: { identificationTag \"browseRoot\", precedence 100, authenticationLevel none, itemOrUserFirst userFirst: { userClasses { allUsers }, userPermissions { { protectedItems {entry}, grantsAndDenials { grantReturnDN, grantBrowse } } } } }\n";
LdifReader reader = new LdifReader();
List<LdifEntry> entries = reader.parseLdif( ldif );
reader.close();
- LdifEntry entry = (LdifEntry) entries.get( 0 );
+ LdifEntry entry = ( LdifEntry ) entries.get( 0 );
assertEquals( "cn=browseRootAci,dc=example,dc=com", entry.getDn().getName() );
EntryAttribute attr = entry.get( "objectClass" );
@@ -1696,32 +1470,25 @@ public class LdifReaderTest
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 } } } } }" ) );
+ assertTrue( attr
+ .contains( "{ identificationTag \"browseRoot\", precedence 100, authenticationLevel none, itemOrUserFirst userFirst: { userClasses { allUsers }, userPermissions { { protectedItems {entry}, grantsAndDenials { grantReturnDN, grantBrowse } } } } }" ) );
}
-
-
+
+
@Test
public void testRemoveAttribute() throws Exception
{
- String ldif =
- "version: 1\n" +
- "dn: cn=Horatio Jensen, ou=Product Testing, dc=airius, dc=com\n" +
- "objectclass: top\n" +
- "objectclass: person\n" +
- "objectclass: organizationalPerson\n" +
- "cn: Horatio Jensen\n" +
- "cn: Horatio N Jensen\n" +
- "sn: Jensen\n" +
- "uid: hjensen\n" +
- "telephonenumber: +1 408 555 1212\n" +
- "jpegphoto:< file:" + HJENSEN_JPEG_FILE.getAbsolutePath() + "\n";
+ String ldif = "version: 1\n" + "dn: cn=Horatio Jensen, ou=Product Testing, dc=airius, dc=com\n"
+ + "objectclass: top\n" + "objectclass: person\n" + "objectclass: organizationalPerson\n"
+ + "cn: Horatio Jensen\n" + "cn: Horatio N Jensen\n" + "sn: Jensen\n" + "uid: hjensen\n"
+ + "telephonenumber: +1 408 555 1212\n" + "jpegphoto:< file:" + HJENSEN_JPEG_FILE.getAbsolutePath() + "\n";
LdifReader reader = new LdifReader();
List<LdifEntry> entries = reader.parseLdif( ldif );
reader.close();
-
+
LdifEntry entry = entries.get( 0 );
-
+
assertNotNull( entry.get( "uid" ) );
assertNotNull( entry.removeAttribute( "uid" ) );
assertNull( entry.get( "uid" ) );