From 0df7ab4f7ef0bfb21797775ec41fcdfb94e2270c Mon Sep 17 00:00:00 2001 From: Anand Chaturvedi Date: Sat, 12 Aug 2017 01:31:10 -0400 Subject: Initial commit for appc-config-params Change-Id: I5805591892184b4456dd30639417d783d353a6a3 Signed-off-by: Anand Chaturvedi Issue-Id:APPC-9 --- .../params/parser/TestPropertyDefinitionNode.java | 131 ++++++++++ .../transformer/tosca/TestArtifactProcessor.java | 104 ++++++++ .../tosca/TestGenerateArtifactObject.java | 265 +++++++++++++++++++++ .../tosca/TestGenerateArtifactString.java | 156 ++++++++++++ .../transformer/tosca/TestPropertyQueryString.java | 170 +++++++++++++ .../params/transformer/tosca/TestReadArtifact.java | 107 +++++++++ .../src/test/resources/parser/merge-param.json | 26 ++ .../provider/src/test/resources/parser/pd.yaml | 75 ++++++ .../src/test/resources/parser/request-param.json | 27 +++ .../src/test/resources/parser/system-param.json | 25 ++ .../resources/tosca/ExamplePropertyDefinition.yml | 21 ++ .../resources/tosca/ExamplePropertyDefinition2.yml | 21 ++ .../resources/tosca/ExamplePropertyDefinition3.yml | 21 ++ .../resources/tosca/ExamplePropertyDefinition4.yml | 21 ++ .../src/test/resources/tosca/ExpectedTosca.yml | 75 ++++++ .../tosca/ReadArtifactNegetiveInputTosca.yml | 47 ++++ .../tosca/ReadArtifactPositiveInputTosca.yml | 47 ++++ 17 files changed, 1339 insertions(+) create mode 100644 appc-config/appc-config-params/provider/src/test/java/org/openecomp/sdnc/config/params/parser/TestPropertyDefinitionNode.java create mode 100644 appc-config/appc-config-params/provider/src/test/java/org/openecomp/sdnc/config/params/transformer/tosca/TestArtifactProcessor.java create mode 100644 appc-config/appc-config-params/provider/src/test/java/org/openecomp/sdnc/config/params/transformer/tosca/TestGenerateArtifactObject.java create mode 100644 appc-config/appc-config-params/provider/src/test/java/org/openecomp/sdnc/config/params/transformer/tosca/TestGenerateArtifactString.java create mode 100644 appc-config/appc-config-params/provider/src/test/java/org/openecomp/sdnc/config/params/transformer/tosca/TestPropertyQueryString.java create mode 100644 appc-config/appc-config-params/provider/src/test/java/org/openecomp/sdnc/config/params/transformer/tosca/TestReadArtifact.java create mode 100644 appc-config/appc-config-params/provider/src/test/resources/parser/merge-param.json create mode 100644 appc-config/appc-config-params/provider/src/test/resources/parser/pd.yaml create mode 100644 appc-config/appc-config-params/provider/src/test/resources/parser/request-param.json create mode 100644 appc-config/appc-config-params/provider/src/test/resources/parser/system-param.json create mode 100644 appc-config/appc-config-params/provider/src/test/resources/tosca/ExamplePropertyDefinition.yml create mode 100644 appc-config/appc-config-params/provider/src/test/resources/tosca/ExamplePropertyDefinition2.yml create mode 100644 appc-config/appc-config-params/provider/src/test/resources/tosca/ExamplePropertyDefinition3.yml create mode 100644 appc-config/appc-config-params/provider/src/test/resources/tosca/ExamplePropertyDefinition4.yml create mode 100644 appc-config/appc-config-params/provider/src/test/resources/tosca/ExpectedTosca.yml create mode 100644 appc-config/appc-config-params/provider/src/test/resources/tosca/ReadArtifactNegetiveInputTosca.yml create mode 100644 appc-config/appc-config-params/provider/src/test/resources/tosca/ReadArtifactPositiveInputTosca.yml (limited to 'appc-config/appc-config-params/provider/src/test') diff --git a/appc-config/appc-config-params/provider/src/test/java/org/openecomp/sdnc/config/params/parser/TestPropertyDefinitionNode.java b/appc-config/appc-config-params/provider/src/test/java/org/openecomp/sdnc/config/params/parser/TestPropertyDefinitionNode.java new file mode 100644 index 000000000..81f4a6685 --- /dev/null +++ b/appc-config/appc-config-params/provider/src/test/java/org/openecomp/sdnc/config/params/parser/TestPropertyDefinitionNode.java @@ -0,0 +1,131 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP : APPC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * 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. + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.sdnc.config.params.parser; + +import static org.junit.Assert.assertEquals; + +import java.io.File; +import java.nio.charset.Charset; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.attribute.BasicFileAttributes; +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.TimeUnit; + +import org.apache.commons.io.IOUtils; +import org.junit.Test; +import org.junit.Ignore; +import org.openecomp.sdnc.config.params.ParamsHandlerConstant; +import org.openecomp.sdnc.config.params.data.PropertyDefinition; +import org.openecomp.sdnc.config.params.parser.PropertyDefinitionNode; +import org.openecomp.sdnc.config.params.transformer.ArtificatTransformer; + +import org.openecomp.sdnc.sli.SvcLogicContext; + +import com.fasterxml.jackson.databind.ObjectMapper; + +public class TestPropertyDefinitionNode { + +@Ignore + public void testProcessMissingParamKeys() throws Exception { + PropertyDefinitionNode propertyDefinitionNode = new PropertyDefinitionNode(); + Map inParams = new HashMap(); + inParams.put(ParamsHandlerConstant.INPUT_PARAM_RESPONSE_PRIFIX, "test"); + + String yamlData = IOUtils.toString(TestPropertyDefinitionNode.class.getClassLoader().getResourceAsStream("parser/pd.yaml"), Charset.defaultCharset()); + inParams.put(ParamsHandlerConstant.INPUT_PARAM_PD_CONTENT, yamlData); + + String jsonData = IOUtils.toString(TestPropertyDefinitionNode.class.getClassLoader().getResourceAsStream("parser/request-param.json"), Charset.defaultCharset()); + inParams.put(ParamsHandlerConstant.INPUT_PARAM_JSON_DATA, jsonData); + + SvcLogicContext ctx = new SvcLogicContext(); + propertyDefinitionNode.processMissingParamKeys(inParams, ctx); + assertEquals(ctx.getAttribute("test."+ParamsHandlerConstant.OUTPUT_PARAM_STATUS), ParamsHandlerConstant.OUTPUT_STATUS_SUCCESS); + + } + + public void testProcessExternalSystemParamKeys() throws Exception { + PropertyDefinitionNode propertyDefinitionNode = new PropertyDefinitionNode(); + Map inParams = new HashMap(); + inParams.put(ParamsHandlerConstant.INPUT_PARAM_RESPONSE_PRIFIX, "test"); + + String yamlData = IOUtils.toString(TestPropertyDefinitionNode.class.getClassLoader().getResourceAsStream("parser/pd.yaml"), Charset.defaultCharset()); + inParams.put(ParamsHandlerConstant.INPUT_PARAM_PD_CONTENT, yamlData); + + String jsonData = IOUtils.toString(TestPropertyDefinitionNode.class.getClassLoader().getResourceAsStream("parser/request-param.json"), Charset.defaultCharset()); + inParams.put(ParamsHandlerConstant.INPUT_PARAM_JSON_DATA, jsonData); + + inParams.put(ParamsHandlerConstant.INPUT_PARAM_SYSTEM_NAME, "INSTAR"); + + SvcLogicContext ctx = new SvcLogicContext(); + propertyDefinitionNode.processExternalSystemParamKeys(inParams, ctx); + assertEquals(ctx.getAttribute("test."+ParamsHandlerConstant.OUTPUT_PARAM_STATUS), ParamsHandlerConstant.OUTPUT_STATUS_SUCCESS); + + System.out.println("Result: " + ctx.getAttributeKeySet()); + System.out.println("INSTAR.keys : " + ctx.getAttribute("INSTAR.keys")); + System.out.println("INSTAR.LOCAL_CORE_ALT_IP_ADDR.request-logic : " + ctx.getAttribute("INSTAR.LOCAL_ACCESS_IP_ADDR")); + System.out.println("INSTAR.LOCAL_CORE_ALT_IP_ADDR.request-logic : " + ctx.getAttribute("INSTAR.LOCAL_CORE_ALT_IP_ADDR")); + + } + + public void mergeJsonData() throws Exception { + PropertyDefinitionNode propertyDefinitionNode = new PropertyDefinitionNode(); + Map inParams = new HashMap(); + inParams.put(ParamsHandlerConstant.INPUT_PARAM_RESPONSE_PRIFIX, "test"); + + String jsonData = IOUtils.toString(TestPropertyDefinitionNode.class.getClassLoader().getResourceAsStream("parser/request-param.json"), Charset.defaultCharset()); + inParams.put(ParamsHandlerConstant.INPUT_PARAM_JSON_DATA, jsonData); + + String mergeJsonData = IOUtils.toString(TestPropertyDefinitionNode.class.getClassLoader().getResourceAsStream("parser/merge-param.json"), Charset.defaultCharset()); + inParams.put(ParamsHandlerConstant.INPUT_PARAM_MERGE__JSON_DATA, mergeJsonData); + + SvcLogicContext ctx = new SvcLogicContext(); + propertyDefinitionNode.mergeJsonData(inParams, ctx); + assertEquals(ctx.getAttribute("test."+ParamsHandlerConstant.OUTPUT_PARAM_STATUS), ParamsHandlerConstant.OUTPUT_STATUS_SUCCESS); + + System.out.println("Result: " + ctx.getAttributeKeySet()); + System.out.println("Merged Value : " + ctx.getAttribute("test." +ParamsHandlerConstant.OUTPUT_PARAM_CONFIGURATION_PARAMETER) ); + + + } + +// @Test + public void testArtificatTransformer() throws Exception { + ArtificatTransformer transformer = new ArtificatTransformer(); + String yamlData = IOUtils.toString(TestPropertyDefinitionNode.class.getClassLoader().getResourceAsStream("parser/pd.yaml"), Charset.defaultCharset()); + + PropertyDefinition propertyDefinition = transformer.convertYAMLToPD(yamlData); + + // String json = transformer.transformYamlToJson(yamlData); + // System.out.println("TestPropertyDefinitionNode.testArtificatTransformer()" + json); + String yaml = transformer.convertPDToYaml(propertyDefinition); + System.out.println("TestPropertyDefinitionNode.testArtificatTransformer():\n" + yaml); + + } + + + + +} diff --git a/appc-config/appc-config-params/provider/src/test/java/org/openecomp/sdnc/config/params/transformer/tosca/TestArtifactProcessor.java b/appc-config/appc-config-params/provider/src/test/java/org/openecomp/sdnc/config/params/transformer/tosca/TestArtifactProcessor.java new file mode 100644 index 000000000..5a8930fa7 --- /dev/null +++ b/appc-config/appc-config-params/provider/src/test/java/org/openecomp/sdnc/config/params/transformer/tosca/TestArtifactProcessor.java @@ -0,0 +1,104 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP : APPC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * 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. + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.sdnc.config.params.transformer.tosca; + +import org.junit.Assert; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TemporaryFolder; +import org.openecomp.sdnc.config.params.transformer.tosca.exceptions.ArtifactProcessorException; + +import java.io.*; + +public class TestArtifactProcessor{ + @Rule + public TemporaryFolder temporaryFolder = new TemporaryFolder(); + +// @Test + public void testArtifactProcessor() throws IOException, ArtifactProcessorException { + + ArtifactProcessor arp = ArtifactProcessorFactory.getArtifactProcessor(); + + String pdString = getFileContent("tosca/ExamplePropertyDefinition.yml"); + OutputStream outstream=null; + + File tempFile = temporaryFolder.newFile("TestTosca.yml"); + outstream = new FileOutputStream(tempFile); + arp.generateArtifact(pdString,outstream); + outstream.flush(); + outstream.close(); + + String expectedTosca = getFileContent("tosca/ExpectedTosca.yml"); + String toscaString = getFileContent(tempFile); + Assert.assertEquals(expectedTosca,toscaString); + } + + // @Test + public void testArtifactProcessorWithStringOutput() throws IOException, ArtifactProcessorException { + + ArtifactProcessor arp = ArtifactProcessorFactory.getArtifactProcessor(); + + String pdString = getFileContent("tosca/ExamplePropertyDefinition.yml"); + OutputStream outstream=null; + + outstream = new ByteArrayOutputStream(); + arp.generateArtifact(pdString,outstream); + outstream.flush(); + outstream.close(); + + String expectedTosca = getFileContent("tosca/ExpectedTosca.yml"); + String toscaString = outstream.toString(); + Assert.assertEquals(expectedTosca,toscaString); + } + + private String getFileContent(String fileName) throws IOException{ + ClassLoader classLoader = new TestArtifactProcessor().getClass().getClassLoader(); + InputStream is = new FileInputStream(classLoader.getResource(fileName).getFile()); + BufferedReader buf = new BufferedReader(new InputStreamReader(is)); + String line = buf.readLine(); + StringBuilder sb = new StringBuilder(); + + while (line != null) { + sb.append(line).append("\n"); + line = buf.readLine(); + } + String fileString = sb.toString(); + is.close(); + return fileString; + } + + private String getFileContent(File file) throws IOException{ + InputStream is = new FileInputStream(file); + BufferedReader buf = new BufferedReader(new InputStreamReader(is)); + String line = buf.readLine(); + StringBuilder sb = new StringBuilder(); + + while (line != null) { + sb.append(line).append("\n"); + line = buf.readLine(); + } + String fileString = sb.toString(); + is.close(); + return fileString; + } +} diff --git a/appc-config/appc-config-params/provider/src/test/java/org/openecomp/sdnc/config/params/transformer/tosca/TestGenerateArtifactObject.java b/appc-config/appc-config-params/provider/src/test/java/org/openecomp/sdnc/config/params/transformer/tosca/TestGenerateArtifactObject.java new file mode 100644 index 000000000..8fe8dc73a --- /dev/null +++ b/appc-config/appc-config-params/provider/src/test/java/org/openecomp/sdnc/config/params/transformer/tosca/TestGenerateArtifactObject.java @@ -0,0 +1,265 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP : APPC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * 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. + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.sdnc.config.params.transformer.tosca; + +import org.junit.Assert; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TemporaryFolder; +import org.openecomp.sdnc.config.params.data.Parameter; +import org.openecomp.sdnc.config.params.data.PropertyDefinition; +import org.openecomp.sdnc.config.params.data.RequestKey; +import org.openecomp.sdnc.config.params.data.ResponseKey; +import org.openecomp.sdnc.config.params.transformer.tosca.exceptions.ArtifactProcessorException; + +import java.io.*; +import java.util.ArrayList; +import java.util.List; + + +/** + * Created by pranavdi on 3/15/2017. + */ +public class TestGenerateArtifactObject +{ + @Rule + public TemporaryFolder temporaryFolder = new TemporaryFolder(); + + @Test + public void testObjectArtifactProcessor() throws IOException, ArtifactProcessorException { + + String expectedTosca="node_types:\n" + + " VNF:\n" + + " derived_from: org.openecomp.genericvnf\n" + + " version: V1\n" + + " description: ''\n" + + " properties:\n" + + " LOCAL_ACCESS_IP_ADDR:\n" + + " type: string\n" + + " required: false\n" + + " default: 192.168.30.1\n" + + " status: SUPPORTED\n" + + " LOCAL_CORE_ALT_IP_ADDR:\n" + + " type: String\n" + + " required: false\n" + + " default: fd00:f4d5:ea06:1:0:110:254\n" + + " status: SUPPORTED\n" + + "topology_template:\n" + + " node_templates:\n" + + " VNF_Template:\n" + + " type: VNF\n" + + " properties:\n" + + " LOCAL_ACCESS_IP_ADDR: \n" + + " LOCAL_CORE_ALT_IP_ADDR: \n"; + //Create object + PropertyDefinition pd = new PropertyDefinition(); + pd.setKind("VNF"); + pd.setVersion("V1"); + pd.setParameters(createParameters()); + + //Call ArtifactProcessor + OutputStream outstream=null; + + File toscaFile =temporaryFolder.newFile("TestTosca.yml"); + outstream = new FileOutputStream(toscaFile); + ArtifactProcessorImpl arp = new ArtifactProcessorImpl(); + arp.generateArtifact(pd,outstream); + outstream.flush(); + outstream.close(); + + String toscaString = getFileContent(toscaFile); + Assert.assertEquals(expectedTosca,toscaString); + + } + +// @Test + public void testPDpropertiesSetNull() throws IOException, ArtifactProcessorException { + String expectedTosca = "node_types:\n" + + " PropertyDefinition:\n" + + " derived_from: org.openecomp.genericvnf\n" + + " version: V1\n" + + " description: ''\n" + + "topology_template:\n" + + " node_templates:\n" + + " PropertyDefinition_Template:\n" + + " type: PropertyDefinition\n"; + //Create object + PropertyDefinition pd = new PropertyDefinition(); + pd.setKind("PropertyDefinition"); + pd.setVersion("V1"); +// pd.setParameters(createParameters()); + + //Call ArtifactProcessor + OutputStream outstream=null; + + File toscaFile =temporaryFolder.newFile("TestTosca.yml"); + outstream = new FileOutputStream(toscaFile); + + ArtifactProcessorImpl arp = new ArtifactProcessorImpl(); + arp.generateArtifact(pd,outstream); + outstream.flush(); + outstream.close(); + + String toscaString = getFileContent(toscaFile); + Assert.assertEquals(expectedTosca,toscaString); + } + + // @Test + public void testArtifactGeneratorInvalidStream() throws IOException { + String expectedMsg = "java.io.IOException: Stream Closed"; + PropertyDefinition pd = new PropertyDefinition(); + pd.setKind("VNF"); + pd.setVersion("V1"); + pd.setParameters(createParameters()); + + //Call ArtifactProcessor + OutputStream outstream=null; + try { + File toscaFile =temporaryFolder.newFile("TestTosca.yml"); + outstream = new FileOutputStream(toscaFile); + outstream.close(); + ArtifactProcessorImpl arp = new ArtifactProcessorImpl(); + arp.generateArtifact(pd,outstream); + Assert.fail(); + } + catch (ArtifactProcessorException e) + { + Assert.assertEquals(expectedMsg,e.getMessage()); + } + } + + private List createParameters() + { + //Create single Parameter object 1 + Parameter singleParameter1 = new Parameter(); + singleParameter1.setName("LOCAL_ACCESS_IP_ADDR"); +// singleParameter1.setList(false); + singleParameter1.setRequired(false); + singleParameter1.setSource("INSTAR"); + singleParameter1.setDefaultValue("192.168.30.1"); + singleParameter1.setRuleType("myRule1"); + singleParameter1.setRequestKeys(createRequestKeys()); + + //Create single Parameter object 2 + Parameter singleParameter2 = new Parameter(); + singleParameter2.setName("LOCAL_CORE_ALT_IP_ADDR"); + singleParameter2.setType("String"); +// singleParameter2.setList(false); + singleParameter2.setRequired(false); + singleParameter2.setSource("INSTAR"); + singleParameter2.setDefaultValue("fd00:f4d5:ea06:1:0:110:254"); + singleParameter2.setRuleType("myRule2"); + singleParameter2.setResponseKeys(createResponseKeys()); + + + //Add the Parameter objects to the List + List parameterList = new ArrayList(); + parameterList.add(singleParameter1); + parameterList.add(singleParameter2); + return parameterList; + } + + private List createRequestKeys() + { + //Create RequestKey object 1 + RequestKey requestKey1 = new RequestKey(); + requestKey1.setKeyName("class-type"); + requestKey1.setKeyValue("interface-ip-address"); + + //Create RequestKey object 2 + RequestKey requestKey2 = new RequestKey(); + requestKey2.setKeyName("address_fqdn"); + requestKey2.setKeyValue("someVal"); + + //Create RequestKey object 3 + RequestKey requestKey3 = new RequestKey(); + requestKey3.setKeyName("address_type"); + requestKey3.setKeyValue("v4"); + + //Add the RequestKey Objects to the List + List requestKeyList = new ArrayList(); + requestKeyList.add(requestKey1); + requestKeyList.add(requestKey2); + requestKeyList.add(requestKey3); + return requestKeyList; + } + + private List createResponseKeys() + { + //Create RequestKey object 1 + ResponseKey responseKey1 = new ResponseKey(); + + responseKey1.setUniqueKeyName("name1"); + responseKey1.setUniqueKeyValue("value1"); + responseKey1.setFieldKeyName("field1"); + + //Add the RequestKey Objects to the List + List responseKeyList = new ArrayList(); + responseKeyList.add(responseKey1); + + return responseKeyList; + } + + private Parameter createParameter() + { + Parameter singleParameter1 = new Parameter(); + singleParameter1.setName("LOCAL_ACCESS_IP_ADDR"); + //singleParameter1.setList(false); + singleParameter1.setRequired(false); + singleParameter1.setSource("INSTAR"); + singleParameter1.setDefaultValue("192.168.30.1"); + singleParameter1.setRequestKeys(createRequestKeys()); + singleParameter1.setResponseKeys(createResponseKeys()); + return singleParameter1; + } + + //@Test + public void testPDnull() throws IOException, ArtifactProcessorException { + PropertyDefinition pd = null; + OutputStream outstream=null; + + outstream = new FileOutputStream(".\\TestTosca.yml"); + ArtifactProcessorImpl arp = new ArtifactProcessorImpl(); + arp.generateArtifact(pd,outstream); + outstream.flush(); + outstream.close(); + + + } + + private String getFileContent(File file) throws IOException + { + InputStream is = new FileInputStream(file); + BufferedReader buf = new BufferedReader(new InputStreamReader(is)); + String line = buf.readLine(); + StringBuilder sb = new StringBuilder(); + + while (line != null) { + sb.append(line).append("\n"); + line = buf.readLine(); + } + String fileString = sb.toString(); + is.close(); + return fileString; + } +} diff --git a/appc-config/appc-config-params/provider/src/test/java/org/openecomp/sdnc/config/params/transformer/tosca/TestGenerateArtifactString.java b/appc-config/appc-config-params/provider/src/test/java/org/openecomp/sdnc/config/params/transformer/tosca/TestGenerateArtifactString.java new file mode 100644 index 000000000..51c458cff --- /dev/null +++ b/appc-config/appc-config-params/provider/src/test/java/org/openecomp/sdnc/config/params/transformer/tosca/TestGenerateArtifactString.java @@ -0,0 +1,156 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP : APPC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * 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. + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.sdnc.config.params.transformer.tosca; + +import org.junit.Assert; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TemporaryFolder; +import org.openecomp.sdnc.config.params.transformer.tosca.exceptions.ArtifactProcessorException; + +import java.io.*; +import java.net.URL; + +/** + * Created by pranavdi on 3/21/2017. + */ +public class TestGenerateArtifactString{ + + @Rule + public TemporaryFolder temporaryFolder = new TemporaryFolder(); + +// @Test + public void testStringArtifactGenerator() throws IOException, ArtifactProcessorException { + + String pdString = getFileContent("tosca/ExamplePropertyDefinition.yml"); + OutputStream outstream=null; + + File tempFile = temporaryFolder.newFile("TestTosca.yml"); + outstream = new FileOutputStream(tempFile); + ArtifactProcessorImpl arp = new ArtifactProcessorImpl(); + arp.generateArtifact(pdString,outstream); + outstream.flush(); + outstream.close(); + + String expectedTosca = getFileContent("tosca/ExpectedTosca.yml"); + String toscaString = getFileContent(tempFile); + Assert.assertEquals(expectedTosca,toscaString); + + } + + // @Test + public void testArtifactGeneratorWithParameterNameBlank() throws IOException, ArtifactProcessorException { + + String pdString = getFileContent("tosca/ExamplePropertyDefinition2.yml"); + OutputStream outstream=null; + String expectedMsg ="Parameter name is empty,null or contains whitespace"; + + File tempFile = temporaryFolder.newFile("TestTosca.yml"); + outstream = new FileOutputStream(tempFile); + ArtifactProcessorImpl arp = new ArtifactProcessorImpl(); + try { + arp.generateArtifact(pdString, outstream); + } + catch (ArtifactProcessorException e) + { + Assert.assertEquals(expectedMsg,e.getMessage()); + } + outstream.flush(); + outstream.close(); + } + + // @Test + public void testArtifactGeneratorWithParameterNameNull() throws IOException, ArtifactProcessorException { + + String pdString = getFileContent("tosca/ExamplePropertyDefinition3.yml"); + OutputStream outstream=null; + String expectedMsg ="Parameter name is empty,null or contains whitespace"; + + File tempFile = temporaryFolder.newFile("TestTosca.yml"); + outstream = new FileOutputStream(tempFile); + ArtifactProcessorImpl arp = new ArtifactProcessorImpl(); + try { + arp.generateArtifact(pdString, outstream); + } + catch (ArtifactProcessorException e) + { + Assert.assertEquals(expectedMsg,e.getMessage()); + } + outstream.flush(); + outstream.close(); + } + + // @Test + public void testArtifactGeneratorWithKindNull() throws IOException, ArtifactProcessorException { + + String pdString = getFileContent("tosca/ExamplePropertyDefinition4.yml"); + OutputStream outstream=null; + String expectedMsg ="Kind in PropertyDefinition is blank or null"; + + File tempFile = temporaryFolder.newFile("TestTosca.yml"); + outstream = new FileOutputStream(tempFile); + ArtifactProcessorImpl arp = new ArtifactProcessorImpl(); + try { + arp.generateArtifact(pdString, outstream); + } + catch (ArtifactProcessorException e) + { + Assert.assertEquals(expectedMsg,e.getMessage()); + } + outstream.flush(); + outstream.close(); + } + + private String getFileContent(String fileName) throws IOException + { + ClassLoader classLoader = new TestGenerateArtifactString().getClass().getClassLoader(); + InputStream is = new FileInputStream(classLoader.getResource(fileName).getFile()); + BufferedReader buf = new BufferedReader(new InputStreamReader(is)); + String line = buf.readLine(); + StringBuilder sb = new StringBuilder(); + + while (line != null) { + sb.append(line).append("\n"); + line = buf.readLine(); + } + String fileString = sb.toString(); + is.close(); + return fileString; + } + + private String getFileContent(File file) throws IOException + { + InputStream is = new FileInputStream(file); + BufferedReader buf = new BufferedReader(new InputStreamReader(is)); + String line = buf.readLine(); + StringBuilder sb = new StringBuilder(); + + while (line != null) { + sb.append(line).append("\n"); + line = buf.readLine(); + } + String fileString = sb.toString(); + is.close(); + return fileString; + } +} diff --git a/appc-config/appc-config-params/provider/src/test/java/org/openecomp/sdnc/config/params/transformer/tosca/TestPropertyQueryString.java b/appc-config/appc-config-params/provider/src/test/java/org/openecomp/sdnc/config/params/transformer/tosca/TestPropertyQueryString.java new file mode 100644 index 000000000..438884350 --- /dev/null +++ b/appc-config/appc-config-params/provider/src/test/java/org/openecomp/sdnc/config/params/transformer/tosca/TestPropertyQueryString.java @@ -0,0 +1,170 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP : APPC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * 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. + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.sdnc.config.params.transformer.tosca; + +import org.junit.Assert; +import org.junit.Test; +import org.openecomp.sdnc.config.params.data.RequestKey; +import org.openecomp.sdnc.config.params.data.ResponseKey; + + +import java.util.ArrayList; +import java.util.List; + + +public class TestPropertyQueryString +{ + // @Test + public void testBuildResponseKeys() + { + ArtifactProcessorImpl arp = new ArtifactProcessorImpl(); + String properties= arp.buildResponseKeyExpression(createResponseKeys()); + Assert.assertEquals("",properties); + } + + //@Test + public void testBuildRequestKeys() + { + ArtifactProcessorImpl arp = new ArtifactProcessorImpl(); + String properties= arp.buildRequestKeyExpression(createRequestKeys()); + Assert.assertEquals("",properties); + } + + //@Test + public void testEncoding() + { + ArtifactProcessorImpl arp = new ArtifactProcessorImpl(); + + String expected1 = "<class-type>"; + String encoded1 = arp.encode(""); + Assert.assertEquals(expected1,encoded1); + + String expected2 = "<<<metallica<>iron_maiden>>>"; + String encoded2 = arp.encode("<<iron_maiden>>>"); + Assert.assertEquals(expected2,encoded2); + + String expected3 = "band-list:metallica,ironmaiden"; + String encoded3 = arp.encode("band-list:metallica,ironmaiden"); + Assert.assertEquals(expected3,encoded3); + + String expected4 = "motorhead=lemmy"; + String encoded4 = arp.encode("motorhead=lemmy"); + Assert.assertEquals(expected4,encoded4); + + String expected5 = "DreamTheater"; + String encoded5 = arp.encode(" DreamTheater "); + Assert.assertEquals(expected5,encoded5); + } + + //@Test + public void testBuildRuleType() + { + ArtifactProcessorImpl arp = new ArtifactProcessorImpl(); + String input = "IPV4"; + String expected = ""; + Assert.assertEquals(expected,arp.buildRuleType(input)); + } + + // @Test + public void testRuleTypeSetNull() + { + ArtifactProcessorImpl arp = new ArtifactProcessorImpl(); + String expected = ""; + Assert.assertEquals(expected,arp.buildRuleType(null)); + } + + //@Test + public void testBuildRequestKeysWithKeyNull() + { + ArtifactProcessorImpl arp = new ArtifactProcessorImpl(); + List requestKeyList = new ArrayList(); + requestKeyList.add(null); + String properties= arp.buildRequestKeyExpression(requestKeyList); + Assert.assertEquals("",properties); + } + + //@Test + public void testBuildResponseKeysWithKeyNull() + { + ArtifactProcessorImpl arp = new ArtifactProcessorImpl(); + List responseKeyList = new ArrayList(); + responseKeyList.add(null); + String properties= arp.buildResponseKeyExpression(responseKeyList); + Assert.assertEquals("",properties); + } + + //@Test + public void testBuildSourceSystem() + { + ArtifactProcessorImpl arp = new ArtifactProcessorImpl(); + Assert.assertEquals("",arp.buildSourceSystem("INSTAR")); + } + //@Test + private List createRequestKeys() + { + //Create RequestKey object 1 + RequestKey requestKey1 = new RequestKey(); + requestKey1.setKeyName("class-type"); + requestKey1.setKeyValue("interface-ip-address"); + + //Create RequestKey object 2 + RequestKey requestKey2 = new RequestKey(); + requestKey2.setKeyName("address_fqdn"); + requestKey2.setKeyValue("00000000000000"); + + //Create RequestKey object 3 + RequestKey requestKey3 = new RequestKey(); + requestKey3.setKeyName("address_type"); + requestKey3.setKeyValue("v4"); + + //Add the RequestKey Objects to the List + List requestKeyList = new ArrayList(); + requestKeyList.add(requestKey1); + requestKeyList.add(requestKey2); + requestKeyList.add(requestKey3); + return requestKeyList; + } + //@Test + private List createResponseKeys() + { + //Create RequestKey object 1 + ResponseKey responseKey1 = new ResponseKey(); + + responseKey1.setUniqueKeyName("address-fqdn"); + responseKey1.setUniqueKeyValue("0000000000000"); + responseKey1.setFieldKeyName("ipaddress-v4"); + + ResponseKey responseKey2 = new ResponseKey(); + responseKey2.setUniqueKeyName("key2"); + responseKey2.setUniqueKeyValue("value2"); + responseKey2.setFieldKeyName("field2"); + + + //Add the RequestKey Objects to the List + List responseKeyList = new ArrayList(); + responseKeyList.add(responseKey1); + responseKeyList.add(responseKey2); + + return responseKeyList; + } +} diff --git a/appc-config/appc-config-params/provider/src/test/java/org/openecomp/sdnc/config/params/transformer/tosca/TestReadArtifact.java b/appc-config/appc-config-params/provider/src/test/java/org/openecomp/sdnc/config/params/transformer/tosca/TestReadArtifact.java new file mode 100644 index 000000000..654b4c1b3 --- /dev/null +++ b/appc-config/appc-config-params/provider/src/test/java/org/openecomp/sdnc/config/params/transformer/tosca/TestReadArtifact.java @@ -0,0 +1,107 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP : APPC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * 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. + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.sdnc.config.params.transformer.tosca; + +//import static org.junit.Assert; +import org.junit.Assert; +import org.junit.Test; +import org.openecomp.sdnc.config.params.data.PropertyDefinition; +import org.openecomp.sdnc.config.params.transformer.tosca.exceptions.ArtifactProcessorException; + +import java.io.*; + + +/** + * @author thakkerp + * @since March 23,2017 + */ +public class TestReadArtifact { +// @Test + public void testReadArtifactPositive() throws ArtifactProcessorException, IOException { + + String toscaArtifact = getFileContent("tosca/ReadArtifactPositiveInputTosca.yml"); + ArtifactProcessorImpl artifact = new ArtifactProcessorImpl(); + PropertyDefinition ouptPD = artifact.readArtifact(toscaArtifact); + Assert.assertEquals(ouptPD.getKind(),"Property Definition"); + Assert.assertEquals(ouptPD.getVersion(),"V1"); + + Assert.assertEquals(ouptPD.getParameters().get(0).getDefaultValue(),"0.0.0.0"); + Assert.assertEquals(ouptPD.getParameters().get(0).getName(),"abc"); + Assert.assertEquals(ouptPD.getParameters().get(0).getSource(),"INSTAR"); + Assert.assertEquals(ouptPD.getParameters().get(0).getRuleType(),"interface-ip-address"); + Assert.assertEquals(ouptPD.getParameters().get(0).getDescription(),"param_desc"); + Assert.assertEquals(ouptPD.getParameters().get(0).getType(),"param1_type"); + Assert.assertEquals(ouptPD.getParameters().get(1).getRequestKeys().get(0).getKeyName(),"address_fqdn"); + Assert.assertEquals(ouptPD.getParameters().get(1).getRequestKeys().get(0).getKeyValue(),"000000000"); + Assert.assertEquals(ouptPD.getParameters().get(1).getRequestKeys().get(0).getKeyName(),"address_fqdn"); + Assert.assertEquals(ouptPD.getParameters().get(1).getRequestKeys().get(0).getKeyValue(),"000000000"); + Assert.assertEquals(ouptPD.getParameters().get(0).getResponseKeys().get(0).getUniqueKeyName(),"address-fqdn"); + //Assert.assertEquals(ouptPD.getParameters().get(0).getResponseKeys().get(0).getUniqueKeyValue(),"000000000"); + Assert.assertEquals(ouptPD.getParameters().get(0).getResponseKeys().get(0).getFieldKeyName(),"ipaddress-v4"); + + Assert.assertEquals(ouptPD.getParameters().get(1).getDefaultValue(),"0:0:0:0:0:0:0:0"); + Assert.assertEquals(ouptPD.getParameters().get(1).getName(),"param 2"); + Assert.assertEquals(ouptPD.getParameters().get(1).getSource(),"INSTAR"); + Assert.assertEquals(ouptPD.getParameters().get(1).getRuleType(),"interface-ip-address"); + Assert.assertEquals(ouptPD.getParameters().get(1).getDescription(),"param2"); + Assert.assertEquals(ouptPD.getParameters().get(1).getType(),"param2 type"); + Assert.assertEquals(ouptPD.getParameters().get(1).getRequestKeys().get(0).getKeyName(),"address_fqdn"); + Assert.assertEquals(ouptPD.getParameters().get(1).getRequestKeys().get(0).getKeyValue(),"000000000"); + Assert.assertEquals(ouptPD.getParameters().get(1).getRequestKeys().get(1).getKeyName(),"address_type"); + Assert.assertEquals(ouptPD.getParameters().get(1).getRequestKeys().get(1).getKeyValue(),"v4"); + Assert.assertEquals(ouptPD.getParameters().get(1).getResponseKeys().get(0).getUniqueKeyName(),"address-fqdn"); + Assert.assertEquals(ouptPD.getParameters().get(1).getResponseKeys().get(0).getUniqueKeyValue(),"000000000"); + Assert.assertEquals(ouptPD.getParameters().get(1).getResponseKeys().get(0).getFieldKeyName(),"ipaddress-v4"); + + } +//@Test + public void testReadArtifactNegetive() throws IOException { + + String toscaArtifact = getFileContent("tosca/ReadArtifactNegetiveInputTosca.yml"); + ArtifactProcessorImpl artifact = new ArtifactProcessorImpl(); + try { + PropertyDefinition ouptPD = artifact.readArtifact(toscaArtifact); + } catch (ArtifactProcessorException e) { + Assert.assertNotNull(e); + Assert.assertEquals(e.getMessage(),"Invalid input found <> source1 "); + } + } + + private String getFileContent(String fileName) throws IOException + { + ClassLoader classLoader = new TestReadArtifact().getClass().getClassLoader(); + InputStream is = new FileInputStream(classLoader.getResource(fileName).getFile()); + BufferedReader buf = new BufferedReader(new InputStreamReader(is)); + String line = buf.readLine(); + StringBuilder sb = new StringBuilder(); + + while (line != null) { + sb.append(line).append("\n"); + line = buf.readLine(); + } + String fileString = sb.toString(); + is.close(); + return fileString; + } + +} diff --git a/appc-config/appc-config-params/provider/src/test/resources/parser/merge-param.json b/appc-config/appc-config-params/provider/src/test/resources/parser/merge-param.json new file mode 100644 index 000000000..e610d079a --- /dev/null +++ b/appc-config/appc-config-params/provider/src/test/resources/parser/merge-param.json @@ -0,0 +1,26 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP : APP-C + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * 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========================================================= + */ + + { + "Additional1": "XX.XX.XX", + "Additional2": "XXXXXX", + "Additiona3": "00", + "Additional": "00" +} diff --git a/appc-config/appc-config-params/provider/src/test/resources/parser/pd.yaml b/appc-config/appc-config-params/provider/src/test/resources/parser/pd.yaml new file mode 100644 index 000000000..868665fb4 --- /dev/null +++ b/appc-config/appc-config-params/provider/src/test/resources/parser/pd.yaml @@ -0,0 +1,75 @@ +--- +kind: "Property Definition" +version: "V1" +vnf-parameter-list: +- name: "LOCAL_ACCESS_IP_ADDR" + description: null + type: null + required: false + source: "INSTAR" + rule-type: "interface-ip-address" + default: "192.168.30.1" + request-keys: + - key-name: "address_fqdn" + key-value: "someValue" + - key-name: "address_type" + key-value: "v4" + response-keys: null +- name: "LOCAL_CORE_ALT_IP_ADDR" + description: null + type: null + required: false + source: "INSTAR" + rule-type: null + default: "fd00:f4d5:ea06:1:0:110:136:254" + request-keys: + - key-name: "address_fqdn" + key-value: "someValue" + - key-name: "address_type" + key-value: "v4" + response-keys: null +- name: "LOCAL_BILLING_IP_ADDR" + description: null + type: null + required: false + source: null + rule-type: null + default: "192.168.30.1" + request-keys: null + response-keys: null +- name: "REMOTE_ACCESS_IP_ADDR" + description: null + type: null + required: false + source: null + rule-type: null + default: "192.168.30.1" + request-keys: null + response-keys: null +- name: "REMOTE_CORE_ALT_IP_ADDR" + description: null + type: null + required: false + source: null + rule-type: null + default: "fd00:f4d5:ea06:1:0:110:136:254" + request-keys: null + response-keys: null +- name: "REMOTE_BILLING_IP_ADDR" + description: null + type: null + required: false + source: "INSTAR" + rule-type: null + default: "192.168.30.1" + request-keys: null + response-keys: null +- name: "CORE_NETWORK_PLEN" + description: null + type: null + required: false + source: null + rule-type: null + default: "32" + request-keys: null + response-keys: null diff --git a/appc-config/appc-config-params/provider/src/test/resources/parser/request-param.json b/appc-config/appc-config-params/provider/src/test/resources/parser/request-param.json new file mode 100644 index 000000000..f84141b1a --- /dev/null +++ b/appc-config/appc-config-params/provider/src/test/resources/parser/request-param.json @@ -0,0 +1,27 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP : APP-C + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * 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========================================================= + */ + + { + "LOCAL_BILLING_IP_ADDR": "192.168.30.1", + "REMOTE_CORE_ALT_IP_ADDR": "fd00:f4d5:ea06:1:0:110:136:254", + "REMOTE_BILLING_IP_ADDR": "192.168.30.1", + "CORE_NETWORK_PLEN": "32" +} + diff --git a/appc-config/appc-config-params/provider/src/test/resources/parser/system-param.json b/appc-config/appc-config-params/provider/src/test/resources/parser/system-param.json new file mode 100644 index 000000000..648abac30 --- /dev/null +++ b/appc-config/appc-config-params/provider/src/test/resources/parser/system-param.json @@ -0,0 +1,25 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP : APP-C + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * 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========================================================= + */ + + { + "LOCAL_ACCESS_IP_ADDR": "XX.XX.XX", + "LOCAL_BILLING_IP_ADDR": "XXXXXX", + "CORE_NETWORK_PLEN": "00" +} diff --git a/appc-config/appc-config-params/provider/src/test/resources/tosca/ExamplePropertyDefinition.yml b/appc-config/appc-config-params/provider/src/test/resources/tosca/ExamplePropertyDefinition.yml new file mode 100644 index 000000000..7c8b31d52 --- /dev/null +++ b/appc-config/appc-config-params/provider/src/test/resources/tosca/ExamplePropertyDefinition.yml @@ -0,0 +1,21 @@ +### +# ============LICENSE_START======================================================= +# ONAP : APPC +# ================================================================================ +# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. +# ================================================================================ +# 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 +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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. +# +# ECOMP is a trademark and service mark of AT&T Intellectual Property. +# ============LICENSE_END========================================================= +### diff --git a/appc-config/appc-config-params/provider/src/test/resources/tosca/ExamplePropertyDefinition2.yml b/appc-config/appc-config-params/provider/src/test/resources/tosca/ExamplePropertyDefinition2.yml new file mode 100644 index 000000000..7c8b31d52 --- /dev/null +++ b/appc-config/appc-config-params/provider/src/test/resources/tosca/ExamplePropertyDefinition2.yml @@ -0,0 +1,21 @@ +### +# ============LICENSE_START======================================================= +# ONAP : APPC +# ================================================================================ +# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. +# ================================================================================ +# 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 +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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. +# +# ECOMP is a trademark and service mark of AT&T Intellectual Property. +# ============LICENSE_END========================================================= +### diff --git a/appc-config/appc-config-params/provider/src/test/resources/tosca/ExamplePropertyDefinition3.yml b/appc-config/appc-config-params/provider/src/test/resources/tosca/ExamplePropertyDefinition3.yml new file mode 100644 index 000000000..7c8b31d52 --- /dev/null +++ b/appc-config/appc-config-params/provider/src/test/resources/tosca/ExamplePropertyDefinition3.yml @@ -0,0 +1,21 @@ +### +# ============LICENSE_START======================================================= +# ONAP : APPC +# ================================================================================ +# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. +# ================================================================================ +# 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 +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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. +# +# ECOMP is a trademark and service mark of AT&T Intellectual Property. +# ============LICENSE_END========================================================= +### diff --git a/appc-config/appc-config-params/provider/src/test/resources/tosca/ExamplePropertyDefinition4.yml b/appc-config/appc-config-params/provider/src/test/resources/tosca/ExamplePropertyDefinition4.yml new file mode 100644 index 000000000..7c8b31d52 --- /dev/null +++ b/appc-config/appc-config-params/provider/src/test/resources/tosca/ExamplePropertyDefinition4.yml @@ -0,0 +1,21 @@ +### +# ============LICENSE_START======================================================= +# ONAP : APPC +# ================================================================================ +# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. +# ================================================================================ +# 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 +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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. +# +# ECOMP is a trademark and service mark of AT&T Intellectual Property. +# ============LICENSE_END========================================================= +### diff --git a/appc-config/appc-config-params/provider/src/test/resources/tosca/ExpectedTosca.yml b/appc-config/appc-config-params/provider/src/test/resources/tosca/ExpectedTosca.yml new file mode 100644 index 000000000..d379c4730 --- /dev/null +++ b/appc-config/appc-config-params/provider/src/test/resources/tosca/ExpectedTosca.yml @@ -0,0 +1,75 @@ +### +# ============LICENSE_START======================================================= +# ONAP : APPC +# ================================================================================ +# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. +# ================================================================================ +# 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 +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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. +# +# ECOMP is a trademark and service mark of AT&T Intellectual Property. +# ============LICENSE_END========================================================= +### + +node_types: + Property Definition: + derived_from: org.openecomp.genericvnf + version: V1 + description: '' + properties: + LOCAL_BILLING_IP_ADDR: + type: string + required: false + default: 192.168.30.1 + status: SUPPORTED + LOCAL_ACCESS_IP_ADDR: + type: string + required: false + default: 192.168.30.1 + status: SUPPORTED + LOCAL_CORE_ALT_IP_ADDR: + type: string + required: false + default: fd00:f4d5:ea06:1:0:110:136:254 + status: SUPPORTED + CORE_NETWORK_PLEN: + type: string + required: false + default: '32' + status: SUPPORTED + REMOTE_CORE_ALT_IP_ADDR: + type: string + required: false + default: fd00:f4d5:ea06:1:0:110:136:254 + status: SUPPORTED + REMOTE_ACCESS_IP_ADDR: + type: string + required: false + default: 192.168.30.1 + status: SUPPORTED + REMOTE_BILLING_IP_ADDR: + type: string + required: false + default: 192.168.30.1 + status: SUPPORTED +topology_template: + node_templates: + Property Definition_Template: + type: Property Definition + properties: + LOCAL_BILLING_IP_ADDR: + LOCAL_ACCESS_IP_ADDR: + LOCAL_CORE_ALT_IP_ADDR: + CORE_NETWORK_PLEN: + REMOTE_CORE_ALT_IP_ADDR: + REMOTE_ACCESS_IP_ADDR: + REMOTE_BILLING_IP_ADDR: diff --git a/appc-config/appc-config-params/provider/src/test/resources/tosca/ReadArtifactNegetiveInputTosca.yml b/appc-config/appc-config-params/provider/src/test/resources/tosca/ReadArtifactNegetiveInputTosca.yml new file mode 100644 index 000000000..092575329 --- /dev/null +++ b/appc-config/appc-config-params/provider/src/test/resources/tosca/ReadArtifactNegetiveInputTosca.yml @@ -0,0 +1,47 @@ +### +# ============LICENSE_START======================================================= +# ONAP : APPC +# ================================================================================ +# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. +# ================================================================================ +# 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 +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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. +# +# ECOMP is a trademark and service mark of AT&T Intellectual Property. +# ============LICENSE_END========================================================= +### + +node_types: + Property Definition: + derived_from: org.openecomp.genericvnf + version: V1 + description: '' + properties: + abc: + type: param1_type + description: param_desc + required: false + default: 192.168.30.1 + status: SUPPORTED + param 2: + type: param2 type + description: param2 + required: false + default: fd00:f4d5:ea06:1:0:110:136:254 + status: SUPPORTED +topology_template: + node_templates: + Property Definition_Template: + type: Property Definition + properties: + abc: <> source1 + param 2: <> source2 <> diff --git a/appc-config/appc-config-params/provider/src/test/resources/tosca/ReadArtifactPositiveInputTosca.yml b/appc-config/appc-config-params/provider/src/test/resources/tosca/ReadArtifactPositiveInputTosca.yml new file mode 100644 index 000000000..6c1214206 --- /dev/null +++ b/appc-config/appc-config-params/provider/src/test/resources/tosca/ReadArtifactPositiveInputTosca.yml @@ -0,0 +1,47 @@ +### +# ============LICENSE_START======================================================= +# ONAP : APPC +# ================================================================================ +# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. +# ================================================================================ +# 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 +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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. +# +# ECOMP is a trademark and service mark of AT&T Intellectual Property. +# ============LICENSE_END========================================================= +### + +node_types: + Property Definition: + derived_from: org.openecomp.genericvnf + version: V1 + description: '' + properties: + abc: + type: param1_type + description: param_desc + required: false + default: 0.0.0.0 + status: SUPPORTED + param 2: + type: param2 type + description: param2 + required: abc + default: 0:0:0:0:0:0:0:0 + status: SUPPORTED +topology_template: + node_templates: + Property Definition_Template: + type: Property Definition + properties: + abc: + param 2: -- cgit 1.2.3-korg