From: Tom Pantelis Date: Mon, 22 Feb 2016 05:08:52 +0000 (-0500) Subject: Fix unit test errors due to Mockito upgrade X-Git-Tag: release/boron~344 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=24a5bafd22b83c4d838b7c3fc5225934fe969561 Fix unit test errors due to Mockito upgrade The Mockito version was recently upgraded which causes some unit tests to fail. Mockito no longer support never() used with timeout() so workaround that. Change-Id: I861e3ea198a630347b8de4c915d49b2718cc3d2c Signed-off-by: Tom Pantelis --- diff --git a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorTest.java b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorTest.java index 787faafceb..624369b84f 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorTest.java +++ b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorTest.java @@ -1295,7 +1295,8 @@ public class RaftActorTest extends AbstractActorTest { mockRaftActor.waitForRecoveryComplete(); - verify(mockRaftActor.snapshotCohortDelegate, timeout(500).never()).applySnapshot(any(byte[].class)); + Uninterruptibles.sleepUninterruptibly(500, TimeUnit.MILLISECONDS); + verify(mockRaftActor.snapshotCohortDelegate, never()).applySnapshot(any(byte[].class)); RaftActorContext context = mockRaftActor.getRaftActorContext(); assertEquals("Journal log size", 1, context.getReplicatedLog().size()); diff --git a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/behaviors/AbstractLeaderElectionScenarioTest.java b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/behaviors/AbstractLeaderElectionScenarioTest.java index 950180ca0a..63d9643e3c 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/behaviors/AbstractLeaderElectionScenarioTest.java +++ b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/behaviors/AbstractLeaderElectionScenarioTest.java @@ -27,6 +27,7 @@ import org.opendaylight.controller.cluster.raft.DefaultConfigParamsImpl; import org.opendaylight.controller.cluster.raft.MockRaftActorContext; import org.opendaylight.controller.cluster.raft.RaftActorContext; import org.opendaylight.controller.cluster.raft.RaftState; +import org.opendaylight.controller.cluster.raft.TestActorFactory; import org.opendaylight.controller.cluster.raft.base.messages.SendHeartBeat; import org.opendaylight.controller.cluster.raft.messages.AppendEntriesReply; import org.opendaylight.controller.cluster.raft.utils.MessageCollectorActor; @@ -140,6 +141,7 @@ public class AbstractLeaderElectionScenarioTest { protected final Logger testLog = LoggerFactory.getLogger(MockRaftActorContext.class); protected final ActorSystem system = ActorSystem.create("test"); + protected final TestActorFactory factory = new TestActorFactory(system); protected TestActorRef member1ActorRef; protected TestActorRef member2ActorRef; protected TestActorRef member3ActorRef; @@ -214,7 +216,8 @@ public class AbstractLeaderElectionScenarioTest { } TestActorRef newMemberActor(String name) throws Exception { - TestActorRef actor = TestActorRef.create(system, MemberActor.props(), name); + TestActorRef actor = factory.createTestActor(MemberActor.props(). + withDispatcher(Dispatchers.DefaultDispatcherId()), name); MessageCollectorActor.waitUntilReady(actor); return actor; } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/DistributedEntityOwnershipIntegrationTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/DistributedEntityOwnershipIntegrationTest.java index 744ad220e3..8567512e97 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/DistributedEntityOwnershipIntegrationTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/DistributedEntityOwnershipIntegrationTest.java @@ -13,6 +13,7 @@ import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; import static org.mockito.AdditionalMatchers.or; import static org.mockito.Mockito.doNothing; +import static org.mockito.Mockito.never; import static org.mockito.Mockito.reset; import static org.mockito.Mockito.timeout; import static org.mockito.Mockito.verify; @@ -174,7 +175,8 @@ public class DistributedEntityOwnershipIntegrationTest { leaderEntityOwnershipService.registerCandidate(ENTITY1_2); verify(leaderMockListener2, timeout(5000)).ownershipChanged(ownershipChange(ENTITY1_2, false, true, true)); - verify(leaderMockListener, timeout(300).never()).ownershipChanged(ownershipChange(ENTITY1_2)); + Uninterruptibles.sleepUninterruptibly(300, TimeUnit.MILLISECONDS); + verify(leaderMockListener, never()).ownershipChanged(ownershipChange(ENTITY1_2)); reset(leaderMockListener2); // Register follower1 candidate for entity1 and verify it gets added but doesn't become owner @@ -182,8 +184,9 @@ public class DistributedEntityOwnershipIntegrationTest { follower1EntityOwnershipService.registerCandidate(ENTITY1); verifyCandidates(leaderDistributedDataStore, ENTITY1, "member-1", "member-2"); verifyOwner(leaderDistributedDataStore, ENTITY1, "member-1"); - verify(leaderMockListener, timeout(300).never()).ownershipChanged(ownershipChange(ENTITY1)); - verify(follower1MockListener, timeout(300).never()).ownershipChanged(ownershipChange(ENTITY1)); + Uninterruptibles.sleepUninterruptibly(300, TimeUnit.MILLISECONDS); + verify(leaderMockListener, never()).ownershipChanged(ownershipChange(ENTITY1)); + verify(follower1MockListener, never()).ownershipChanged(ownershipChange(ENTITY1)); // Register follower1 candidate for entity2 and verify it becomes owner @@ -452,7 +455,8 @@ public class DistributedEntityOwnershipIntegrationTest { // Register a candidate for follower1 - should get queued since follower1 has no leader EntityOwnershipCandidateRegistration candidateReg = follower1EntityOwnershipService.registerCandidate(ENTITY1); - verify(leaderMockListener, timeout(300).never()).ownershipChanged(ownershipChange(ENTITY1)); + Uninterruptibles.sleepUninterruptibly(300, TimeUnit.MILLISECONDS); + verify(leaderMockListener, never()).ownershipChanged(ownershipChange(ENTITY1)); // Add replica in follower1 AddShardReplica addReplica = new AddShardReplica(ENTITY_OWNERSHIP_SHARD_NAME); diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipListenerSupportTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipListenerSupportTest.java index 9e41757be1..27fe827e2c 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipListenerSupportTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipListenerSupportTest.java @@ -19,8 +19,10 @@ import akka.actor.ActorRef; import akka.actor.Props; import akka.testkit.JavaTestKit; import akka.testkit.TestActorRef; +import com.google.common.util.concurrent.Uninterruptibles; import java.util.ArrayList; import java.util.List; +import java.util.concurrent.TimeUnit; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -82,7 +84,8 @@ public class EntityOwnershipListenerSupportTest extends AbstractEntityOwnershipT verify(mockListener1, timeout(5000)).ownershipChanged(ownershipChange(entity1, false, true, true)); verify(mockListener1_2, timeout(5000)).ownershipChanged(ownershipChange(entity1, false, true, true)); - verify(mockListener2, timeout(300).never()).ownershipChanged(any(EntityOwnershipChange.class)); + Uninterruptibles.sleepUninterruptibly(300, TimeUnit.MILLISECONDS); + verify(mockListener2, never()).ownershipChanged(any(EntityOwnershipChange.class)); assertEquals("# of listener actors", 2, actorContext.children().size()); reset(mockListener1, mockListener2, mockListener1_2); @@ -91,7 +94,8 @@ public class EntityOwnershipListenerSupportTest extends AbstractEntityOwnershipT support.notifyEntityOwnershipListeners(entity2, false, true, true); verify(mockListener2, timeout(5000)).ownershipChanged(ownershipChange(entity2, false, true, true)); - verify(mockListener1, timeout(300).never()).ownershipChanged(any(EntityOwnershipChange.class)); + Uninterruptibles.sleepUninterruptibly(300, TimeUnit.MILLISECONDS); + verify(mockListener1, never()).ownershipChanged(any(EntityOwnershipChange.class)); verify(mockListener1_2, never()).ownershipChanged(any(EntityOwnershipChange.class)); assertEquals("# of listener actors", 3, actorContext.children().size()); reset(mockListener1, mockListener2, mockListener1_2); @@ -100,7 +104,8 @@ public class EntityOwnershipListenerSupportTest extends AbstractEntityOwnershipT support.notifyEntityOwnershipListeners(entity3, true, false, true); - verify(mockListener1, timeout(300).never()).ownershipChanged(any(EntityOwnershipChange.class)); + Uninterruptibles.sleepUninterruptibly(300, TimeUnit.MILLISECONDS); + verify(mockListener1, never()).ownershipChanged(any(EntityOwnershipChange.class)); verify(mockListener2, never()).ownershipChanged(any(EntityOwnershipChange.class)); verify(mockListener1_2, never()).ownershipChanged(any(EntityOwnershipChange.class)); reset(mockListener1, mockListener2, mockListener1_2); @@ -114,7 +119,8 @@ public class EntityOwnershipListenerSupportTest extends AbstractEntityOwnershipT support.notifyEntityOwnershipListeners(entity1, true, false, true); verify(mockListener1_2, timeout(5000)).ownershipChanged(ownershipChange(entity1, true, false, true)); - verify(mockListener1, timeout(300).never()).ownershipChanged(any(EntityOwnershipChange.class)); + Uninterruptibles.sleepUninterruptibly(300, TimeUnit.MILLISECONDS); + verify(mockListener1, never()).ownershipChanged(any(EntityOwnershipChange.class)); reset(mockListener1, mockListener2, mockListener1_2); // Unregister all listeners and verify their listener actors are destroyed.