From c0c061c7aa37545e306a84e588685ce61e81d49f Mon Sep 17 00:00:00 2001
From: Nicolas Capponi <nicolas.capponi@forgerock.com>
Date: Tue, 02 Dec 2014 16:31:39 +0000
Subject: [PATCH] OPENDJ-1611 Fix failing test in ReplicationServerTest
---
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/replication/server/ReplicationServerTest.java | 152 +++++++++++++++++++++++++++++---------------------
1 files changed, 87 insertions(+), 65 deletions(-)
diff --git a/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/replication/server/ReplicationServerTest.java b/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/replication/server/ReplicationServerTest.java
index 447db04..40fef90 100644
--- a/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/replication/server/ReplicationServerTest.java
+++ b/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/replication/server/ReplicationServerTest.java
@@ -152,13 +152,20 @@
@Test(enabled = true)
public void replicationServerTest() throws Exception
{
- changelogBasic();
- newClientLateServer1();
- newClient();
- newClientWithFirstChanges();
- newClientWithChangefromServer1();
- newClientWithChangefromServer2();
- newClientWithUnknownChanges();
+ ReplicationBroker[] brokers1And2 = null;
+ try {
+ brokers1And2 = changelogBasic();
+ newClientLateServer1();
+ newClient();
+ newClientWithFirstChanges();
+ newClientWithChangefromServer1();
+ newClientWithChangefromServer2();
+ newClientWithUnknownChanges();
+ }
+ finally
+ {
+ stop(brokers1And2);
+ }
stopChangelog();
}
@@ -173,11 +180,27 @@
@Test(enabled=false)
public void replicationServerTestLoop() throws Exception
{
- changelogBasic();
- while (true)
+ ReplicationBroker[] brokers1And2 = null;
+ try
{
- newClient();
+ brokers1And2 = changelogBasic();
+ while (true)
+ {
+ newClient();
+ }
}
+ finally
+ {
+ stop(brokers1And2);
+ }
+ }
+
+ /** Create two brokers: open for each a sender session and a receiver session to the replicationServer. */
+ private ReplicationBroker[] createReplicationBrokers1And2() throws Exception {
+ return new ReplicationBroker[] {
+ openReplicationSession(TEST_ROOT_DN, 1, 100, replicationServerPort, 1000),
+ openReplicationSession(TEST_ROOT_DN, 2, 100, replicationServerPort, 1000)
+ };
}
@Override
@@ -190,64 +213,56 @@
}
/**
- * Basic test of the replicationServer code :
- * Connect 2 clients to the replicationServer and exchange messages
- * between the clients.
+ * Basic test of the replicationServer code : Connect 2 clients to the
+ * replicationServer and exchange messages between the clients. Note : Other
+ * tests in this file depends on this test and may need to change if this test
+ * is modified.
*
- * Note : Other tests in this file depends on this test and may need to
- * change if this test is modified.
+ * @return the two brokers created to simulate 2 DS sending and receiving
+ * messages. They are returned to allow other tests to close the
+ * brokers themselves.
*/
- private void changelogBasic() throws Exception
+ private ReplicationBroker[] changelogBasic() throws Exception
{
clearChangelogDB(replicationServer);
debugInfo("Starting changelogBasic");
- ReplicationBroker server1 = null;
- ReplicationBroker server2 = null;
+ ReplicationBroker[] brokers1And2 = createReplicationBrokers1And2();
+ ReplicationBroker server1 = brokers1And2[0];
+ ReplicationBroker server2 = brokers1And2[1];
- try {
- /*
- * Open a sender session and a receiver session to the replicationServer
- */
- server1 = openReplicationSession(TEST_ROOT_DN, 1, 100, replicationServerPort, 1000);
- server2 = openReplicationSession(TEST_ROOT_DN, 2, 100, replicationServerPort, 1000);
+ /*
+ * Create CSNs for the messages sent from server 1 with current time
+ * sequence 1 and with current time + 2 sequence 2
+ */
+ long time = TimeThread.getTime();
+ firstCSNServer1 = new CSN(time, 1, 1);
+ secondCSNServer1 = new CSN(time + 2, 2, 1);
- /*
- * Create CSNs for the messages sent from server 1 with current time
- * sequence 1 and with current time + 2 sequence 2
- */
- long time = TimeThread.getTime();
- firstCSNServer1 = new CSN(time, 1, 1);
- secondCSNServer1 = new CSN(time + 2, 2, 1);
+ /*
+ * Create CSNs for the messages sent from server 2 with current time
+ * sequence 1 and with current time + 3 sequence 2
+ */
+ firstCSNServer2 = new CSN(time + 1, 1, 2);
+ secondCSNServer2 = new CSN(time + 3, 2, 2);
- /*
- * Create CSNs for the messages sent from server 2 with current time
- * sequence 1 and with current time + 3 sequence 2
- */
- firstCSNServer2 = new CSN(time + 1, 1, 2);
- secondCSNServer2 = new CSN(time + 3, 2, 2);
+ /*
+ * Create a CSN between firstCSNServer1 and secondCSNServer1 that will not
+ * be used to create a change sent to the replicationServer but that will
+ * be used in the Server State when opening a connection to the
+ * ReplicationServer to make sure that the ReplicationServer is able to
+ * accept such clients.
+ */
+ unknownCSNServer1 = new CSN(time + 1, 1, 1);
- /*
- * Create a CSN between firstCSNServer1 and secondCSNServer1 that will not
- * be used to create a change sent to the replicationServer but that will
- * be used in the Server State when opening a connection to the
- * ReplicationServer to make sure that the ReplicationServer is able to
- * accept such clients.
- */
- unknownCSNServer1 = new CSN(time + 1, 1, 1);
+ sendAndReceiveDeleteMsg(server1, server2, EXAMPLE_DN, firstCSNServer1, "uid");
+ sendAndReceiveDeleteMsg(server1, server2, TEST_ROOT_DN, secondCSNServer1, "uid");
- sendAndReceiveDeleteMsg(server1, server2, EXAMPLE_DN, firstCSNServer1, "uid");
- sendAndReceiveDeleteMsg(server1, server2, TEST_ROOT_DN, secondCSNServer1, "uid");
+ // Send and receive a Delete Msg from server 2 to server 1
+ sendAndReceiveDeleteMsg(server2, server1, EXAMPLE_DN, firstCSNServer2, "other-uid");
+ sendAndReceiveDeleteMsg(server2, server1, TEST_ROOT_DN, secondCSNServer2, "uid");
- // Send and receive a Delete Msg from server 2 to server 1
- sendAndReceiveDeleteMsg(server2, server1, EXAMPLE_DN, firstCSNServer2, "other-uid");
- sendAndReceiveDeleteMsg(server2, server1, TEST_ROOT_DN, secondCSNServer2, "uid");
-
- debugInfo("Ending changelogBasic");
- }
- finally
- {
- stop(server1, server2);
- }
+ debugInfo("Ending changelogBasic");
+ return new ReplicationBroker[] { server1, server2 };
}
private void sendAndReceiveDeleteMsg(ReplicationBroker sender, ReplicationBroker receiver,
@@ -436,14 +451,21 @@
*/
private void stopChangelog() throws Exception
{
- debugInfo("Starting stopChangelog");
- shutdown();
- configure();
- newClient();
- newClientWithFirstChanges();
- newClientWithChangefromServer1();
- newClientWithChangefromServer2();
- debugInfo("Ending stopChangelog");
+ ReplicationBroker[] brokers1And2 = null;
+ try {
+ debugInfo("Starting stopChangelog");
+ shutdown();
+ configure();
+ brokers1And2 = createReplicationBrokers1And2();
+ newClient();
+ newClientWithFirstChanges();
+ newClientWithChangefromServer1();
+ newClientWithChangefromServer2();
+ debugInfo("Ending stopChangelog");
+ }
+ finally {
+ stop(brokers1And2);
+ }
}
/**
--
Gitblit v1.10.0