From 3c90159e3f51de69775a1ce093fa5086dc3f34d8 Mon Sep 17 00:00:00 2001
From: gbellato <gbellato@localhost>
Date: Tue, 16 Jun 2009 08:15:43 +0000
Subject: [PATCH] Move the translateRuvEntryTest to the replication.plugin package because it is testing replicaiton.plugin code

---
 opends/tests/unit-tests-testng/src/server/org/opends/server/replication/common/ServerStateTest.java           |   89 ----------------------
 opends/tests/unit-tests-testng/src/server/org/opends/server/replication/plugin/PersistentServerStateTest.java |   79 +++++++++++++++++++
 opends/tests/unit-tests-testng/src/server/org/opends/server/replication/plugin/DomainFakeCfg.java             |   28 +++++-
 3 files changed, 101 insertions(+), 95 deletions(-)

diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/common/ServerStateTest.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/common/ServerStateTest.java
index bc91525..f09f1c5 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/common/ServerStateTest.java
+++ b/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/common/ServerStateTest.java
@@ -30,17 +30,9 @@
 
 import java.util.Set;
 
-import org.opends.server.TestCaseUtils;
-import org.opends.server.core.AddOperationBasis;
-import org.opends.server.core.DirectoryServer;
-import org.opends.server.protocols.internal.InternalClientConnection;
 import org.opends.server.replication.ReplicationTestCase;
 import org.opends.server.replication.common.ChangeNumber;
 import org.opends.server.replication.common.ServerState;
-import org.opends.server.replication.plugin.LDAPReplicationDomain;
-import org.opends.server.types.DN;
-import org.opends.server.types.Entry;
-import org.opends.server.types.ResultCode;
 import org.opends.server.util.TimeThread;
 import org.testng.annotations.DataProvider;
 import org.testng.annotations.Test;
@@ -136,85 +128,4 @@
 
   }
 
-  /**
-   * Ensures that the Directory Server is able to
-   * translate a ruv entry to a sever state.
-   *
-   * @throws  Exception  If an unexpected problem occurs.
-   */
-  @Test(enabled = false)
-  public void translateRuvEntryTest()
-         throws Exception
-  {
-
-    Entry synchroServerEntry = null;
-
-    String RuvString =
-      "dn: nsuniqueid=ffffffff-ffffffff-ffffffff-ffffffff, o=test\n"
-      +"objectClass: top\n"
-      +"objectClass: extensibleobject\n"
-      +"objectClass: ldapSubEntry\n"
-      +"o: test\n"
-      +"nsds50ruv: {replicageneration} 49098853000000010000\n"
-      +"nsds50ruv: {replica 3 ldap://kawax:3389} 491d517b000000030000 "
-      +"491d564a000000030000\n"
-      +"nsds50ruv: {replica 1 ldap://kawax:1389} 490989e8000000010000 "
-      +"490989e8000000010000\n"
-      +"ds6ruv: {PRIO 3 ldap://kawax:3389}\n"
-      +"ds6ruv: {PRIO 1 ldap://kawax:1389}\n"
-      +"entryUUID: ffffffff-ffff-ffff-ffff-ffffffffffff\n";
-
-    Entry RuvEntry = TestCaseUtils.entryFromLdifString(RuvString);
-    AddOperationBasis addOp = new AddOperationBasis(InternalClientConnection.
-        getRootConnection(), InternalClientConnection.nextOperationID(),
-        InternalClientConnection.nextMessageID(), null, RuvEntry.getDN(),
-        RuvEntry.getObjectClasses(), RuvEntry.getUserAttributes(),
-        RuvEntry.getOperationalAttributes());
-
-    addOp.setInternalOperation(true);
-    addOp.run();
-
-    assertTrue(addOp.getResultCode() == ResultCode.SUCCESS);
-
-    // Instantiate a Replication domain
-    // suffix synchronized
-    String synchroServerLdif =
-      "dn: cn=o=test, cn=domains, cn=Multimaster Synchronization, cn=Synchronization Providers,cn=config\n"
-      + "objectClass: top\n"
-      + "objectClass: ds-cfg-replication-domain\n"
-      + "cn: o=test\n"
-      + "ds-cfg-base-dn: o=test\n"
-      + "ds-cfg-replication-server: localhost:3389\n"
-      + "ds-cfg-server-id: 1\n"
-      + "ds-cfg-receive-status: true\n"
-      + "ds-cfg-window-size: 10";
-
-    // When adding the replicationDomain entry the checkRUVCompat
-    // method is called and should translate the RuvEntry Added
-    // into a serverState + generationId
-    synchroServerEntry = TestCaseUtils.entryFromLdifString(synchroServerLdif);
-    DirectoryServer.getConfigHandler().addEntry(synchroServerEntry, null);
-    assertNotNull(DirectoryServer.getConfigEntry(synchroServerEntry.getDN()),
-      "Unable to add the synchronized server");
-
-    LDAPReplicationDomain replDomain = LDAPReplicationDomain.
-    retrievesReplicationDomain(DN.decode("o=test"));
-
-    // Then check serverSate and GenId
-    assertTrue(replDomain.getGenerationID() == 1225361491);
-
-    ServerState state = replDomain.getServerState();
-    assertTrue(state.getMaxChangeNumber((short) 1).
-        compareTo(new ChangeNumber("0000011d4d42b240000100000000")) == 0);
-    assertTrue(state.getMaxChangeNumber((short) 3).
-        compareTo(new ChangeNumber("0000011d9a991110000300000000")) == 0);
-
-    // Remove the configuration entry
-    DirectoryServer.getConfigHandler().deleteEntry(synchroServerEntry.getDN(),
-        null);
-    assertNull(DirectoryServer.getConfigEntry(synchroServerEntry.getDN()),
-      "Unable to remove the synchronized server");
-
-  }
-
 }
diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/plugin/DomainFakeCfg.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/plugin/DomainFakeCfg.java
index 07fd87f..92161f0 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/plugin/DomainFakeCfg.java
+++ b/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/plugin/DomainFakeCfg.java
@@ -22,7 +22,7 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2007-2008 Sun Microsystems, Inc.
+ *      Copyright 2007-2009 Sun Microsystems, Inc.
  */
 package org.opends.server.replication.plugin;
 
@@ -49,7 +49,7 @@
   private SortedSet<String> replicationServers;
   private long heartbeatInterval = 1000;
   private IsolationPolicy policy = IsolationPolicy.REJECT_ALL_UPDATES;
-  
+
   // Is assured mode enabled or not ?
   private boolean assured = false;
   // Assured sub mode (used when assured is true)
@@ -73,7 +73,7 @@
     this.serverId = serverId;
     this.replicationServers = replServers;
   }
-  
+
   /**
    * Creates a new Domain with the provided information
    * (assured mode disabled, group id provided)
@@ -84,7 +84,7 @@
     this(baseDn, serverId, replServers);
     this.groupId = groupId;
   }
-  
+
   /**
    * Creates a new Domain with the provided information
    * (assured mode info provided as well as group id)
@@ -113,6 +113,24 @@
   }
 
   /**
+   * Create a new Domain from the provided arguments.
+   *
+   * @param string         The baseDN in string form.
+   * @param serverId       The serverID.
+   * @param replServer     The replication Server that will be used.
+   *
+   * @throws DirectoryException  When the provided string is not a valid DN.
+   */
+  public DomainFakeCfg(String string, int serverId, String replServer)
+         throws DirectoryException
+  {
+    this.replicationServers = new TreeSet<String>();
+    this.replicationServers.add(replServer);
+    this.baseDn = DN.decode(string);
+    this.serverId = serverId;
+  }
+
+  /**
    * {@inheritDoc}
    */
   public void addChangeListener(
@@ -277,7 +295,7 @@
   {
     return assuredType;
   }
-  
+
   public boolean isAssured()
   {
     return assured;
diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/plugin/PersistentServerStateTest.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/plugin/PersistentServerStateTest.java
index 0d1ba91..c1dde0c 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/plugin/PersistentServerStateTest.java
+++ b/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/plugin/PersistentServerStateTest.java
@@ -22,18 +22,26 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2006-2008 Sun Microsystems, Inc.
+ *      Copyright 2006-2009 Sun Microsystems, Inc.
  */
 package org.opends.server.replication.plugin;
 
 import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertTrue;
 
+import org.opends.server.TestCaseUtils;
+import org.opends.server.api.SynchronizationProvider;
+import org.opends.server.core.AddOperationBasis;
+import org.opends.server.core.DirectoryServer;
+import org.opends.server.protocols.internal.InternalClientConnection;
 import org.opends.server.replication.common.ServerState;
 
 import org.opends.server.replication.ReplicationTestCase;
 import org.opends.server.replication.common.ChangeNumber;
 import org.opends.server.replication.common.ChangeNumberGenerator;
 import org.opends.server.types.DN;
+import org.opends.server.types.Entry;
+import org.opends.server.types.ResultCode;
 import org.testng.annotations.DataProvider;
 import org.testng.annotations.Test;
 import static org.opends.server.TestCaseUtils.*;
@@ -103,4 +111,73 @@
         "cn1 has not been saved after clear for " + dn);
 
   }
