Tune eos gossip/notification intervals
[controller.git] / opendaylight / md-sal / eos-dom-akka / src / test / java / org / opendaylight / controller / eos / akka / SingleNodeTest.java
index 043af99aa47e5c69d6f7153cfe6521cc7ba41168..e4971785f30879e970d1ebb11eafc7529d25f7b1 100644 (file)
@@ -8,6 +8,7 @@
 package org.opendaylight.controller.eos.akka;
 
 import akka.actor.testkit.typed.javadsl.ActorTestKit;
+import java.time.Duration;
 import java.util.List;
 import org.junit.After;
 import org.junit.Before;
@@ -24,14 +25,11 @@ public class SingleNodeTest extends AbstractNativeEosTest {
     @Before
     public void setUp() throws Exception {
         clusterNode = startup(2550, List.of("member-1"));
-
-        reachableMember(clusterNode, "member-2");
-        reachableMember(clusterNode, "member-3");
     }
 
     @After
     public void tearDown() {
-        ActorTestKit.shutdown(clusterNode.getActorSystem());
+        ActorTestKit.shutdown(clusterNode.getActorSystem(), Duration.ofSeconds(20));
     }
 
     @Test
@@ -47,8 +45,15 @@ public class SingleNodeTest extends AbstractNativeEosTest {
     public void testListenerPriorToAddingCandidates() {
         final MockEntityOwnershipListener listener = registerListener(clusterNode, ENTITY_1);
 
-        registerCandidates(clusterNode, ENTITY_1, "member-1", "member-2", "member-3");
+        registerCandidates(clusterNode, ENTITY_1, "member-1");
+        waitUntillOwnerPresent(clusterNode, ENTITY_1);
+
+        reachableMember(clusterNode, "member-2", DEFAULT_DATACENTER);
+        reachableMember(clusterNode, "member-3", DEFAULT_DATACENTER);
+
+        registerCandidates(clusterNode, ENTITY_1, "member-2", "member-3");
         verifyListenerState(listener, ENTITY_1, true, true, false);
+        verifyNoAdditionalNotifications(listener, 5);
 
         unregisterCandidates(clusterNode, ENTITY_1, "member-1");
         verifyListenerState(listener, ENTITY_1, true, false, true);
@@ -59,8 +64,12 @@ public class SingleNodeTest extends AbstractNativeEosTest {
         registerCandidates(clusterNode, ENTITY_1, "member-1", "member-2", "member-3");
         waitUntillOwnerPresent(clusterNode, ENTITY_1);
 
+        reachableMember(clusterNode, "member-2", DEFAULT_DATACENTER);
+        reachableMember(clusterNode, "member-3", DEFAULT_DATACENTER);
+
         final MockEntityOwnershipListener listener = registerListener(clusterNode, ENTITY_1);
         verifyListenerState(listener, ENTITY_1, true, true, false);
+        verifyNoAdditionalNotifications(listener, 5);
 
         unregisterCandidates(clusterNode, ENTITY_1, "member-1", "member-2");
         verifyListenerState(listener, ENTITY_1, true, false, true);
@@ -71,6 +80,9 @@ public class SingleNodeTest extends AbstractNativeEosTest {
         registerCandidates(clusterNode, ENTITY_1, "member-1", "member-2", "member-3");
         waitUntillOwnerPresent(clusterNode, ENTITY_1);
 
+        reachableMember(clusterNode, "member-2", DEFAULT_DATACENTER);
+        reachableMember(clusterNode, "member-3", DEFAULT_DATACENTER);
+
         final MockEntityOwnershipListener listener1 = registerListener(clusterNode, ENTITY_1);
         final MockEntityOwnershipListener listener2 = registerListener(clusterNode, ENTITY_2);