From 21223912856469a2eac9be72e23bcac4cc07c71a Mon Sep 17 00:00:00 2001
From: boli <boli@localhost>
Date: Tue, 24 Jul 2007 18:41:36 +0000
Subject: [PATCH] Fix for issue 1794: - Attribute index no longer need the backend index entry limit parameter on construction. This is now handled by the admin framework. - Updated test cases to reflect the change
---
opends/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestBackendImpl.java | 104 +++++++++++++++++++---------------------------------
1 files changed, 38 insertions(+), 66 deletions(-)
diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestBackendImpl.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestBackendImpl.java
index 2bc7f8e..8e2b059 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestBackendImpl.java
+++ b/opends/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestBackendImpl.java
@@ -30,9 +30,7 @@
import org.opends.server.TestCaseUtils;
import org.opends.server.admin.std.server.JEBackendCfg;
-import org.opends.server.admin.std.server.JEIndexCfg;
import org.opends.server.admin.std.meta.JEBackendCfgDefn;
-import org.opends.server.admin.std.meta.JEIndexCfgDefn;
import org.opends.server.admin.server.AdminTestCaseUtils;
import org.opends.server.core.ModifyDNOperationBasis;
import org.opends.server.core.DirectoryServer;
@@ -631,7 +629,7 @@
//Only one index should be used because it is below the FILTER_CANDIDATEassertEquals(ec.getDN2URI().)_THRESHOLD.
debugString =
result.get(0).getAttribute("debugsearchindex").get(0).getValues().toString();
- assertTrue(debugString.split("cn").length <= 2);
+ assertTrue(debugString.split("cn").length <= 3);
finalStartPos = debugString.indexOf("final=") + 13;
finalEndPos = debugString.indexOf("]", finalStartPos);
finalCount = Integer.valueOf(debugString.substring(finalStartPos,
@@ -1238,26 +1236,20 @@
"testSearchNotIndexed",
"testModifyDNNewSuperior", "testMatchedDN"})
public void testApplyIndexConfig() throws Exception {
- Entry configEntry = TestCaseUtils.makeEntry(
+ int resultCode = TestCaseUtils.applyModifications(
"dn: ds-cfg-index-attribute=givenName,cn=Index," +
"ds-cfg-backend-id=indexRoot,cn=Backends,cn=config",
- "objectClass: top",
- "objectClass: ds-cfg-je-index",
- "ds-cfg-index-attribute: givenName",
+ "changetype: modify",
+ "replace: ds-cfg-index-type",
"ds-cfg-index-type: approximate");
- JEIndexCfg cfg = AdminTestCaseUtils.getConfiguration(
- JEIndexCfgDefn.getInstance(), configEntry);
+ assertEquals(resultCode, 0);
RootContainer rootContainer = backend.getRootContainer();
EntryContainer ec = rootContainer.getEntryContainer(DN.decode("dc=test,dc=com"));
AttributeIndex index =
ec.getAttributeIndex(DirectoryServer.getAttributeType("givenname"));
- ConfigChangeResult ccr = index.applyConfigurationChange(cfg);
- assertTrue(ccr.getResultCode().equals(ResultCode.SUCCESS));
- assertTrue(ccr.adminActionRequired());
- assertFalse(ccr.getMessages().isEmpty());
assertNull(index.equalityIndex);
assertNull(index.presenceIndex);
assertNull(index.substringIndex);
@@ -1325,24 +1317,18 @@
result.get(0).getAttribute("debugsearchindex").get(0).getValues().toString();
assertTrue(debugString.contains("NOT-INDEXED"));
- configEntry = TestCaseUtils.makeEntry(
+ resultCode = TestCaseUtils.applyModifications(
"dn: ds-cfg-index-attribute=givenName,cn=Index," +
"ds-cfg-backend-id=indexRoot,cn=Backends,cn=config",
- "objectClass: top",
- "objectClass: ds-cfg-je-index",
- "ds-cfg-index-attribute: givenName",
+ "changetype: modify",
+ "replace: ds-cfg-index-type",
"ds-cfg-index-type: equality",
"ds-cfg-index-type: presence",
"ds-cfg-index-type: ordering",
"ds-cfg-index-type: substring");
- cfg = AdminTestCaseUtils.getConfiguration(
- JEIndexCfgDefn.getInstance(), configEntry);
+ assertEquals(resultCode, 0);
- ccr = index.applyConfigurationChange(cfg);
- assertTrue(ccr.getResultCode().equals(ResultCode.SUCCESS));
- assertTrue(ccr.adminActionRequired());
- assertFalse(ccr.getMessages().isEmpty());
assertNotNull(index.equalityIndex);
assertNotNull(index.presenceIndex);
assertNotNull(index.substringIndex);
@@ -1385,8 +1371,13 @@
assertFalse(apfound);
// Delete the entries attribute index.
- ccr = ec.applyConfigurationDelete(cfg);
- assertTrue(ccr.getResultCode().equals(ResultCode.SUCCESS));
+ resultCode = TestCaseUtils.applyModifications(
+ "dn: ds-cfg-index-attribute=givenName,cn=Index," +
+ "ds-cfg-backend-id=indexRoot,cn=Backends,cn=config",
+ "changetype: delete");
+
+ assertEquals(resultCode, 0);
+
assertNull(ec.getAttributeIndex(
DirectoryServer.getAttributeType("givenname")));
databases = new ArrayList<DatabaseContainer>();
@@ -1397,10 +1388,20 @@
}
// Add it back
- ccr = ec.applyConfigurationAdd(cfg);
- assertTrue(ccr.getResultCode().equals(ResultCode.SUCCESS));
- assertTrue(ccr.adminActionRequired());
- assertFalse(ccr.getMessages().isEmpty());
+ resultCode = TestCaseUtils.applyModifications(
+ "dn: ds-cfg-index-attribute=givenName,cn=Index," +
+ "ds-cfg-backend-id=indexRoot,cn=Backends,cn=config",
+ "changetype: add",
+ "objectClass: top",
+ "objectClass: ds-cfg-je-index",
+ "ds-cfg-index-attribute: givenName",
+ "ds-cfg-index-type: equality",
+ "ds-cfg-index-type: presence",
+ "ds-cfg-index-type: ordering",
+ "ds-cfg-index-type: substring");
+
+ assertEquals(resultCode, 0);
+
assertNotNull(ec.getAttributeIndex(
DirectoryServer.getAttributeType("givenname")));
databases = new ArrayList<DatabaseContainer>();
@@ -1441,53 +1442,24 @@
// Make sure changing the index entry limit on an index where the limit
// is already exceeded causes warnings.
- configEntry = TestCaseUtils.makeEntry(
+ resultCode = TestCaseUtils.applyModifications(
"dn: ds-cfg-index-attribute=mail,cn=Index," +
"ds-cfg-backend-id=indexRoot,cn=Backends,cn=config",
- "objectClass: top",
- "objectClass: ds-cfg-je-index",
- "ds-cfg-index-attribute: mail",
- "ds-cfg-index-type: presence",
- "ds-cfg-index-type: equality",
- "ds-cfg-index-type: ordering",
- "ds-cfg-index-type: substring",
- "ds-cfg-index-type: approximate",
+ "changetype: modify",
+ "replace: ds-cfg-index-entry-limit",
"ds-cfg-index-entry-limit: 30");
- cfg = AdminTestCaseUtils.getConfiguration(
- JEIndexCfgDefn.getInstance(), configEntry);
+ assertEquals(resultCode, 0);
// Make sure removing a index entry limit for an index makes it use the
// backend wide setting.
- index =
- ec.getAttributeIndex(DirectoryServer.getAttributeType("mail"));
- ccr = index.applyConfigurationChange(cfg);
- assertTrue(ccr.getResultCode().equals(ResultCode.SUCCESS));
- assertTrue(ccr.adminActionRequired());
- assertFalse(ccr.getMessages().isEmpty());
-
- configEntry = TestCaseUtils.makeEntry(
+ resultCode = TestCaseUtils.applyModifications(
"dn: ds-cfg-index-attribute=mail,cn=Index," +
"ds-cfg-backend-id=indexRoot,cn=Backends,cn=config",
- "objectClass: top",
- "objectClass: ds-cfg-je-index",
- "ds-cfg-index-attribute: mail",
- "ds-cfg-index-type: presence",
- "ds-cfg-index-type: equality",
- "ds-cfg-index-type: ordering",
- "ds-cfg-index-type: substring",
- "ds-cfg-index-type: approximate");
+ "changetype: modify",
+ "delete: ds-cfg-index-entry-limit");
- cfg = AdminTestCaseUtils.getConfiguration(
- JEIndexCfgDefn.getInstance(), configEntry);
-
- index =
- ec.getAttributeIndex(DirectoryServer.getAttributeType("mail"));
- ccr = index.applyConfigurationChange(cfg);
- assertTrue(ccr.getResultCode().equals(ResultCode.SUCCESS));
- assertFalse(ccr.adminActionRequired());
- assertTrue(ccr.getMessages().isEmpty());
-
+ assertEquals(resultCode, 0);
}
--
Gitblit v1.10.0