X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Feos-dom-akka%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Feos%2Fakka%2FThreeNodeReachabilityTest.java;h=7699799ba235b19f5be67c66dfebfa23a0eb0bb9;hp=71fffe12baf65854e43fc279db8a30836651da1d;hb=HEAD;hpb=95a52fc4c0a1c9a9abe787b3f0e7ffa340709a96;ds=sidebyside diff --git a/opendaylight/md-sal/eos-dom-akka/src/test/java/org/opendaylight/controller/eos/akka/ThreeNodeReachabilityTest.java b/opendaylight/md-sal/eos-dom-akka/src/test/java/org/opendaylight/controller/eos/akka/ThreeNodeReachabilityTest.java index 71fffe12ba..7699799ba2 100644 --- a/opendaylight/md-sal/eos-dom-akka/src/test/java/org/opendaylight/controller/eos/akka/ThreeNodeReachabilityTest.java +++ b/opendaylight/md-sal/eos-dom-akka/src/test/java/org/opendaylight/controller/eos/akka/ThreeNodeReachabilityTest.java @@ -223,6 +223,39 @@ public class ThreeNodeReachabilityTest extends AbstractNativeEosTest { verifyListenerState(node1Listener, ENTITY_1, true, false, false); } + @Test + public void testOwnerNotReassignedWhenOnlyCandidate() throws Exception { + startNode3(); + final MockEntityOwnershipListener listener1 = registerListener(node1, ENTITY_1); + final MockEntityOwnershipListener listener2 = registerListener(node2, ENTITY_1); + verifyNoNotifications(listener1); + verifyNoNotifications(listener2); + + registerCandidates(node3, ENTITY_1, "member-3"); + waitUntillOwnerPresent(node1, ENTITY_1); + + MockEntityOwnershipListener listener3 = registerListener(node3, ENTITY_1); + verifyListenerState(listener1, ENTITY_1, true, false, false); + verifyListenerState(listener3, ENTITY_1, true, true, false); + + ActorTestKit.shutdown(node3.getActorSystem(), Duration.ofSeconds(20)); + + verifyListenerState(listener1, ENTITY_1, true, false, false); + verifyListenerState(listener2, ENTITY_1, true, false, false); + + startNode3(); + verifyListenerState(listener1, ENTITY_1, false, false, false); + + listener3 = registerListener(node3, ENTITY_1); + verifyListenerState(listener3, ENTITY_1, false, false, false); + + registerCandidates(node1, ENTITY_1, "member-1"); + + verifyListenerState(listener1, ENTITY_1, true, true, false); + verifyListenerState(listener3, ENTITY_1, true, false, false); + + } + private void startNode3() throws Exception { startNode3(3); } @@ -232,7 +265,7 @@ public class ThreeNodeReachabilityTest extends AbstractNativeEosTest { // need to wait until all nodes are ready final Cluster cluster = Cluster.get(node2.getActorSystem()); - await().atMost(Duration.ofSeconds(20)).until(() -> { + await().atMost(Duration.ofSeconds(30)).until(() -> { final List members = ImmutableList.copyOf(cluster.state().getMembers()); if (members.size() != membersPresent) { return false;