Bug 2175 - Migrate frm, statistics and inventory manager to config subsystem
[controller.git] / opendaylight / md-sal / statistics-manager / src / test / java / test / mock / util / OpendaylightMeterStatisticsServiceMock.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.inventory.rev130819.nodes.Node;
10 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetAllMeterConfigStatisticsInput;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetAllMeterConfigStatisticsOutput;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetAllMeterConfigStatisticsOutputBuilder;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetAllMeterStatisticsInput;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetAllMeterStatisticsOutput;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetAllMeterStatisticsOutputBuilder;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetMeterFeaturesInput;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetMeterFeaturesOutput;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetMeterFeaturesOutputBuilder;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetMeterStatisticsInput;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetMeterStatisticsOutput;
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetMeterStatisticsOutputBuilder;
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.MeterConfigStatsUpdatedBuilder;
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.MeterFeaturesUpdatedBuilder;
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.MeterStatisticsUpdatedBuilder;
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.OpendaylightMeterStatisticsService;
27 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.config.stats.reply.MeterConfigStats;
28 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.config.stats.reply.MeterConfigStatsBuilder;
29 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.statistics.reply.MeterStats;
30 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.statistics.reply.MeterStatsBuilder;
31 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.statistics.reply.MeterStatsKey;
32 import org.opendaylight.yangtools.yang.common.RpcResult;
33 import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
34
35 public class OpendaylightMeterStatisticsServiceMock implements OpendaylightMeterStatisticsService {
36     NotificationProviderServiceHelper notifService;
37
38     public OpendaylightMeterStatisticsServiceMock(NotificationProviderServiceHelper notifService) {
39         this.notifService = notifService;
40     }
41
42     @Override
43     public Future<RpcResult<GetAllMeterConfigStatisticsOutput>> getAllMeterConfigStatistics(GetAllMeterConfigStatisticsInput input) {
44         GetAllMeterConfigStatisticsOutputBuilder builder = new GetAllMeterConfigStatisticsOutputBuilder();
45         TransactionId transId = new TransactionId(BigInteger.valueOf(TestUtils.getNewTransactionId()));
46         builder.setTransactionId(transId);
47         List<MeterConfigStats> meterConfigStats = new ArrayList<>();
48         MeterConfigStatsBuilder mcsBuilder = new MeterConfigStatsBuilder();
49         mcsBuilder.setMeterId(StatisticsManagerTest.getMeter().getMeterId());
50         mcsBuilder.setMeterName(StatisticsManagerTest.getMeter().getMeterName());
51         mcsBuilder.setContainerName(StatisticsManagerTest.getMeter().getContainerName());
52         meterConfigStats.add(mcsBuilder.build());
53         builder.setMeterConfigStats(meterConfigStats);
54         MeterConfigStatsUpdatedBuilder mscuBuilder = new MeterConfigStatsUpdatedBuilder();
55         mscuBuilder.setTransactionId(transId);
56         mscuBuilder.setMoreReplies(false);
57         mscuBuilder.setId(input.getNode().getValue().firstKeyOf(Node.class, NodeKey.class).getId());
58         mscuBuilder.setMeterConfigStats(meterConfigStats);
59         notifService.pushDelayedNotification(mscuBuilder.build(), 100);
60         return Futures.immediateFuture(RpcResultBuilder.success(builder.build()).build());
61     }
62
63     @Override
64     public Future<RpcResult<GetAllMeterStatisticsOutput>> getAllMeterStatistics(GetAllMeterStatisticsInput input) {
65         GetAllMeterStatisticsOutputBuilder builder = new GetAllMeterStatisticsOutputBuilder();
66         TransactionId transId = new TransactionId(BigInteger.valueOf(TestUtils.getNewTransactionId()));
67         builder.setTransactionId(transId);
68         MeterStatsBuilder msBuilder = new MeterStatsBuilder();
69         msBuilder.setByteInCount(StatisticsManagerTest.COUNTER_64_TEST_VALUE);
70         msBuilder.setPacketInCount(StatisticsManagerTest.COUNTER_64_TEST_VALUE);
71         msBuilder.setKey(new MeterStatsKey(StatisticsManagerTest.getMeter().getMeterId()));
72         List<MeterStats> meterStats = new ArrayList<>();
73         meterStats.add(msBuilder.build());
74         MeterStatisticsUpdatedBuilder msuBuilder = new MeterStatisticsUpdatedBuilder();
75         msuBuilder.setTransactionId(transId);
76         msuBuilder.setMoreReplies(false);
77         msuBuilder.setMeterStats(meterStats);
78         msuBuilder.setId(input.getNode().getValue().firstKeyOf(Node.class, NodeKey.class).getId());
79         notifService.pushDelayedNotification(msuBuilder.build(), 100);
80         return Futures.immediateFuture(RpcResultBuilder.success(builder.build()).build());
81     }
82
83     @Override
84     public Future<RpcResult<GetMeterFeaturesOutput>> getMeterFeatures(GetMeterFeaturesInput input) {
85         GetMeterFeaturesOutputBuilder builder = new GetMeterFeaturesOutputBuilder();
86         TransactionId transId = new TransactionId(BigInteger.valueOf(TestUtils.getNewTransactionId()));
87         builder.setTransactionId(transId);
88         MeterFeaturesUpdatedBuilder mfuBuilder = new MeterFeaturesUpdatedBuilder();
89         mfuBuilder.setTransactionId(transId);
90         mfuBuilder.setMoreReplies(false);
91         mfuBuilder.setId(input.getNode().getValue().firstKeyOf(Node.class, NodeKey.class).getId());
92         mfuBuilder.setMaxMeter(StatisticsManagerTest.COUNTER_32_TEST_VALUE);
93         notifService.pushDelayedNotification(mfuBuilder.build(), 100);
94         return Futures.immediateFuture(RpcResultBuilder.success(builder.build()).build());
95     }
96
97     @Override
98     public Future<RpcResult<GetMeterStatisticsOutput>> getMeterStatistics(GetMeterStatisticsInput input) {
99         GetMeterStatisticsOutputBuilder builder = new GetMeterStatisticsOutputBuilder();
100         TransactionId transId = new TransactionId(BigInteger.valueOf(TestUtils.getNewTransactionId()));
101         builder.setTransactionId(transId);
102         MeterStatsBuilder msBuilder = new MeterStatsBuilder();
103         msBuilder.setKey(new MeterStatsKey(input.getMeterId()));
104         msBuilder.setByteInCount(StatisticsManagerTest.COUNTER_64_TEST_VALUE);
105         msBuilder.setPacketInCount(StatisticsManagerTest.COUNTER_64_TEST_VALUE);
106         List<MeterStats> meterStats = new ArrayList<>();
107         meterStats.add(msBuilder.build());
108         MeterStatisticsUpdatedBuilder msuBuilder = new MeterStatisticsUpdatedBuilder();
109         msuBuilder.setTransactionId(transId);
110         msuBuilder.setMoreReplies(false);
111         msuBuilder.setMeterStats(meterStats);
112         msuBuilder.setId(input.getNode().getValue().firstKeyOf(Node.class, NodeKey.class).getId());
113         notifService.pushDelayedNotification(msuBuilder.build(), 100);
114         return Futures.immediateFuture(RpcResultBuilder.success(builder.build()).build());
115     }
116 }