From d1c2dbcfdca0ee6c6b80fd17214f150b53d4c588 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Tue, 09 Jul 2013 14:38:32 +0000
Subject: [PATCH] TestBackendImpl.java: Extracted methods assertIndexContainsID() to remove duplicated code.
---
opends/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestBackendImpl.java | 315 ++++++++++++++--------------------------------------
1 files changed, 86 insertions(+), 229 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 ac7117c..5c0c90d 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
@@ -28,6 +28,7 @@
package org.opends.server.backends.jeb;
import static org.assertj.core.api.Assertions.*;
+import static org.opends.server.types.ConditionResult.*;
import static org.testng.Assert.*;
import java.util.*;
@@ -795,25 +796,15 @@
InternalClientConnection conn =
InternalClientConnection.getRootConnection();
- Entry entry;
- EntryID entryID;
- AttributeType attribute;
- AttributeIndex index;
- HashSet<byte[]> addKeys;
- DatabaseEntry key;
- PresenceIndexer presenceIndexer;
- EqualityIndexer equalityIndexer;
- SubstringIndexer substringIndexer;
- OrderingIndexer orderingIndexer;
-
EntryContainer ec =
backend.getRootContainer().getEntryContainer(DN.decode("ou=People,dc=test,dc=com"));
ec.sharedLock.lock();
try
{
- entry = ec.getEntry(DN.decode("uid=user.539,ou=People,dc=test,dc=com"));
- entryID = ec.getDN2ID().get(null,
+ Entry entry =
+ ec.getEntry(DN.decode("uid=user.539,ou=People,dc=test,dc=com"));
+ EntryID entryID = ec.getDN2ID().get(null,
DN.decode("uid=user.539,ou=People,dc=test,dc=com"), LockMode.DEFAULT);
DeleteOperationBasis delete = new DeleteOperationBasis(conn,
@@ -834,54 +825,28 @@
assertFalse(ec.getDN2URI().delete(null,
DN.decode("uid=user.539,ou=People,dc=test,dc=com")));
- attribute = entries.get(0).getAttribute("cn").get(0).getAttributeType();
- index = ec.getAttributeIndex(attribute);
+ AttributeType attribute =
+ entries.get(0).getAttribute("cn").get(0).getAttributeType();
+ AttributeIndex index = ec.getAttributeIndex(attribute);
- addKeys = new HashSet<byte[]>();
- presenceIndexer = new PresenceIndexer(index.getAttributeType());
- presenceIndexer.indexEntry(entry, addKeys);
+ Indexer presenceIndexer = new PresenceIndexer(index.getAttributeType());
+ assertIndexContainsID(presenceIndexer, entry, index.presenceIndex,
+ entryID, FALSE);
- key = new DatabaseEntry();
- for (byte[] keyBytes : addKeys) {
- key.setData(keyBytes);
- }
- assertEquals(index.presenceIndex.containsID(null, key, entryID),
- ConditionResult.FALSE);
+ Indexer equalityIndexer = new EqualityIndexer(index.getAttributeType());
+ assertIndexContainsID(equalityIndexer, entry, index.equalityIndex,
+ entryID, FALSE);
- addKeys = new HashSet<byte[]>();
- equalityIndexer = new EqualityIndexer(index.getAttributeType());
- equalityIndexer.indexEntry(entry, addKeys);
-
- key = new DatabaseEntry();
- for (byte[] keyBytes : addKeys) {
- key.setData(keyBytes);
- }
- assertEquals(index.equalityIndex.containsID(null, key, entryID),
- ConditionResult.FALSE);
-
- addKeys = new HashSet<byte[]>();
- substringIndexer = new SubstringIndexer(index.getAttributeType(),
+ Indexer substringIndexer =
+ new SubstringIndexer(index.getAttributeType(),
index.getConfiguration().getSubstringLength());
- substringIndexer.indexEntry(entry, addKeys);
+ assertIndexContainsID(substringIndexer, entry, index.substringIndex,
+ entryID, FALSE);
- key = new DatabaseEntry();
- for (byte[] keyBytes : addKeys) {
- key.setData(keyBytes);
- }
- assertEquals(index.substringIndex.containsID(null, key, entryID),
- ConditionResult.FALSE);
-
- addKeys = new HashSet<byte[]>();
- orderingIndexer = new OrderingIndexer(index.getAttributeType());
- orderingIndexer.indexEntry(entry, addKeys);
-
- key = new DatabaseEntry();
- for (byte[] keyBytes : addKeys) {
- key.setData(keyBytes);
- }
- assertEquals(index.orderingIndex.containsID(null, key, entryID),
- ConditionResult.FALSE);
+ Indexer orderingIndexer = new OrderingIndexer(index.getAttributeType());
+ assertIndexContainsID(orderingIndexer, entry, index.orderingIndex,
+ entryID, FALSE);
}
finally
{
@@ -889,22 +854,44 @@
}
}
+ private void assertIndexContainsID(Indexer indexer, Entry entry, Index index,
+ EntryID entryID)
+ {
+ Set<byte[]> addKeys = new HashSet<byte[]>();
+ indexer.indexEntry(entry, addKeys);
+
+ DatabaseEntry key = new DatabaseEntry();
+ for (byte[] keyBytes : addKeys)
+ {
+ key.setData(keyBytes);
+ assertEquals(index.containsID(null, key, entryID), TRUE);
+ }
+ }
+
+ private void assertIndexContainsID(Indexer indexer, Entry entry,
+ Index index, EntryID entryID, ConditionResult expected)
+ {
+ Set<byte[]> addKeys = new HashSet<byte[]>();
+ indexer.indexEntry(entry, addKeys);
+
+ assertIndexContainsID(addKeys, index, entryID, expected);
+ }
+
+ private void assertIndexContainsID(Set<byte[]> addKeys, Index index,
+ EntryID entryID, ConditionResult expected)
+ {
+ DatabaseEntry key = new DatabaseEntry();
+ for (byte[] keyBytes : addKeys) {
+ key.setData(keyBytes);
+ }
+ assertEquals(index.containsID(null, key, entryID), expected);
+ }
+
@Test(dependsOnMethods = {"testSearchNotIndexed", "testAdd",
"testSearchIndex", "testSearchScope", "testMatchedDN",
"testNumSubordinates", "testNumSubordinatesIndexEntryLimitExceeded"})
public void testReplaceEntry() throws Exception {
- Entry entry;
- Entry oldEntry;
- EntryID entryID;
- AttributeType attribute;
- AttributeIndex index;
- HashSet<byte[]> addKeys;
- DatabaseEntry key;
- EqualityIndexer equalityIndexer;
- SubstringIndexer substringIndexer;
- OrderingIndexer orderingIndexer;
-
- oldEntry = entries.get(0);
+ Entry oldEntry = entries.get(0);
backend.replaceEntry(oldEntry, replaceEntry, null);
EntryContainer ec =
@@ -912,8 +899,9 @@
ec.sharedLock.lock();
try
{
- entry = ec.getEntry(DN.decode("uid=user.0,ou=People,dc=test,dc=com"));
- entryID = ec.getDN2ID().get(null,
+ Entry entry =
+ ec.getEntry(DN.decode("uid=user.0,ou=People,dc=test,dc=com"));
+ EntryID entryID = ec.getDN2ID().get(null,
DN.decode("uid=user.0,ou=People,dc=test,dc=com"), LockMode.DEFAULT);
assertNotNull(entry);
@@ -930,78 +918,33 @@
assertEquals(value.getValue().toString(), "777");
}
- attribute = entry.getAttribute("cn").get(0).getAttributeType();
- index = ec.getAttributeIndex(attribute);
+ AttributeType attribute =
+ entry.getAttribute("cn").get(0).getAttributeType();
+ AttributeIndex index = ec.getAttributeIndex(attribute);
- addKeys = new HashSet<byte[]>();
- orderingIndexer = new OrderingIndexer(index.getAttributeType());
- orderingIndexer.indexEntry(entry, addKeys);
+ Indexer orderingIndexer = new OrderingIndexer(index.getAttributeType());
+ assertIndexContainsID(orderingIndexer, entry, index.orderingIndex,
+ entryID, TRUE);
+ assertIndexContainsID(orderingIndexer, oldEntry, index.orderingIndex,
+ entryID, FALSE);
- key = new DatabaseEntry();
- for (byte[] keyBytes : addKeys) {
- key.setData(keyBytes);
- }
- assertEquals(index.orderingIndex.containsID(null, key, entryID),
- ConditionResult.TRUE);
-
- addKeys = new HashSet<byte[]>();
- orderingIndexer.indexEntry(oldEntry, addKeys);
-
- key = new DatabaseEntry();
- for (byte[] keyBytes : addKeys) {
- key.setData(keyBytes);
- }
- assertEquals(index.orderingIndex.containsID(null, key, entryID),
- ConditionResult.FALSE);
-
- addKeys = new HashSet<byte[]>();
- substringIndexer = new SubstringIndexer(index.getAttributeType(),
+ Indexer substringIndexer = new SubstringIndexer(index.getAttributeType(),
index.getConfiguration().getSubstringLength());
- substringIndexer.indexEntry(entry, addKeys);
+ assertIndexContainsID(substringIndexer, entry, index.substringIndex,
+ entryID, TRUE);
+ assertIndexContainsID(substringIndexer, oldEntry, index.substringIndex,
+ entryID, FALSE);
- key = new DatabaseEntry();
- for (byte[] keyBytes : addKeys) {
- key.setData(keyBytes);
- }
- assertEquals(index.substringIndex.containsID(null, key, entryID),
- ConditionResult.TRUE);
-
- addKeys = new HashSet<byte[]>();
- substringIndexer.indexEntry(oldEntry, addKeys);
-
- key = new DatabaseEntry();
- for (byte[] keyBytes : addKeys) {
- key.setData(keyBytes);
- }
- assertEquals(index.substringIndex.containsID(null, key, entryID),
- ConditionResult.FALSE);
-
- addKeys = new HashSet<byte[]>();
- equalityIndexer = new EqualityIndexer(index.getAttributeType());
- equalityIndexer.indexEntry(entry, addKeys);
-
- key = new DatabaseEntry();
- for (byte[] keyBytes : addKeys) {
- key.setData(keyBytes);
- }
- assertEquals(index.equalityIndex.containsID(null, key, entryID),
- ConditionResult.TRUE);
-
- addKeys = new HashSet<byte[]>();
- equalityIndexer.indexEntry(oldEntry, addKeys);
-
- key = new DatabaseEntry();
- for (byte[] keyBytes : addKeys) {
- key.setData(keyBytes);
- }
- assertEquals(index.equalityIndex.containsID(null, key, entryID),
- ConditionResult.FALSE);
+ Indexer equalityIndexer = new EqualityIndexer(index.getAttributeType());
+ assertIndexContainsID(equalityIndexer, entry, index.equalityIndex,
+ entryID, TRUE);
+ assertIndexContainsID(equalityIndexer, oldEntry, index.equalityIndex,
+ entryID, FALSE);
}
finally
{
ec.sharedLock.unlock();
}
-
}
@Test(dependsOnMethods = {"testSearchNotIndexed", "testAdd",
@@ -1015,8 +958,7 @@
AttributeType attribute;
AttributeIndex titleIndex;
AttributeIndex nameIndex;
- HashSet<byte[]> addKeys;
- DatabaseEntry key;
+ Set<byte[]> addKeys;
PresenceIndexer presenceIndexer;
EqualityIndexer equalityIndexer;
SubstringIndexer substringIndexer;
@@ -1082,24 +1024,12 @@
// titleIndex.
addKeys = new HashSet<byte[]>();
addKeys.add(AttributeIndex.presenceKey.getData());
- key = new DatabaseEntry();
- for (byte[] keyBytes : addKeys)
- {
- key.setData(keyBytes);
- }
- assertEquals(titleIndex.presenceIndex.containsID(null, key, entryID),
- ConditionResult.FALSE);
+ assertIndexContainsID(addKeys, titleIndex.presenceIndex, entryID, FALSE);
// This current entry should be in the presence nameIndex.
addKeys = new HashSet<byte[]>();
addKeys.add(AttributeIndex.presenceKey.getData());
- key = new DatabaseEntry();
- for (byte[] keyBytes : addKeys)
- {
- key.setData(keyBytes);
- }
- assertEquals(nameIndex.presenceIndex.containsID(null, key, entryID),
- ConditionResult.TRUE);
+ assertIndexContainsID(addKeys, nameIndex.presenceIndex, entryID, TRUE);
List<Control> noControls = new ArrayList<Control>(0);
InternalClientConnection conn = InternalClientConnection
@@ -1144,109 +1074,36 @@
assertFalse(entry.getAttribute("employeenumber").contains(
Attributes.create("employeenumber", "1")));
- addKeys = new HashSet<byte[]>();
presenceIndexer = new PresenceIndexer(titleIndex.getAttributeType());
- presenceIndexer.indexEntry(entry, addKeys);
+ assertIndexContainsID(presenceIndexer, entry, titleIndex.presenceIndex, entryID);
- key = new DatabaseEntry();
- for (byte[] keyBytes : addKeys)
- {
- key.setData(keyBytes);
- assertEquals(titleIndex.presenceIndex.containsID(null, key, entryID),
- ConditionResult.TRUE);
- }
-
- addKeys = new HashSet<byte[]>();
presenceIndexer = new PresenceIndexer(nameIndex.getAttributeType());
- presenceIndexer.indexEntry(entry, addKeys);
+ assertIndexContainsID(presenceIndexer, entry, nameIndex.presenceIndex, entryID);
- key = new DatabaseEntry();
- for (byte[] keyBytes : addKeys)
- {
- key.setData(keyBytes);
- assertEquals(nameIndex.presenceIndex.containsID(null, key, entryID),
- ConditionResult.TRUE);
- }
-
- addKeys = new HashSet<byte[]>();
orderingIndexer = new OrderingIndexer(titleIndex.getAttributeType());
- orderingIndexer.indexEntry(entry, addKeys);
+ assertIndexContainsID(orderingIndexer, entry, titleIndex.orderingIndex, entryID);
- key = new DatabaseEntry();
- for (byte[] keyBytes : addKeys)
- {
- key.setData(keyBytes);
- assertEquals(titleIndex.orderingIndex.containsID(null, key, entryID),
- ConditionResult.TRUE);
- }
-
- addKeys = new HashSet<byte[]>();
orderingIndexer = new OrderingIndexer(nameIndex.getAttributeType());
- orderingIndexer.indexEntry(entry, addKeys);
+ assertIndexContainsID(orderingIndexer, entry, nameIndex.orderingIndex, entryID);
- key = new DatabaseEntry();
- for (byte[] keyBytes : addKeys)
- {
- key.setData(keyBytes);
- assertEquals(nameIndex.orderingIndex.containsID(null, key, entryID),
- ConditionResult.TRUE);
- }
-
- addKeys = new HashSet<byte[]>();
equalityIndexer = new EqualityIndexer(titleIndex.getAttributeType());
- equalityIndexer.indexEntry(entry, addKeys);
+ assertIndexContainsID(equalityIndexer, entry, titleIndex.equalityIndex, entryID);
- key = new DatabaseEntry();
- for (byte[] keyBytes : addKeys)
- {
- key.setData(keyBytes);
- assertEquals(titleIndex.equalityIndex.containsID(null, key, entryID),
- ConditionResult.TRUE);
- }
-
- addKeys = new HashSet<byte[]>();
equalityIndexer = new EqualityIndexer(nameIndex.getAttributeType());
- equalityIndexer.indexEntry(entry, addKeys);
+ assertIndexContainsID(equalityIndexer, entry, nameIndex.equalityIndex, entryID);
- key = new DatabaseEntry();
- for (byte[] keyBytes : addKeys)
- {
- key.setData(keyBytes);
- assertEquals(nameIndex.equalityIndex.containsID(null, key, entryID),
- ConditionResult.TRUE);
- }
-
- addKeys = new HashSet<byte[]>();
substringIndexer = new SubstringIndexer(titleIndex.getAttributeType(),
titleIndex.getConfiguration().getSubstringLength());
- substringIndexer.indexEntry(entry, addKeys);
+ assertIndexContainsID(substringIndexer, entry, titleIndex.substringIndex, entryID);
- key = new DatabaseEntry();
- for (byte[] keyBytes : addKeys)
- {
- key.setData(keyBytes);
- assertEquals(titleIndex.substringIndex.containsID(null, key, entryID),
- ConditionResult.TRUE);
- }
-
- addKeys = new HashSet<byte[]>();
substringIndexer = new SubstringIndexer(nameIndex.getAttributeType(),
nameIndex.getConfiguration().getSubstringLength());
- substringIndexer.indexEntry(entry, addKeys);
-
- key = new DatabaseEntry();
- for (byte[] keyBytes : addKeys)
- {
- key.setData(keyBytes);
- assertEquals(nameIndex.substringIndex.containsID(null, key, entryID),
- ConditionResult.TRUE);
- }
+ assertIndexContainsID(substringIndexer, entry, nameIndex.substringIndex, entryID);
}
finally
{
ec.sharedLock.unlock();
}
-
}
@Test(dependsOnMethods = {"testAdd", "testSearchIndex", "testSearchScope",
--
Gitblit v1.10.0