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=810b270cfcee82aab53ca55f96a777e87bdc3141;hp=7749eaa837ec3a4985d01ae983c89d99787f2f74;hb=c747a3f05a7f68f0e2e35720db8ffab6a59827fb;hpb=9340a64d067473032111bd8c3341ea6855cd9e4a 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..810b270cfc 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,82 @@ 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 java.util.HashSet; +import java.util.Set; import org.opendaylight.controller.cluster.datastore.ClusterWrapper; +import scala.collection.JavaConversions; public class MockClusterWrapper implements ClusterWrapper{ - @Override public void subscribeToMemberEvents(ActorRef actorRef) { - throw new UnsupportedOperationException("subscribeToMemberEvents"); + private Address selfAddress = new Address("akka.tcp", "test", "127.0.0.1", 2550); + private String currentMemberName = "member-1"; + + public MockClusterWrapper() { + } + + public MockClusterWrapper(String currentMemberName) { + this.currentMemberName = currentMemberName; + } + + @Override + public void subscribeToMemberEvents(ActorRef actorRef) { + } + + @Override + public String getCurrentMemberName() { + return currentMemberName; } - @Override public String getCurrentMemberName() { - return "member-1"; + @Override + public Address getSelfAddress() { + return selfAddress; + } + + public void setSelfAddress(Address selfAddress) { + this.selfAddress = selfAddress; + } + + public static void sendMemberUp(ActorRef to, String memberName, String address){ + to.tell(createMemberUp(memberName, address), null); + } + + public static void sendMemberRemoved(ActorRef to, String memberName, String address){ + to.tell(createMemberRemoved(memberName, address), null); + } + + private static ClusterEvent.MemberRemoved createMemberRemoved(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 + .removed(), + JavaConversions.asScalaSet(roles).toSet()); + + return new ClusterEvent.MemberRemoved(member, MemberStatus.up()); + + } + + + private static ClusterEvent.MemberUp createMemberUp(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.MemberUp(member); } }