X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=appc-config%2Fappc-config-generator%2Fprovider%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fsdnc%2Fconfig%2Fgenerator%2Fmerge%2FTestMergeNode.java;h=db923d5521d5f413fea37c1915656574a005fa41;hb=refs%2Fchanges%2F38%2F78938%2F7;hp=cd7bb9e9aa7c45bf676f752032593d035ac3dcc5;hpb=161df8a94bb3b0c34ed16fd4fdba078bd1eeef9a;p=appc.git diff --git a/appc-config/appc-config-generator/provider/src/test/java/org/onap/sdnc/config/generator/merge/TestMergeNode.java b/appc-config/appc-config-generator/provider/src/test/java/org/onap/sdnc/config/generator/merge/TestMergeNode.java index cd7bb9e9a..db923d552 100644 --- a/appc-config/appc-config-generator/provider/src/test/java/org/onap/sdnc/config/generator/merge/TestMergeNode.java +++ b/appc-config/appc-config-generator/provider/src/test/java/org/onap/sdnc/config/generator/merge/TestMergeNode.java @@ -1,9 +1,15 @@ /*- * ============LICENSE_START======================================================= - * ONAP : APP-C + * ONAP : APPC * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. * ================================================================================ + * Copyright (C) 2017 Amdocs + * ============================================================================= + * Modification Copyright (C) 2018 IBM. + * ============================================================================= + * Modification Copyright (C) 2018 Ericsson + * ============================================================================= * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -15,89 +21,114 @@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. + * * ============LICENSE_END========================================================= */ -package org.openecomp.sdnc.config.generator.merge; +package org.onap.sdnc.config.generator.merge; + +import static org.junit.Assert.assertEquals; +import java.nio.charset.StandardCharsets; +import java.util.HashMap; +import java.util.Map; import org.apache.commons.io.IOUtils; +import org.junit.Rule; import org.junit.Test; -import org.openecomp.sdnc.config.generator.ConfigGeneratorConstant; -import org.openecomp.sdnc.config.generator.merge.MergeNode; +import org.junit.rules.ExpectedException; import org.onap.ccsdk.sli.core.sli.SvcLogicContext; import org.onap.ccsdk.sli.core.sli.SvcLogicException; -import static org.junit.Assert.assertEquals; -import java.util.HashMap; -import java.util.Map; +import org.onap.sdnc.config.generator.ConfigGeneratorConstant; public class TestMergeNode { - @Test(expected = Exception.class) + @Rule + public ExpectedException expectedEx = ExpectedException.none(); + + @Test public void testMergeJsonDataOnTemplate() throws Exception { MergeNode mergeNode = new MergeNode(); Map inParams = new HashMap(); inParams.put(ConfigGeneratorConstant.INPUT_PARAM_RESPONSE_PRIFIX, "test"); - String jsonData = IOUtils - .toString(TestMergeNode.class.getClassLoader().getResourceAsStream("merge/vdbe_data.json")); + String jsonData = IOUtils.toString( + TestMergeNode.class.getClassLoader().getResourceAsStream("merge/valid.json"), + StandardCharsets.UTF_8); inParams.put(ConfigGeneratorConstant.INPUT_PARAM_JSON_DATA, jsonData); - String templateData = IOUtils - .toString(TestMergeNode.class.getClassLoader().getResourceAsStream("merge/vdbe_template.xml")); + String templateData = IOUtils.toString(TestMergeNode.class.getClassLoader() + .getResourceAsStream("merge/valid.xml"), StandardCharsets.UTF_8); inParams.put(ConfigGeneratorConstant.INPUT_PARAM_TEMPLATE_DATA, templateData); SvcLogicContext ctx = new SvcLogicContext(); mergeNode.mergeJsonDataOnTemplate(inParams, ctx); - assertEquals(ctx.getAttribute("test." + ConfigGeneratorConstant.OUTPUT_PARAM_STATUS), - ConfigGeneratorConstant.OUTPUT_STATUS_SUCCESS); - + assertEquals(ConfigGeneratorConstant.OUTPUT_STATUS_SUCCESS, + ctx.getAttribute("test." + ConfigGeneratorConstant.OUTPUT_PARAM_STATUS)); } - @Test(expected = Exception.class) - public void testMergeComplexJsonDataOnTemplate() throws Exception { + @Test + public void testMergeJsonDataOnTemplateForEmptyParamData() throws Exception { MergeNode mergeNode = new MergeNode(); Map inParams = new HashMap(); inParams.put(ConfigGeneratorConstant.INPUT_PARAM_RESPONSE_PRIFIX, "test"); - String jsonData = IOUtils - .toString(TestMergeNode.class.getClassLoader().getResourceAsStream("merge/complex/vdbe_data.json")); - System.out.println("TestMergeNode.testMergeJsonComplexDataOnTemplate()" + jsonData); - inParams.put(ConfigGeneratorConstant.INPUT_PARAM_JSON_DATA, jsonData); - - String templateData = IOUtils - .toString(TestMergeNode.class.getClassLoader().getResourceAsStream("merge/complex/vdbe_template.xml")); - inParams.put(ConfigGeneratorConstant.INPUT_PARAM_TEMPLATE_DATA, templateData); SvcLogicContext ctx = new SvcLogicContext(); - mergeNode.mergeComplexJsonDataOnTemplate(inParams, ctx); - assertEquals(ctx.getAttribute("test." + ConfigGeneratorConstant.OUTPUT_PARAM_STATUS), - ConfigGeneratorConstant.OUTPUT_STATUS_SUCCESS); - + mergeNode.mergeJsonDataOnTemplate(inParams, ctx); + assertEquals(ConfigGeneratorConstant.OUTPUT_STATUS_SUCCESS, + ctx.getAttribute("test." + ConfigGeneratorConstant.OUTPUT_PARAM_STATUS)); } - @Test(expected = Exception.class) - public void testMergeJsonDataOnTemplateFile() throws Exception { + @Test + public void testMergeJsonDataOnTemplateForEmptyTemplateData() throws Exception { MergeNode mergeNode = new MergeNode(); Map inParams = new HashMap(); inParams.put(ConfigGeneratorConstant.INPUT_PARAM_RESPONSE_PRIFIX, "test"); - String jsonData = IOUtils - .toString(TestMergeNode.class.getClassLoader().getResourceAsStream("merge/vdbe_data.json")); + String jsonData = IOUtils.toString( + TestMergeNode.class.getClassLoader().getResourceAsStream("merge/valid.json"), + StandardCharsets.UTF_8); inParams.put(ConfigGeneratorConstant.INPUT_PARAM_JSON_DATA, jsonData); - inParams.put(ConfigGeneratorConstant.INPUT_PARAM_TEMPLATE_FILE, "merge/vdbe_template.xml"); - SvcLogicContext ctx = new SvcLogicContext(); + expectedEx.expect(SvcLogicException.class); + expectedEx.expectMessage("Template data or Template file is missing"); mergeNode.mergeJsonDataOnTemplate(inParams, ctx); - assertEquals(ctx.getAttribute("test." + ConfigGeneratorConstant.OUTPUT_PARAM_STATUS), - ConfigGeneratorConstant.OUTPUT_STATUS_SUCCESS); } + @Test - public void testMmergeDataOnTemplate() throws SvcLogicException { + public void testMergeComplexJsonDataOnTemplate() throws Exception { MergeNode mergeNode = new MergeNode(); - SvcLogicContext ctx = new SvcLogicContext(); Map inParams = new HashMap(); - mergeNode.mergeDataOnTemplate(inParams, ctx); + inParams.put(ConfigGeneratorConstant.INPUT_PARAM_RESPONSE_PRIFIX, "test"); + String jsonData = IOUtils.toString(TestMergeNode.class.getClassLoader() + .getResourceAsStream("merge/valid.json"), StandardCharsets.UTF_8); + inParams.put(ConfigGeneratorConstant.INPUT_PARAM_JSON_DATA, jsonData); + inParams.put(ConfigGeneratorConstant.INPUT_PARAM_TEMPLATE_FILE, "merge/valid.xml"); + SvcLogicContext ctx = new SvcLogicContext(); + mergeNode.mergeComplexJsonDataOnTemplate(inParams, ctx); + assertEquals(ConfigGeneratorConstant.OUTPUT_STATUS_SUCCESS, + ctx.getAttribute("test." + ConfigGeneratorConstant.OUTPUT_PARAM_STATUS)); } @Test - public void mergeYamlDataOnTemplate() throws SvcLogicException { + public void testMergeComplexJsonDataWithMissingJson() throws Exception { MergeNode mergeNode = new MergeNode(); + Map inParams = new HashMap(); + inParams.put(ConfigGeneratorConstant.INPUT_PARAM_RESPONSE_PRIFIX, ""); + String jsonData = IOUtils.toString(TestMergeNode.class.getClassLoader() + .getResourceAsStream("merge/blank.json"), StandardCharsets.UTF_8); + inParams.put(ConfigGeneratorConstant.INPUT_PARAM_JSON_DATA, jsonData); SvcLogicContext ctx = new SvcLogicContext(); + expectedEx.expect(SvcLogicException.class); + expectedEx.expectMessage("JSON Data is missing"); + mergeNode.mergeComplexJsonDataOnTemplate(inParams, ctx); + } + + @Test + public void testMergeComplexJsonDataWithMissingTemplateDataAndFile() throws Exception { + MergeNode mergeNode = new MergeNode(); Map inParams = new HashMap(); - mergeNode.mergeYamlDataOnTemplate(inParams, ctx); + inParams.put(ConfigGeneratorConstant.INPUT_PARAM_RESPONSE_PRIFIX, "test"); + String jsonData = IOUtils.toString(TestMergeNode.class.getClassLoader() + .getResourceAsStream("merge/valid.json"), StandardCharsets.UTF_8); + inParams.put(ConfigGeneratorConstant.INPUT_PARAM_JSON_DATA, jsonData); + SvcLogicContext ctx = new SvcLogicContext(); + expectedEx.expect(SvcLogicException.class); + expectedEx.expectMessage("Template data or Template file is missing"); + mergeNode.mergeComplexJsonDataOnTemplate(inParams, ctx); } }