X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Futils%2FMockClusterWrapper.java;h=4751d91a3e7d165c7f4ac52fbf70ceaa186cf4e2;hb=93e6f3bfc003d4ce2d968761dff963615a0b799d;hp=803aa03b7c722311588a5514c2191796b3b9278c;hpb=17d82f582a6bc13c78be3b19954ff8c021180e93;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/utils/MockClusterWrapper.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/utils/MockClusterWrapper.java index 803aa03b7c..4751d91a3e 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/utils/MockClusterWrapper.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/utils/MockClusterWrapper.java @@ -9,23 +9,46 @@ package org.opendaylight.controller.cluster.datastore.utils; import akka.actor.ActorRef; +import akka.actor.Address; import akka.actor.AddressFromURIString; import akka.cluster.ClusterEvent; import akka.cluster.MemberStatus; import akka.cluster.UniqueAddress; -import org.opendaylight.controller.cluster.datastore.ClusterWrapper; -import scala.collection.JavaConversions; - import java.util.HashSet; import java.util.Set; +import org.opendaylight.controller.cluster.access.concepts.MemberName; +import org.opendaylight.controller.cluster.datastore.ClusterWrapper; +import scala.collection.JavaConversions; public class MockClusterWrapper implements ClusterWrapper{ - @Override public void subscribeToMemberEvents(ActorRef actorRef) { + private Address selfAddress = new Address("akka.tcp", "test", "127.0.0.1", 2550); + private final MemberName currentMemberName; + + public MockClusterWrapper() { + this("member-1"); + } + + public MockClusterWrapper(String currentMemberName) { + this.currentMemberName = MemberName.forName(currentMemberName); + } + + @Override + public void subscribeToMemberEvents(ActorRef actorRef) { } - @Override public String getCurrentMemberName() { - return "member-1"; + @Override + public MemberName getCurrentMemberName() { + return currentMemberName; + } + + @Override + public Address getSelfAddress() { + return selfAddress; + } + + public void setSelfAddress(Address selfAddress) { + this.selfAddress = selfAddress; } public static void sendMemberUp(ActorRef to, String memberName, String address){ @@ -36,7 +59,7 @@ public class MockClusterWrapper implements ClusterWrapper{ to.tell(createMemberRemoved(memberName, address), null); } - private static ClusterEvent.MemberRemoved createMemberRemoved(String memberName, String address) { + public static ClusterEvent.MemberRemoved createMemberRemoved(String memberName, String address) { akka.cluster.UniqueAddress uniqueAddress = new UniqueAddress( AddressFromURIString.parse(address), 55); @@ -53,7 +76,7 @@ public class MockClusterWrapper implements ClusterWrapper{ } - private static ClusterEvent.MemberUp createMemberUp(String memberName, String address) { + public static ClusterEvent.MemberUp createMemberUp(String memberName, String address) { akka.cluster.UniqueAddress uniqueAddress = new UniqueAddress( AddressFromURIString.parse(address), 55); @@ -66,4 +89,32 @@ public class MockClusterWrapper implements ClusterWrapper{ return new ClusterEvent.MemberUp(member); } + + public static ClusterEvent.UnreachableMember createUnreachableMember(String memberName, String address) { + akka.cluster.UniqueAddress uniqueAddress = new UniqueAddress( + AddressFromURIString.parse(address), 55); + + Set roles = new HashSet<>(); + + roles.add(memberName); + + akka.cluster.Member member = new akka.cluster.Member(uniqueAddress, 1, MemberStatus.up(), + JavaConversions.asScalaSet(roles).toSet()); + + return new ClusterEvent.UnreachableMember(member); + } + + public static ClusterEvent.ReachableMember createReachableMember(String memberName, String address) { + akka.cluster.UniqueAddress uniqueAddress = new UniqueAddress( + AddressFromURIString.parse(address), 55); + + Set roles = new HashSet<>(); + + roles.add(memberName); + + akka.cluster.Member member = new akka.cluster.Member(uniqueAddress, 1, MemberStatus.up(), + JavaConversions.asScalaSet(roles).toSet()); + + return new ClusterEvent.ReachableMember(member); + } }