From 13819a2e81db0422a7c8c186f838c7b243173170 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Wed, 03 Sep 2014 06:30:37 +0000
Subject: [PATCH] OPENDJ-1205 (CR-4428) Remove network layer from External ChangeLog implementation

---
 opends/tests/unit-tests-testng/src/server/org/opends/server/backends/ChangelogBackendTestCase.java |   34 +++++++++++++++++++++-------------
 1 files changed, 21 insertions(+), 13 deletions(-)

diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/backends/ChangelogBackendTestCase.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/backends/ChangelogBackendTestCase.java
index e1d6127..01eff69 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/backends/ChangelogBackendTestCase.java
+++ b/opends/tests/unit-tests-testng/src/server/org/opends/server/backends/ChangelogBackendTestCase.java
@@ -51,7 +51,6 @@
 import org.opends.server.replication.common.CSN;
 import org.opends.server.replication.common.CSNGenerator;
 import org.opends.server.replication.common.MultiDomainServerState;
-import org.opends.server.replication.common.ServerState;
 import org.opends.server.replication.plugin.DomainFakeCfg;
 import org.opends.server.replication.plugin.ExternalChangelogDomainFakeCfg;
 import org.opends.server.replication.plugin.LDAPReplicationDomain;
@@ -66,6 +65,9 @@
 import org.opends.server.replication.protocol.UpdateMsg;
 import org.opends.server.replication.server.ReplServerFakeConfiguration;
 import org.opends.server.replication.server.ReplicationServer;
+import org.opends.server.replication.server.changelog.api.DBCursor;
+import org.opends.server.replication.server.changelog.api.DBCursor.PositionStrategy;
+import org.opends.server.replication.server.changelog.api.ReplicationDomainDB;
 import org.opends.server.replication.server.changelog.je.ECLEnabledDomainPredicate;
 import org.opends.server.replication.service.DSRSShutdownSync;
 import org.opends.server.replication.service.ReplicationBroker;
@@ -428,13 +430,11 @@
           generateDeleteMsg(TEST_ROOT_DN_STRING,  csn9, test, 9));
 
       // ensure oldest state is correct for each suffix and for each server id
-      final ServerState oldestState = getDomainOldestState(DN_OTEST);
-      assertEquals(oldestState.getCSN(SERVER_ID_1), csn1);
-      assertEquals(oldestState.getCSN(serverId22), csn7);
+      isOldestCSNForReplica(DN_OTEST, csn1);
+      isOldestCSNForReplica(DN_OTEST, csn7);
 
-      final ServerState oldestState2 = getDomainOldestState(DN_OTEST2);
-      assertEquals(oldestState2.getCSN(SERVER_ID_2), csn2);
-      assertEquals(oldestState2.getCSN(serverId11), csn6);
+      isOldestCSNForReplica(DN_OTEST2, csn2);
+      isOldestCSNForReplica(DN_OTEST2, csn6);
 
       // test last cookie on root DSE
       MultiDomainServerState expectedLastCookie =
@@ -460,7 +460,20 @@
     finally
     {
       removeBackend(backendForSecondSuffix);
-      //replicationServer.getChangelogDB().getReplicationDomainDB().removeDomain(ROOT_DN_OTEST2);
+    }
+  }
+
+  private void isOldestCSNForReplica(DN baseDN, CSN csn) throws Exception
+  {
+    final ReplicationDomainDB domainDB = replicationServer.getChangelogDB().getReplicationDomainDB();
+    final DBCursor<UpdateMsg> cursor =
+        domainDB.getCursorFrom(baseDN, csn.getServerId(), null, PositionStrategy.ON_MATCHING_KEY);
+    try {
+      assertTrue(cursor.next(),
+          "Expected to be to find at least one change in replicaDB(" + baseDN + " " + csn.getServerId() + ")");
+      assertEquals(cursor.getRecord().getCSN(), csn);
+    }finally{
+      close(cursor);
     }
   }
 
@@ -819,11 +832,6 @@
     return results;
   }
 
-  private ServerState getDomainOldestState(DN baseDN)
-  {
-    return replicationServer.getReplicationServerDomain(baseDN).getOldestState();
-  }
-
   private void assertSearchParameters(SearchParams searchParams, long firstChangeNumber,
       long lastChangeNumber, CSN csn) throws Exception
   {

--
Gitblit v1.10.0