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());
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;
protected final Logger testLog = LoggerFactory.getLogger(MockRaftActorContext.class);
protected final ActorSystem system = ActorSystem.create("test");
+ protected final TestActorFactory factory = new TestActorFactory(system);
protected TestActorRef<MemberActor> member1ActorRef;
protected TestActorRef<MemberActor> member2ActorRef;
protected TestActorRef<MemberActor> member3ActorRef;
}
TestActorRef<MemberActor> newMemberActor(String name) throws Exception {
- TestActorRef<MemberActor> actor = TestActorRef.create(system, MemberActor.props(), name);
+ TestActorRef<MemberActor> actor = factory.createTestActor(MemberActor.props().
+ withDispatcher(Dispatchers.DefaultDispatcherId()), name);
MessageCollectorActor.waitUntilReady(actor);
return actor;
}
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;
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
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
// 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);
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;
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);
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);
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);
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.