Merge topic 'clean-up'
[packetcable.git] / packetcable-provider / src / test / java / org / opendaylight / controller / packetcable / providerTest / OpendaylightPacketcableProviderTest.java
1 package org.opendaylight.controller.packetcable.providerTest;
2
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;
7
8 import java.util.concurrent.ExecutionException;
9 import java.util.concurrent.ExecutorService;
10
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;
31
32 @RunWith(MockitoJUnitRunner.class)
33 public class OpendaylightPacketcableProviderTest {
34
35     @Mock
36     private NotificationProviderService notificationProvider;
37     @Mock
38     private DataBroker dataBroker;
39     // @Spy private NotificationProviderService spyNotificationProvider;
40     @Mock
41     private PCMMDataProcessor pcmmDataProcessor;
42     @Mock
43     private CmtsAdded cmtsAdd;
44     @Mock
45     private CmtsRemoved cmtsRemove;
46     @Mock
47     private CmtsUpdated cmtsUpdate;
48     @Mock
49     private ExecutorService executorMock;
50     @Mock
51     private TrafficProfileDocsisServiceClassNameAttributes docsis;
52     @Mock
53     private TrafficProfileBestEffortAttributes bestEffort;
54     @Mock
55     private TrafficProfileFlowspecAttributes flowSpec;
56     @Mock
57     private CmtsNode cmtsNode;
58     @Mock
59     private TransactionId transactionId;
60
61     @Mock
62     private OpendaylightPacketcableProvider packetCableProv;// =
63                                                             // mock(OpendaylightPacketcableProvider.class);
64
65     @Before
66     public void setUp() throws Exception {
67         packetCableProv.setNotificationProvider(notificationProvider);
68         packetCableProv.setDataProvider(dataBroker);
69         assertNotNull(packetCableProv);
70     }
71
72     @Test
73     public final void testNotifyConsumerOnCmtsAdd() {
74         packetCableProv.notifyConsumerOnCmtsAdd(cmtsNode, transactionId);
75         verify(packetCableProv, times(1)).notifyConsumerOnCmtsAdd(
76                 any(CmtsNode.class), any(TransactionId.class));
77     }
78
79     @Test
80     public final void testNotifyConsumerOnCmtsRemove() {
81         packetCableProv.notifyConsumerOnCmtsRemove(cmtsNode, transactionId);
82         verify(packetCableProv, times(1)).notifyConsumerOnCmtsRemove(
83                 any(CmtsNode.class), any(TransactionId.class));
84     }
85
86     @Test
87     public final void testNotifyConsumerOnCmtsUpdate() {
88         packetCableProv.notifyConsumerOnCmtsUpdate(cmtsNode, transactionId);
89         verify(packetCableProv, times(1)).notifyConsumerOnCmtsUpdate(
90                 any(CmtsNode.class), any(TransactionId.class));
91     }
92
93     @Test
94     public final void testBuildTrafficProfileTrafficProfileDocsisServiceClassNameAttributes() {
95         packetCableProv.buildTrafficProfile(docsis);
96         verify(packetCableProv, times(1)).buildTrafficProfile(docsis);
97     }
98
99     @Test
100     public final void testBuildTrafficProfileTrafficProfileBestEffortAttributes() {
101         packetCableProv.buildTrafficProfile(bestEffort);
102         verify(packetCableProv, times(1)).buildTrafficProfile(bestEffort);
103     }
104
105     @Test
106     public final void testBuildTrafficProfileTrafficProfileFlowspecAttributes() {
107         packetCableProv.buildTrafficProfile(flowSpec);
108         verify(packetCableProv, times(1)).buildTrafficProfile(flowSpec);
109     }
110
111     @Test
112     public final void testClose() throws ExecutionException,
113             InterruptedException {
114         packetCableProv.close();
115         verify(packetCableProv, times(1)).close();
116     }
117
118 }