aboutsummaryrefslogtreecommitdiffstats
path: root/sdnr/wt/data-provider/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/dataprovider/test/TestYangGenSalMappingOpenRoadm.java
diff options
context:
space:
mode:
Diffstat (limited to 'sdnr/wt/data-provider/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/dataprovider/test/TestYangGenSalMappingOpenRoadm.java')
-rw-r--r--sdnr/wt/data-provider/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/dataprovider/test/TestYangGenSalMappingOpenRoadm.java148
1 files changed, 117 insertions, 31 deletions
diff --git a/sdnr/wt/data-provider/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/dataprovider/test/TestYangGenSalMappingOpenRoadm.java b/sdnr/wt/data-provider/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/dataprovider/test/TestYangGenSalMappingOpenRoadm.java
index 0a195e03b..56df62819 100644
--- a/sdnr/wt/data-provider/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/dataprovider/test/TestYangGenSalMappingOpenRoadm.java
+++ b/sdnr/wt/data-provider/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/dataprovider/test/TestYangGenSalMappingOpenRoadm.java
@@ -21,47 +21,130 @@
*/
package org.onap.ccsdk.features.sdnr.wt.dataprovider.test;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
import java.io.IOException;
+import java.util.Arrays;
+import java.util.Map;
+import org.apache.sshd.common.util.io.IoUtils;
+import org.eclipse.jdt.annotation.Nullable;
import org.jline.utils.Log;
import org.junit.Test;
+import org.mockito.Mockito;
+import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.types.YangHelper2;
+import org.onap.ccsdk.features.sdnr.wt.dataprovider.yangtools.YangToolsMapper;
import org.onap.ccsdk.features.sdnr.wt.dataprovider.yangtools.YangToolsMapper2;
import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev191129.PmDataType;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev191129.PmDataTypeBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.openroadm.pm.types.rev200413.BIPErrorCounter;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.openroadm.pm.types.rev200413.OpticalPowerInputOSCMin;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.GranularityPeriodType;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.PmdataEntity;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.PmdataEntityBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.pmdata.entity.PerformanceData;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.pmdata.entity.PerformanceDataBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.pmdata.grp.Measurement;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.pmdata.grp.MeasurementBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.pmdata.grp.MeasurementKey;
+import org.opendaylight.yangtools.yang.common.Uint64;
-public class TestYangGenSalMappingOpenRoadm {
+public class TestYangGenSalMappingOpenRoadm extends Mockito {
+
+ private static String resourceDirectoryPath = "/" + TestYangGenSalMappingOpenRoadm.class.getSimpleName() + "/";
@Test
- public void testOpenroadmPM() throws IOException, ClassNotFoundException {
- out(method());
- // @formatter:off
- String jsonString = "{\n"
- + " \"time-stamp\":\"2020-09-24T22:59:48.6Z\", \n"
- + " \"node-name\":\"Rdm-1\",\n"
- + " \"uuid-interface\":\"physical-link\",\n"
- + " \"scanner-id\":\"ryyyyyyyryryr\",\n"
- + " \"granularity-period\":\"Period24Hours\",\n"
- + " \"performance-data\":{\n"
- + " \"measurement\":[{\n"
- + " \"pm-value\":{\"uint64\":1464170942461338033},\n"
- + " \"pm-key\":\"org.opendaylight"
- + ".yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.openroadm.pm.types.rev200413.OpticalPowerInputOSCMin\"\n"
- + " }]\n"
- + " }\n"
- + "}\n";
- // @formatter:on
- // Map to JSON String to Object
- PmDataTypeBuilder builder = new PmDataTypeBuilder();
- builder.setInt64("10");
- PmDataType pmDataType = builder.build();
- out("Result is: "+pmDataType);
-
- YangToolsMapper2<PmdataEntity> mapper2 = new YangToolsMapper2<>(PmdataEntity.class, null);
- out("Created mapper");
+ public void testOpenroadmPMBuilder() throws IOException, ClassNotFoundException {
+ out("Test: " + method());
+
+ MeasurementBuilder measurementBuilder1 = new MeasurementBuilder();
+ measurementBuilder1.setPmKey(OpticalPowerInputOSCMin.class);
+ measurementBuilder1.setPmValue(new PmDataType(Uint64.valueOf(64L)));
+ Measurement measurement1 = measurementBuilder1.build();
+
+ MeasurementBuilder measurementBuilder2 = new MeasurementBuilder();
+ measurementBuilder2.setPmKey(BIPErrorCounter.class);
+ measurementBuilder2.setPmValue(new PmDataType(Uint64.valueOf(65L)));
+ Measurement measurement2 = measurementBuilder2.build();
+
+ PerformanceDataBuilder performanceDataBuilder = new PerformanceDataBuilder();
+ performanceDataBuilder.setMeasurement(
+ YangHelper2.getListOrMap(MeasurementKey.class, Arrays.asList(measurement1, measurement2)));
+
+ PmdataEntityBuilder pmDataEntitybuilder = new PmdataEntityBuilder();
+ pmDataEntitybuilder.setPerformanceData(performanceDataBuilder.build());
+
+ PmdataEntity pmDataType = pmDataEntitybuilder.build();
+
+ YangToolsMapper mapper2 = new YangToolsMapper();
+ String jsonString = mapper2.writeValueAsString(pmDataType);
+ out("Result json after mapping: " + jsonString);
+
PmdataEntity generatepmdNode = mapper2.readValue(jsonString.getBytes(), PmdataEntity.class);
+ out("Original: " + pmDataType.toString());
+ out("Mapped : " + generatepmdNode.toString());
+ assertTrue("Can mapping not working", generatepmdNode.equals(pmDataType));
+ }
+
+ @Test
+ public void testOpenroadmPMString1() throws IOException, ClassNotFoundException {
+ out("Test: " + method());
+ String jsonString2 = getFileContent("pmdata1.json");
+ YangToolsMapper mapper2 = new YangToolsMapper();
+ PmdataEntity generatepmdNode = mapper2.readValue(jsonString2.getBytes(), PmdataEntity.class);
+ out("String1:"+generatepmdNode.toString()); // Print it with specified indentation
+ assertTrue("GranularityPeriod", generatepmdNode.getGranularityPeriod().equals(GranularityPeriodType.Period15Min));
+ assertTrue("NodeName", generatepmdNode.getNodeName().equals("NTS_RDM2"));
+ @Nullable PerformanceData performanceData = generatepmdNode.getPerformanceData();
+ assertNotNull("PerformanceData", performanceData);
+ @Nullable Map<MeasurementKey, Measurement> measurement = performanceData.getMeasurement();
+ assertNotNull("Measurement", measurement);
+ Measurement measurement1 = measurement.get(new MeasurementKey(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.openroadm.pm.types.rev200413.OpticalPowerInputOSCMin.class));
+ assertTrue("Measurement=64", measurement1.getPmValue().stringValue().equals("64"));
+ }
+
+ @Test
+ public void testOpenroadmPMString2() throws IOException, ClassNotFoundException {
+ out("Test: " + method());
+ String jsonString2 = getFileContent("pmdata2.json");
+ YangToolsMapper mapper2 = new YangToolsMapper();
+ PmdataEntity generatepmdNode = mapper2.readValue(jsonString2.getBytes(), PmdataEntity.class);
+ out(generatepmdNode.toString()); // Print it with specified indentation
+ }
+
+ @Test
+ public void testOpenroadmPMString3() throws IOException, ClassNotFoundException {
+ out("Test: " + method());
+ String jsonString2 = getFileContent("pmdata3.json");
+ YangToolsMapper2<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._15m.list.output.Data> mapper2 =
+ new YangToolsMapper2<>(
+ org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._15m.list.output.Data.class,
+ null);
+ PmdataEntity generatepmdNode = mapper2.readValue(jsonString2.getBytes(), PmdataEntity.class);
out(generatepmdNode.toString()); // Print it with specified indentation
}
+
+ @Test
+ public void testOpenroadmPMString4() throws IOException, ClassNotFoundException {
+ out("Test: " + method());
+ String jsonString = getFileContent("pmdata3.json");
+ YangToolsMapper2<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._15m.list.output.Data> mapper =
+ new YangToolsMapper2<>(
+ org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._15m.list.output.Data.class,
+ null);
+ org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._15m.list.output.Data data =
+ mapper.readValue(jsonString.getBytes(),
+ org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._15m.list.output.Data.class);
+
+ assertTrue("GranularityPeriod", data.getGranularityPeriod().equals(GranularityPeriodType.Period15Min));
+ assertTrue("NodeName", data.getNodeName().equals("openroadm1"));
+ org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.pmdata15m.entity.@Nullable PerformanceData performanceData =
+ data.getPerformanceData();
+ assertNotNull("PerformanceData", performanceData);
+ @Nullable Map<MeasurementKey, Measurement> measurement = performanceData.getMeasurement();
+ assertNotNull("Measurement", measurement);
+ Measurement measurement1 = measurement.get(new MeasurementKey(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.openroadm.pm.types.rev200413.DelayTCM2Up.class));
+ assertTrue("Measurement=11298624220985537708", measurement1.getPmValue().stringValue().equals("11298624220985537708"));
+ }
/*
* --------------------------------- Private
*/
@@ -72,9 +155,12 @@ public class TestYangGenSalMappingOpenRoadm {
}
private static void out(String text) {
- System.out.println("----------------------");
- System.out.println(text);
- Log.info("Log: "+text);
+ Log.info("Log: " + text);
+ }
+
+ private static String getFileContent(String filename) throws IOException {
+ return String.join("\n",
+ IoUtils.readAllLines(TestTree.class.getResourceAsStream(resourceDirectoryPath + filename)));
}
}