BUG-2637: migration consequence - fix unit test
[controller.git] / opendaylight / md-sal / statistics-manager / src / test / java / test / mock / util / OpendaylightGroupStatisticsServiceMock.java
1 package test.mock.util;
2
3 import com.google.common.util.concurrent.Futures;
4 import java.math.BigInteger;
5 import java.util.ArrayList;
6 import java.util.List;
7 import java.util.concurrent.Future;
8 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.transaction.rev131103.TransactionId;
9 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.GetAllGroupStatisticsInput;
10 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.GetAllGroupStatisticsOutput;
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.GetAllGroupStatisticsOutputBuilder;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.GetGroupDescriptionInput;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.GetGroupDescriptionOutput;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.GetGroupDescriptionOutputBuilder;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.GetGroupFeaturesInput;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.GetGroupFeaturesOutput;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.GetGroupFeaturesOutputBuilder;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.GetGroupStatisticsInput;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.GetGroupStatisticsOutput;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.GetGroupStatisticsOutputBuilder;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.GroupDescStatsUpdatedBuilder;
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.GroupFeaturesUpdatedBuilder;
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.GroupStatisticsUpdatedBuilder;
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.OpendaylightGroupStatisticsService;
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.desc.stats.reply.GroupDescStats;
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.desc.stats.reply.GroupDescStatsBuilder;
27 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.desc.stats.reply.GroupDescStatsKey;
28 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.statistics.reply.GroupStats;
29 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.statistics.reply.GroupStatsBuilder;
30 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.statistics.reply.GroupStatsKey;
31 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
32 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
33 import org.opendaylight.yangtools.yang.common.RpcResult;
34 import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
35
36 public class OpendaylightGroupStatisticsServiceMock implements OpendaylightGroupStatisticsService {
37     NotificationProviderServiceHelper notifService;
38
39     public OpendaylightGroupStatisticsServiceMock(NotificationProviderServiceHelper notifService) {
40         this.notifService = notifService;
41     }
42
43     @Override
44     public Future<RpcResult<GetAllGroupStatisticsOutput>> getAllGroupStatistics(GetAllGroupStatisticsInput input) {
45         GetAllGroupStatisticsOutputBuilder builder = new GetAllGroupStatisticsOutputBuilder();
46         TransactionId transId = new TransactionId(BigInteger.valueOf(TestUtils.getNewTransactionId()));
47         builder.setTransactionId(transId);
48         List<GroupStats> groupStats = new ArrayList<>();
49         GroupStatsBuilder gsBuilder = new GroupStatsBuilder();
50         GroupStatisticsUpdatedBuilder gsuBuilder = new GroupStatisticsUpdatedBuilder();
51         gsBuilder.setKey(new GroupStatsKey(StatisticsManagerTest.getGroup().getGroupId()));
52         gsBuilder.setByteCount(StatisticsManagerTest.COUNTER_64_TEST_VALUE);
53         groupStats.add(gsBuilder.build());
54         builder.setGroupStats(groupStats);
55         gsuBuilder.setTransactionId(transId);
56         gsuBuilder.setMoreReplies(false);
57         gsuBuilder.setId(input.getNode().getValue().firstKeyOf(Node.class, NodeKey.class).getId());
58         gsuBuilder.setGroupStats(groupStats);
59         notifService.pushDelayedNotification(gsuBuilder.build(), 500);
60         return Futures.immediateFuture(RpcResultBuilder.success(builder.build()).build());
61     }
62
63     @Override
64     public Future<RpcResult<GetGroupDescriptionOutput>> getGroupDescription(GetGroupDescriptionInput input) {
65         GetGroupDescriptionOutputBuilder builder = new GetGroupDescriptionOutputBuilder();
66         TransactionId transId = new TransactionId(BigInteger.valueOf(TestUtils.getNewTransactionId()));
67         builder.setTransactionId(transId);
68         List<GroupDescStats> groupDescStats = new ArrayList<>();
69         GroupDescStatsUpdatedBuilder gdsuBuilder = new GroupDescStatsUpdatedBuilder();
70         GroupDescStatsBuilder gdsBuilder = new GroupDescStatsBuilder();
71         gdsBuilder.setKey(new GroupDescStatsKey(StatisticsManagerTest.getGroup().getGroupId()));
72         gdsBuilder.setBuckets(StatisticsManagerTest.getGroup().getBuckets());
73         gdsBuilder.setContainerName(StatisticsManagerTest.getGroup().getContainerName());
74         gdsBuilder.setGroupName(StatisticsManagerTest.getGroup().getGroupName());
75         gdsBuilder.setGroupType(StatisticsManagerTest.getGroup().getGroupType());
76         groupDescStats.add(gdsBuilder.build());
77         builder.setGroupDescStats(groupDescStats);
78         gdsuBuilder.setTransactionId(transId);
79         gdsuBuilder.setMoreReplies(false);
80         gdsuBuilder.setId(input.getNode().getValue().firstKeyOf(Node.class, NodeKey.class).getId());
81         gdsuBuilder.setGroupDescStats(groupDescStats);
82         notifService.pushDelayedNotification(gdsuBuilder.build(), 100);
83         return Futures.immediateFuture(RpcResultBuilder.success(builder.build()).build());
84     }
85
86     @Override
87     public Future<RpcResult<GetGroupFeaturesOutput>> getGroupFeatures(GetGroupFeaturesInput input) {
88         GetGroupFeaturesOutputBuilder builder = new GetGroupFeaturesOutputBuilder();
89         TransactionId transId = new TransactionId(BigInteger.valueOf(TestUtils.getNewTransactionId()));
90         builder.setTransactionId(transId);
91         GroupFeaturesUpdatedBuilder gfuBuilder = new GroupFeaturesUpdatedBuilder();
92         gfuBuilder.setTransactionId(transId);
93         gfuBuilder.setId(input.getNode().getValue().firstKeyOf(Node.class, NodeKey.class).getId());
94         gfuBuilder.setMoreReplies(false);
95         List<Long> maxGroups = new ArrayList<>();
96         maxGroups.add(StatisticsManagerTest.MAX_GROUPS_TEST_VALUE);
97         gfuBuilder.setMaxGroups(maxGroups);
98         notifService.pushDelayedNotification(gfuBuilder.build(), 100);
99         return Futures.immediateFuture(RpcResultBuilder.success(builder.build()).build());
100     }
101
102     @Override
103     public Future<RpcResult<GetGroupStatisticsOutput>> getGroupStatistics(GetGroupStatisticsInput input) {
104         GetGroupStatisticsOutputBuilder builder = new GetGroupStatisticsOutputBuilder();
105         TransactionId transId = new TransactionId(BigInteger.valueOf(TestUtils.getNewTransactionId()));
106         builder.setTransactionId(transId);
107         GroupStatsBuilder gsBuilder = new GroupStatsBuilder();
108         List<GroupStats> groupStats = new ArrayList<>();
109         gsBuilder.setKey(new GroupStatsKey(input.getGroupId()));
110         gsBuilder.setByteCount(StatisticsManagerTest.COUNTER_64_TEST_VALUE);
111         groupStats.add(gsBuilder.build());
112         GroupStatisticsUpdatedBuilder gsuBuilder = new GroupStatisticsUpdatedBuilder();
113         gsuBuilder.setTransactionId(transId);
114         gsuBuilder.setMoreReplies(false);
115         gsuBuilder.setId(input.getNode().getValue().firstKeyOf(Node.class, NodeKey.class).getId());
116         gsuBuilder.setGroupStats(groupStats);
117         notifService.pushDelayedNotification(gsuBuilder.build(), 100);
118         return Futures.immediateFuture(RpcResultBuilder.success(builder.build()).build());
119     }
120 }