X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Futils%2FMockClusterWrapper.java;h=36ac74b0c4d6766415ee0b0710387a37379b6ddd;hp=7749eaa837ec3a4985d01ae983c89d99787f2f74;hb=f202ef2398038327618b69795249f51f5f2343b0;hpb=d255fdd0b14660a22ff63771d954ac3fe5d0cb7e 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 7749eaa837..36ac74b0c4 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,15 +9,88 @@ package org.opendaylight.controller.cluster.datastore.utils; import akka.actor.ActorRef; +import akka.actor.Address; +import akka.actor.AddressFromURIString; +import akka.cluster.ClusterEvent.MemberRemoved; +import akka.cluster.ClusterEvent.MemberUp; +import akka.cluster.ClusterEvent.ReachableMember; +import akka.cluster.ClusterEvent.UnreachableMember; +import akka.cluster.Member; +import akka.cluster.MemberStatus; +import akka.cluster.UniqueAddress; +import org.opendaylight.controller.cluster.access.concepts.MemberName; import org.opendaylight.controller.cluster.datastore.ClusterWrapper; +import scala.collection.immutable.Set; -public class MockClusterWrapper implements ClusterWrapper{ +public class MockClusterWrapper implements ClusterWrapper { - @Override public void subscribeToMemberEvents(ActorRef actorRef) { - throw new UnsupportedOperationException("subscribeToMemberEvents"); + private Address selfAddress = new Address("akka", "test", "127.0.0.1", 2550); + private final MemberName currentMemberName; + + public MockClusterWrapper() { + this("member-1"); + } + + public MockClusterWrapper(final String currentMemberName) { + this.currentMemberName = MemberName.forName(currentMemberName); + } + + @Override + public void subscribeToMemberEvents(final ActorRef actorRef) { + } + + @Override + public MemberName getCurrentMemberName() { + return currentMemberName; + } + + @Override + public Address getSelfAddress() { + return selfAddress; + } + + public void setSelfAddress(final Address selfAddress) { + this.selfAddress = selfAddress; + } + + public static void sendMemberUp(final ActorRef to, final String memberName, final String address) { + to.tell(createMemberUp(memberName, address), null); + } + + public static void sendMemberRemoved(final ActorRef to, final String memberName, final String address) { + to.tell(createMemberRemoved(memberName, address), null); + } + + public static MemberRemoved createMemberRemoved(final String memberName, final String address) { + UniqueAddress uniqueAddress = new UniqueAddress(AddressFromURIString.parse(address), 55L); + Member member = new Member(uniqueAddress, 1, MemberStatus.removed(), setOf(memberName)); + + return new MemberRemoved(member, MemberStatus.up()); + } + + public static MemberUp createMemberUp(final String memberName, final String address) { + UniqueAddress uniqueAddress = new UniqueAddress(AddressFromURIString.parse(address), 55L); + Member member = new Member(uniqueAddress, 1, MemberStatus.up(), setOf(memberName)); + + return new MemberUp(member); + } + + public static UnreachableMember createUnreachableMember(final String memberName, final String address) { + UniqueAddress uniqueAddress = new UniqueAddress(AddressFromURIString.parse(address), 55L); + Member member = new Member(uniqueAddress, 1, MemberStatus.up(), setOf(memberName)); + + return new UnreachableMember(member); + } + + public static ReachableMember createReachableMember(final String memberName, final String address) { + UniqueAddress uniqueAddress = new UniqueAddress(AddressFromURIString.parse(address), 55L); + Member member = new Member(uniqueAddress, 1, MemberStatus.up(), setOf(memberName)); + + return new ReachableMember(member); } - @Override public String getCurrentMemberName() { - return "member-1"; + @SuppressWarnings("unchecked") + private static Set setOf(final String str) { + return scala.collection.immutable.Set$.MODULE$.newBuilder().$plus$eq(str).result(); } }