mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

matthew_swift
09.31.2010 d9722bcadc7bf619808426fc82cbb0c74b1646b0
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();
    }
  }
}