1 package org.opendaylight.controller.packetcable.providerTest;
3 import static org.junit.Assert.assertNotNull;
4 import static org.mockito.Matchers.any;
5 import static org.mockito.Mockito.times;
6 import static org.mockito.Mockito.verify;
8 import java.util.concurrent.ExecutionException;
9 import java.util.concurrent.ExecutorService;
11 import org.junit.Before;
12 import org.junit.Test;
13 import org.junit.runner.RunWith;
14 import org.mockito.InjectMocks;
15 import org.mockito.Mock;
16 import org.mockito.Mockito;
17 import org.mockito.Spy;
18 import org.mockito.runners.MockitoJUnitRunner;
19 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
20 import org.opendaylight.controller.packetcable.provider.OpendaylightPacketcableProvider;
21 import org.opendaylight.controller.packetcable.provider.processors.PCMMDataProcessor;
22 import org.opendaylight.controller.sal.binding.api.NotificationProviderService;
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.traffic.profile.rev140908.TrafficProfileBestEffortAttributes;
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.traffic.profile.rev140908.TrafficProfileDocsisServiceClassNameAttributes;
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.traffic.profile.rev140908.TrafficProfileFlowspecAttributes;
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.transaction.rev150304.TransactionId;
27 import org.opendaylight.yang.gen.v1.urn.opendaylight.node.cmts.broker.rev140909.CmtsAdded;
28 import org.opendaylight.yang.gen.v1.urn.opendaylight.node.cmts.broker.rev140909.CmtsRemoved;
29 import org.opendaylight.yang.gen.v1.urn.opendaylight.node.cmts.broker.rev140909.CmtsUpdated;
30 import org.opendaylight.yang.gen.v1.urn.opendaylight.node.cmts.rev140909.nodes.node.CmtsNode;
32 @RunWith(MockitoJUnitRunner.class)
33 public class OpendaylightPacketcableProviderTest {
36 private NotificationProviderService notificationProvider;
38 private DataBroker dataBroker;
39 // @Spy private NotificationProviderService spyNotificationProvider;
41 private PCMMDataProcessor pcmmDataProcessor;
43 private CmtsAdded cmtsAdd;
45 private CmtsRemoved cmtsRemove;
47 private CmtsUpdated cmtsUpdate;
49 private ExecutorService executorMock;
51 private TrafficProfileDocsisServiceClassNameAttributes docsis;
53 private TrafficProfileBestEffortAttributes bestEffort;
55 private TrafficProfileFlowspecAttributes flowSpec;
57 private CmtsNode cmtsNode;
59 private TransactionId transactionId;
62 private OpendaylightPacketcableProvider packetCableProv;// =
63 // mock(OpendaylightPacketcableProvider.class);
66 public void setUp() throws Exception {
67 packetCableProv.setNotificationProvider(notificationProvider);
68 packetCableProv.setDataProvider(dataBroker);
69 assertNotNull(packetCableProv);
73 public final void testNotifyConsumerOnCmtsAdd() {
74 packetCableProv.notifyConsumerOnCmtsAdd(cmtsNode, transactionId);
75 verify(packetCableProv, times(1)).notifyConsumerOnCmtsAdd(
76 any(CmtsNode.class), any(TransactionId.class));
80 public final void testNotifyConsumerOnCmtsRemove() {
81 packetCableProv.notifyConsumerOnCmtsRemove(cmtsNode, transactionId);
82 verify(packetCableProv, times(1)).notifyConsumerOnCmtsRemove(
83 any(CmtsNode.class), any(TransactionId.class));
87 public final void testNotifyConsumerOnCmtsUpdate() {
88 packetCableProv.notifyConsumerOnCmtsUpdate(cmtsNode, transactionId);
89 verify(packetCableProv, times(1)).notifyConsumerOnCmtsUpdate(
90 any(CmtsNode.class), any(TransactionId.class));
94 public final void testBuildTrafficProfileTrafficProfileDocsisServiceClassNameAttributes() {
95 packetCableProv.buildTrafficProfile(docsis);
96 verify(packetCableProv, times(1)).buildTrafficProfile(docsis);
100 public final void testBuildTrafficProfileTrafficProfileBestEffortAttributes() {
101 packetCableProv.buildTrafficProfile(bestEffort);
102 verify(packetCableProv, times(1)).buildTrafficProfile(bestEffort);
106 public final void testBuildTrafficProfileTrafficProfileFlowspecAttributes() {
107 packetCableProv.buildTrafficProfile(flowSpec);
108 verify(packetCableProv, times(1)).buildTrafficProfile(flowSpec);
112 public final void testClose() throws ExecutionException,
113 InterruptedException {
114 packetCableProv.close();
115 verify(packetCableProv, times(1)).close();