+
+  /**
+   * Ensures that the Directory Server is able to
+   * translate a ruv entry to a sever state.
+   *
+   * @throws  Exception  If an unexpected problem occurs.
+   */
+  @SuppressWarnings("unchecked")
+  @Test(enabled = false)
+  public void translateRuvEntryTest()
+         throws Exception
+  {
+    SynchronizationProvider replicationPlugin = null;
+    LDAPReplicationDomain replDomain = null;
+
+    try
+    {
+      String RuvString =
+        "dn: nsuniqueid=ffffffff-ffffffff-ffffffff-ffffffff, o=test\n"
+        +"objectClass: top\n"
+        +"objectClass: ldapsubentry\n"
+        +"objectClass: extensibleobject\n"
+        +"nsds50ruv: {replicageneration} 49098853000000010000\n"
+        +"nsds50ruv: {replica 3 ldap://kawax:3389} 491d517b000000030000 "
+        +"491d564a000000030000\n"
+        +"nsds50ruv: {replica 1 ldap://kawax:1389} 490989e8000000010000 "
+        +"490989e8000000010000\n"
+        +"ds6ruv: {PRIO 3 ldap://kawax:3389}\n"
+        +"ds6ruv: {PRIO 1 ldap://kawax:1389}\n"
+        +"entryUUID: ffffffff-ffff-ffff-ffff-ffffffffffff\n";
+
+      Entry RuvEntry = TestCaseUtils.entryFromLdifString(RuvString);
+      AddOperationBasis addOp = new AddOperationBasis(InternalClientConnection.
+          getRootConnection(), InternalClientConnection.nextOperationID(),
+          InternalClientConnection.nextMessageID(), null, RuvEntry.getDN(),
+          RuvEntry.getObjectClasses(), RuvEntry.getUserAttributes(),
+          RuvEntry.getOperationalAttributes());
+
+      addOp.setInternalOperation(true);
+      addOp.run();
+
+      assertTrue(addOp.getResultCode() == ResultCode.SUCCESS);
+
+      replicationPlugin = new MultimasterReplication();
+      DirectoryServer.registerSynchronizationProvider(replicationPlugin);
+      DomainFakeCfg domainConf =
+        new DomainFakeCfg("o=test", 1, "localhost:3389");
+      replDomain = MultimasterReplication.createNewDomain(domainConf);
+      replicationPlugin.completeSynchronizationProvider();
+
+      // Then check serverSate and GenId
+      assertTrue(replDomain.getGenerationID() == 1225361491);
+
+      ServerState state = replDomain.getServerState();
+      assertTrue(state.getMaxChangeNumber((short) 1).
+          compareTo(new ChangeNumber("0000011d4d42b240000100000000")) == 0);
+      assertTrue(state.getMaxChangeNumber((short) 3).
+          compareTo(new ChangeNumber("0000011d9a991110000300000000")) == 0);
+
+    }
+    finally
+    {
+      if (replDomain != null)
+        MultimasterReplication.deleteDomain(DN.decode("o=test"));
+
+      if (replicationPlugin != null)
+        DirectoryServer.deregisterSynchronizationProvider(replicationPlugin);
+    }
+  }
 }

--
Gitblit v1.10.0