ba39964439510dd2522c7338d6bc91fd2912d79d
[sdc/sdc-workflow-designer.git] /
1 /**\r
2  * Copyright (c) 2018 ZTE Corporation.\r
3  * All rights reserved. This program and the accompanying materials\r
4  * are made available under the Apache License, Version 2.0\r
5  * and the Eclipse Public License v1.0 which both accompany this distribution,\r
6  * and are available at http://www.eclipse.org/legal/epl-v10.html\r
7  * and http://www.apache.org/licenses/LICENSE-2.0\r
8  *\r
9  * Contributors:\r
10  *     ZTE - initial API and implementation and/or initial documentation\r
11  */\r
12 package org.onap.sdc.workflowdesigner.resources;\r
13 \r
14 import static org.junit.Assert.assertEquals;\r
15 \r
16 import java.io.IOException;\r
17 import java.net.URI;\r
18 import java.nio.file.Paths;\r
19 import java.util.UUID;\r
20 \r
21 import org.dom4j.DocumentException;\r
22 import org.junit.After;\r
23 import org.junit.Before;\r
24 import org.junit.Test;\r
25 import org.onap.sdc.workflowdesigner.resources.entity.WorkflowInfo;\r
26 import org.onap.sdc.workflowdesigner.utils.FileCommonUtils;\r
27 import org.onap.sdc.workflowdesigner.utils.JsonUtils;\r
28 \r
29 /**\r
30  *\r
31  */\r
32 public class WorkflowModelerResourceTest {\r
33   private static final String WORKFLOW_JSON_TEMP_FILE_NAME = "temp_workflow.json";\r
34 \r
35   /**\r
36    * @throws java.lang.Exception\r
37    */\r
38   @Before\r
39   public void setUp() throws Exception {}\r
40 \r
41   /**\r
42    * @throws java.lang.Exception\r
43    */\r
44   @After\r
45   public void tearDown() throws Exception {}\r
46 \r
47   /**\r
48    * Test method for\r
49    * {@link org.onap.sdc.workflowdesigner.resources.WorkflowModelerResource#buildBPMN(java.net.URI, java.lang.String)}.\r
50    */\r
51   @Test\r
52   public void testBuildBPMN() {\r
53     String bpmn = parseBpmnfromJsonFile();\r
54     assertEquals(false, bpmn.isEmpty());\r
55   }\r
56 \r
57   /**\r
58    * @return\r
59    */\r
60   private String parseBpmnfromJsonFile() {\r
61     try {\r
62       URI srcUri = Paths.get("src/main/assembly", WORKFLOW_JSON_TEMP_FILE_NAME).toUri();\r
63       WorkflowModelerResource resource = new WorkflowModelerResource();\r
64       String processName = "plan_" + UUID.randomUUID().toString();\r
65       return resource.buildBPMN(srcUri, processName);\r
66     } catch (IOException e) {\r
67     } catch (Exception e) {\r
68     }\r
69 \r
70     return null;\r
71   }\r
72 \r
73   /**\r
74    * Test method for\r
75    * {@link org.onap.sdc.workflowdesigner.resources.WorkflowModelerResource#insertJson2Bpmn(java.lang.String, java.lang.String)}.\r
76    */\r
77   @Test\r
78   public void testInsertJson2Bpmn() {\r
79     String bpmn = parseBpmnfromJsonFile();\r
80 \r
81     try {\r
82       String json = FileCommonUtils.readString("src/main/assembly/" + WORKFLOW_JSON_TEMP_FILE_NAME);\r
83       WorkflowModelerResource resource = new WorkflowModelerResource();\r
84       String combineBpmn = resource.insertJson2Bpmn(json, bpmn);\r
85 \r
86       String json1 = resource.readJsonfromBPMN(combineBpmn);\r
87 \r
88       assertEqualsJson(json, json1);\r
89     } catch (IOException e) {\r
90     } catch (DocumentException e) {\r
91     }\r
92   }\r
93 \r
94   /**\r
95    * @param json\r
96    * @param json1\r
97    */\r
98   private void assertEqualsJson(String json, String json1) {\r
99     WorkflowInfo wi = JsonUtils.fromJson(json, WorkflowInfo.class);\r
100     WorkflowInfo wi1 = JsonUtils.fromJson(json1, WorkflowInfo.class);\r
101 \r
102     String newJson = JsonUtils.toJson(wi);\r
103     String newJson1 = JsonUtils.toJson(wi1);\r
104 \r
105     assertEquals(newJson1, newJson);\r
106 \r
107   }\r
108 \r
109 }\r