1 package org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom;
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;
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.service.DeviceManagerServiceProvider;
16 import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.FaultService;
17 import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.PerformanceManager;
18 import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.Capabilities;
19 import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfBindingAccessor;
20 import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfDomAccessor;
21 import org.onap.ccsdk.features.sdnr.wt.websocketmanager.model.WebsocketManagerService;
22 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
23 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
24 import org.opendaylight.yangtools.yang.common.QName;
25 import org.opendaylight.yangtools.yang.common.QNameModule;
26 import org.opendaylight.yangtools.yang.common.Revision;
27 import org.opendaylight.yangtools.yang.common.XMLNamespace;
28 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
30 @RunWith(MockitoJUnitRunner.class)
31 public class TestOnf14DomNetworkElement {
33 private static String NODEIDSTRING = "nSky";
34 private static final QNameModule coreModelQNM =
35 QNameModule.create(XMLNamespace.of("urn:onf:yang:core-model-1-4"), Revision.of("2019-11-27"));
36 private static final QNameModule alarmQNM =
37 QNameModule.create(XMLNamespace.of("urn:onf:yang:alarms-1-0"), Revision.of("2022-03-02"));
38 private static final YangInstanceIdentifier TOPLEVELEQUIPMENT_IID =
39 YangInstanceIdentifier.builder().node(QName.create(coreModelQNM, "control-construct"))
40 .node(QName.create(coreModelQNM, "top-level-equipment")).build();
42 NetconfDomAccessor netconfDomAccessor;
44 NetconfBindingAccessor netconfBindingAccessor;
46 DataProvider dataProvider;
48 FaultService faultService;
50 PerformanceManager pmService;
52 DeviceManagerServiceProvider serviceProvider;
54 WebsocketManagerService websocketManagerService;
56 DataProvider databaseService;
58 Capabilities capabilities;
60 NodeId nodeId = new NodeId(NODEIDSTRING);
65 when(netconfDomAccessor.getCapabilites()).thenReturn(capabilities);
66 when(netconfDomAccessor.getNetconfDomAccessor()).thenReturn(Optional.of(netconfDomAccessor));
67 when(netconfDomAccessor.getNodeId()).thenReturn(nodeId);
68 when(serviceProvider.getDataProvider()).thenReturn(dataProvider);
69 when(serviceProvider.getFaultService()).thenReturn(faultService);
70 when(serviceProvider.getPerformanceManagerService()).thenReturn(pmService);
71 when(netconfDomAccessor.readDataNode(LogicalDatastoreType.CONFIGURATION, TOPLEVELEQUIPMENT_IID))
72 .thenReturn(Optional.empty());
73 when(netconfDomAccessor.readDataNode(LogicalDatastoreType.CONFIGURATION, TOPLEVELEQUIPMENT_IID))
74 .thenReturn(Optional.empty());
75 when(capabilities.isSupportingNamespaceAndRevision(coreModelQNM)).thenReturn(true);
76 when(capabilities.isSupportingNamespaceAndRevision(alarmQNM)).thenReturn(true);
80 public void testWithOldInterfaceRevisions() {
81 Optional<NetworkElement> onfDomNe;
82 Onf14DomNetworkElementFactory factory = new Onf14DomNetworkElementFactory();
83 factory.init(serviceProvider);
84 onfDomNe = factory.create(netconfDomAccessor, serviceProvider);
85 assertTrue(onfDomNe.isPresent());
87 onfDomNe.get().register();
88 onfDomNe.get().deregister();
89 onfDomNe.get().getAcessor();
90 onfDomNe.get().getDeviceType();
91 onfDomNe.get().warmstart();
92 // onfDomNe.get().getService(null);
93 assertEquals(onfDomNe.get().getNodeId().getValue(), "nSky");
97 public void testWithNewInterfaceRevisions() {
98 Optional<NetworkElement> onfDomNe;
99 Onf14DomNetworkElementFactory factory = new Onf14DomNetworkElementFactory();
100 factory.init(serviceProvider);
101 onfDomNe = factory.create(netconfDomAccessor, serviceProvider);
102 assertTrue(onfDomNe.isPresent());
104 onfDomNe.get().register();
105 onfDomNe.get().deregister();
106 onfDomNe.get().getAcessor();
107 onfDomNe.get().getDeviceType();
108 onfDomNe.get().warmstart();
109 // onfDomNe.get().getService(null);
110 assertEquals(onfDomNe.get().getNodeId().getValue(), "nSky");