Bug 2175 - Migrate frm, statistics and inventory manager to config subsystem
[controller.git] / opendaylight / md-sal / statistics-manager / src / test / java / test / mock / util / OpendaylightQueueStatisticsServiceMock.java
1 package test.mock.util;
2
3 import com.google.common.util.concurrent.Futures;
4 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.transaction.rev131103.TransactionId;
5 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
6 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
7 import org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.GetAllQueuesStatisticsFromAllPortsInput;
8 import org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.GetAllQueuesStatisticsFromAllPortsOutput;
9 import org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.GetAllQueuesStatisticsFromAllPortsOutputBuilder;
10 import org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.GetAllQueuesStatisticsFromGivenPortInput;
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.GetAllQueuesStatisticsFromGivenPortOutput;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.GetAllQueuesStatisticsFromGivenPortOutputBuilder;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.GetQueueStatisticsFromGivenPortInput;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.GetQueueStatisticsFromGivenPortOutput;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.GetQueueStatisticsFromGivenPortOutputBuilder;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.OpendaylightQueueStatisticsService;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.QueueStatisticsUpdateBuilder;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.queue.id.and.statistics.map.QueueIdAndStatisticsMap;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.queue.id.and.statistics.map.QueueIdAndStatisticsMapBuilder;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.queue.id.and.statistics.map.QueueIdAndStatisticsMapKey;
21 import org.opendaylight.yangtools.yang.common.RpcResult;
22 import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
23
24 import java.math.BigInteger;
25 import java.util.ArrayList;
26 import java.util.List;
27 import java.util.concurrent.Future;
28 import java.util.concurrent.atomic.AtomicLong;
29
30 public class OpendaylightQueueStatisticsServiceMock implements OpendaylightQueueStatisticsService {
31     NotificationProviderServiceHelper notifService;
32     AtomicLong transNum = new AtomicLong();
33
34     public OpendaylightQueueStatisticsServiceMock(NotificationProviderServiceHelper notifService) {
35         this.notifService = notifService;
36     }
37
38     @Override
39     public Future<RpcResult<GetAllQueuesStatisticsFromAllPortsOutput>> getAllQueuesStatisticsFromAllPorts(GetAllQueuesStatisticsFromAllPortsInput input) {
40         GetAllQueuesStatisticsFromAllPortsOutputBuilder builder = new GetAllQueuesStatisticsFromAllPortsOutputBuilder();
41         TransactionId transId = new TransactionId(BigInteger.valueOf(TestUtils.getNewTransactionId()));
42         builder.setTransactionId(transId);
43         QueueStatisticsUpdateBuilder qsuBuilder = new QueueStatisticsUpdateBuilder();
44         QueueIdAndStatisticsMapBuilder qiasmBuilder = new QueueIdAndStatisticsMapBuilder();
45         List<QueueIdAndStatisticsMap> queueIdAndStatisticsMaps = new ArrayList<>();
46         qsuBuilder.setMoreReplies(false);
47         qsuBuilder.setId(input.getNode().getValue().firstKeyOf(Node.class, NodeKey.class).getId());
48         qsuBuilder.setTransactionId(transId);
49         qiasmBuilder.setTransmittedBytes(StatisticsManagerTest.COUNTER_64_TEST_VALUE);
50         qiasmBuilder.setKey(new QueueIdAndStatisticsMapKey(StatisticsManagerTest.getNodeConnectorId(), StatisticsManagerTest.getQueue().getQueueId()));
51         queueIdAndStatisticsMaps.add(qiasmBuilder.build());
52         qsuBuilder.setQueueIdAndStatisticsMap(queueIdAndStatisticsMaps);
53         notifService.pushDelayedNotification(qsuBuilder.build(), 100);
54         return Futures.immediateFuture(RpcResultBuilder.success(builder.build()).build());
55     }
56
57     @Override
58     public Future<RpcResult<GetAllQueuesStatisticsFromGivenPortOutput>> getAllQueuesStatisticsFromGivenPort(GetAllQueuesStatisticsFromGivenPortInput input) {
59         GetAllQueuesStatisticsFromGivenPortOutputBuilder builder = new GetAllQueuesStatisticsFromGivenPortOutputBuilder();
60         TransactionId transId = new TransactionId(BigInteger.valueOf(TestUtils.getNewTransactionId()));
61         builder.setTransactionId(transId);
62         return Futures.immediateFuture(RpcResultBuilder.success(builder.build()).build());
63     }
64
65     @Override
66     public Future<RpcResult<GetQueueStatisticsFromGivenPortOutput>> getQueueStatisticsFromGivenPort(GetQueueStatisticsFromGivenPortInput input) {
67         GetQueueStatisticsFromGivenPortOutputBuilder builder = new GetQueueStatisticsFromGivenPortOutputBuilder();
68         TransactionId transId = new TransactionId(BigInteger.valueOf(TestUtils.getNewTransactionId()));
69         builder.setTransactionId(transId);
70         QueueIdAndStatisticsMapBuilder qiasmBuilder = new QueueIdAndStatisticsMapBuilder();
71         List<QueueIdAndStatisticsMap> queueIdAndStatisticsMaps = new ArrayList<>();
72         qiasmBuilder.setKey(new QueueIdAndStatisticsMapKey(input.getNodeConnectorId(), input.getQueueId()));
73         qiasmBuilder.setTransmittedBytes(StatisticsManagerTest.COUNTER_64_TEST_VALUE);
74         queueIdAndStatisticsMaps.add(qiasmBuilder.build());
75         QueueStatisticsUpdateBuilder qsuBuilder = new QueueStatisticsUpdateBuilder();
76         qsuBuilder.setMoreReplies(false);
77         qsuBuilder.setTransactionId(transId);
78         qsuBuilder.setId(input.getNode().getValue().firstKeyOf(Node.class, NodeKey.class).getId());
79         qsuBuilder.setQueueIdAndStatisticsMap(queueIdAndStatisticsMaps);
80         notifService.pushDelayedNotification(qsuBuilder.build(), 100);
81         return Futures.immediateFuture(RpcResultBuilder.success(builder.build()).build());
82     }
83 }