2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Copyright (C) 2017 Amdocs
8 * =============================================================================
9 * Licensed under the Apache License, Version 2.0 (the "License");
10 * you may not use this file except in compliance with the License.
11 * You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
21 * ECOMP is a trademark and service mark of AT&T Intellectual Property.
22 * ============LICENSE_END=========================================================
25 package org.onap.sdnc.config.generator.merge;
27 import static org.junit.Assert.assertEquals;
28 import java.util.HashMap;
30 import org.apache.commons.io.IOUtils;
31 import org.junit.Test;
32 import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
33 import org.onap.ccsdk.sli.core.sli.SvcLogicException;
34 import org.onap.sdnc.config.generator.ConfigGeneratorConstant;
36 public class TestMergeNode {
38 @Test(expected = Exception.class)
39 public void testMergeJsonDataOnTemplate() throws Exception {
40 MergeNode mergeNode = new MergeNode();
41 Map<String, String> inParams = new HashMap<String, String>();
42 inParams.put(ConfigGeneratorConstant.INPUT_PARAM_RESPONSE_PRIFIX, "test");
43 String jsonData = IOUtils.toString(
44 TestMergeNode.class.getClassLoader().getResourceAsStream("merge/vdbe_data.json"));
45 inParams.put(ConfigGeneratorConstant.INPUT_PARAM_JSON_DATA, jsonData);
46 String templateData = IOUtils.toString(TestMergeNode.class.getClassLoader()
47 .getResourceAsStream("merge/vdbe_template.xml"));
48 inParams.put(ConfigGeneratorConstant.INPUT_PARAM_TEMPLATE_DATA, templateData);
49 SvcLogicContext ctx = new SvcLogicContext();
50 mergeNode.mergeJsonDataOnTemplate(inParams, ctx);
51 assertEquals(ctx.getAttribute("test." + ConfigGeneratorConstant.OUTPUT_PARAM_STATUS),
52 ConfigGeneratorConstant.OUTPUT_STATUS_SUCCESS);
56 @Test(expected = Exception.class)
57 public void testMergeComplexJsonDataOnTemplate() throws Exception {
58 MergeNode mergeNode = new MergeNode();
59 Map<String, String> inParams = new HashMap<String, String>();
60 inParams.put(ConfigGeneratorConstant.INPUT_PARAM_RESPONSE_PRIFIX, "test");
62 String jsonData = IOUtils.toString(TestMergeNode.class.getClassLoader()
63 .getResourceAsStream("merge/complex/vdbe_data.json"));
64 System.out.println("TestMergeNode.testMergeJsonComplexDataOnTemplate()" + jsonData);
65 inParams.put(ConfigGeneratorConstant.INPUT_PARAM_JSON_DATA, jsonData);
67 String templateData = IOUtils.toString(TestMergeNode.class.getClassLoader()
68 .getResourceAsStream("merge/complex/vdbe_template.xml"));
69 inParams.put(ConfigGeneratorConstant.INPUT_PARAM_TEMPLATE_DATA, templateData);
71 SvcLogicContext ctx = new SvcLogicContext();
72 mergeNode.mergeComplexJsonDataOnTemplate(inParams, ctx);
73 assertEquals(ctx.getAttribute("test." + ConfigGeneratorConstant.OUTPUT_PARAM_STATUS),
74 ConfigGeneratorConstant.OUTPUT_STATUS_SUCCESS);
78 @Test(expected = Exception.class)
79 public void testMergeJsonDataOnTemplateFile() throws Exception {
80 MergeNode mergeNode = new MergeNode();
81 Map<String, String> inParams = new HashMap<String, String>();
82 inParams.put(ConfigGeneratorConstant.INPUT_PARAM_RESPONSE_PRIFIX, "test");
84 String jsonData = IOUtils.toString(
85 TestMergeNode.class.getClassLoader().getResourceAsStream("merge/vdbe_data.json"));
86 inParams.put(ConfigGeneratorConstant.INPUT_PARAM_JSON_DATA, jsonData);
87 inParams.put(ConfigGeneratorConstant.INPUT_PARAM_TEMPLATE_FILE, "merge/vdbe_template.xml");
89 SvcLogicContext ctx = new SvcLogicContext();
90 mergeNode.mergeJsonDataOnTemplate(inParams, ctx);
91 assertEquals(ctx.getAttribute("test." + ConfigGeneratorConstant.OUTPUT_PARAM_STATUS),
92 ConfigGeneratorConstant.OUTPUT_STATUS_SUCCESS);
96 public void testMmergeDataOnTemplate() throws SvcLogicException {
97 MergeNode mergeNode = new MergeNode();
98 SvcLogicContext ctx = new SvcLogicContext();
99 Map<String, String> inParams = new HashMap<String, String>();
100 mergeNode.mergeDataOnTemplate(inParams, ctx);
104 public void mergeYamlDataOnTemplate() throws SvcLogicException {
105 MergeNode mergeNode = new MergeNode();
106 SvcLogicContext ctx = new SvcLogicContext();
107 Map<String, String> inParams = new HashMap<String, String>();
108 mergeNode.mergeYamlDataOnTemplate(inParams, ctx);