From d9722bcadc7bf619808426fc82cbb0c74b1646b0 Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Thu, 09 Sep 2010 17:31:59 +0000
Subject: [PATCH] Make EntryReader and ChangeRecordReader APIs easier to use:
---
sdk/tests/unit-tests-testng/src/org/opends/sdk/ldif/LDIFEntryReaderTestCase.java | 76 +++++++++++++++++++++++++++++++++++---
1 files changed, 70 insertions(+), 6 deletions(-)
diff --git a/sdk/tests/unit-tests-testng/src/org/opends/sdk/ldif/LDIFEntryReaderTestCase.java b/sdk/tests/unit-tests-testng/src/org/opends/sdk/ldif/LDIFEntryReaderTestCase.java
index 78c5b94..e4e345a 100644
--- a/sdk/tests/unit-tests-testng/src/org/opends/sdk/ldif/LDIFEntryReaderTestCase.java
+++ b/sdk/tests/unit-tests-testng/src/org/opends/sdk/ldif/LDIFEntryReaderTestCase.java
@@ -22,7 +22,7 @@
* CDDL HEADER END
*
*
- * Copyright 2009 Sun Microsystems, Inc.
+ * Copyright 2009-2010 Sun Microsystems, Inc.
*/
package org.opends.sdk.ldif;
@@ -32,9 +32,12 @@
import static org.testng.Assert.assertNotNull;
import java.io.FileInputStream;
+import java.util.NoSuchElementException;
-import org.opends.sdk.AbstractEntry;
+import org.opends.sdk.DN;
+import org.opends.sdk.Entry;
import org.opends.sdk.TestCaseUtils;
+import org.testng.Assert;
import org.testng.annotations.Test;
@@ -52,6 +55,45 @@
* If the test failed unexpectedly.
*/
@Test()
+ public void testEmpty() throws Exception
+ {
+ final String path = TestCaseUtils.createTempFile("");
+ final FileInputStream in = new FileInputStream(path);
+ final LDIFEntryReader reader = new LDIFEntryReader(in);
+ try
+ {
+ reader.setValidateSchema(false);
+
+ Assert.assertFalse(reader.hasNext());
+ Assert.assertFalse(reader.hasNext());
+ try
+ {
+ reader.readEntry();
+ Assert
+ .fail("reader.readEntry() should have thrown NoSuchElementException");
+ }
+ catch (NoSuchElementException e)
+ {
+ // This is expected.
+ }
+ Assert.assertFalse(reader.hasNext());
+ }
+ finally
+ {
+ reader.close();
+ }
+ }
+
+
+
+ /**
+ * Tests readEntry method of LDIFEntryReader class.See
+ * https://opends.dev.java.net/issues/show_bug.cgi?id=4545 for more details.
+ *
+ * @throws Exception
+ * If the test failed unexpectedly.
+ */
+ @Test()
public void testReadEntry() throws Exception
{
final String path = TestCaseUtils
@@ -80,9 +122,31 @@
"postalAddress: Aaccf Amar$01251 Chestnut Street$Panama City, DE 50369",
"description: This is the description for Aaccf Amar.");
final FileInputStream in = new FileInputStream(path);
- final LDIFEntryReader entryReader = new LDIFEntryReader(in);
- entryReader.setValidateSchema(false);
- final AbstractEntry entry = (AbstractEntry) entryReader.readEntry();
- assertNotNull(entry);
+ final LDIFEntryReader reader = new LDIFEntryReader(in);
+ try
+ {
+ reader.setValidateSchema(false);
+
+ Assert.assertTrue(reader.hasNext());
+ final Entry entry = reader.readEntry();
+ assertNotNull(entry);
+ Assert.assertEquals(entry.getName(),
+ DN.valueOf("uid=1,ou=people,dc=ucsf,dc=edu"));
+ Assert.assertFalse(reader.hasNext());
+ try
+ {
+ reader.readEntry();
+ Assert
+ .fail("reader.readEntry() should have thrown NoSuchElementException");
+ }
+ catch (NoSuchElementException e)
+ {
+ // This is expected.
+ }
+ }
+ finally
+ {
+ reader.close();
+ }
}
}
--
Gitblit v1.10.0