Tests coverage increasing for iovisor.endpoint
[groupbasedpolicy.git] / renderers / iovisor / src / test / java / org / opendaylight / groupbasedpolicy / renderer / iovisor / endpoint / EndpointListenerCovrgTest.java
1 package org.opendaylight.groupbasedpolicy.renderer.iovisor.endpoint;\r
2 \r
3 import static org.mockito.Mockito.mock;\r
4 import static org.mockito.Mockito.spy;\r
5 import static org.mockito.Mockito.when;\r
6 \r
7 import java.util.Set;\r
8 \r
9 import com.google.common.collect.ImmutableSet;\r
10 import org.junit.Before;\r
11 import org.junit.Test;\r
12 import org.opendaylight.controller.md.sal.binding.api.DataBroker;\r
13 import org.opendaylight.controller.md.sal.binding.api.DataObjectModification;\r
14 import org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier;\r
15 import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;\r
16 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;\r
17 import org.opendaylight.groupbasedpolicy.util.IidFactory;\r
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.endpoint.rev140421.endpoints.EndpointL3;\r
19 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;\r
20 \r
21 public class EndpointListenerCovrgTest {\r
22 \r
23     private EndpointListener listener;\r
24     private DataObjectModification<EndpointL3> rootNode;\r
25     private Set<DataTreeModification<EndpointL3>> changes;\r
26 \r
27     private InstanceIdentifier<EndpointL3> rootIdentifier;\r
28 \r
29     @SuppressWarnings("unchecked")\r
30     @Before\r
31     public void init() {\r
32         DataBroker dataProvider = mock(DataBroker.class);\r
33 \r
34         EndpointManager endpointManager = mock(EndpointManager.class);\r
35         listener = spy(new EndpointListener(dataProvider, endpointManager));\r
36 \r
37         EndpointL3 endpointL3 = mock(EndpointL3.class);\r
38 \r
39         rootNode = mock(DataObjectModification.class);\r
40         rootIdentifier = IidFactory.l3EndpointsIidWildcard();\r
41         DataTreeIdentifier<EndpointL3> rootPath =\r
42                 new DataTreeIdentifier<>(LogicalDatastoreType.OPERATIONAL, rootIdentifier);\r
43 \r
44         DataTreeModification<EndpointL3> change = mock(DataTreeModification.class);\r
45 \r
46         when(change.getRootNode()).thenReturn(rootNode);\r
47         when(change.getRootPath()).thenReturn(rootPath);\r
48 \r
49         changes = ImmutableSet.of(change);\r
50 \r
51         when(rootNode.getDataBefore()).thenReturn(endpointL3);\r
52         when(rootNode.getDataAfter()).thenReturn(endpointL3);\r
53     }\r
54 \r
55     @Test\r
56     public void testOnWrite() {\r
57         when(rootNode.getModificationType()).thenReturn(DataObjectModification.ModificationType.WRITE);\r
58 \r
59         listener.onDataTreeChanged(changes);\r
60     }\r
61 \r
62     @Test(expected = UnsupportedOperationException.class)\r
63     public void testOnDelete() {\r
64         when(rootNode.getModificationType()).thenReturn(DataObjectModification.ModificationType.DELETE);\r
65 \r
66         listener.onDataTreeChanged(changes);\r
67     }\r
68 \r
69     @Test\r
70     public void testOnSubtreeModified() {\r
71         when(rootNode.getModificationType()).thenReturn(DataObjectModification.ModificationType.SUBTREE_MODIFIED);\r
72 \r
73         listener.onDataTreeChanged(changes);\r
74     }\r
75 \r
76 }\r