Improve segmented journal actor metrics
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / test / java / org / opendaylight / controller / cluster / datastore / utils / MockClusterWrapper.java
1 /*
2  * Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.controller.cluster.datastore.utils;
9
10 import akka.actor.ActorRef;
11 import akka.actor.Address;
12 import akka.actor.AddressFromURIString;
13 import akka.cluster.ClusterEvent.MemberRemoved;
14 import akka.cluster.ClusterEvent.MemberUp;
15 import akka.cluster.ClusterEvent.ReachableMember;
16 import akka.cluster.ClusterEvent.UnreachableMember;
17 import akka.cluster.Member;
18 import akka.cluster.MemberStatus;
19 import akka.cluster.UniqueAddress;
20 import org.opendaylight.controller.cluster.access.concepts.MemberName;
21 import org.opendaylight.controller.cluster.datastore.ClusterWrapper;
22 import scala.collection.immutable.Set.Set1;
23
24 public class MockClusterWrapper implements ClusterWrapper {
25
26     private Address selfAddress = new Address("akka", "test", "127.0.0.1", 2550);
27     private final MemberName currentMemberName;
28
29     public MockClusterWrapper() {
30         this("member-1");
31     }
32
33     public MockClusterWrapper(final String currentMemberName) {
34         this.currentMemberName = MemberName.forName(currentMemberName);
35     }
36
37     @Override
38     public void subscribeToMemberEvents(final ActorRef actorRef) {
39     }
40
41     @Override
42     public MemberName getCurrentMemberName() {
43         return currentMemberName;
44     }
45
46     @Override
47     public Address getSelfAddress() {
48         return selfAddress;
49     }
50
51     public void setSelfAddress(final Address selfAddress) {
52         this.selfAddress = selfAddress;
53     }
54
55     public static void sendMemberUp(final ActorRef to, final String memberName, final String address) {
56         to.tell(createMemberUp(memberName, address), null);
57     }
58
59     public static void sendMemberRemoved(final ActorRef to, final String memberName, final String address) {
60         to.tell(createMemberRemoved(memberName, address), null);
61     }
62
63     public static MemberRemoved createMemberRemoved(final String memberName, final String address) {
64         UniqueAddress uniqueAddress = new UniqueAddress(AddressFromURIString.parse(address), 55L);
65         Member member = new Member(uniqueAddress, 1, MemberStatus.removed(), new Set1<>(memberName));
66
67         return new MemberRemoved(member, MemberStatus.up());
68     }
69
70     public static MemberUp createMemberUp(final String memberName, final String address) {
71         UniqueAddress uniqueAddress = new UniqueAddress(AddressFromURIString.parse(address), 55L);
72         Member member = new Member(uniqueAddress, 1, MemberStatus.up(), new Set1<>(memberName));
73
74         return new MemberUp(member);
75     }
76
77     public static UnreachableMember createUnreachableMember(final String memberName, final String address) {
78         UniqueAddress uniqueAddress = new UniqueAddress(AddressFromURIString.parse(address), 55L);
79         Member member = new Member(uniqueAddress, 1, MemberStatus.up(), new Set1<>(memberName));
80
81         return new UnreachableMember(member);
82     }
83
84     public static ReachableMember createReachableMember(final String memberName, final String address) {
85         UniqueAddress uniqueAddress = new UniqueAddress(AddressFromURIString.parse(address), 55L);
86         Member member = new Member(uniqueAddress, 1, MemberStatus.up(), new Set1<>(memberName));
87
88         return new ReachableMember(member);
89     }
90 }