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=b80506d17d2efa61f5ae5673d3687dc67501bdee;hp=7749eaa837ec3a4985d01ae983c89d99787f2f74;hb=b5167b9bc04f2792b275cfe0eac78c0f5eb9442d;hpb=fe4049d34de103016d11f3a9050853c6380646d3 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..b80506d17d 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,73 @@ package org.opendaylight.controller.cluster.datastore.utils; import akka.actor.ActorRef; +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; public class MockClusterWrapper implements ClusterWrapper{ - @Override public void subscribeToMemberEvents(ActorRef actorRef) { - throw new UnsupportedOperationException("subscribeToMemberEvents"); + private String selfAddress = "akka.tcp://test@127.0.0.1:2550/user/member-1-shard-test-config"; + + @Override + public void subscribeToMemberEvents(ActorRef actorRef) { } - @Override public String getCurrentMemberName() { + @Override + public String getCurrentMemberName() { return "member-1"; } + + @Override + public String getSelfAddress() { + return selfAddress; + } + + public void setSelfAddress(String 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); + } }