import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
+import akka.actor.ActorSelection;
import akka.actor.ActorSystem;
import akka.actor.Address;
import akka.actor.Props;
import akka.testkit.JavaTestKit;
import akka.testkit.TestActorRef;
import com.typesafe.config.ConfigFactory;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
import java.util.Map;
import org.junit.After;
import org.junit.AfterClass;
@Test
public void testReceiveGossipTick_WhenNoRemoteMemberShouldIgnore() {
-
- mockGossiper.setClusterMembers(Collections.<Address>emptyList());
- doNothing().when(mockGossiper).getLocalStatusAndSendTo(any(Address.class));
+ mockGossiper.setClusterMembers();
+ doNothing().when(mockGossiper).getLocalStatusAndSendTo(any(ActorSelection.class));
mockGossiper.receiveGossipTick();
- verify(mockGossiper, times(0)).getLocalStatusAndSendTo(any(Address.class));
+ verify(mockGossiper, times(0)).getLocalStatusAndSendTo(any(ActorSelection.class));
}
@Test
public void testReceiveGossipTick_WhenRemoteMemberExistsShouldSendStatus() {
- List<Address> members = new ArrayList<>();
- Address remote = new Address("tcp", "member");
- members.add(remote);
-
- mockGossiper.setClusterMembers(members);
- doNothing().when(mockGossiper).getLocalStatusAndSendTo(any(Address.class));
+ mockGossiper.setClusterMembers(new Address("tcp", "member"));
+ doNothing().when(mockGossiper).getLocalStatusAndSendTo(any(ActorSelection.class));
mockGossiper.receiveGossipTick();
- verify(mockGossiper, times(1)).getLocalStatusAndSendTo(any(Address.class));
+ verify(mockGossiper, times(1)).getLocalStatusAndSendTo(any(ActorSelection.class));
}
@SuppressWarnings("unchecked")
GossipStatus remoteStatus = new GossipStatus(nonMember, mock(Map.class));
//add a member
- List<Address> members = new ArrayList<>();
- members.add(new Address("tcp", "member"));
-
- mockGossiper.setClusterMembers(members);
+ mockGossiper.setClusterMembers(new Address("tcp", "member"));
mockGossiper.receiveGossipStatus(remoteStatus);
verify(mockGossiper, times(0)).getSender();
}
* @return instance of Gossiper class
*/
private static Gossiper createGossiper() {
- final Props props = Props.create(Gossiper.class, false,
- new RemoteRpcProviderConfig(system.settings().config()));
+ final Props props = Gossiper.testProps(new RemoteRpcProviderConfig(system.settings().config()));
final TestActorRef<Gossiper> testRef = TestActorRef.create(system, props, "testGossiper");
return testRef.underlyingActor();