Renaming openecomp to onap
[aai/model-loader.git] / src / test / java / org / onap / aai / modelloader / util / JsonXmlConverterTest.java
diff --git a/src/test/java/org/onap/aai/modelloader/util/JsonXmlConverterTest.java b/src/test/java/org/onap/aai/modelloader/util/JsonXmlConverterTest.java
new file mode 100644 (file)
index 0000000..816f004
--- /dev/null
@@ -0,0 +1,83 @@
+/**\r
+ * ============LICENSE_START=======================================================\r
+ * org.onap.aai\r
+ * ================================================================================\r
+ * Copyright © 2017 AT&T Intellectual Property.\r
+ * Copyright © 2017 Amdocs\r
+ * All rights reserved.\r
+ * ================================================================================\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ *     http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ * ============LICENSE_END=========================================================\r
+ *\r
+ * ECOMP is a trademark and service mark of AT&T Intellectual Property.\r
+ */\r
+package org.onap.aai.modelloader.util;\r
+\r
+import static org.junit.Assert.assertFalse;\r
+import static org.junit.Assert.assertTrue;\r
+\r
+import java.io.ByteArrayInputStream;\r
+import java.nio.file.Files;\r
+import java.nio.file.Paths;\r
+\r
+import javax.xml.parsers.DocumentBuilder;\r
+import javax.xml.parsers.DocumentBuilderFactory;\r
+\r
+import org.junit.Test;\r
+import org.onap.aai.modelloader.util.JsonXmlConverter;\r
+import org.w3c.dom.Document;\r
+import org.w3c.dom.Node;\r
+import org.w3c.dom.NodeList;\r
+\r
+public class JsonXmlConverterTest {\r
+\r
+  @Test\r
+  public void testConversion() throws Exception {\r
+       final String XML_MODEL_FILE = "src/test/resources/models/l3-network-widget.xml";\r
+       final String JSON_MODEL_FILE = "src/test/resources/models/l3-network-widget.json";\r
+\r
+    try {\r
+      byte[] encoded = Files.readAllBytes(Paths.get(XML_MODEL_FILE));\r
+      String originalXML = new String(encoded);\r
+\r
+      assertFalse(JsonXmlConverter.isValidJson(originalXML));\r
+\r
+      encoded = Files.readAllBytes(Paths.get(JSON_MODEL_FILE));\r
+      String originalJSON = new String(encoded);\r
+\r
+      assertTrue(JsonXmlConverter.isValidJson(originalJSON));\r
+\r
+      String xmlFromJson = JsonXmlConverter.convertJsonToXml(originalJSON);\r
+\r
+      // Spot check one of the attributes\r
+      DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();\r
+      DocumentBuilder builder = factory.newDocumentBuilder();\r
+      Document doc = builder.parse(new ByteArrayInputStream(xmlFromJson.getBytes()));\r
+      NodeList nodeList = doc.getDocumentElement().getChildNodes();\r
+\r
+      String modelVid = "notFound";\r
+      for (int i = 0; i < nodeList.getLength(); i++) {\r
+        Node currentNode = nodeList.item(i);\r
+        if (currentNode.getNodeName().equals("model-invariant-id")) {\r
+          modelVid = currentNode.getTextContent();\r
+          break;\r
+        }\r
+      }\r
+\r
+      assertTrue(modelVid.equals("3d560d81-57d0-438b-a2a1-5334dba0651a"));\r
+    } catch (Exception e) {\r
+      e.printStackTrace();\r
+      assertTrue(false);\r
+    }\r
+  }\r
+}\r