Support for PM (Performance Management)
[ccsdk/features.git] / sdnr / wt / devicemanager-onap / onf14 / provider / src / test / java / org / onap / ccsdk / features / sdnr / wt / devicemanager / onf14 / dom / TestOnf14DomNetworkElement.java
1 package org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom;
2
3 import static org.junit.Assert.assertEquals;
4 import static org.junit.Assert.assertTrue;
5 import static org.mockito.Mockito.when;
6 import java.util.Optional;
7 import org.junit.Before;
8 import org.junit.Test;
9 import org.junit.runner.RunWith;
10 import org.mockito.Mock;
11 import org.mockito.junit.MockitoJUnitRunner;
12 import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.DataProvider;
13 import org.onap.ccsdk.features.sdnr.wt.devicemanager.ne.service.NetworkElement;
14 import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.Onf14DomNetworkElementFactory;
15 import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.util.Onf14DevicemanagerQNames;
16 import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.DeviceManagerServiceProvider;
17 import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.FaultService;
18 import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.PerformanceManager;
19 import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.Capabilities;
20 import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfBindingAccessor;
21 import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfDomAccessor;
22 import org.onap.ccsdk.features.sdnr.wt.websocketmanager.model.WebsocketManagerService;
23 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
24 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
25 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
26
27 @RunWith(MockitoJUnitRunner.class)
28 public class TestOnf14DomNetworkElement {
29
30     private static String NODEIDSTRING = "nSky";
31     private static final YangInstanceIdentifier TOPLEVELEQUIPMENT_IID =
32             YangInstanceIdentifier.builder().node(Onf14DevicemanagerQNames.CORE_MODEL_CONTROL_CONSTRUCT_CONTAINER)
33                     .node(Onf14DevicemanagerQNames.CORE_MODEL_CC_TOP_LEVEL_EQPT).build();
34     @Mock
35     NetconfDomAccessor netconfDomAccessor;
36     @Mock
37     NetconfBindingAccessor netconfBindingAccessor;
38     @Mock
39     DataProvider dataProvider;
40     @Mock
41     FaultService faultService;
42     @Mock
43     PerformanceManager pmService;
44     @Mock
45     DeviceManagerServiceProvider serviceProvider;
46     @Mock
47     WebsocketManagerService websocketManagerService;
48     @Mock
49     DataProvider databaseService;
50     @Mock
51     Capabilities capabilities;
52
53     NodeId nodeId = new NodeId(NODEIDSTRING);
54
55     @Before
56     public void init() {
57
58         when(netconfDomAccessor.getCapabilites()).thenReturn(capabilities);
59         when(netconfDomAccessor.getCapabilites()
60                 .isSupportingNamespace(Onf14DevicemanagerQNames.CORE_MODEL_CONTROL_CONSTRUCT_CONTAINER))
61                         .thenReturn(true);
62         when(netconfDomAccessor.getNetconfDomAccessor()).thenReturn(Optional.of(netconfDomAccessor));
63         when(netconfDomAccessor.getNodeId()).thenReturn(nodeId);
64         when(serviceProvider.getDataProvider()).thenReturn(dataProvider);
65         when(serviceProvider.getFaultService()).thenReturn(faultService);
66         when(serviceProvider.getPerformanceManagerService()).thenReturn(pmService);
67         when(netconfDomAccessor.readDataNode(LogicalDatastoreType.CONFIGURATION, TOPLEVELEQUIPMENT_IID))
68                 .thenReturn(Optional.empty());
69     }
70
71     @Test
72     public void testWithOldInterfaceRevisions() {
73         Optional<NetworkElement> onfDomNe;
74         Onf14DomNetworkElementFactory factory = new Onf14DomNetworkElementFactory();
75         factory.init(serviceProvider);
76         onfDomNe = factory.create(netconfDomAccessor, serviceProvider);
77         assertTrue(onfDomNe.isPresent());
78
79         onfDomNe.get().register();
80         onfDomNe.get().deregister();
81         onfDomNe.get().getAcessor();
82         onfDomNe.get().getDeviceType();
83         onfDomNe.get().warmstart();
84         //onfDomNe.get().getService(null);
85         assertEquals(onfDomNe.get().getNodeId().getValue(), "nSky");
86     }
87
88 }