From ee0fbff002e17a56aca09cb8dc7da0f4fe20ad6e Mon Sep 17 00:00:00 2001
From: boli <boli@localhost>
Date: Tue, 31 Jul 2007 21:38:45 +0000
Subject: [PATCH]
---
opends/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestImportJob.java | 102 +++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 98 insertions(+), 4 deletions(-)
diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestImportJob.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestImportJob.java
index 3896ee9..2cb888e 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestImportJob.java
+++ b/opends/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestImportJob.java
@@ -71,6 +71,11 @@
"objectclass: organizationalUnit\n" +
"ou: People\n" +
"\n" +
+ "dn: ou=Others,ou=People,dc=importtest,dc=com\n" +
+ "objectclass: top\n" +
+ "objectclass: organizationalUnit\n" +
+ "ou: Others\n" +
+ "\n" +
"dn: dc=importtest1,dc=com\n" +
"objectclass: top\n" +
"objectclass: domain\n" +
@@ -326,9 +331,10 @@
if(baseDN.toString().equals("dc=importtest,dc=com"))
{
- assertEquals(entryContainer.getEntryCount(), 4);
+ assertEquals(entryContainer.getEntryCount(), 5);
assertTrue(entryContainer.entryExists(baseDN));
assertTrue(entryContainer.entryExists(DN.decode("ou=People,dc=importtest,dc=com")));
+ assertTrue(entryContainer.entryExists(DN.decode("ou=Others,ou=People,dc=importtest,dc=com")));
assertTrue(entryContainer.entryExists(DN.decode("uid=user.0,ou=People,dc=importtest,dc=com")));
assertTrue(entryContainer.entryExists(DN.decode("uid=user.539,ou=People,dc=importtest,dc=com")));
@@ -365,6 +371,94 @@
}
@Test(dependsOnMethods = "testImportAll")
+ public void testImportPartial() throws Exception
+ {
+ ArrayList<String> fileList = new ArrayList<String>();
+ fileList.add(homeDirName + File.separator + "top.ldif");
+ fileList.add(homeDirName + File.separator + "entries1.ldif");
+
+ ArrayList<DN> includeBranches = new ArrayList<DN>();
+ includeBranches.add(DN.decode("ou=People,dc=importtest,dc=com"));
+ ArrayList<DN> excludeBranches = new ArrayList<DN>();
+ excludeBranches.add(DN.decode("ou=Others,ou=People,dc=importtest,dc=com"));
+
+ ByteArrayOutputStream rejectedEntries = new ByteArrayOutputStream();
+ ByteArrayOutputStream skippedEntries = new ByteArrayOutputStream();
+ LDIFImportConfig importConfig = new LDIFImportConfig(fileList);
+ importConfig.setAppendToExistingData(false);
+ importConfig.setReplaceExistingEntries(false);
+ importConfig.setValidateSchema(true);
+ importConfig.writeRejectedEntries(rejectedEntries);
+ importConfig.writeSkippedEntries(skippedEntries);
+ importConfig.setIncludeBranches(includeBranches);
+ importConfig.setExcludeBranches(excludeBranches);
+
+ be=(BackendImpl) DirectoryServer.getBackend(beID);
+ TaskUtils.disableBackend(beID);
+ try
+ {
+ be.importLDIF(importConfig);
+ }
+ finally
+ {
+ TaskUtils.enableBackend(beID);
+ }
+
+ be=(BackendImpl) DirectoryServer.getBackend(beID);
+ RootContainer rootContainer = be.getRootContainer();
+ EntryContainer entryContainer;
+
+ assertTrue(rejectedEntries.size() <= 0);
+ for(DN baseDN : baseDNs)
+ {
+ entryContainer = rootContainer.getEntryContainer(baseDN);
+ entryContainer.sharedLock.lock();
+ try
+ {
+ assertNotNull(entryContainer);
+
+ if(baseDN.toString().equals("dc=importtest,dc=com"))
+ {
+ assertEquals(entryContainer.getEntryCount(), 5);
+ assertTrue(entryContainer.entryExists(baseDN));
+ assertTrue(entryContainer.entryExists(DN.decode("ou=People,dc=importtest,dc=com")));
+ assertTrue(entryContainer.entryExists(DN.decode("ou=Others,ou=People,dc=importtest,dc=com")));
+ assertTrue(entryContainer.entryExists(DN.decode("uid=user.0,ou=People,dc=importtest,dc=com")));
+ assertTrue(entryContainer.entryExists(DN.decode("uid=user.539,ou=People,dc=importtest,dc=com")));
+
+ VerifyConfig verifyConfig = new VerifyConfig();
+ verifyConfig.setBaseDN(baseDN);
+
+ Entry statEntry=bldStatEntry("");
+ be=(BackendImpl) DirectoryServer.getBackend(beID);
+ be.verifyBackend(verifyConfig, statEntry);
+ assertEquals(getStatEntryCount(statEntry, errorCount), 0);
+ }
+ else if(baseDN.toString().equals("dc=importtest1,dc=com"))
+ {
+ assertEquals(entryContainer.getEntryCount(), 3);
+ assertTrue(entryContainer.entryExists(baseDN));
+ assertTrue(entryContainer.entryExists(DN.decode("uid=user.446,dc=importtest1,dc=com")));
+ assertTrue(entryContainer.entryExists(DN.decode("uid=user.362,dc=importtest1,dc=com")));
+
+ VerifyConfig verifyConfig = new VerifyConfig();
+ verifyConfig.setBaseDN(baseDN);
+
+ Entry statEntry=bldStatEntry("");
+ be=(BackendImpl) DirectoryServer.getBackend(beID);
+ be.verifyBackend(verifyConfig, statEntry);
+ assertEquals(getStatEntryCount(statEntry, errorCount), 0);
+ }
+ }
+ finally
+ {
+ entryContainer.sharedLock.unlock();
+
+ }
+ }
+ }
+
+ @Test(dependsOnMethods = "testImportPartial")
public void testImportReplaceExisting() throws Exception
{
ByteArrayOutputStream rejectedEntries = new ByteArrayOutputStream();
@@ -488,7 +582,7 @@
{
if(baseDN.toString().equals("dc=importtest,dc=com"))
{
- assertEquals(entryContainer.getEntryCount(), 4);
+ assertEquals(entryContainer.getEntryCount(), 5);
assertTrue(entryContainer.entryExists(baseDN));
assertTrue(entryContainer.entryExists(DN.decode("ou=People,dc=importtest,dc=com")));
assertTrue(entryContainer.entryExists(DN.decode("uid=user.0,ou=People,dc=importtest,dc=com")));
@@ -510,7 +604,7 @@
}
}
- @Test(dependsOnMethods = "testImportAll")
+ @Test(dependsOnMethods = "testImportPartial")
public void testImportNotReplaceExisting() throws Exception
{
ByteArrayOutputStream rejectedEntries = new ByteArrayOutputStream();
@@ -534,7 +628,7 @@
assertTrue(rejectedEntries.toString().contains("uid=user.446,dc=importtest1,dc=com"));
}
- @Test(dependsOnMethods = "testImportAll")
+ @Test(dependsOnMethods = "testImportPartial")
public void testImportSkip() throws Exception
{
ArrayList<DN> excludeBranches = new ArrayList<DN>();
--
Gitblit v1.10.0