summaryrefslogtreecommitdiffstats
path: root/sdnr/wt/devicemanager-onap/onf12/provider/src/test
diff options
context:
space:
mode:
authorRavi Pendurty <ravi.pendurty@highstreet-technologies.com>2021-04-19 12:46:16 +0200
committerMichael DÜrre <michael.duerre@highstreet-technologies.com>2021-04-20 08:01:27 +0200
commit05fe114a5969727c32cd9f1051cd7b9fde0344d5 (patch)
tree4cb505cd98ddb5b9c6f188f9febe93b07cf743db /sdnr/wt/devicemanager-onap/onf12/provider/src/test
parent6ae7e8a1bae83d407b22d8b066dd0bcca730e1bb (diff)
Reorganization of devicemanager directory structure
Organized into core, onap and o-ran-sc directories Issue-ID: CCSDK-3242 Signed-off-by: Ravi Pendurty <ravi.pendurty@highstreet-technologies.com> Change-Id: I3c23710f990a2d96ba01104c97315fc8c6b1921b Signed-off-by: Ravi Pendurty <ravi.pendurty@highstreet-technologies.com> Signed-off-by: Michael DÜrre <michael.duerre@highstreet-technologies.com>
Diffstat (limited to 'sdnr/wt/devicemanager-onap/onf12/provider/src/test')
-rw-r--r--sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/TestSerializer.java53
-rw-r--r--sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ifpac/equipment/test/TestExtendedEquipment.java81
-rw-r--r--sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ifpac/equipment/test/TestONFCoreNetworkElement12Equipment.java101
-rw-r--r--sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ifpac/microwave/test/TestHelper.java49
-rw-r--r--sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ifpac/microwave/test/TestWrapperMicrowaveModelRev170324.java342
-rw-r--r--sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ifpac/microwave/test/TestWrapperMicrowaveModelRev180907.java339
-rw-r--r--sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ifpac/microwave/test/TestWrapperMicrowaveModelRev181010.java343
-rw-r--r--sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ifpac/test/TestWrapperPTPModelRev170208.java93
-rw-r--r--sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/impl/test/TestONFCoreNetworkElementFactory.java127
-rw-r--r--sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ne/test/TestONFCoreNetworkElement12Basic.java98
-rw-r--r--sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ne/test/TestONFCoreNetworkElement12Microwave.java113
-rw-r--r--sdnr/wt/devicemanager-onap/onf12/provider/src/test/resources/simplelogger.properties61
12 files changed, 1800 insertions, 0 deletions
diff --git a/sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/TestSerializer.java b/sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/TestSerializer.java
new file mode 100644
index 000000000..d4c587b6d
--- /dev/null
+++ b/sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/TestSerializer.java
@@ -0,0 +1,53 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : ccsdk features
+ * ================================================================================
+ * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property.
+ * All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ *
+ */
+package org.onap.ccsdk.features.sdnr.wt.devicemanager.onf;
+
+import static org.junit.Assert.fail;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import org.junit.Test;
+import org.onap.ccsdk.features.sdnr.wt.yang.mapper.YangToolsMapper;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DateAndTime;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.UniversalId;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.ProblemNotification;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.ProblemNotificationBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.SeverityType;
+
+public class TestSerializer {
+
+ @Test
+ public void testProblemNotification() {
+ ProblemNotification notification = new ProblemNotificationBuilder().setCounter(32)
+ .setObjectIdRef(new UniversalId("abc")).setProblem("problem").setSeverity(SeverityType.Critical)
+ .setTimeStamp(DateAndTime.getDefaultInstance("2020-01-01T01:01:02.0Z")).build();
+
+
+ YangToolsMapper mapper = new YangToolsMapper();
+ String result=null;
+ try {
+ result = mapper.writeValueAsString(notification);
+ } catch (JsonProcessingException e) {
+ e.printStackTrace();
+ fail(e.getMessage());
+ }
+ System.out.println(result);
+ }
+}
diff --git a/sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ifpac/equipment/test/TestExtendedEquipment.java b/sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ifpac/equipment/test/TestExtendedEquipment.java
new file mode 100644
index 000000000..20d479efa
--- /dev/null
+++ b/sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ifpac/equipment/test/TestExtendedEquipment.java
@@ -0,0 +1,81 @@
+/*
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt
+ * =================================================================================================
+ * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property. All rights reserved.
+ * =================================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ * ============LICENSE_END==========================================================================
+ */
+package org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.ifpac.equipment.test;
+
+import static org.junit.Assert.*;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.eclipse.jdt.annotation.NonNull;
+import org.junit.Test;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.ifpac.WrapperPTPModelRev170208;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.ifpac.equipment.ExtendedEquipment;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.Equipment;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.EquipmentBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.UniversalId;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.equipment.g.ContainedHolder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.equipment.g.ContainedHolderBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.equipment.g.ManufacturedThing;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.equipment.g.ManufacturedThingBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.manufactured.thing.g.EquipmentInstance;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.manufactured.thing.g.EquipmentInstanceBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.manufactured.thing.g.EquipmentType;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.manufactured.thing.g.EquipmentTypeBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.manufactured.thing.g.ManufacturerProperties;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.manufactured.thing.g.ManufacturerPropertiesBuilder;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class TestExtendedEquipment {
+
+ UniversalId id = new UniversalId("1234567");
+ private static final String NODEID = "NODE1";
+ private static final Logger LOG = LoggerFactory.getLogger(TestExtendedEquipment.class);
+
+ @Test
+ public void test() {
+ final @NonNull List<ContainedHolder> holder = Arrays.asList(new ContainedHolderBuilder().setUuid(id).build());
+ final @NonNull ManufacturerProperties manufacturerProps = new ManufacturerPropertiesBuilder()
+ .setManufacturerIdentifier("NOK").setManufacturerName("Nokia").build();
+
+ final @NonNull EquipmentType eqptType =
+ new EquipmentTypeBuilder().setDescription("5G RAN Equipment").setModelIdentifier("NOK-987-1T")
+ .setPartTypeIdentifier("ABCDEF").setTypeName("12345").setVersion("5T9V4567").build();
+
+ final @NonNull EquipmentInstance eqptInstance =
+ new EquipmentInstanceBuilder().setAssetInstanceIdentifier("NOK1234-ABCD")
+ .setManufactureDate("2020-02-11").setSerialNumber("123456ABCD").build();
+
+ final @NonNull ManufacturedThing manufacturedThing =
+ new ManufacturedThingBuilder().setManufacturerProperties(manufacturerProps).setEquipmentType(eqptType)
+ .setEquipmentInstance(eqptInstance).build();
+
+ Equipment equipment = new EquipmentBuilder().setUuid(id).setContainedHolder(holder)
+ .setManufacturedThing(manufacturedThing).build();
+
+ ExtendedEquipment extEqpt = new ExtendedEquipment(NODEID, "1234567890", equipment, "/var/opt", 3);
+ assertEquals(extEqpt.getNodeId(), NODEID);
+ assertEquals(extEqpt.getParentUuid(), "1234567890");
+ assertEquals(extEqpt.getEquipment(), equipment);
+ LOG.info(extEqpt.toString());
+ extEqpt.getCreateInventoryInput();
+
+ }
+
+}
diff --git a/sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ifpac/equipment/test/TestONFCoreNetworkElement12Equipment.java b/sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ifpac/equipment/test/TestONFCoreNetworkElement12Equipment.java
new file mode 100644
index 000000000..30cd7647a
--- /dev/null
+++ b/sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ifpac/equipment/test/TestONFCoreNetworkElement12Equipment.java
@@ -0,0 +1,101 @@
+/*
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt
+ * =================================================================================================
+ * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property. All rights reserved.
+ * =================================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ * ============LICENSE_END==========================================================================
+ */
+package org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.ifpac.equipment.test;
+
+import static org.junit.Assert.*;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.util.Arrays;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.NetworkElementCoreData;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.ifpac.equipment.ONFCoreNetworkElement12Equipment;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.ifpac.equipment.WrapperEquipmentPacRev170402;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.FaultData;
+import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.Capabilities;
+import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfBindingAccessor;
+import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.TransactionUtils;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.UniversalId;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.onf.core.model.conditional.packages.rev170402.EquipmentPac;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.onf.core.model.conditional.packages.rev170402.EquipmentPacKey;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.onf.core.model.conditional.packages.rev170402.equipment.pac.EquipmentCurrentProblems;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+
+public class TestONFCoreNetworkElement12Equipment {
+
+ NetconfBindingAccessor netconfAccessor;
+ Capabilities capabilities;
+ NetworkElementCoreData coreData;
+ FaultData faultData;
+ TransactionUtils transactionUtils;
+ EquipmentCurrentProblems eqptCurrProblems;
+ DataBroker dataBroker;
+ UniversalId uid = new UniversalId("ID");
+
+
+ @Before
+ public void init() throws Exception {
+ netconfAccessor = mock(NetconfBindingAccessor.class);
+ capabilities = mock(Capabilities.class);
+ coreData = mock(NetworkElementCoreData.class);
+ faultData = mock(FaultData.class);
+ eqptCurrProblems = mock(EquipmentCurrentProblems.class);
+ dataBroker = mock(DataBroker.class);
+ transactionUtils = mock(TransactionUtils.class);
+
+ final Class<EquipmentPac> clazzPac = EquipmentPac.class;
+ final Class<EquipmentPacKey> clazzPacKey = EquipmentPacKey.class;
+ final Class<EquipmentCurrentProblems> clazzProblems = EquipmentCurrentProblems.class;
+ Constructor<EquipmentPacKey> cons = clazzPacKey.getConstructor(UniversalId.class);
+ InstanceIdentifier<EquipmentCurrentProblems> interfaceIID =
+ InstanceIdentifier.builder(clazzPac, cons.newInstance(uid)).child(clazzProblems).build();
+ when(netconfAccessor.getCapabilites()).thenReturn(capabilities);
+ when(netconfAccessor.getTransactionUtils()).thenReturn(transactionUtils);
+ when(netconfAccessor.getDataBroker()).thenReturn(dataBroker);
+ when(netconfAccessor.getTransactionUtils().readData(netconfAccessor.getDataBroker(),
+ LogicalDatastoreType.OPERATIONAL, interfaceIID)).thenReturn(eqptCurrProblems);
+ }
+
+ @Test
+ public void test() {
+ when(capabilities.isSupportingNamespaceAndRevision(WrapperEquipmentPacRev170402.QNAME)).thenReturn(true);
+ ONFCoreNetworkElement12Equipment onfCoreEqpt = new ONFCoreNetworkElement12Equipment(netconfAccessor, coreData);
+ onfCoreEqpt.addProblemsofNode(faultData);
+ onfCoreEqpt.addProblemsofNodeObject("ABCD");
+ onfCoreEqpt.getInventoryInformation(Arrays.asList("TESTINV"));
+ onfCoreEqpt.getEquipmentAll();
+ onfCoreEqpt.getEquipmentData();
+ onfCoreEqpt.getEquipmentPac();
+ onfCoreEqpt.readNetworkElementEquipment();
+
+ }
+
+ @Test
+ public void test1() {
+ when(capabilities.isSupportingNamespaceAndRevision(WrapperEquipmentPacRev170402.QNAME)).thenReturn(false);
+ ONFCoreNetworkElement12Equipment onfCoreEqpt = new ONFCoreNetworkElement12Equipment(netconfAccessor, coreData);
+ }
+
+}
diff --git a/sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ifpac/microwave/test/TestHelper.java b/sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ifpac/microwave/test/TestHelper.java
new file mode 100644
index 000000000..337dc2644
--- /dev/null
+++ b/sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ifpac/microwave/test/TestHelper.java
@@ -0,0 +1,49 @@
+/*
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt
+ * =================================================================================================
+ * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property. All rights reserved.
+ * =================================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ * ============LICENSE_END==========================================================================
+ */
+package org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.ifpac.microwave.test;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.ifpac.microwave.Helper;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.LayerProtocolName;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.UniversalId;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.g._874._1.model.rev170320.GranularityPeriodType;
+
+public class TestHelper {
+
+ @Test
+ public void test() {
+
+ assertEquals(GranularityPeriodType.Period24Hours,
+ Helper.nnGetGranularityPeriodType(GranularityPeriodType.Period24Hours));
+ assertEquals(GranularityPeriodType.Unknown, Helper.nnGetGranularityPeriodType(null));
+
+ assertEquals(new LayerProtocolName("TDM"),
+ Helper.nnGetLayerProtocolName(LayerProtocolName.getDefaultInstance("TDM")));
+ assertEquals(new LayerProtocolName("default"), Helper.nnGetLayerProtocolName(null));
+
+ assertEquals("TEST", Helper.nnGetString("TEST"));
+ assertEquals("", Helper.nnGetString(null));
+
+ assertEquals(new UniversalId("ABC"), Helper.nnGetUniversalId(new UniversalId("ABC")));
+ assertEquals(new UniversalId("Default"), Helper.nnGetUniversalId(null));
+
+ }
+
+}
diff --git a/sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ifpac/microwave/test/TestWrapperMicrowaveModelRev170324.java b/sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ifpac/microwave/test/TestWrapperMicrowaveModelRev170324.java
new file mode 100644
index 000000000..bee34b5b5
--- /dev/null
+++ b/sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ifpac/microwave/test/TestWrapperMicrowaveModelRev170324.java
@@ -0,0 +1,342 @@
+/*
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt
+ * =================================================================================================
+ * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property. All rights reserved.
+ * =================================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ * ============LICENSE_END==========================================================================
+ */
+package org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.ifpac.microwave.test;
+
+import static org.junit.Assert.*;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.lang.reflect.Constructor;
+import java.util.Arrays;
+import java.util.List;
+
+import org.eclipse.jdt.annotation.NonNull;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.ifpac.microwave.WrapperMicrowaveModelRev170324;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.util.ONFLayerProtocolName;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.DeviceManagerServiceProvider;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.FaultData;
+import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfBindingAccessor;
+import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.TransactionUtils;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.UniversalId;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.logical.termination.point.g.Lp;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.logical.termination.point.g.LpBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.g._874._1.model.rev170320.GranularityPeriodType;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.MwAirInterfaceDiversityPac;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.MwAirInterfaceDiversityPacKey;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.MwAirInterfacePac;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.MwAirInterfacePacKey;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.MwEthernetContainerPac;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.MwEthernetContainerPacKey;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.MwHybridMwStructurePac;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.MwHybridMwStructurePacKey;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.MwPureEthernetStructurePac;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.MwPureEthernetStructurePacKey;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.MwTdmContainerPac;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.MwTdmContainerPacKey;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.SeverityType;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.mw.air._interface.diversity.pac.AirInterfaceDiversityCurrentProblems;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.mw.air._interface.diversity.pac.AirInterfaceDiversityCurrentProblemsBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.mw.air._interface.pac.AirInterfaceCurrentProblems;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.mw.air._interface.pac.AirInterfaceCurrentProblemsBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.mw.air._interface.pac.AirInterfaceHistoricalPerformances;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.mw.air._interface.pac.AirInterfaceHistoricalPerformancesBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.mw.ethernet.container.pac.EthernetContainerCurrentProblems;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.mw.ethernet.container.pac.EthernetContainerCurrentProblemsBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.mw.ethernet.container.pac.EthernetContainerHistoricalPerformances;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.mw.ethernet.container.pac.EthernetContainerHistoricalPerformancesBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.mw.hybrid.mw.structure.pac.HybridMwStructureCurrentProblems;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.mw.hybrid.mw.structure.pac.HybridMwStructureCurrentProblemsBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.mw.pure.ethernet.structure.pac.PureEthernetStructureCurrentProblems;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.mw.pure.ethernet.structure.pac.PureEthernetStructureCurrentProblemsBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.mw.tdm.container.pac.TdmContainerCurrentProblems;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.mw.tdm.container.pac.TdmContainerCurrentProblemsBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.mw.air._interface.pac.AirInterfaceConfiguration;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.mw.air._interface.pac.AirInterfaceConfigurationBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.air._interface.current.problems.g.CurrentProblemList;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.air._interface.current.problems.g.CurrentProblemListBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.air._interface.diversity.current.performance.g.CurrentPerformanceDataList;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.air._interface.historical.performance.type.g.PerformanceDataBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.air._interface.historical.performance.type.g.PerformanceData;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.ethernet.container.historical.performances.g.HistoricalPerformanceDataListBuilder;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+
+public class TestWrapperMicrowaveModelRev170324 {
+
+ NetconfBindingAccessor accessor;
+ DeviceManagerServiceProvider serviceProvider;
+ FaultData resultList;
+ UniversalId uid;
+ TransactionUtils transactionUtils;
+ DataBroker dataBroker;
+
+ InstanceIdentifier<AirInterfaceCurrentProblems> mwAirInterfaceIID;
+ @NonNull
+ AirInterfaceCurrentProblems airInterfaceCurrentProblems;
+
+ InstanceIdentifier<EthernetContainerCurrentProblems> mwEthInterfaceIID;
+ @NonNull
+ EthernetContainerCurrentProblems ethernetContainerCurrentProblems;
+
+ @Before
+ public void init() {
+ accessor = mock(NetconfBindingAccessor.class);
+ serviceProvider = mock(DeviceManagerServiceProvider.class);
+ resultList = mock(FaultData.class);
+ transactionUtils = mock(TransactionUtils.class);
+ dataBroker = mock(DataBroker.class);
+
+ uid = new UniversalId("ABCD");
+
+ mwAirInterfaceIID = InstanceIdentifier.builder(MwAirInterfacePac.class, new MwAirInterfacePacKey(uid))
+ .child(AirInterfaceCurrentProblems.class).build();
+ List<CurrentProblemList> currentProblemList =
+ Arrays.asList(new CurrentProblemListBuilder().setProblemName("Loss of Signal")
+ .setProblemSeverity(SeverityType.Critical).setSequenceNumber(1).setTimeStamp(null).build());
+ airInterfaceCurrentProblems =
+ new AirInterfaceCurrentProblemsBuilder().setCurrentProblemList(currentProblemList).build();
+
+ mwEthInterfaceIID = InstanceIdentifier.builder(MwEthernetContainerPac.class, new MwEthernetContainerPacKey(uid))
+ .child(EthernetContainerCurrentProblems.class).build();
+ List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.ethernet.container.current.problems.g.CurrentProblemList> ethCurrentProblemsList =
+ Arrays.asList(
+ new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.ethernet.container.current.problems.g.CurrentProblemListBuilder()
+ .setProblemName("Link Negotiation Unsuccessful")
+ .setProblemSeverity(SeverityType.Critical).setSequenceNumber(1).setTimeStamp(null)
+ .build());
+ ethernetContainerCurrentProblems =
+ new EthernetContainerCurrentProblemsBuilder().setCurrentProblemList(ethCurrentProblemsList).build();
+
+ NodeId nNodeId = new NodeId("nSky");
+ when(accessor.getNodeId()).thenReturn(nNodeId);
+ when(accessor.getTransactionUtils()).thenReturn(transactionUtils);
+ when(accessor.getDataBroker()).thenReturn(dataBroker);
+
+ }
+
+ @Test
+ public void testMWAirInterfaceWithProblems() {
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ mwAirInterfaceIID)).thenReturn(airInterfaceCurrentProblems);
+
+ WrapperMicrowaveModelRev170324 wrapperMicrowaveModelRev170324 =
+ new WrapperMicrowaveModelRev170324(accessor, serviceProvider);
+ wrapperMicrowaveModelRev170324.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.MWAIRINTERFACE, null, uid,
+ resultList);
+ }
+
+ @Test
+ public void testMWAirInterfaceWithoProblems() {
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ mwAirInterfaceIID)).thenReturn(null);
+
+ WrapperMicrowaveModelRev170324 wrapperMicrowaveModelRev170324 =
+ new WrapperMicrowaveModelRev170324(accessor, serviceProvider);
+ wrapperMicrowaveModelRev170324.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.MWAIRINTERFACE, null, uid,
+ resultList);
+ }
+
+ @Test
+ public void testEthernetContainer12WithProblems() {
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ mwEthInterfaceIID)).thenReturn(ethernetContainerCurrentProblems);
+
+ WrapperMicrowaveModelRev170324 wrapperMicrowaveModelRev170324 =
+ new WrapperMicrowaveModelRev170324(accessor, serviceProvider);
+ wrapperMicrowaveModelRev170324.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.ETHERNETCONTAINER12, null,
+ uid, resultList);
+ }
+
+ @Test
+ public void testEthernetContainer12WithNoProblems() {
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ mwEthInterfaceIID)).thenReturn(null);
+
+ WrapperMicrowaveModelRev170324 wrapperMicrowaveModelRev170324 =
+ new WrapperMicrowaveModelRev170324(accessor, serviceProvider);
+ wrapperMicrowaveModelRev170324.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.ETHERNETCONTAINER12, null,
+ uid, resultList);
+ }
+
+ @Test
+ public void testTdmContainer12WithProblems() throws Exception {
+ final Class<MwTdmContainerPac> clazzPac = MwTdmContainerPac.class;
+ final Class<MwTdmContainerPacKey> clazzPacKey = MwTdmContainerPacKey.class;
+ final Class<TdmContainerCurrentProblems> clazzProblems = TdmContainerCurrentProblems.class;
+
+ Constructor<MwTdmContainerPacKey> cons = clazzPacKey.getConstructor(UniversalId.class); // Avoid new()
+ InstanceIdentifier<TdmContainerCurrentProblems> mwEthInterfaceIID =
+ InstanceIdentifier.builder(clazzPac, cons.newInstance(uid)).child(clazzProblems).build();
+
+ List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.tdm.container.current.problems.g.CurrentProblemList> currentProblemList =
+ Arrays.asList(
+ new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.tdm.container.current.problems.g.CurrentProblemListBuilder()
+ .setProblemName("Loss of Payload").setProblemSeverity(SeverityType.Major)
+ .setSequenceNumber(2).setTimeStamp(null).build());
+ TdmContainerCurrentProblems tdmInterfaceCurrentProblems =
+ new TdmContainerCurrentProblemsBuilder().setCurrentProblemList(currentProblemList).build();
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ mwEthInterfaceIID)).thenReturn(tdmInterfaceCurrentProblems);
+
+ WrapperMicrowaveModelRev170324 wrapperMicrowaveModelRev170324 =
+ new WrapperMicrowaveModelRev170324(accessor, serviceProvider);
+ wrapperMicrowaveModelRev170324.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.TDMCONTAINER, null, uid,
+ resultList);
+
+ }
+
+ @Test
+ public void testMwHybridMwStructureWithProblems() throws Exception {
+ final Class<MwHybridMwStructurePac> clazzPac = MwHybridMwStructurePac.class;
+ final Class<HybridMwStructureCurrentProblems> clazzProblems = HybridMwStructureCurrentProblems.class;
+
+ InstanceIdentifier<HybridMwStructureCurrentProblems> mwEthInterfaceIID =
+ InstanceIdentifier.builder(clazzPac, new MwHybridMwStructurePacKey(uid)).child(clazzProblems).build();
+
+ List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.hybrid.mw.structure.current.problems.g.CurrentProblemList> currentProblemList =
+ Arrays.asList(
+ new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.hybrid.mw.structure.current.problems.g.CurrentProblemListBuilder()
+ .setProblemName("Loss of Payload").setProblemSeverity(SeverityType.Major)
+ .setSequenceNumber(2).setTimeStamp(null).build());
+ HybridMwStructureCurrentProblems hybridMwStructureCurrentProblems =
+ new HybridMwStructureCurrentProblemsBuilder().setCurrentProblemList(currentProblemList).build();
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ mwEthInterfaceIID)).thenReturn(hybridMwStructureCurrentProblems);
+
+ WrapperMicrowaveModelRev170324 wrapperMicrowaveModelRev170324 =
+ new WrapperMicrowaveModelRev170324(accessor, serviceProvider);
+ wrapperMicrowaveModelRev170324.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.STRUCTURE,
+ MwHybridMwStructurePac.class, uid, resultList);
+
+ }
+
+ @Test
+ public void testMwAirInterfaceDiversityStructureWithProblems() throws Exception {
+ final Class<MwAirInterfaceDiversityPac> clazzPac = MwAirInterfaceDiversityPac.class;
+ final Class<AirInterfaceDiversityCurrentProblems> clazzProblems = AirInterfaceDiversityCurrentProblems.class;
+
+ InstanceIdentifier<AirInterfaceDiversityCurrentProblems> mwEthInterfaceIID = InstanceIdentifier
+ .builder(clazzPac, new MwAirInterfaceDiversityPacKey(uid)).child(clazzProblems).build();
+
+ List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.air._interface.diversity.current.problems.g.CurrentProblemList> currentProblemList =
+ Arrays.asList(
+ new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.air._interface.diversity.current.problems.g.CurrentProblemListBuilder()
+ .setProblemName("Loss of Payload").setProblemSeverity(SeverityType.Major)
+ .setSequenceNumber(2).setTimeStamp(null).build());
+ AirInterfaceDiversityCurrentProblems hybridMwStructureCurrentProblems =
+ new AirInterfaceDiversityCurrentProblemsBuilder().setCurrentProblemList(currentProblemList).build();
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ mwEthInterfaceIID)).thenReturn(hybridMwStructureCurrentProblems);
+
+ WrapperMicrowaveModelRev170324 wrapperMicrowaveModelRev170324 =
+ new WrapperMicrowaveModelRev170324(accessor, serviceProvider);
+ wrapperMicrowaveModelRev170324.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.STRUCTURE,
+ MwAirInterfaceDiversityPac.class, uid, resultList);
+
+ }
+
+ @Test
+ public void testMwPureEthernetStructureWithProblems() throws Exception {
+ final Class<MwPureEthernetStructurePac> clazzPac = MwPureEthernetStructurePac.class;
+ final Class<PureEthernetStructureCurrentProblems> clazzProblems = PureEthernetStructureCurrentProblems.class;
+
+ InstanceIdentifier<PureEthernetStructureCurrentProblems> mwEthInterfaceIID = InstanceIdentifier
+ .builder(clazzPac, new MwPureEthernetStructurePacKey(uid)).child(clazzProblems).build();
+
+ List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.pure.ethernet.structure.current.problems.g.CurrentProblemList> currentProblemList =
+ Arrays.asList(
+ new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.pure.ethernet.structure.current.problems.g.CurrentProblemListBuilder()
+ .setProblemName("Loss of Payload").setProblemSeverity(SeverityType.Major)
+ .setSequenceNumber(2).setTimeStamp(null).build());
+ PureEthernetStructureCurrentProblems hybridMwStructureCurrentProblems =
+ new PureEthernetStructureCurrentProblemsBuilder().setCurrentProblemList(currentProblemList).build();
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ mwEthInterfaceIID)).thenReturn(hybridMwStructureCurrentProblems);
+
+ WrapperMicrowaveModelRev170324 wrapperMicrowaveModelRev170324 =
+ new WrapperMicrowaveModelRev170324(accessor, serviceProvider);
+ wrapperMicrowaveModelRev170324.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.STRUCTURE,
+ MwPureEthernetStructurePac.class, uid, resultList);
+
+ }
+
+ @Test
+ public void testNullStructureWithProblems() throws Exception {
+
+ WrapperMicrowaveModelRev170324 wrapperMicrowaveModelRev170324 =
+ new WrapperMicrowaveModelRev170324(accessor, serviceProvider);
+ wrapperMicrowaveModelRev170324.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.STRUCTURE, null, uid,
+ resultList);
+
+ }
+
+ @Test
+ public void testgetLtpHistoricalPerformanceData() {
+ InstanceIdentifier<AirInterfaceConfiguration> mwAirInterfaceConfigurationIID =
+ InstanceIdentifier.builder(MwAirInterfacePac.class, new MwAirInterfacePacKey(uid))
+ .child(AirInterfaceConfiguration.class).build();
+
+ AirInterfaceConfiguration airConfiguration =
+ new AirInterfaceConfigurationBuilder().setAirInterfaceName("TESTINTF").build();
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ mwAirInterfaceConfigurationIID)).thenReturn(airConfiguration);
+
+ InstanceIdentifier<AirInterfaceHistoricalPerformances> mwAirInterfaceHistoricalPerformanceIID =
+ InstanceIdentifier.builder(MwAirInterfacePac.class, new MwAirInterfacePacKey(uid))
+ .child(AirInterfaceHistoricalPerformances.class).build();
+
+ PerformanceData performanceData = new PerformanceDataBuilder().build();
+ List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.air._interface.historical.performances.g.HistoricalPerformanceDataList> airHistPMList =
+ Arrays.asList(
+ new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.air._interface.historical.performances.g.HistoricalPerformanceDataListBuilder()
+ .setGranularityPeriod(GranularityPeriodType.Period15Min)
+ .setPerformanceData(performanceData).build());
+ AirInterfaceHistoricalPerformances airHistoricalPerformanceData =
+ new AirInterfaceHistoricalPerformancesBuilder().setHistoricalPerformanceDataList(airHistPMList).build();
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ mwAirInterfaceHistoricalPerformanceIID)).thenReturn(airHistoricalPerformanceData);
+
+ InstanceIdentifier<EthernetContainerHistoricalPerformances> ethContainerIID =
+ InstanceIdentifier.builder(MwEthernetContainerPac.class, new MwEthernetContainerPacKey(uid))
+ .child(EthernetContainerHistoricalPerformances.class).build();
+
+ org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.container.historical.performance.type.g.PerformanceData ethPerformanceData =
+ new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.container.historical.performance.type.g.PerformanceDataBuilder()
+ .build();
+ List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.ethernet.container.historical.performances.g.HistoricalPerformanceDataList> ethHistPMList =
+ Arrays.asList(
+ new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.ethernet.container.historical.performances.g.HistoricalPerformanceDataListBuilder()
+ .setGranularityPeriod(GranularityPeriodType.Period24Hours)
+ .setPerformanceData(ethPerformanceData).build());
+ EthernetContainerHistoricalPerformances ethContainerHistoricalPerformanceData =
+ new EthernetContainerHistoricalPerformancesBuilder().setHistoricalPerformanceDataList(ethHistPMList)
+ .build();
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ ethContainerIID)).thenReturn(ethContainerHistoricalPerformanceData);
+
+ Lp lp = new LpBuilder().setUuid(uid).build();
+ WrapperMicrowaveModelRev170324 wrapperMicrowaveModelRev170324 =
+ new WrapperMicrowaveModelRev170324(accessor, serviceProvider);
+
+ wrapperMicrowaveModelRev170324.getLtpHistoricalPerformanceData(ONFLayerProtocolName.ETHERNET, lp);
+ }
+}
diff --git a/sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ifpac/microwave/test/TestWrapperMicrowaveModelRev180907.java b/sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ifpac/microwave/test/TestWrapperMicrowaveModelRev180907.java
new file mode 100644
index 000000000..4c4c9734a
--- /dev/null
+++ b/sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ifpac/microwave/test/TestWrapperMicrowaveModelRev180907.java
@@ -0,0 +1,339 @@
+/*
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt
+ * =================================================================================================
+ * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property. All rights reserved.
+ * =================================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ * ============LICENSE_END==========================================================================
+ */
+package org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.ifpac.microwave.test;
+
+import static org.junit.Assert.*;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.lang.reflect.Constructor;
+import java.util.Arrays;
+import java.util.List;
+
+import org.eclipse.jdt.annotation.NonNull;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.ifpac.microwave.WrapperMicrowaveModelRev180907;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.util.ONFLayerProtocolName;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.DeviceManagerServiceProvider;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.FaultService;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.FaultData;
+import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfBindingAccessor;
+import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.TransactionUtils;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.UniversalId;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.label.g.Label;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.logical.termination.point.g.Lp;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.logical.termination.point.g.LpBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.g._874._1.model.rev170320.GranularityPeriodType;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.air._interface.historical.performance.type.g.PerformanceData;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.air._interface.historical.performance.type.g.PerformanceDataBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.air._interface.pac.AirInterfaceConfiguration;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.air._interface.pac.AirInterfaceConfigurationBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.air._interface.pac.AirInterfaceHistoricalPerformances;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.air._interface.pac.AirInterfaceHistoricalPerformancesBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.ethernet.container.pac.EthernetContainerHistoricalPerformances;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.ethernet.container.pac.EthernetContainerHistoricalPerformancesBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwAirInterfaceDiversityPac;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwAirInterfaceDiversityPacKey;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwAirInterfacePac;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwAirInterfacePacKey;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwEthernetContainerPac;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwEthernetContainerPacKey;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwHybridMwStructurePac;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwHybridMwStructurePacKey;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwPureEthernetStructurePac;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwPureEthernetStructurePacKey;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwTdmContainerPac;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwTdmContainerPacKey;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.SeverityType;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.air._interface.diversity.pac.AirInterfaceDiversityCurrentProblems;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.air._interface.diversity.pac.AirInterfaceDiversityCurrentProblemsBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.air._interface.pac.AirInterfaceCurrentProblems;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.air._interface.pac.AirInterfaceCurrentProblemsBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.ethernet.container.pac.EthernetContainerCurrentProblems;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.ethernet.container.pac.EthernetContainerCurrentProblemsBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.hybrid.mw.structure.pac.HybridMwStructureCurrentProblems;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.hybrid.mw.structure.pac.HybridMwStructureCurrentProblemsBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.pure.ethernet.structure.pac.PureEthernetStructureCurrentProblems;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.pure.ethernet.structure.pac.PureEthernetStructureCurrentProblemsBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.tdm.container.pac.TdmContainerCurrentProblems;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.tdm.container.pac.TdmContainerCurrentProblemsBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.air._interface.current.problems.g.CurrentProblemList;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.air._interface.current.problems.g.CurrentProblemListBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.air._interface.diversity.current.performance.g.CurrentPerformanceDataList;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+
+public class TestWrapperMicrowaveModelRev180907 {
+
+ NetconfBindingAccessor accessor;
+ DeviceManagerServiceProvider serviceProvider;
+ FaultData resultList;
+ UniversalId uid;
+ TransactionUtils transactionUtils;
+
+ InstanceIdentifier<AirInterfaceCurrentProblems> mwAirInterfaceIID;
+ @NonNull
+ AirInterfaceCurrentProblems airInterfaceCurrentProblems;
+
+ InstanceIdentifier<EthernetContainerCurrentProblems> mwEthInterfaceIID;
+ @NonNull
+ EthernetContainerCurrentProblems ethernetContainerCurrentProblems;
+
+ @Before
+ public void init() {
+ accessor = mock(NetconfBindingAccessor.class);
+ serviceProvider = mock(DeviceManagerServiceProvider.class);
+ resultList = mock(FaultData.class);
+ transactionUtils = mock(TransactionUtils.class);
+
+ uid = new UniversalId("ABCD");
+
+ mwAirInterfaceIID = InstanceIdentifier.builder(MwAirInterfacePac.class, new MwAirInterfacePacKey(uid))
+ .child(AirInterfaceCurrentProblems.class).build();
+ List<CurrentProblemList> currentProblemList =
+ Arrays.asList(new CurrentProblemListBuilder().setProblemName("Loss of Signal")
+ .setProblemSeverity(SeverityType.Critical).setSequenceNumber(1).setTimeStamp(null).build());
+ airInterfaceCurrentProblems =
+ new AirInterfaceCurrentProblemsBuilder().setCurrentProblemList(currentProblemList).build();
+
+ mwEthInterfaceIID = InstanceIdentifier.builder(MwEthernetContainerPac.class, new MwEthernetContainerPacKey(uid))
+ .child(EthernetContainerCurrentProblems.class).build();
+ List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.ethernet.container.current.problems.g.CurrentProblemList> ethCurrentProblemsList =
+ Arrays.asList(
+ new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.ethernet.container.current.problems.g.CurrentProblemListBuilder()
+ .setProblemName("Link Negotiation Unsuccessful")
+ .setProblemSeverity(SeverityType.Critical).setSequenceNumber(1).setTimeStamp(null)
+ .build());
+ ethernetContainerCurrentProblems =
+ new EthernetContainerCurrentProblemsBuilder().setCurrentProblemList(ethCurrentProblemsList).build();
+
+ NodeId nNodeId = new NodeId("nSky");
+ when(accessor.getNodeId()).thenReturn(nNodeId);
+ when(accessor.getTransactionUtils()).thenReturn(transactionUtils);
+
+ }
+
+ @Test
+ public void testMWAirInterfaceWithProblems() {
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ mwAirInterfaceIID)).thenReturn(airInterfaceCurrentProblems);
+
+ WrapperMicrowaveModelRev180907 wrapperMicrowaveModelRev180907 =
+ new WrapperMicrowaveModelRev180907(accessor, serviceProvider);
+ wrapperMicrowaveModelRev180907.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.MWAIRINTERFACE, null, uid,
+ resultList);
+ }
+
+ @Test
+ public void testMWAirInterfaceWithoProblems() {
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ mwAirInterfaceIID)).thenReturn(null);
+
+ WrapperMicrowaveModelRev180907 wrapperMicrowaveModelRev180907 =
+ new WrapperMicrowaveModelRev180907(accessor, serviceProvider);
+ wrapperMicrowaveModelRev180907.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.MWAIRINTERFACE, null, uid,
+ resultList);
+ }
+
+ @Test
+ public void testEthernetContainer12WithProblems() {
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ mwEthInterfaceIID)).thenReturn(ethernetContainerCurrentProblems);
+
+ WrapperMicrowaveModelRev180907 wrapperMicrowaveModelRev180907 =
+ new WrapperMicrowaveModelRev180907(accessor, serviceProvider);
+ wrapperMicrowaveModelRev180907.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.ETHERNETCONTAINER12, null,
+ uid, resultList);
+ }
+
+ @Test
+ public void testEthernetContainer12WithNoProblems() {
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ mwEthInterfaceIID)).thenReturn(null);
+
+ WrapperMicrowaveModelRev180907 wrapperMicrowaveModelRev180907 =
+ new WrapperMicrowaveModelRev180907(accessor, serviceProvider);
+ wrapperMicrowaveModelRev180907.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.ETHERNETCONTAINER12, null,
+ uid, resultList);
+ }
+
+ @Test
+ public void testTdmContainer12WithProblems() throws Exception {
+ final Class<MwTdmContainerPac> clazzPac = MwTdmContainerPac.class;
+ final Class<MwTdmContainerPacKey> clazzPacKey = MwTdmContainerPacKey.class;
+ final Class<TdmContainerCurrentProblems> clazzProblems = TdmContainerCurrentProblems.class;
+
+ Constructor<MwTdmContainerPacKey> cons = clazzPacKey.getConstructor(UniversalId.class); // Avoid new()
+ InstanceIdentifier<TdmContainerCurrentProblems> mwEthInterfaceIID =
+ InstanceIdentifier.builder(clazzPac, cons.newInstance(uid)).child(clazzProblems).build();
+
+ List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.tdm.container.current.problems.g.CurrentProblemList> currentProblemList =
+ Arrays.asList(
+ new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.tdm.container.current.problems.g.CurrentProblemListBuilder()
+ .setProblemName("Loss of Payload").setProblemSeverity(SeverityType.Major)
+ .setSequenceNumber(2).setTimeStamp(null).build());
+ TdmContainerCurrentProblems tdmInterfaceCurrentProblems =
+ new TdmContainerCurrentProblemsBuilder().setCurrentProblemList(currentProblemList).build();
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ mwEthInterfaceIID)).thenReturn(tdmInterfaceCurrentProblems);
+
+ WrapperMicrowaveModelRev180907 wrapperMicrowaveModelRev180907 =
+ new WrapperMicrowaveModelRev180907(accessor, serviceProvider);
+ wrapperMicrowaveModelRev180907.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.TDMCONTAINER, null, uid,
+ resultList);
+
+ }
+
+ @Test
+ public void testMwHybridMwStructureWithProblems() throws Exception {
+ final Class<MwHybridMwStructurePac> clazzPac = MwHybridMwStructurePac.class;
+ final Class<HybridMwStructureCurrentProblems> clazzProblems = HybridMwStructureCurrentProblems.class;
+
+ InstanceIdentifier<HybridMwStructureCurrentProblems> mwEthInterfaceIID =
+ InstanceIdentifier.builder(clazzPac, new MwHybridMwStructurePacKey(uid)).child(clazzProblems).build();
+
+ List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.hybrid.mw.structure.current.problems.g.CurrentProblemList> currentProblemList =
+ Arrays.asList(
+ new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.hybrid.mw.structure.current.problems.g.CurrentProblemListBuilder()
+ .setProblemName("Loss of Payload").setProblemSeverity(SeverityType.Major)
+ .setSequenceNumber(2).setTimeStamp(null).build());
+ HybridMwStructureCurrentProblems hybridMwStructureCurrentProblems =
+ new HybridMwStructureCurrentProblemsBuilder().setCurrentProblemList(currentProblemList).build();
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ mwEthInterfaceIID)).thenReturn(hybridMwStructureCurrentProblems);
+
+ WrapperMicrowaveModelRev180907 wrapperMicrowaveModelRev180907 =
+ new WrapperMicrowaveModelRev180907(accessor, serviceProvider);
+ wrapperMicrowaveModelRev180907.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.STRUCTURE,
+ MwHybridMwStructurePac.class, uid, resultList);
+
+ }
+
+ @Test
+ public void testMwAirInterfaceDiversityStructureWithProblems() throws Exception {
+ final Class<MwAirInterfaceDiversityPac> clazzPac = MwAirInterfaceDiversityPac.class;
+ final Class<AirInterfaceDiversityCurrentProblems> clazzProblems = AirInterfaceDiversityCurrentProblems.class;
+
+ InstanceIdentifier<AirInterfaceDiversityCurrentProblems> mwEthInterfaceIID = InstanceIdentifier
+ .builder(clazzPac, new MwAirInterfaceDiversityPacKey(uid)).child(clazzProblems).build();
+
+ List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.air._interface.diversity.current.problems.g.CurrentProblemList> currentProblemList =
+ Arrays.asList(
+ new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.air._interface.diversity.current.problems.g.CurrentProblemListBuilder()
+ .setProblemName("Loss of Payload").setProblemSeverity(SeverityType.Major)
+ .setSequenceNumber(2).setTimeStamp(null).build());
+ AirInterfaceDiversityCurrentProblems hybridMwStructureCurrentProblems =
+ new AirInterfaceDiversityCurrentProblemsBuilder().setCurrentProblemList(currentProblemList).build();
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ mwEthInterfaceIID)).thenReturn(hybridMwStructureCurrentProblems);
+
+ WrapperMicrowaveModelRev180907 wrapperMicrowaveModelRev180907 =
+ new WrapperMicrowaveModelRev180907(accessor, serviceProvider);
+ wrapperMicrowaveModelRev180907.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.STRUCTURE,
+ MwAirInterfaceDiversityPac.class, uid, resultList);
+
+ }
+
+ @Test
+ public void testMwPureEthernetStructureWithProblems() throws Exception {
+ final Class<MwPureEthernetStructurePac> clazzPac = MwPureEthernetStructurePac.class;
+ final Class<PureEthernetStructureCurrentProblems> clazzProblems = PureEthernetStructureCurrentProblems.class;
+
+ InstanceIdentifier<PureEthernetStructureCurrentProblems> mwEthInterfaceIID = InstanceIdentifier
+ .builder(clazzPac, new MwPureEthernetStructurePacKey(uid)).child(clazzProblems).build();
+
+ List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.pure.ethernet.structure.current.problems.g.CurrentProblemList> currentProblemList =
+ Arrays.asList(
+ new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.pure.ethernet.structure.current.problems.g.CurrentProblemListBuilder()
+ .setProblemName("Loss of Payload").setProblemSeverity(SeverityType.Major)
+ .setSequenceNumber(2).setTimeStamp(null).build());
+ PureEthernetStructureCurrentProblems hybridMwStructureCurrentProblems =
+ new PureEthernetStructureCurrentProblemsBuilder().setCurrentProblemList(currentProblemList).build();
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ mwEthInterfaceIID)).thenReturn(hybridMwStructureCurrentProblems);
+
+ WrapperMicrowaveModelRev180907 wrapperMicrowaveModelRev180907 =
+ new WrapperMicrowaveModelRev180907(accessor, serviceProvider);
+ wrapperMicrowaveModelRev180907.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.STRUCTURE,
+ MwPureEthernetStructurePac.class, uid, resultList);
+
+ }
+
+ @Test
+ public void testNullStructureWithProblems() throws Exception {
+
+ WrapperMicrowaveModelRev180907 wrapperMicrowaveModelRev180907 =
+ new WrapperMicrowaveModelRev180907(accessor, serviceProvider);
+ wrapperMicrowaveModelRev180907.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.STRUCTURE, null, uid,
+ resultList);
+
+ }
+
+ @Test
+ public void testgetLtpHistoricalPerformanceData() {
+ InstanceIdentifier<AirInterfaceConfiguration> mwAirInterfaceConfigurationIID =
+ InstanceIdentifier.builder(MwAirInterfacePac.class, new MwAirInterfacePacKey(uid))
+ .child(AirInterfaceConfiguration.class).build();
+
+ AirInterfaceConfiguration airConfiguration =
+ new AirInterfaceConfigurationBuilder().setAirInterfaceName("TESTINTF").build();
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ mwAirInterfaceConfigurationIID)).thenReturn(airConfiguration);
+
+ InstanceIdentifier<AirInterfaceHistoricalPerformances> mwAirInterfaceHistoricalPerformanceIID =
+ InstanceIdentifier.builder(MwAirInterfacePac.class, new MwAirInterfacePacKey(uid))
+ .child(AirInterfaceHistoricalPerformances.class).build();
+
+ PerformanceData performanceData = new PerformanceDataBuilder().build();
+ List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.air._interface.historical.performances.g.HistoricalPerformanceDataList> airHistPMList =
+ Arrays.asList(
+ new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.air._interface.historical.performances.g.HistoricalPerformanceDataListBuilder()
+ .setGranularityPeriod(GranularityPeriodType.Period15Min)
+ .setPerformanceData(performanceData).build());
+ AirInterfaceHistoricalPerformances airHistoricalPerformanceData =
+ new AirInterfaceHistoricalPerformancesBuilder().setHistoricalPerformanceDataList(airHistPMList).build();
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ mwAirInterfaceHistoricalPerformanceIID)).thenReturn(airHistoricalPerformanceData);
+
+ InstanceIdentifier<EthernetContainerHistoricalPerformances> ethContainerIID =
+ InstanceIdentifier.builder(MwEthernetContainerPac.class, new MwEthernetContainerPacKey(uid))
+ .child(EthernetContainerHistoricalPerformances.class).build();
+
+ org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.container.historical.performance.type.g.PerformanceData ethPerformanceData =
+ new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.container.historical.performance.type.g.PerformanceDataBuilder()
+ .build();
+ List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.ethernet.container.historical.performances.g.HistoricalPerformanceDataList> ethHistPMList =
+ Arrays.asList(
+ new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.ethernet.container.historical.performances.g.HistoricalPerformanceDataListBuilder()
+ .setGranularityPeriod(GranularityPeriodType.Period24Hours)
+ .setPerformanceData(ethPerformanceData).build());
+ EthernetContainerHistoricalPerformances ethContainerHistoricalPerformanceData =
+ new EthernetContainerHistoricalPerformancesBuilder().setHistoricalPerformanceDataList(ethHistPMList)
+ .build();
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ ethContainerIID)).thenReturn(ethContainerHistoricalPerformanceData);
+
+ Lp lp = new LpBuilder().setUuid(uid).build();;
+ WrapperMicrowaveModelRev180907 wrapperMicrowaveModelRev180907 =
+ new WrapperMicrowaveModelRev180907(accessor, serviceProvider);
+
+ wrapperMicrowaveModelRev180907.getLtpHistoricalPerformanceData(ONFLayerProtocolName.MWAIRINTERFACE, lp);
+ }
+}
diff --git a/sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ifpac/microwave/test/TestWrapperMicrowaveModelRev181010.java b/sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ifpac/microwave/test/TestWrapperMicrowaveModelRev181010.java
new file mode 100644
index 000000000..0259fea5e
--- /dev/null
+++ b/sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ifpac/microwave/test/TestWrapperMicrowaveModelRev181010.java
@@ -0,0 +1,343 @@
+/*
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt
+ * =================================================================================================
+ * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property. All rights reserved.
+ * =================================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ * ============LICENSE_END==========================================================================
+ */
+package org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.ifpac.microwave.test;
+
+import static org.junit.Assert.*;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.lang.reflect.Constructor;
+import java.util.Arrays;
+import java.util.List;
+
+import org.eclipse.jdt.annotation.NonNull;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.ifpac.microwave.WrapperMicrowaveModelRev181010;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.util.ONFLayerProtocolName;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.DeviceManagerServiceProvider;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.FaultService;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.FaultData;
+import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfBindingAccessor;
+import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.TransactionUtils;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.UniversalId;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.label.g.Label;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.logical.termination.point.g.Lp;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.logical.termination.point.g.LpBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.g._874._1.model.rev170320.GranularityPeriodType;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.ethernet.container.pac.EthernetContainerHistoricalPerformances;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.ethernet.container.pac.EthernetContainerHistoricalPerformancesBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.air._interface.historical.performance.type.g.PerformanceData;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.air._interface.historical.performance.type.g.PerformanceDataBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwAirInterfaceDiversityPac;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwAirInterfaceDiversityPacKey;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwAirInterfacePac;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwAirInterfacePacKey;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwEthernetContainerPac;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwEthernetContainerPacKey;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwHybridMwStructurePac;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwHybridMwStructurePacKey;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwPureEthernetStructurePac;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwPureEthernetStructurePacKey;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwTdmContainerPac;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwTdmContainerPacKey;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.SeverityType;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.air._interface.diversity.pac.AirInterfaceDiversityCurrentProblems;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.air._interface.diversity.pac.AirInterfaceDiversityCurrentProblemsBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.air._interface.pac.AirInterfaceConfiguration;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.air._interface.pac.AirInterfaceConfigurationBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.air._interface.pac.AirInterfaceCurrentProblems;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.air._interface.pac.AirInterfaceCurrentProblemsBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.air._interface.pac.AirInterfaceHistoricalPerformances;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.air._interface.pac.AirInterfaceHistoricalPerformancesBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.ethernet.container.pac.EthernetContainerCurrentProblems;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.ethernet.container.pac.EthernetContainerCurrentProblemsBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.hybrid.mw.structure.pac.HybridMwStructureCurrentProblems;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.hybrid.mw.structure.pac.HybridMwStructureCurrentProblemsBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.pure.ethernet.structure.pac.PureEthernetStructureCurrentProblems;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.pure.ethernet.structure.pac.PureEthernetStructureCurrentProblemsBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.tdm.container.pac.TdmContainerCurrentProblems;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.tdm.container.pac.TdmContainerCurrentProblemsBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.air._interface.current.problems.g.CurrentProblemList;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.air._interface.current.problems.g.CurrentProblemListBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.air._interface.diversity.current.performance.g.CurrentPerformanceDataList;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+
+@SuppressWarnings("deprecation")
+public class TestWrapperMicrowaveModelRev181010 {
+
+ NetconfBindingAccessor accessor;
+ DeviceManagerServiceProvider serviceProvider;
+ FaultData resultList;
+ UniversalId uid;
+ TransactionUtils transactionUtils;
+ DataBroker dataBroker;
+
+ InstanceIdentifier<AirInterfaceCurrentProblems> mwAirInterfaceIID;
+ @NonNull
+ AirInterfaceCurrentProblems airInterfaceCurrentProblems;
+
+ InstanceIdentifier<EthernetContainerCurrentProblems> mwEthInterfaceIID;
+ @NonNull
+ EthernetContainerCurrentProblems ethernetContainerCurrentProblems;
+
+ @Before
+ public void init() {
+ accessor = mock(NetconfBindingAccessor.class);
+ serviceProvider = mock(DeviceManagerServiceProvider.class);
+ resultList = mock(FaultData.class);
+ transactionUtils = mock(TransactionUtils.class);
+ dataBroker = mock(DataBroker.class);
+
+ uid = new UniversalId("ABCD");
+
+ mwAirInterfaceIID = InstanceIdentifier.builder(MwAirInterfacePac.class, new MwAirInterfacePacKey(uid))
+ .child(AirInterfaceCurrentProblems.class).build();
+ List<CurrentProblemList> currentProblemList =
+ Arrays.asList(new CurrentProblemListBuilder().setProblemName("Loss of Signal")
+ .setProblemSeverity(SeverityType.Critical).setSequenceNumber(1).setTimeStamp(null).build());
+ airInterfaceCurrentProblems =
+ new AirInterfaceCurrentProblemsBuilder().setCurrentProblemList(currentProblemList).build();
+
+ mwEthInterfaceIID = InstanceIdentifier.builder(MwEthernetContainerPac.class, new MwEthernetContainerPacKey(uid))
+ .child(EthernetContainerCurrentProblems.class).build();
+ List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.ethernet.container.current.problems.g.CurrentProblemList> ethCurrentProblemsList =
+ Arrays.asList(
+ new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.ethernet.container.current.problems.g.CurrentProblemListBuilder()
+ .setProblemName("Link Negotiation Unsuccessful")
+ .setProblemSeverity(SeverityType.Critical).setSequenceNumber(1).setTimeStamp(null)
+ .build());
+ ethernetContainerCurrentProblems =
+ new EthernetContainerCurrentProblemsBuilder().setCurrentProblemList(ethCurrentProblemsList).build();
+
+ NodeId nNodeId = new NodeId("nSky");
+ when(accessor.getNodeId()).thenReturn(nNodeId);
+ when(accessor.getTransactionUtils()).thenReturn(transactionUtils);
+ when(accessor.getDataBroker()).thenReturn(dataBroker);
+
+ }
+
+ @Test
+ public void testMWAirInterfaceWithProblems() {
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ mwAirInterfaceIID)).thenReturn(airInterfaceCurrentProblems);
+
+ WrapperMicrowaveModelRev181010 wrapperMicrowaveModelRev181010 =
+ new WrapperMicrowaveModelRev181010(accessor, serviceProvider);
+ wrapperMicrowaveModelRev181010.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.MWAIRINTERFACE, null, uid,
+ resultList);
+ }
+
+ @Test
+ public void testMWAirInterfaceWithoProblems() {
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ mwAirInterfaceIID)).thenReturn(null);
+
+ WrapperMicrowaveModelRev181010 wrapperMicrowaveModelRev181010 =
+ new WrapperMicrowaveModelRev181010(accessor, serviceProvider);
+ wrapperMicrowaveModelRev181010.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.MWAIRINTERFACE, null, uid,
+ resultList);
+ }
+
+ @Test
+ public void testEthernetContainer12WithProblems() {
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ mwEthInterfaceIID)).thenReturn(ethernetContainerCurrentProblems);
+
+ WrapperMicrowaveModelRev181010 wrapperMicrowaveModelRev181010 =
+ new WrapperMicrowaveModelRev181010(accessor, serviceProvider);
+ wrapperMicrowaveModelRev181010.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.ETHERNETCONTAINER12, null,
+ uid, resultList);
+ }
+
+ @Test
+ public void testEthernetContainer12WithNoProblems() {
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ mwEthInterfaceIID)).thenReturn(null);
+
+ WrapperMicrowaveModelRev181010 wrapperMicrowaveModelRev181010 =
+ new WrapperMicrowaveModelRev181010(accessor, serviceProvider);
+ wrapperMicrowaveModelRev181010.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.ETHERNETCONTAINER12, null,
+ uid, resultList);
+ }
+
+ @Test
+ public void testTdmContainer12WithProblems() throws Exception {
+ final Class<MwTdmContainerPac> clazzPac = MwTdmContainerPac.class;
+ final Class<MwTdmContainerPacKey> clazzPacKey = MwTdmContainerPacKey.class;
+ final Class<TdmContainerCurrentProblems> clazzProblems = TdmContainerCurrentProblems.class;
+
+ Constructor<MwTdmContainerPacKey> cons = clazzPacKey.getConstructor(UniversalId.class); // Avoid new()
+ InstanceIdentifier<TdmContainerCurrentProblems> mwEthInterfaceIID =
+ InstanceIdentifier.builder(clazzPac, cons.newInstance(uid)).child(clazzProblems).build();
+
+ List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.tdm.container.current.problems.g.CurrentProblemList> currentProblemList =
+ Arrays.asList(
+ new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.tdm.container.current.problems.g.CurrentProblemListBuilder()
+ .setProblemName("Loss of Payload").setProblemSeverity(SeverityType.Major)
+ .setSequenceNumber(2).setTimeStamp(null).build());
+ TdmContainerCurrentProblems tdmInterfaceCurrentProblems =
+ new TdmContainerCurrentProblemsBuilder().setCurrentProblemList(currentProblemList).build();
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ mwEthInterfaceIID)).thenReturn(tdmInterfaceCurrentProblems);
+
+ WrapperMicrowaveModelRev181010 wrapperMicrowaveModelRev181010 =
+ new WrapperMicrowaveModelRev181010(accessor, serviceProvider);
+ wrapperMicrowaveModelRev181010.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.TDMCONTAINER, null, uid,
+ resultList);
+
+ }
+
+ @Test
+ public void testMwHybridMwStructureWithProblems() throws Exception {
+ final Class<MwHybridMwStructurePac> clazzPac = MwHybridMwStructurePac.class;
+ final Class<HybridMwStructureCurrentProblems> clazzProblems = HybridMwStructureCurrentProblems.class;
+
+ InstanceIdentifier<HybridMwStructureCurrentProblems> mwEthInterfaceIID =
+ InstanceIdentifier.builder(clazzPac, new MwHybridMwStructurePacKey(uid)).child(clazzProblems).build();
+
+ List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.hybrid.mw.structure.current.problems.g.CurrentProblemList> currentProblemList =
+ Arrays.asList(
+ new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.hybrid.mw.structure.current.problems.g.CurrentProblemListBuilder()
+ .setProblemName("Loss of Payload").setProblemSeverity(SeverityType.Major)
+ .setSequenceNumber(2).setTimeStamp(null).build());
+ HybridMwStructureCurrentProblems hybridMwStructureCurrentProblems =
+ new HybridMwStructureCurrentProblemsBuilder().setCurrentProblemList(currentProblemList).build();
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ mwEthInterfaceIID)).thenReturn(hybridMwStructureCurrentProblems);
+
+ WrapperMicrowaveModelRev181010 wrapperMicrowaveModelRev181010 =
+ new WrapperMicrowaveModelRev181010(accessor, serviceProvider);
+ wrapperMicrowaveModelRev181010.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.STRUCTURE,
+ MwHybridMwStructurePac.class, uid, resultList);
+
+ }
+
+ @Test
+ public void testMwAirInterfaceDiversityStructureWithProblems() throws Exception {
+ final Class<MwAirInterfaceDiversityPac> clazzPac = MwAirInterfaceDiversityPac.class;
+ final Class<AirInterfaceDiversityCurrentProblems> clazzProblems = AirInterfaceDiversityCurrentProblems.class;
+
+ InstanceIdentifier<AirInterfaceDiversityCurrentProblems> mwEthInterfaceIID = InstanceIdentifier
+ .builder(clazzPac, new MwAirInterfaceDiversityPacKey(uid)).child(clazzProblems).build();
+
+ List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.air._interface.diversity.current.problems.g.CurrentProblemList> currentProblemList =
+ Arrays.asList(
+ new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.air._interface.diversity.current.problems.g.CurrentProblemListBuilder()
+ .setProblemName("Loss of Payload").setProblemSeverity(SeverityType.Major)
+ .setSequenceNumber(2).setTimeStamp(null).build());
+ AirInterfaceDiversityCurrentProblems hybridMwStructureCurrentProblems =
+ new AirInterfaceDiversityCurrentProblemsBuilder().setCurrentProblemList(currentProblemList).build();
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ mwEthInterfaceIID)).thenReturn(hybridMwStructureCurrentProblems);
+
+ WrapperMicrowaveModelRev181010 wrapperMicrowaveModelRev181010 =
+ new WrapperMicrowaveModelRev181010(accessor, serviceProvider);
+ wrapperMicrowaveModelRev181010.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.STRUCTURE,
+ MwAirInterfaceDiversityPac.class, uid, resultList);
+
+ }
+
+ @Test
+ public void testMwPureEthernetStructureWithProblems() throws Exception {
+ final Class<MwPureEthernetStructurePac> clazzPac = MwPureEthernetStructurePac.class;
+ final Class<PureEthernetStructureCurrentProblems> clazzProblems = PureEthernetStructureCurrentProblems.class;
+
+ InstanceIdentifier<PureEthernetStructureCurrentProblems> mwEthInterfaceIID = InstanceIdentifier
+ .builder(clazzPac, new MwPureEthernetStructurePacKey(uid)).child(clazzProblems).build();
+
+ List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.pure.ethernet.structure.current.problems.g.CurrentProblemList> currentProblemList =
+ Arrays.asList(
+ new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.pure.ethernet.structure.current.problems.g.CurrentProblemListBuilder()
+ .setProblemName("Loss of Payload").setProblemSeverity(SeverityType.Major)
+ .setSequenceNumber(2).setTimeStamp(null).build());
+ PureEthernetStructureCurrentProblems hybridMwStructureCurrentProblems =
+ new PureEthernetStructureCurrentProblemsBuilder().setCurrentProblemList(currentProblemList).build();
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ mwEthInterfaceIID)).thenReturn(hybridMwStructureCurrentProblems);
+
+ WrapperMicrowaveModelRev181010 wrapperMicrowaveModelRev181010 =
+ new WrapperMicrowaveModelRev181010(accessor, serviceProvider);
+ wrapperMicrowaveModelRev181010.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.STRUCTURE,
+ MwPureEthernetStructurePac.class, uid, resultList);
+
+ }
+
+ @Test
+ public void testNullStructureWithProblems() throws Exception {
+
+ WrapperMicrowaveModelRev181010 wrapperMicrowaveModelRev181010 =
+ new WrapperMicrowaveModelRev181010(accessor, serviceProvider);
+ wrapperMicrowaveModelRev181010.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.STRUCTURE, null, uid,
+ resultList);
+
+ }
+
+ @Test
+ public void testgetLtpHistoricalPerformanceData() {
+ InstanceIdentifier<AirInterfaceConfiguration> mwAirInterfaceConfigurationIID =
+ InstanceIdentifier.builder(MwAirInterfacePac.class, new MwAirInterfacePacKey(uid))
+ .child(AirInterfaceConfiguration.class).build();
+
+ AirInterfaceConfiguration airConfiguration = new AirInterfaceConfigurationBuilder().build();
+ when(accessor.getTransactionUtils().readData(dataBroker, LogicalDatastoreType.OPERATIONAL,
+ mwAirInterfaceConfigurationIID)).thenReturn(airConfiguration);
+
+ InstanceIdentifier<AirInterfaceHistoricalPerformances> mwAirInterfaceHistoricalPerformanceIID =
+ InstanceIdentifier.builder(MwAirInterfacePac.class, new MwAirInterfacePacKey(uid))
+ .child(AirInterfaceHistoricalPerformances.class).build();
+
+ PerformanceData performanceData = new PerformanceDataBuilder().build();
+ List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.air._interface.historical.performances.g.HistoricalPerformanceDataList> airHistPMList =
+ Arrays.asList(
+ new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.air._interface.historical.performances.g.HistoricalPerformanceDataListBuilder()
+ .setGranularityPeriod(GranularityPeriodType.Period15Min)
+ .setPerformanceData(performanceData).build());
+ AirInterfaceHistoricalPerformances airHistoricalPerformanceData =
+ new AirInterfaceHistoricalPerformancesBuilder().setHistoricalPerformanceDataList(airHistPMList).build();
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ mwAirInterfaceHistoricalPerformanceIID)).thenReturn(airHistoricalPerformanceData);
+
+ InstanceIdentifier<EthernetContainerHistoricalPerformances> ethContainerIID =
+ InstanceIdentifier.builder(MwEthernetContainerPac.class, new MwEthernetContainerPacKey(uid))
+ .child(EthernetContainerHistoricalPerformances.class).build();
+
+ org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.container.historical.performance.type.g.PerformanceData ethPerformanceData =
+ new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.container.historical.performance.type.g.PerformanceDataBuilder()
+ .build();
+ List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.ethernet.container.historical.performances.g.HistoricalPerformanceDataList> ethHistPMList =
+ Arrays.asList(
+ new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.ethernet.container.historical.performances.g.HistoricalPerformanceDataListBuilder()
+ .setGranularityPeriod(GranularityPeriodType.Period24Hours)
+ .setPerformanceData(ethPerformanceData).build());
+ EthernetContainerHistoricalPerformances ethContainerHistoricalPerformanceData =
+ new EthernetContainerHistoricalPerformancesBuilder().setHistoricalPerformanceDataList(ethHistPMList)
+ .build();
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ ethContainerIID)).thenReturn(ethContainerHistoricalPerformanceData);
+
+ Lp lp = new LpBuilder().setUuid(uid).build();
+ WrapperMicrowaveModelRev181010 wrapperMicrowaveModelRev181010 =
+ new WrapperMicrowaveModelRev181010(accessor, serviceProvider);
+
+ wrapperMicrowaveModelRev181010.getLtpHistoricalPerformanceData(ONFLayerProtocolName.MWAIRINTERFACE, lp);
+ }
+}
diff --git a/sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ifpac/test/TestWrapperPTPModelRev170208.java b/sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ifpac/test/TestWrapperPTPModelRev170208.java
new file mode 100644
index 000000000..0694bcecc
--- /dev/null
+++ b/sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ifpac/test/TestWrapperPTPModelRev170208.java
@@ -0,0 +1,93 @@
+/*
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt
+ * =================================================================================================
+ * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property. All rights reserved.
+ * =================================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ * ============LICENSE_END==========================================================================
+ */
+package org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.ifpac.test;
+
+import static org.junit.Assert.*;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.ifpac.WrapperPTPModelRev170208;
+import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.Capabilities;
+import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfBindingAccessor;
+import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.TransactionUtils;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ptp.dataset.rev170208.InstanceList;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ptp.dataset.rev170208.InstanceListBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ptp.dataset.rev170208.InstanceListKey;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ptp.dataset.rev170208.instance.list.PortDsList;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ptp.dataset.rev170208.instance.list.PortDsListBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ptp.dataset.rev170208.port.ds.entry.PortIdentity;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ptp.dataset.rev170208.port.ds.entry.PortIdentityBuilder;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.util.Arrays;
+import java.util.List;
+
+import static org.mockito.Mockito.*;
+
+public class TestWrapperPTPModelRev170208 {
+
+ private static final String NODEID = "node1";
+ NetconfBindingAccessor netconfAccessor;
+ Capabilities capabilities;
+ TransactionUtils transactionUtils;
+ DataBroker dataBroker;
+
+ @Before
+ public void init() {
+ netconfAccessor = mock(NetconfBindingAccessor.class);
+ capabilities = mock(Capabilities.class);
+ dataBroker = mock(DataBroker.class);
+ transactionUtils = mock(TransactionUtils.class);
+
+ when(netconfAccessor.getNodeId()).thenReturn(new NodeId(NODEID));
+ when(netconfAccessor.getCapabilites()).thenReturn(capabilities);
+ when(netconfAccessor.getTransactionUtils()).thenReturn(transactionUtils);
+ when(netconfAccessor.getDataBroker()).thenReturn(dataBroker);
+
+ PortIdentity portIdentity = new PortIdentityBuilder().setPortNumber(10).build();
+ List<PortDsList> portDsList = Arrays.asList(new PortDsListBuilder().setPortIdentity(portIdentity).build());
+ InstanceList instanceList = new InstanceListBuilder().setPortDsList(portDsList).build();
+ InstanceIdentifier<InstanceList> PTPINSTANCES_IID =
+ InstanceIdentifier.builder(InstanceList.class, new InstanceListKey(1)).build();
+ when(netconfAccessor.getTransactionUtils().readData(netconfAccessor.getDataBroker(),
+ LogicalDatastoreType.OPERATIONAL, PTPINSTANCES_IID)).thenReturn(instanceList);
+ }
+
+ @Test
+ public void test() {
+
+ when(capabilities.isSupportingNamespaceAndRevision(InstanceList.QNAME)).thenReturn(false);
+
+ WrapperPTPModelRev170208.initSynchronizationExtension(netconfAccessor);
+ }
+
+ @Test
+ public void test1() {
+
+ when(capabilities.isSupportingNamespaceAndRevision(InstanceList.QNAME)).thenReturn(true);
+
+ WrapperPTPModelRev170208.initSynchronizationExtension(netconfAccessor);
+ }
+
+}
diff --git a/sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/impl/test/TestONFCoreNetworkElementFactory.java b/sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/impl/test/TestONFCoreNetworkElementFactory.java
new file mode 100644
index 000000000..be0191f87
--- /dev/null
+++ b/sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/impl/test/TestONFCoreNetworkElementFactory.java
@@ -0,0 +1,127 @@
+/*
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt
+ * =================================================================================================
+ * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property. All rights reserved.
+ * =================================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ * ============LICENSE_END==========================================================================
+ */
+package org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.impl.test;
+
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+import java.io.File;
+import java.io.IOException;
+import java.util.Optional;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.onap.ccsdk.features.sdnr.wt.common.configuration.ConfigurationFileRepresentation;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.ifpac.microwave.WrapperMicrowaveModelRev170324;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.ifpac.microwave.WrapperMicrowaveModelRev180907;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.ifpac.microwave.WrapperMicrowaveModelRev181010;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.impl.DeviceManagerOnfConfiguration;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.impl.ONFCoreNetworkElementFactory;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.DeviceManagerServiceProvider;
+import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.Capabilities;
+import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfBindingAccessor;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.NetworkElement;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
+import org.opendaylight.yangtools.yang.common.QName;
+
+public class TestONFCoreNetworkElementFactory {
+
+ static NetconfBindingAccessor accessor;
+ static DeviceManagerServiceProvider serviceProvider;
+ static Capabilities capabilities;
+ static DataBroker dataBroker;
+ static NodeId nNodeId;
+ static DeviceManagerOnfConfiguration configuration;
+ QName qCapability;
+ static File configFile;
+
+
+ @BeforeClass
+ public static void init() throws InterruptedException, IOException {
+
+ capabilities = mock(Capabilities.class);
+ accessor = mock(NetconfBindingAccessor.class);
+ serviceProvider = mock(DeviceManagerServiceProvider.class);
+ dataBroker = mock(DataBroker.class);
+
+ configFile = new File("devicemanager.properties");
+ ConfigurationFileRepresentation configFileRep = new ConfigurationFileRepresentation(configFile);
+ configuration = new DeviceManagerOnfConfiguration(configFileRep);
+
+ when(accessor.getCapabilites()).thenReturn(capabilities);
+ //when(serviceProvider.getDataProvider()).thenReturn(dataProvider);
+ nNodeId = new NodeId("nSky");
+ NetconfBindingAccessor bindingAccessor = mock(NetconfBindingAccessor.class);
+ when(bindingAccessor.getNodeId()).thenReturn(nNodeId);
+ when(bindingAccessor.getCapabilites()).thenReturn(capabilities);
+
+ when(accessor.getNodeId()).thenReturn(nNodeId);
+ when(accessor.getNetconfBindingAccessor()).thenReturn(Optional.of(bindingAccessor));
+ when(accessor.getCapabilites().isSupportingNamespaceAndRevision(NetworkElement.QNAME)).thenReturn(true);
+
+ }
+
+ @AfterClass
+ public static void after() {
+ configFile.delete();
+ }
+
+ @Test
+ public void testCreateMWModelRev170324() throws Exception {
+ when(accessor.getCapabilites().isSupportingNamespaceAndRevision(WrapperMicrowaveModelRev170324.QNAME))
+ .thenReturn(true);
+ when(accessor.getCapabilites().isSupportingNamespaceAndRevision(WrapperMicrowaveModelRev180907.QNAME))
+ .thenReturn(false);
+ when(accessor.getCapabilites().isSupportingNamespaceAndRevision(WrapperMicrowaveModelRev181010.QNAME))
+ .thenReturn(false);
+ ONFCoreNetworkElementFactory factory = new ONFCoreNetworkElementFactory(configuration);
+ assertTrue(factory.create(accessor, serviceProvider).isPresent());
+ }
+
+ @Test
+ public void testCreateMWModelRev180907() throws Exception {
+ when(accessor.getCapabilites().isSupportingNamespaceAndRevision(WrapperMicrowaveModelRev170324.QNAME))
+ .thenReturn(false);
+ when(accessor.getCapabilites().isSupportingNamespaceAndRevision(WrapperMicrowaveModelRev180907.QNAME))
+ .thenReturn(true);
+ when(accessor.getCapabilites().isSupportingNamespaceAndRevision(WrapperMicrowaveModelRev181010.QNAME))
+ .thenReturn(false);
+ ONFCoreNetworkElementFactory factory = new ONFCoreNetworkElementFactory(configuration);
+ assertTrue(factory.create(accessor, serviceProvider).isPresent());
+ }
+
+ @Test
+ public void testCreateMWModelRev181010() throws Exception {
+ when(accessor.getCapabilites().isSupportingNamespaceAndRevision(WrapperMicrowaveModelRev170324.QNAME))
+ .thenReturn(false);
+ when(accessor.getCapabilites().isSupportingNamespaceAndRevision(WrapperMicrowaveModelRev180907.QNAME))
+ .thenReturn(false);
+ when(accessor.getCapabilites().isSupportingNamespaceAndRevision(WrapperMicrowaveModelRev181010.QNAME))
+ .thenReturn(true);
+ ONFCoreNetworkElementFactory factory = new ONFCoreNetworkElementFactory(configuration);
+ assertTrue(factory.create(accessor, serviceProvider).isPresent());
+ }
+
+ @After
+ public void cleanUp() throws Exception {
+
+ }
+}
+
diff --git a/sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ne/test/TestONFCoreNetworkElement12Basic.java b/sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ne/test/TestONFCoreNetworkElement12Basic.java
new file mode 100644
index 000000000..25fba9281
--- /dev/null
+++ b/sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ne/test/TestONFCoreNetworkElement12Basic.java
@@ -0,0 +1,98 @@
+/*
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt
+ * =================================================================================================
+ * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property. All rights reserved.
+ * =================================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ * ============LICENSE_END==========================================================================
+ */
+package org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.ne.test;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+import java.util.Optional;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.ifpac.microwave.OnfMicrowaveModel;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.impl.DeviceManagerOnfConfiguration;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.ne.ONFCoreNetworkElement12Microwave;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.DeviceManagerServiceProvider;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.EquipmentService;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.FaultService;
+import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.Capabilities;
+import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfBindingAccessor;
+import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.TransactionUtils;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.NetworkElement;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.onf.core.model.conditional.packages.rev170402.NetworkElementPac;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.EventlogEntity;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+
+public class TestONFCoreNetworkElement12Basic {
+
+ NetconfBindingAccessor accessor;
+ DeviceManagerServiceProvider serviceProvider;
+ Capabilities capabilities;
+ TransactionUtils transactionUtils;
+ NetworkElement optionalNe;
+ OnfMicrowaveModel onfMicrowaveModel;
+ FaultService faultService;
+ EquipmentService equipmentService;
+ DeviceManagerOnfConfiguration configuration;
+
+ protected static final InstanceIdentifier<NetworkElement> NETWORKELEMENT_IID =
+ InstanceIdentifier.builder(NetworkElement.class).build();
+
+ @Before
+ public void init() {
+ accessor = mock(NetconfBindingAccessor.class);
+ serviceProvider = mock(DeviceManagerServiceProvider.class);
+ capabilities = mock(Capabilities.class);
+ transactionUtils = mock(TransactionUtils.class);
+ onfMicrowaveModel = mock(OnfMicrowaveModel.class);
+ faultService = mock(FaultService.class);
+ equipmentService = mock(EquipmentService.class);
+ configuration = mock(DeviceManagerOnfConfiguration.class);
+
+ when(accessor.getCapabilites()).thenReturn(capabilities);
+ when(serviceProvider.getFaultService()).thenReturn(faultService);
+ when(serviceProvider.getEquipmentService()).thenReturn(equipmentService);
+
+ NodeId nNodeId = new NodeId("nSky");
+ when(accessor.getNodeId()).thenReturn(nNodeId);
+ when(accessor.getCapabilites().isSupportingNamespaceAndRevision(NetworkElementPac.QNAME)).thenReturn(true);
+ when(accessor.getTransactionUtils()).thenReturn(transactionUtils);
+ NetconfBindingAccessor bindingAccessor = mock(NetconfBindingAccessor.class);
+ when(bindingAccessor.getNodeId()).thenReturn(nNodeId);
+ when(accessor.getNetconfBindingAccessor()).thenReturn(Optional.of(bindingAccessor));
+
+ }
+
+ @Test
+ public void test1() {
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ NETWORKELEMENT_IID)).thenReturn(null);
+
+ ONFCoreNetworkElement12Microwave onfCoreNetworkElement12MW =
+ new ONFCoreNetworkElement12Microwave(accessor, serviceProvider, configuration, onfMicrowaveModel);
+ onfCoreNetworkElement12MW.prepareCheck();
+
+ EventlogEntity eventlogEntity = mock(EventlogEntity.class);
+ when(eventlogEntity.getObjectId()).thenReturn("ABCD");
+ when(eventlogEntity.getAttributeName()).thenReturn("/equipment-pac/equipment-current-problems");
+
+ onfCoreNetworkElement12MW.notificationActor(eventlogEntity);
+ }
+
+
+}
diff --git a/sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ne/test/TestONFCoreNetworkElement12Microwave.java b/sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ne/test/TestONFCoreNetworkElement12Microwave.java
new file mode 100644
index 000000000..ab907ead7
--- /dev/null
+++ b/sdnr/wt/devicemanager-onap/onf12/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf/ne/test/TestONFCoreNetworkElement12Microwave.java
@@ -0,0 +1,113 @@
+/*
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt
+ * =================================================================================================
+ * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property. All rights reserved.
+ * =================================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ * ============LICENSE_END==========================================================================
+ */
+package org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.ne.test;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.ifpac.microwave.OnfMicrowaveModel;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.impl.DeviceManagerOnfConfiguration;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.ne.ONFCoreNetworkElement12Microwave;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.DeviceManagerServiceProvider;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.EquipmentService;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.FaultService;
+import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.Capabilities;
+import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfBindingAccessor;
+import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.TransactionUtils;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.NetworkElement;
+import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.onf.core.model.conditional.packages.rev170402.NetworkElementPac;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.EventlogEntity;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+
+public class TestONFCoreNetworkElement12Microwave {
+
+ NetconfBindingAccessor accessor;
+ DeviceManagerServiceProvider serviceProvider;
+ Capabilities capabilities;
+ TransactionUtils transactionUtils;
+ NetworkElement optionalNe;
+ OnfMicrowaveModel onfMicrowaveModel;
+ FaultService faultService;
+ EquipmentService equipmentService;
+ DeviceManagerOnfConfiguration configuration;
+
+ protected static final InstanceIdentifier<NetworkElement> NETWORKELEMENT_IID =
+ InstanceIdentifier.builder(NetworkElement.class).build();
+
+ @Before
+ public void init() {
+ accessor = mock(NetconfBindingAccessor.class);
+ serviceProvider = mock(DeviceManagerServiceProvider.class);
+ capabilities = mock(Capabilities.class);
+ transactionUtils = mock(TransactionUtils.class);
+ onfMicrowaveModel = mock(OnfMicrowaveModel.class);
+ faultService = mock(FaultService.class);
+ equipmentService = mock(EquipmentService.class);
+ configuration = mock(DeviceManagerOnfConfiguration.class);
+
+ when(accessor.getCapabilites()).thenReturn(capabilities);
+ when(serviceProvider.getFaultService()).thenReturn(faultService);
+ when(serviceProvider.getEquipmentService()).thenReturn(equipmentService);
+
+ NodeId nNodeId = new NodeId("nSky");
+ when(accessor.getNodeId()).thenReturn(nNodeId);
+ when(accessor.getCapabilites().isSupportingNamespaceAndRevision(NetworkElementPac.QNAME)).thenReturn(true);
+ when(accessor.getTransactionUtils()).thenReturn(transactionUtils);
+ }
+
+ @Test
+ public void test() {
+ optionalNe = mock(NetworkElement.class);
+
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ NETWORKELEMENT_IID)).thenReturn(optionalNe);
+
+ ONFCoreNetworkElement12Microwave onfCoreNetworkElement12MW =
+ new ONFCoreNetworkElement12Microwave(accessor, serviceProvider, configuration, onfMicrowaveModel);
+ onfCoreNetworkElement12MW.prepareCheck();
+
+ EventlogEntity eventlogEntity = mock(EventlogEntity.class);
+ when(eventlogEntity.getObjectId()).thenReturn("ABCD");
+ when(eventlogEntity.getAttributeName()).thenReturn("/network-element/extension[value-name=\"top-level-equipment\"]/value");
+
+ onfCoreNetworkElement12MW.notificationActor(eventlogEntity);
+
+ }
+
+
+ @Test
+ public void test1() {
+ when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
+ NETWORKELEMENT_IID)).thenReturn(null);
+
+ ONFCoreNetworkElement12Microwave onfCoreNetworkElement12MW =
+ new ONFCoreNetworkElement12Microwave(accessor, serviceProvider, configuration, onfMicrowaveModel);
+ onfCoreNetworkElement12MW.prepareCheck();
+
+ EventlogEntity eventlogEntity = mock(EventlogEntity.class);
+ when(eventlogEntity.getObjectId()).thenReturn("ABCD");
+ when(eventlogEntity.getAttributeName()).thenReturn("/equipment-pac/equipment-current-problems");
+
+ onfCoreNetworkElement12MW.notificationActor(eventlogEntity);
+ }
+
+
+}
diff --git a/sdnr/wt/devicemanager-onap/onf12/provider/src/test/resources/simplelogger.properties b/sdnr/wt/devicemanager-onap/onf12/provider/src/test/resources/simplelogger.properties
new file mode 100644
index 000000000..9af26dc96
--- /dev/null
+++ b/sdnr/wt/devicemanager-onap/onf12/provider/src/test/resources/simplelogger.properties
@@ -0,0 +1,61 @@
+#
+# ============LICENSE_START=======================================================
+# ONAP : ccsdk features
+# ================================================================================
+# Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=======================================================
+#
+#
+
+# SLF4J's SimpleLogger configuration file
+# Simple implementation of Logger that sends all enabled log messages, for all defined loggers, to System.err.
+
+# Default logging detail level for all instances of SimpleLogger.
+# Must be one of ("trace", "debug", "info", "warn", or "error").
+# If not specified, defaults to "info".
+org.slf4j.simpleLogger.defaultLogLevel=info
+
+# Logging detail level for a SimpleLogger instance named "xxx.yyy.zzz".
+# Must be one of ("trace", "debug", "info", "warn", or "error").
+# If not specified, the default logging detail level is used.
+# org.slf4j.simpleLogger.log.xxx.yyy=debug
+org.slf4j.simpleLogger.log.org.onap.ccsdk.features.sdnr.wt.devicemanager=info
+org.slf4j.simpleLogger.log.org.onap.ccsdk.features.sdnr.wt.devicemanager.test=debug
+org.slf4j.simpleLogger.log.org.onap.ccsdk.features.sdnr.wt.database=debug
+org.slf4j.simpleLogger.log.org.onap.ccsdk.features.sdnr.wt.devicemanager.archiveservice=info
+org.slf4j.simpleLogger.log.org.onap.ccsdk.features.sdnr.wt.devicemanager.base.internalTypes.Resources=info
+org.slf4j.simpleLogger.log.org.onap.ccsdk.features.sdnr.wt.devicemanager.base.netconf.container=info
+
+# Set to true if you want the current date and time to be included in output messages.
+# Default is false, and will output the number of milliseconds elapsed since startup.
+#org.slf4j.simpleLogger.showDateTime=false
+
+# The date and time format to be used in the output messages.
+# The pattern describing the date and time format is the same that is used in java.text.SimpleDateFormat.
+# If the format is not specified or is invalid, the default format is used.
+# The default format is yyyy-MM-dd HH:mm:ss:SSS Z.
+#org.slf4j.simpleLogger.dateTimeFormat=yyyy-MM-dd HH:mm:ss:SSS Z
+
+# Set to true if you want to output the current thread name.
+# Defaults to true.
+#org.slf4j.simpleLogger.showThreadName=true
+
+# Set to true if you want the Logger instance name to be included in output messages.
+# Defaults to true.
+#org.slf4j.simpleLogger.showLogName=true
+
+# Set to true if you want the last component of the name to be included in output messages.
+# Defaults to false.
+#org.slf4j.simpleLogger.showShortLogName=false
an>,"comments":"","x":1641,"y":1940,"z":"13ea1295.46163d","wires":[]},{"id":"1b271514.dafa0b","type":"switchNode","name":"switch - check for networks on this vf-module","xml":"<switch test='`$tmp.vnf-instances[0].service-data.vnf-topology-information.vnf-assignments.vnf-networks_length > 0`'>","comments":"","outputs":1,"x":704,"y":3043,"z":"13ea1295.46163d","wires":[["d1a68e34.a4ab2","8855592b.6b2398"]]},{"id":"d1a68e34.a4ab2","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1059,"y":3038,"z":"13ea1295.46163d","wires":[["a36f6533.d1b958"]]},{"id":"3e84d391.f3809c","type":"record","name":"record","xml":"<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"LAINA: getpathsegment-populate-from-vnfapi: No vnf-networks found for vnf-id: \"/>\n<parameter name=\"field3\" value='`$tmp.vnf-instances[0].service-data.vnf-request-information.vnf-id`' />","comments":"","outputs":1,"x":1054,"y":3168,"z":"13ea1295.46163d","wires":[[]]},{"id":"bfb01e4d.428b5","type":"switchNode","name":"switch","xml":"<switch test='`$tmp.vnf-instances[$vnfInstanceIndex].service-data.vnf-topology-information.vnf-assignments.vnf-networks_length > 0`'>","comments":"","outputs":1,"x":2082,"y":2136,"z":"13ea1295.46163d","wires":[["ae827f9e.9c43e","ae2d5283.d1e13"]]},{"id":"ae827f9e.9c43e","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2211,"y":2136,"z":"13ea1295.46163d","wires":[["1d16c8d7.f918d7"]]},{"id":"ae2d5283.d1e13","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":2211,"y":2176,"z":"13ea1295.46163d","wires":[["465fccd7.347e54"]]},{"id":"682293ae.eb62dc","type":"record","name":"record","xml":"<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"LAINA: getpathsegment-populate-from-vnfapi: No vnf-networks found for vnf-id: \"/>\n<parameter name=\"field3\" value='`$tmp.vnf-instances[$vnfInstanceIndex].service-data.vnf-request-information.vnf-id`' />","comments":"","outputs":1,"x":2214,"y":2256,"z":"13ea1295.46163d","wires":[[]]},{"id":"465fccd7.347e54","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2213,"y":2216,"z":"13ea1295.46163d","wires":[["682293ae.eb62dc","e19e0e13.0e404"]]},{"id":"e19e0e13.0e404","type":"configure","name":"set vnf-networks-list_length to 0","xml":"<set>\n<parameter name='`tmp.vnf-instances[$vnfInstanceIndex].service-data.vnf-topology-information.vnf-assignments.vnf-networks_length' value=\"0\" />\n","comments":"","outputs":1,"x":2291,"y":2297,"z":"13ea1295.46163d","wires":[[]]},{"id":"b5aa567b.b40f18","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1058,"y":3123,"z":"13ea1295.46163d","wires":[["c5205e75.d54a2","3e84d391.f3809c"]]},{"id":"c5205e75.d54a2","type":"configure","name":"set vnf-networks-list_length to 0","xml":"<set>\n<parameter name='`tmp.vnf-instances[0].service-data.vnf-topology-information.vnf-assignments.vnf-networks_length' value=\"0\" />\n","comments":"","outputs":1,"x":1134,"y":3213,"z":"13ea1295.46163d","wires":[[]]},{"id":"8855592b.6b2398","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1056,"y":3083,"z":"13ea1295.46163d","wires":[["b5aa567b.b40f18"]]},{"id":"cba2b409.58b7e8","type":"configure","name":"set triplet-list entry","xml":"<set>\n<parameter name=\"`'tmp.triplet-list[' + $tmp.tripletListIndex + '].generic-vnf-id'`\" value= '`$vnf-mdsal.vnf-list[0].service-data.vnf-request-information.generic-vnf-id`' />\n<parameter name=\"`'tmp.triplet-list[' + $tmp.tripletListIndex + '].vf-module-id'`\" value= '`$tmp.vf-module-ids[$vfModuleIndex]`' />\n<parameter name=\"tmp.triplet-list_length\" value= '`$tmp.triplet-list_length + 1`'/>\n<parameter name=\"tmp.tripletListIndex\" value= '`$tmp.tripletListIndex + 1`'/>","comments":"","outputs":1,"x":1575,"y":1472,"z":"13ea1295.46163d","wires":[[]]},{"id":"70e218a1.775218","type":"comment","name":"Put unique generic-vnf-ids in triplet-list","info":"","comments":"","x":802,"y":1377,"z":"13ea1295.46163d","wires":[]},{"id":"ccb84430.71e918","type":"configure","name":"initialize triplet-list_length, tripletListIndex, vnf-instances_length, vnfInstancesIndex","xml":"<set>\n<parameter name=\"tmp.triplet-list_length\" value= \"0\" />\n<parameter name=\"tmp.tripletListIndex\" value= \"0\" />\n<parameter name=\"tmp.vnf-instances_length\" value= \"0\" />\n<parameter name=\"tmp.vnfInstancesIndex\" value= \"0\" />\n<parameter name=\"tmp.mdsal-error-encountered\" value= \"false\"/>","comments":"","outputs":1,"x":779,"y":1106,"z":"13ea1295.46163d","wires":[[]]},{"id":"61ac05e6.c7c46c","type":"switchNode","name":"switch triplet-list.generic-vnf-id == tmp.vnf-instances...generic-vnf-id","xml":"<switch test='`$tmp.triplet-list[$tmp.tripletListIndex2].generic-vnf-id == $tmp.vnf-instances[$tmp.vnfInstancesIndex].service-data.vnf-request-information.generic-vnf-id`'>","comments":"","outputs":1,"x":1100,"y":1424,"z":"13ea1295.46163d","wires":[["9637658b.18c518","dbeec32.fac504"]]},{"id":"3acd5d10.4693f2","type":"for","name":"for each triplet-list","xml":"<for index='tmp.tripletListIndex2' start='0' end='`$tmp.triplet-list_length`' >\n","comments":"","outputs":1,"x":752,"y":1424,"z":"13ea1295.46163d","wires":[["61ac05e6.c7c46c"]]},{"id":"9637658b.18c518","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1412,"y":1424,"z":"13ea1295.46163d","wires":[["304ff5ef.83e86a"]]},{"id":"304ff5ef.83e86a","type":"configure","name":"set genericVnfIdFound to true","xml":"<set>\n<parameter name=\"genericVnfIdFound\" value= 'true' />","comments":"","outputs":1,"x":1613,"y":1424,"z":"13ea1295.46163d","wires":[[]]},{"id":"8a75505d.5e275","type":"switchNode","name":"if generic-vnf-id is not found, add it to the triplet-list","xml":"<switch test='`$genericVnfIdFound`'>","comments":"","outputs":1,"x":850,"y":1472,"z":"13ea1295.46163d","wires":[["3b4269a.ed66a96","79dde64e.97dd98"]]},{"id":"3b4269a.ed66a96","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1122,"y":1472,"z":"13ea1295.46163d","wires":[["f82770da.fca6d"]]},{"id":"e824e92f.414b48","type":"comment","name":"for each unique generic-vnf-id get model-customization-id from AAI (aai-composite-service-1030)","info":"","comments":"","x":812,"y":1612,"z":"13ea1295.46163d","wires":[]},{"id":"6c6e891c.dbd4c8","type":"get-resource","name":"get-resource generic-vnf from AAI","xml":"<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"generic-vnf\"\n key=\"generic-vnf.vnf-id = $tmp.triplet-list[$tmp.tripletListIndex].generic-vnf-id\"\n pfx='aai.generic-vnf' local-only='false' >","comments":"","outputs":1,"x":1180.4666137695312,"y":1737.999755859375,"z":"13ea1295.46163d","wires":[["f04edd7e.e23b6","cd278dcc.c2019","1bb880d7.a21fdf"]]},{"id":"1bb880d7.a21fdf","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1408.8369750976562,"y":1698.03662109375,"z":"13ea1295.46163d","wires":[["52d0213a.4be84"]]},{"id":"f04edd7e.e23b6","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1412.3279418945312,"y":1739.61083984375,"z":"13ea1295.46163d","wires":[["79cc9835.c09578"]]},{"id":"cd278dcc.c2019","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1408.6609497070312,"y":1781.944091796875,"z":"13ea1295.46163d","wires":[["db4b07f7.81a198"]]},{"id":"95c1fb6f.8ce458","type":"for","name":"for each triplet-list","xml":"<for index='tmp.tripletListIndex' start='0' end='`$tmp.triplet-list_length`' >\n","comments":"","outputs":1,"x":1104,"y":1652,"z":"13ea1295.46163d","wires":[["8ed8396d.a616d8"]]},{"id":"8ed8396d.a616d8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1098,"y":1697,"z":"13ea1295.46163d","wires":[["6c6e891c.dbd4c8"]]},{"id":"381400.3e580c","type":"record","name":"record","xml":"<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"LAINA: getpathsegment-populate-from-vnfapi: Set model-customization-id for vf-module-id|generic-vnf-id: \"/>\n<parameter name=\"field3\" value='`$tmp.triplet-list[$tmp.tripletListIndex].vf-module-id`'/>\n<parameter name=\"field4\" value='`$tmp.triplet-list[$tmp.tripletListIndex].generic-vnf-id`'/>\n<parameter name=\"field5\" value='`$aai.generic-vnf.model-customization-id`'/>","comments":"","outputs":1,"x":1933,"y":1737,"z":"13ea1295.46163d","wires":[[]]},{"id":"e900810b.ad8dc","type":"configure","name":"set model-customization-id in triplet-list","xml":"<set>\n<parameter name=\"`'tmp.triplet-list[' + $tmp.tripletListIndex + '].model-customization-id'`\" value= '`$aai.generic-vnf.model-customization-id`' />","comments":"","outputs":1,"x":2039,"y":1784,"z":"13ea1295.46163d","wires":[[]]},{"id":"eb7c4606.b94158","type":"for","name":"for each triplet-list entry","xml":"<for index='tmp.tripletListIndex' start='0' end='`$tmp.triplet-list_length`' >\n","comments":"","outputs":1,"x":635,"y":1956,"z":"13ea1295.46163d","wires":[["9da49d50.75e35"]]},{"id":"9da49d50.75e35","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":627,"y":1998,"z":"13ea1295.46163d","wires":[["890ce2d0.5b40b","d2ac92ce.821b3"]]},{"id":"890ce2d0.5b40b","type":"record","name":"record","xml":"<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"LAINA: getpathsegment-populate-from-vnfapi: vnfIdIndex:id | tripletListIndex:model-customization-id | : \"/>\n<parameter name=\"field3\" value='`$vnfIdIndex`'/>\n<parameter name=\"field4\" value='`$vnf-ids[$vnfIdIndex]`'/>\n<parameter name=\"field5\" value='`$tmp.tripletListIndex`'/>\n<parameter name=\"field6\" value='`$tmp.triplet-list[$tmp.tripletListIndex].model-customization-id`'/>","comments":"","outputs":1,"x":757,"y":1998,"z":"13ea1295.46163d","wires":[[]]},{"id":"d2ac92ce.821b3","type":"switchNode","name":"switch input vnf-ids == tmp.triplet-list.model-customization-id","xml":"<switch test='`$vnf-ids[$vnfIdIndex] == $tmp.triplet-list[$tmp.tripletListIndex].model-customization-id`'>\n","comments":"","outputs":1,"x":801,"y":2038,"z":"13ea1295.46163d","wires":[["1cb90b9d.0e11f4","9cc55fa1.79208"]]},{"id":"1cb90b9d.0e11f4","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1104,"y":2006,"z":"13ea1295.46163d","wires":[["bb8ca97b.bc0b28"]]},{"id":"9cc55fa1.79208","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1105,"y":2069,"z":"13ea1295.46163d","wires":[[]]},{"id":"bb8ca97b.bc0b28","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1231,"y":2006,"z":"13ea1295.46163d","wires":[["24e48058.7c71","7829c9e3.21a538"]]},{"id":"e5c521c1.28bbc","type":"comment","name":"MATCH for input.vnf-id and triplet-list.model-customizaiton-id","info":"","comments":"","x":1271,"y":1962,"z":"13ea1295.46163d","wires":[]},{"id":"79cc9835.c09578","type":"record","name":"record","xml":"<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"LAINA: getpathsegment-populate-from-vnfapi: generic-vnf not found in AAI for generic-vnf-id: \"/>\n<parameter name=\"field4\" value='`$tmp.triplet-list[$tmp.tripletListIndex].generic-vnf-id`'/>","comments":"","outputs":1,"x":1545,"y":1740,"z":"13ea1295.46163d","wires":[[]]},{"id":"a7f70fe1.122d9","type":"configure","name":"initialize vnfListIndex to 0","xml":"<set>\n<parameter name=\"vnfListIndex\" value= \"0\"/>","comments":"","outputs":1,"x":246,"y":737,"z":"13ea1295.46163d","wires":[[]]},{"id":"52d0213a.4be84","type":"switchNode","name":"switch","xml":"<switch test='`$aai.generic-vnf.model-customization-id`'>","comments":"","outputs":1,"x":1546,"y":1698,"z":"13ea1295.46163d","wires":[["cf59adeb.87937","7a2c4466.a8136c"]]},{"id":"cf59adeb.87937","type":"other","name":"Blank","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1683,"y":1699,"z":"13ea1295.46163d","wires":[["94c3e99.5c6af18"]]},{"id":"7ab1a203.dde39c","type":"record","name":"record","xml":"<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"LAINA: getpathsegment-populate-from-vnfapi: model-customization-id is BLANK for vf-module-id|generic-vnf-id: \"/>\n<parameter name=\"field3\" value='`$tmp.triplet-list[$tmp.tripletListIndex].vf-module-id`'/>\n<parameter name=\"field4\" value='`$tmp.triplet-list[$tmp.tripletListIndex].generic-vnf-id`'/>","comments":"","outputs":1,"x":1933,"y":1699,"z":"13ea1295.46163d","wires":[[]]},{"id":"7a2c4466.a8136c","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1685,"y":1736,"z":"13ea1295.46163d","wires":[["d338b448.935f88"]]},{"id":"d338b448.935f88","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1804,"y":1737,"z":"13ea1295.46163d","wires":[["381400.3e580c","e900810b.ad8dc"]]},{"id":"79dde64e.97dd98","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1120,"y":1514,"z":"13ea1295.46163d","wires":[["c46507d8.82beb8"]]},{"id":"56d7b2ac.773fdc","type":"record","name":"record","xml":"<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"LAINA: getpathsegment-populate-from-vnfapi: generic-vnf-id is already in triplet-list, don't add it\"/>","comments":"","outputs":1,"x":1412,"y":1514,"z":"13ea1295.46163d","wires":[[]]},{"id":"c46507d8.82beb8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1262,"y":1514,"z":"13ea1295.46163d","wires":[["56d7b2ac.773fdc"]]},{"id":"f82770da.fca6d","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1264,"y":1472,"z":"13ea1295.46163d","wires":[["604f4fcd.1f225","cba2b409.58b7e8"]]},{"id":"604f4fcd.1f225","type":"record","name":"record","xml":"<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"LAINA: getpathsegment-populate-from-vnfapi: generic-vnf-id in NOT found in triplet-list, add it\"/>","comments":"","outputs":1,"x":1411,"y":1474,"z":"13ea1295.46163d","wires":[[]]},{"id":"a665647f.954468","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":552,"y":1558,"z":"13ea1295.46163d","wires":[["d1da650.11e1998"]]},{"id":"d1da650.11e1998","type":"for","name":"for each triplet-list entry","xml":"<for index='tmp.tripletListIndex' start='0' end='`$tmp.triplet-list_length`' >\n","comments":"","outputs":1,"x":728,"y":1558,"z":"13ea1295.46163d","wires":[["a2d8b75a.7ab8c8"]]},{"id":"a2d8b75a.7ab8c8","type":"record","name":"PRINT triplet-list","xml":"<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"LAINA: getpathsegment-populate-from-vnfapi: PRINT triplet-list BEFORE AAI | vf-module-id:generic-vnf-id:model-customization-id | \"/>\n<parameter name=\"field3\" value='`$tmp.tripletListIndex`'/>\n<parameter name=\"field4\" value='`$tmp.triplet-list[$tmp.tripletListIndex].vf-module-id`'/>\n<parameter name=\"field5\" value='`$tmp.triplet-list[$tmp.tripletListIndex].generic-vnf-id`'/>\n<parameter name=\"field6\" value='`$tmp.triplet-list[$tmp.tripletListIndex].model-customization-id`'/>","comments":"","outputs":1,"x":939,"y":1558,"z":"13ea1295.46163d","wires":[[]]},{"id":"94c3e99.5c6af18","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1805,"y":1699,"z":"13ea1295.46163d","wires":[["7ab1a203.dde39c"]]},{"id":"d124590b.f69c68","type":"configure","name":"set model-customization-id in triplet-list * TEST-ONLY *","xml":"<set>\n<parameter name=\"`'tmp.triplet-list[' + $tmp.tripletListIndex + '].model-customization-id'`\" value= \"`model-cusomization-uuid-$tmp.tripletListIndex`\" />","comments":"","outputs":1,"x":2209,"y":1699,"z":"13ea1295.46163d","wires":[[]]},{"id":"c9f071fb.6503e","type":"configure","name":"increment tmp.vnfInstancesIndex and tmp.vnf-instances_length","xml":"<set>\n<parameter name=\"tmp.vnfInstancesIndex\" value= '`$tmp.vnfInstancesIndex + 1`'/>\n<parameter name=\"tmp.vnf-instances_length\" value= '`$tmp.vnf-instances_length + 1`'/>","comments":"","outputs":1,"x":781,"y":1516,"z":"13ea1295.46163d","wires":[[]]},{"id":"dbeec32.fac504","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1413,"y":1384,"z":"13ea1295.46163d","wires":[[]]},{"id":"cbe26532.112ec8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":549,"y":1827,"z":"13ea1295.46163d","wires":[["4e6cd927.66b648"]]},{"id":"4e6cd927.66b648","type":"for","name":"for each triplet-list entry","xml":"<for index='tmp.tripletListIndex' start='0' end='`$tmp.triplet-list_length`' >\n","comments":"","outputs":1,"x":725,"y":1827,"z":"13ea1295.46163d","wires":[["94e42015.54dfc"]]},{"id":"94e42015.54dfc","type":"record","name":"PRINT triplet-list","xml":"<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"LAINA: getpathsegment-populate-from-vnfapi: PRINT triplet-list | vf-module-id:generic-vnf-id:model-customization-id | \"/>\n<parameter name=\"field3\" value='`$tmp.tripletListIndex`'/>\n<parameter name=\"field4\" value='`$tmp.triplet-list[$tmp.tripletListIndex].vf-module-id`'/>\n<parameter name=\"field5\" value='`$tmp.triplet-list[$tmp.tripletListIndex].generic-vnf-id`'/>\n<parameter name=\"field6\" value='`$tmp.triplet-list[$tmp.tripletListIndex].model-customization-id`'/>","comments":"","outputs":1,"x":937,"y":1827,"z":"13ea1295.46163d","wires":[[]]},{"id":"7829c9e3.21a538","type":"record","name":"record","xml":"<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"LAINA: getpathsegment-populate-from-vnfapi: MATCH for input vnf-id and triplet-list.model-customizaiton-id: \"/>\n<parameter name=\"field3\" value='`$vnf-ids[$vnfIdIndex]`'/>","comments":"","outputs":1,"x":1232,"y":2044,"z":"13ea1295.46163d","wires":[[]]},{"id":"db4b07f7.81a198","type":"record","name":"record","xml":"<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"LAINA: getpathsegment-populate-from-vnfapi: unable to access AAI for generic-vnf-id: \"/>\n<parameter name=\"field4\" value='`$tmp.triplet-list[$tmp.tripletListIndex].generic-vnf-id`'/>","comments":"","outputs":1,"x":1546,"y":1782,"z":"13ea1295.46163d","wires":[[]]},{"id":"e4f6f713.40c298","type":"for","name":"for each vf-module-id","xml":"<for index='vfModuleResultIndex' start='0' end='`$tmp.AnAI-data.vf-module-ids.results_length`' >\n","comments":"","outputs":1,"x":1205,"y":986,"z":"13ea1295.46163d","wires":[["2e29cfe9.5fb8d"]]},{"id":"5f4d6161.d1d83","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1020,"y":986,"z":"13ea1295.46163d","wires":[["e4f6f713.40c298","94dc95d3.e5de88"]]},{"id":"94dc95d3.e5de88","type":"set","name":"set tmp.vf-module-ids_length","xml":"<set>\n<parameter name='tmp.vf-module-ids_length' value='`$tmp.AnAI-data.vf-module-ids.results_length`' />","comments":"","x":1229,"y":1021,"z":"13ea1295.46163d","wires":[]},{"id":"568d4dc9.681e44","type":"set","name":"set invalid vf-module-id that won't resolve in MDSAL * TEST-ONLY *","xml":"<set>\n<parameter name=\"`'tmp.vf-module-ids[' + $vf-module-ids_length + ']'`\" value='invalid-vf-module-id' />\n<parameter name='tmp.vf-module-ids_length' value='`$tmp.vf-module-ids_length + 1`' />","comments":"","x":1608,"y":1024,"z":"13ea1295.46163d","wires":[]},{"id":"9edbc24f.7c9ff","type":"save","name":"AAI custom query: get vf-module-ids","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"custom-query\"\n key=\"format = 'resource'\"\n force=\"true\"\n local-only=\"false\"\n pfx=\"tmp.AnAI-data.vf-module-ids\">\n<parameter name=\"start[0]\" value=\"`'/nodes/service-instances/service-instance?service-instance-id=' + $serv-inst.service-instance-id `\" />\n<!--<parameter name=\"start[0]\" value=\"`'/business/customers/customer/bgb-customer/service-subscriptions/service-subscription/bgb-service-type/service-instances' `\" />-->\n<!--<parameter name=\"start[0]\" value=\"`'/business/customers/customer/la-customer/service-subscriptions/service-subscription/la-service-type/service-instances' `\" />-->\n<parameter name=\"start_length\" value=\"1\" />\n<parameter name=\"query\" value=\"/query/vfModule-fromServiceInstance\" />\n<!--<parameter name=\"query\" value=\"/query/vnfs-fromServiceInstance\" /> -->","comments":"","outputs":1,"x":620,"y":2564,"z":"13ea1295.46163d","wires":[["d8164ad7.bb02b8","212d7195.b42b2e","2da2f7c7.6a31c8"]]},{"id":"d8164ad7.bb02b8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":855.2380867004395,"y":2517.6664667129517,"z":"13ea1295.46163d","wires":[["d68c739a.44959"]]},{"id":"212d7195.b42b2e","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":856.3809814453125,"y":2563.3806762695312,"z":"13ea1295.46163d","wires":[["1e8358ef.3ee4d7"]]},{"id":"2da2f7c7.6a31c8","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":857.6190592447915,"y":2607.904560724894,"z":"13ea1295.46163d","wires":[["c4d6e68e.266f18"]]},{"id":"d68c739a.44959","type":"block","name":"block","xml":"<block>","atomic":"false","comments":"","outputs":1,"x":994.9524154663086,"y":2517.380605697632,"z":"13ea1295.46163d","wires":[["f7584659.74a708"]]},{"id":"1e8358ef.3ee4d7","type":"block","name":"block","xml":"<block>","atomic":"false","comments":"","outputs":1,"x":998.666690826416,"y":2563.952173233032,"z":"13ea1295.46163d","wires":[["c8a6f155.75ce8"]]},{"id":"c4d6e68e.266f18","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":998,"y":2608,"z":"13ea1295.46163d","wires":[["ec349c31.3499e","e0c57ef.cbd068"]]},{"id":"f7584659.74a708","type":"configure","name":"set error-message","xml":"<set>\n<parameter name=\"error-message\" value=\"Failed call to AAI custom query: vfModule-fromServiceInstance\" />\n<parameter name=\"serv-inst.api\" value= \"\"/>\n<parameter name='tmp.vf-module-ids_length' value='0' />\n<parameter name='tmp.vnf-instances_length' value='0' />\n","comments":"","outputs":1,"x":1175.52392578125,"y":2517.0949096679688,"z":"13ea1295.46163d","wires":[[]]},{"id":"c8a6f155.75ce8","type":"configure","name":"set error-message","xml":"<set>\n<parameter name=\"error-message\" value=\"No vfModules returned from AAI: vfModule-fromService-instance\" />\n<parameter name=\"serv-inst.api\" value= \"\"/>\n","comments":"","outputs":1,"x":1174.2381591796875,"y":2563.66650390625,"z":"13ea1295.46163d","wires":[[]]},{"id":"ec349c31.3499e","type":"for","name":"for each vf-module-id","xml":"<for index='vfModuleResultIndex' start='0' end='`$tmp.AnAI-data.vf-module-ids.results_length`' >\n","comments":"","outputs":1,"x":1183,"y":2608,"z":"13ea1295.46163d","wires":[["daa52c98.70291"]]},{"id":"e0c57ef.cbd068","type":"set","name":"set tmp.vf-module-ids_length","xml":"<set>\n<parameter name='tmp.vf-module-ids_length' value='`$tmp.AnAI-data.vf-module-ids.results_length`' />","comments":"","x":1207,"y":2643,"z":"13ea1295.46163d","wires":[]},{"id":"daa52c98.70291","type":"set","name":"set tmp.vf-module-ids","xml":"<set>\n<parameter name=\"`'tmp.vf-module-ids[' + $vfModuleResultIndex + ']'`\" value='`$tmp.AnAI-data.vf-module-ids.results[$vfModuleResultIndex].vf-module.vf-module-id`' />","comments":"","x":1440.952392578125,"y":2608.2379150390625,"z":"13ea1295.46163d","wires":[]},{"id":"cf9d4004.d81ce","type":"switchNode","name":"switch - check vnf-list length and set output.api if > 0","xml":"<switch test='`$serv-inst.vnf-list_length > 0`'>","comments":"","outputs":1,"x":325,"y":3592,"z":"13ea1295.46163d","wires":[["d27c75c1.526558"]]},{"id":"d27c75c1.526558","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":608,"y":3592,"z":"13ea1295.46163d","wires":[["f583b3e8.6485f"]]},{"id":"f583b3e8.6485f","type":"set","name":"set output serv-inst.api to VNF","xml":"<set>\n<parameter name=\"serv-inst.api\" value= \"VNF\"/>","comments":"","x":821,"y":3592,"z":"13ea1295.46163d","wires":[]},{"id":"f4d41db.52befe","type":"switchNode","name":"switch mdsal-error-encountered","xml":"<switch test='`$tmp.mdsal-error-encountered`'>\n","comments":"","outputs":1,"x":614,"y":1653,"z":"13ea1295.46163d","wires":[["88d062e4.05329","b1c6724.fe0e59"]]},{"id":"88d062e4.05329","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":830,"y":1652,"z":"13ea1295.46163d","wires":[["2684df46.e012f"]]},{"id":"b1c6724.fe0e59","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":584,"y":1741,"z":"13ea1295.46163d","wires":[["f58428cf.3a6858"]]},{"id":"2684df46.e012f","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":950,"y":1652,"z":"13ea1295.46163d","wires":[["95c1fb6f.8ce458"]]},{"id":"f58428cf.3a6858","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":726,"y":1741,"z":"13ea1295.46163d","wires":[[]]},{"id":"223f61e8.f562be","type":"for","name":"for each vf-module-id","xml":"<for index='vfModuleIndex' start='0' end='`$tmp.vf-module-ids_length`' >\n","comments":"","outputs":1,"x":564,"y":2729,"z":"13ea1295.46163d","wires":[["b8281b3d.23f5e8"]]},{"id":"b8281b3d.23f5e8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":567,"y":2768,"z":"13ea1295.46163d","wires":[["857f142a.fb6238","135b7762.c5e859","1b271514.dafa0b","6a0cc06e.d6de8","97812196.a3549"]]},{"id":"857f142a.fb6238","type":"configure","name":"set vnf-url","xml":"<set>\n<parameter name=\"tmp.vnf-url\" value=\"`'/restconf/config/VNF-API:vnfs/vnf-list/' + $tmp.vf-module-ids[$vfModuleIndex]`\" />\n","comments":"","outputs":1,"x":597,"y":2832,"z":"13ea1295.46163d","wires":[[]]},{"id":"97812196.a3549","type":"configure","name":"increment vnfListIndex and set serv-inst.vnf-list[$vnfListIndex].vnf-id","xml":"<set>\n<parameter name=\"vnfListIndex\" value= '`$vnfListIndex + 1`'/>","comments":"","outputs":1,"x":774,"y":3326,"z":"13ea1295.46163d","wires":[[]]}]