AT&T 1712 and 1802 release code
[so.git] / adapters / mso-sdnc-adapter / src / test / java / org / openecomp / mso / adapters / sdnc / impl / InvestigationTest.java
1 /*-\r
2  * ============LICENSE_START=======================================================\r
3  * ONAP - SO\r
4  * ================================================================================\r
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.\r
6  * ================================================================================\r
7  * Licensed under the Apache License, Version 2.0 (the "License");\r
8  * you may not use this file except in compliance with the License.\r
9  * You may obtain a copy of the License at\r
10  * \r
11  *      http://www.apache.org/licenses/LICENSE-2.0\r
12  * \r
13  * Unless required by applicable law or agreed to in writing, software\r
14  * distributed under the License is distributed on an "AS IS" BASIS,\r
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16  * See the License for the specific language governing permissions and\r
17  * limitations under the License.\r
18  * ============LICENSE_END=========================================================\r
19  */\r
20 package org.openecomp.mso.adapters.sdnc.impl;\r
21 \r
22 import java.io.File;\r
23 import java.io.IOException;\r
24 import java.io.StringReader;\r
25 import java.util.Scanner;\r
26 import java.util.UUID;\r
27 \r
28 import javax.xml.parsers.DocumentBuilder;\r
29 import javax.xml.parsers.DocumentBuilderFactory;\r
30 import javax.xml.parsers.ParserConfigurationException;\r
31 \r
32 import org.junit.AfterClass;\r
33 import org.junit.Before;\r
34 import org.junit.Test;\r
35 import org.openecomp.mso.properties.MsoJavaProperties;\r
36 import org.openecomp.mso.properties.MsoPropertiesException;\r
37 import org.openecomp.mso.properties.MsoPropertiesFactory;\r
38 import org.w3c.dom.Document;\r
39 import org.w3c.dom.Node;\r
40 import org.w3c.dom.NodeList;\r
41 import org.xml.sax.InputSource;\r
42 import org.xml.sax.SAXException;\r
43 \r
44 public class InvestigationTest {\r
45         \r
46         private static MsoPropertiesFactory msoPropertiesFactory = new MsoPropertiesFactory();\r
47         \r
48         public static final String SDNC_PROP = MsoJavaProperties.class.getClassLoader().getResource("mso.sdnc.properties").toString().substring(5);\r
49         \r
50         @Before\r
51         public final void initBeforeEachTest() throws MsoPropertiesException {\r
52                         msoPropertiesFactory.removeAllMsoProperties();\r
53                         msoPropertiesFactory.initializeMsoProperties("MSO_PROP_SDNC_ADAPTER", SDNC_PROP);\r
54         }\r
55 \r
56         @AfterClass\r
57         public static final void kill () throws MsoPropertiesException {\r
58 \r
59                     msoPropertiesFactory.removeMsoProperties("MSO_PROP_SDNC_ADAPTER");\r
60         }\r
61 \r
62         @Test\r
63         public void run() throws ParserConfigurationException, IOException, SAXException {\r
64                 \r
65                 RequestTunables rt = new RequestTunables("reqid","","svc-topology-operation","delete", msoPropertiesFactory);\r
66                 rt.setTunables();\r
67                 /*Document reqDoc = parse();\r
68                 NodeList nodeList = reqDoc.getElementsByTagName("sdncadapterworkflow:SDNCRequestData");\r
69                 Node node = null;\r
70                 System.out.println("nodeList length: "+ nodeList.getLength());\r
71                 for (int i =0; i<nodeList.getLength();i++){\r
72                         node = nodeList.item(i);\r
73                 }\r
74                 \r
75                 Document doc = nodeToDocument(node);\r
76                 */\r
77                 Scanner scanner = new Scanner( new File("src/test/resources/sdnc_adapter_request.xml") );\r
78                 String input = scanner.useDelimiter("\\A").next();\r
79                 System.out.println("input: "+input);\r
80                 scanner.close();\r
81                 try {\r
82                         DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();\r
83                         InputSource is = new InputSource();\r
84                         is.setCharacterStream(new StringReader(input));\r
85                         Document reqDoc = db.parse(is);\r
86                         String sdncReqBody = Utils.genSdncReq(reqDoc, rt);\r
87                         System.out.println(sdncReqBody);\r
88                         String uuid = UUID.randomUUID().toString();\r
89                         System.out.println("uuid: "+uuid);\r
90                 }catch(Exception ex) {\r
91                         throw new IllegalStateException();\r
92                 }\r
93                 \r
94         }\r
95         public static Document parse() throws ParserConfigurationException, IOException, SAXException {\r
96             DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();\r
97             factory.setValidating(true);\r
98             factory.setIgnoringElementContentWhitespace(true);\r
99             DocumentBuilder builder = factory.newDocumentBuilder();\r
100             File file = new File("src/test/resources/sdnc_adapter_request.xml");\r
101             Document doc = builder.parse(file);\r
102             return doc;\r
103         }\r
104         public static Document nodeToDocument (Node node) throws ParserConfigurationException {\r
105                 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();\r
106                 factory.setNamespaceAware(true);\r
107                 DocumentBuilder builder = factory.newDocumentBuilder();\r
108                 Document newDocument = builder.newDocument();\r
109                 Node importedNode = newDocument.importNode(node, true);\r
110                 newDocument.appendChild(importedNode);\r
111                 return newDocument;\r
112         }\r
113 }\r
114