/** * Attempt to read a single entry. * * @throws Exception If the test failed unexpectedly. */ @Test(dependsOnMethods = {"testReadEntryEmptyStream"}) public void testReadEntrySingle() throws Exception { final String ldifString = "dn: cn=john, dc=foo, dc=com\n" + "objectClass: top\n" + "objectClass: person\n" + "cn: john\n" + "sn: smith\n"; LDIFReader reader = createLDIFReader(ldifString); try { Entry entry = reader.readEntry(); Assert.assertNotNull(entry); Assert.assertEquals(entry.getDN(), DN.decode("cn=john, dc=foo, dc=com")); Assert.assertTrue(entry.hasObjectClass(OC_TOP)); Assert.assertTrue(entry.hasObjectClass(OC_PERSON)); Assert.assertTrue(entry.hasValue(AT_CN, null, AttributeValues.create(AT_CN, "john"))); Assert.assertTrue(entry.hasValue(AT_SN, null, AttributeValues.create(AT_SN, "smith"))); Assert.assertNull(reader.readEntry()); Assert.assertEquals(reader.getEntriesIgnored(), 0); Assert.assertEquals(reader.getEntriesRead(), 1); Assert.assertEquals(reader.getEntriesRejected(), 0); Assert.assertEquals(reader.getLastEntryLineNumber(), 1); } finally { reader.close(); } }
/** * Attempt to read an entry from an empty LDIF stream containing just the LDIF version. * * @throws Exception If the test failed unexpectedly. */ @Test(dependsOnMethods = {"testReadEntryEmptyStream"}) public void testReadEntryEmptyStreamVersion() throws Exception { LDIFReader reader = createLDIFReader("version: 1\n"); try { Entry entry = reader.readEntry(); Assert.assertNull(entry); Assert.assertEquals(reader.getEntriesIgnored(), 0); Assert.assertEquals(reader.getEntriesRead(), 0); Assert.assertEquals(reader.getEntriesRejected(), 0); Assert.assertEquals(reader.getLastEntryLineNumber(), 1); } finally { reader.close(); } }
/** * Attempt to read an entry from an empty LDIF stream. * * @throws Exception If the test failed unexpectedly. */ @Test public void testReadEntryEmptyStream() throws Exception { LDIFReader reader = createLDIFReader(""); try { Entry entry = reader.readEntry(); Assert.assertNull(entry); Assert.assertEquals(reader.getEntriesIgnored(), 0); Assert.assertEquals(reader.getEntriesRead(), 0); Assert.assertEquals(reader.getEntriesRejected(), 0); Assert.assertEquals(reader.getLastEntryLineNumber(), -1); } finally { reader.close(); } }
/** * Attempt to read an entry containing a base64 line. * * @throws Exception If the test failed unexpectedly. */ @Test(dependsOnMethods = {"testReadEntrySingle"}) public void testReadEntryBase64() throws Exception { final String ldifString = "dn: cn=john, dc=foo, dc=com\n" + "objectClass: top\n" + "objectClass: person\n" + "cn: john\n" + "sn: smith\n" + "description:: b25jZSB1cG9uIGEgdGltZSBpbiB0aGUgd2VzdA==\n"; LDIFReader reader = createLDIFReader(ldifString); try { Entry entry = reader.readEntry(); Assert.assertNotNull(entry); Assert.assertTrue( entry.hasValue( AT_DESCR, null, AttributeValues.create(AT_DESCR, "once upon a time in the west"))); } finally { reader.close(); } }