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 
  10  *     ZTE - initial API and implementation and/or initial documentation
\r 
  12 package org.onap.sdc.workflowdesigner.resources;
\r 
  14 import static org.junit.Assert.assertEquals;
\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 
  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 
  32 public class WorkflowModelerResourceTest {
\r 
  33   private static final String WORKFLOW_JSON_TEMP_FILE_NAME = "temp_workflow.json";
\r 
  36    * @throws java.lang.Exception
\r 
  39   public void setUp() throws Exception {}
\r 
  42    * @throws java.lang.Exception
\r 
  45   public void tearDown() throws Exception {}
\r 
  48    * Test method for {@link org.onap.sdc.workflowdesigner.resources.WorkflowModelerResource#buildBPMN(java.net.URI, java.lang.String)}.
\r 
  51   public void testBuildBPMN() {
\r 
  52     String bpmn = parseBpmnfromJsonFile();
\r 
  53     assertEquals(false, bpmn.isEmpty());
\r 
  59   private String parseBpmnfromJsonFile() {
\r 
  61       URI srcUri = Paths.get("src/main/assembly", WORKFLOW_JSON_TEMP_FILE_NAME).toUri();
\r 
  62       WorkflowModelerResource resource = new WorkflowModelerResource();
\r 
  63       String processName = "plan_" + UUID.randomUUID().toString();
\r 
  64       return resource.buildBPMN(srcUri, processName);
\r 
  65     } catch (IOException e) {
\r 
  66       e.printStackTrace();
\r 
  67     } catch (Exception e) {
\r 
  68       e.printStackTrace();
\r 
  74    * Test method for {@link org.onap.sdc.workflowdesigner.resources.WorkflowModelerResource#insertJson2Bpmn(java.lang.String, java.lang.String)}.
\r 
  77   public void testInsertJson2Bpmn() {
\r 
  78     String bpmn = parseBpmnfromJsonFile();
\r 
  81       String json = FileCommonUtils.readString("src/main/assembly/" + WORKFLOW_JSON_TEMP_FILE_NAME);
\r 
  82       WorkflowModelerResource resource = new WorkflowModelerResource();
\r 
  83       String combineBpmn = resource.insertJson2Bpmn(json, bpmn);
\r 
  85       String json1 = resource.readJsonfromBPMNFile(combineBpmn);
\r 
  87       assertEqualsJson(json, json1);
\r 
  88     } catch (IOException e) {
\r 
  89       e.printStackTrace();
\r 
  90     } catch (DocumentException e) {
\r 
  91       e.printStackTrace();
\r 
  99   private void assertEqualsJson(String json, String json1) {
\r 
 100     WorkflowInfo wi = JsonUtils.fromJson(json, WorkflowInfo.class);
\r 
 101     WorkflowInfo wi1 = JsonUtils.fromJson(json1, WorkflowInfo.class);
\r 
 103     String newJson = JsonUtils.toJson(wi);
\r 
 104     String newJson1 = JsonUtils.toJson(wi1);
\r 
 106     assertEquals(newJson1, newJson);
\r