From 410b7d0592ba0e1dc2f3d9c745523fee430bcabe Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Fri, 10 Jun 2011 10:25:31 +0000
Subject: [PATCH] Partial fix for OPENDJ-194: Minor improvements to change log content and configuration
---
opends/tests/unit-tests-testng/src/server/org/opends/server/replication/ExternalChangeLogTest.java | 59 ++++++++++++++++++++++++++++++++++-------------------------
1 files changed, 34 insertions(+), 25 deletions(-)
diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/ExternalChangeLogTest.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/ExternalChangeLogTest.java
index 0267b11..cc96e44 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/ExternalChangeLogTest.java
+++ b/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/ExternalChangeLogTest.java
@@ -48,16 +48,7 @@
import java.io.StringReader;
import java.net.ServerSocket;
import java.net.Socket;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedHashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.NoSuchElementException;
-import java.util.Set;
-import java.util.SortedSet;
-import java.util.TreeSet;
+import java.util.*;
import org.opends.server.TestCaseUtils;
import org.opends.server.api.Backend;
@@ -117,7 +108,6 @@
import org.opends.server.types.AbstractOperation;
import org.opends.server.types.Attribute;
import org.opends.server.types.AttributeBuilder;
-import org.opends.server.types.AttributeType;
import org.opends.server.types.AttributeValue;
import org.opends.server.types.Attributes;
import org.opends.server.types.ByteString;
@@ -693,7 +683,7 @@
DomainFakeCfg domainConf =
new DomainFakeCfg(baseDn2, 1602, replServers);
ExternalChangelogDomainFakeCfg eclCfg =
- new ExternalChangelogDomainFakeCfg(true, null);
+ new ExternalChangelogDomainFakeCfg(true, null, null);
domainConf.setExternalChangelogDomain(eclCfg);
LDAPReplicationDomain domain2 =
MultimasterReplication.createNewDomain(domainConf);
@@ -753,7 +743,7 @@
}
eclCfg =
- new ExternalChangelogDomainFakeCfg(false, null);
+ new ExternalChangelogDomainFakeCfg(false, null, null);
domainConf.setExternalChangelogDomain(eclCfg);
domain2.applyConfigurationChange(domainConf);
@@ -4008,11 +3998,11 @@
new DomainFakeCfg(baseDn2, 1702, replServers);
// on o=test2,sid=1702 include attrs set to : 'sn'
- SortedSet<AttributeType> eclInclude = new TreeSet<AttributeType>();
- eclInclude.add(DirectoryServer.getAttributeType("sn"));
- eclInclude.add(DirectoryServer.getAttributeType("roomnumber"));
+ SortedSet<String> eclInclude = new TreeSet<String>();
+ eclInclude.add("sn");
+ eclInclude.add("roomnumber");
ExternalChangelogDomainFakeCfg eclCfg =
- new ExternalChangelogDomainFakeCfg(true, eclInclude);
+ new ExternalChangelogDomainFakeCfg(true, eclInclude, eclInclude);
domainConf.setExternalChangelogDomain(eclCfg);
// Set a Changetime heartbeat interval low enough (less than default
// value that is 1000 ms) for the test to be sure to consider all changes
@@ -4028,10 +4018,13 @@
new DomainFakeCfg(baseDn3, 1703, replServers);
// on o=test3,sid=1703 include attrs set to : 'objectclass'
- eclInclude = new TreeSet<AttributeType>();
- eclInclude.add(DirectoryServer.getAttributeType("objectclass"));
- eclCfg =
- new ExternalChangelogDomainFakeCfg(true, eclInclude);
+ eclInclude = new TreeSet<String>();
+ eclInclude.add("objectclass");
+
+ TreeSet<String> eclIncludeForDeletes = new TreeSet<String>();
+ eclIncludeForDeletes.add("*");
+
+ eclCfg = new ExternalChangelogDomainFakeCfg(true, eclInclude, eclIncludeForDeletes);
domainConf.setExternalChangelogDomain(eclCfg);
// Set a Changetime heartbeat interval low enough (less than default
// value that is 1000 ms) for the test to be sure to consider all changes
@@ -4043,10 +4036,11 @@
// on o=test2,sid=1704 include attrs set to : 'cn'
domainConf =
new DomainFakeCfg(baseDn2, 1704, replServers);
- eclInclude = new TreeSet<AttributeType>();
- eclInclude.add(DirectoryServer.getAttributeType("cn"));
+ eclInclude = new TreeSet<String>();
+ eclInclude.add("cn");
+
eclCfg =
- new ExternalChangelogDomainFakeCfg(true, eclInclude);
+ new ExternalChangelogDomainFakeCfg(true, eclInclude, eclInclude);
domainConf.setExternalChangelogDomain(eclCfg);
// Set a Changetime heartbeat interval low enough (less than default
// value that is 1000 ms) for the test to be sure to consider all changes
@@ -4185,8 +4179,23 @@
HashSet<String> eoc = new HashSet<String>();
eoc.add("person");eoc.add("inetOrgPerson");eoc.add("organizationalPerson");eoc.add("top");
- assertEquals(targetEntry.getAttributes().size(), 0); // objectClass is handled separately
checkValues(targetEntry,"objectclass",eoc);
+
+ String changeType = getAttributeValue(resultEntry,
+ "changetype");
+ if (changeType.equals("delete"))
+ {
+ // We are using "*" for deletes so should get back 4 attributes.
+ assertEquals(targetEntry.getAttributes().size(), 4);
+ checkValue(targetEntry, "uid", "robert");
+ checkValue(targetEntry, "cn", "Robert Hue2");
+ checkValue(targetEntry, "telephonenumber", "555555");
+ checkValue(targetEntry, "sn", "Robby");
+ }
+ else
+ {
+ assertEquals(targetEntry.getAttributes().size(), 0);
+ }
}
if (targetdn.endsWith("cn=fiona jensen,o=test2"))
{
--
Gitblit v1.10.0