From 161df8a94bb3b0c34ed16fd4fdba078bd1eeef9a Mon Sep 17 00:00:00 2001 From: Patrick Brady Date: Wed, 13 Dec 2017 11:14:21 -0800 Subject: Second part of onap rename This is the second commit of the rename. The folder structure is renamed for appc-adapters and appc-config in this commit. Change-Id: Iaa2b8c937ff1ca1b5d1178128961fb115ee65d9b Signed-off-by: Patrick Brady Issue-ID: APPC-13 --- .../transformer/tosca/TestArtifactProcessor.java | 105 +++++++++ .../tosca/TestGenerateArtifactObject.java | 254 +++++++++++++++++++++ .../tosca/TestGenerateArtifactString.java | 155 +++++++++++++ .../transformer/tosca/TestPropertyQueryString.java | 171 ++++++++++++++ .../params/transformer/tosca/TestReadArtifact.java | 103 +++++++++ 5 files changed, 788 insertions(+) create mode 100644 appc-config/appc-config-params/provider/src/test/java/org/onap/sdnc/config/params/transformer/tosca/TestArtifactProcessor.java create mode 100644 appc-config/appc-config-params/provider/src/test/java/org/onap/sdnc/config/params/transformer/tosca/TestGenerateArtifactObject.java create mode 100644 appc-config/appc-config-params/provider/src/test/java/org/onap/sdnc/config/params/transformer/tosca/TestGenerateArtifactString.java create mode 100644 appc-config/appc-config-params/provider/src/test/java/org/onap/sdnc/config/params/transformer/tosca/TestPropertyQueryString.java create mode 100644 appc-config/appc-config-params/provider/src/test/java/org/onap/sdnc/config/params/transformer/tosca/TestReadArtifact.java (limited to 'appc-config/appc-config-params/provider/src/test/java/org/onap/sdnc/config/params/transformer') diff --git a/appc-config/appc-config-params/provider/src/test/java/org/onap/sdnc/config/params/transformer/tosca/TestArtifactProcessor.java b/appc-config/appc-config-params/provider/src/test/java/org/onap/sdnc/config/params/transformer/tosca/TestArtifactProcessor.java new file mode 100644 index 000000000..33845ddca --- /dev/null +++ b/appc-config/appc-config-params/provider/src/test/java/org/onap/sdnc/config/params/transformer/tosca/TestArtifactProcessor.java @@ -0,0 +1,105 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP : APPC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Copyright (C) 2017 Amdocs + * ============================================================================= + * 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(); + } + + 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/onap/sdnc/config/params/transformer/tosca/TestGenerateArtifactObject.java b/appc-config/appc-config-params/provider/src/test/java/org/onap/sdnc/config/params/transformer/tosca/TestGenerateArtifactObject.java new file mode 100644 index 000000000..950180262 --- /dev/null +++ b/appc-config/appc-config-params/provider/src/test/java/org/onap/sdnc/config/params/transformer/tosca/TestGenerateArtifactObject.java @@ -0,0 +1,254 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP : APPC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Copyright (C) 2017 Amdocs + * ============================================================================= + * 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; + +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: 0.0.0.0\n" + + " status: SUPPORTED\n" + + " LOCAL_CORE_ALT_IP_ADDR:\n" + + " type: String\n" + + " required: false\n" + + " default: value\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"); + 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.setRequired(false); + singleParameter1.setSource("source"); + singleParameter1.setDefaultValue("0.0.0.0"); + 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.setRequired(false); + singleParameter2.setSource("source"); + singleParameter2.setDefaultValue("value"); + 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.setRequired(false); + singleParameter1.setSource("source"); + singleParameter1.setDefaultValue("0.0.0.0"); + singleParameter1.setRequestKeys(createRequestKeys()); + singleParameter1.setResponseKeys(createResponseKeys()); + return singleParameter1; + } + + @Test(expected =Exception.class) + 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/onap/sdnc/config/params/transformer/tosca/TestGenerateArtifactString.java b/appc-config/appc-config-params/provider/src/test/java/org/onap/sdnc/config/params/transformer/tosca/TestGenerateArtifactString.java new file mode 100644 index 000000000..4ffbe5298 --- /dev/null +++ b/appc-config/appc-config-params/provider/src/test/java/org/onap/sdnc/config/params/transformer/tosca/TestGenerateArtifactString.java @@ -0,0 +1,155 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP : APPC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Copyright (C) 2017 Amdocs + * ============================================================================= + * 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; + +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/onap/sdnc/config/params/transformer/tosca/TestPropertyQueryString.java b/appc-config/appc-config-params/provider/src/test/java/org/onap/sdnc/config/params/transformer/tosca/TestPropertyQueryString.java new file mode 100644 index 000000000..3eb231ae9 --- /dev/null +++ b/appc-config/appc-config-params/provider/src/test/java/org/onap/sdnc/config/params/transformer/tosca/TestPropertyQueryString.java @@ -0,0 +1,171 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP : APPC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Copyright (C) 2017 Amdocs + * ============================================================================= + * 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("source")); + } + + //@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/onap/sdnc/config/params/transformer/tosca/TestReadArtifact.java b/appc-config/appc-config-params/provider/src/test/java/org/onap/sdnc/config/params/transformer/tosca/TestReadArtifact.java new file mode 100644 index 000000000..1b65a21f6 --- /dev/null +++ b/appc-config/appc-config-params/provider/src/test/java/org/onap/sdnc/config/params/transformer/tosca/TestReadArtifact.java @@ -0,0 +1,103 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP : APPC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Copyright (C) 2017 Amdocs + * ============================================================================= + * 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.PropertyDefinition; +import org.openecomp.sdnc.config.params.transformer.tosca.exceptions.ArtifactProcessorException; + +import java.io.*; + +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(),"source"); + 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(),"0"); + Assert.assertEquals(ouptPD.getParameters().get(1).getRequestKeys().get(0).getKeyName(),"address_fqdn"); + Assert.assertEquals(ouptPD.getParameters().get(1).getRequestKeys().get(0).getKeyValue(),"0"); + Assert.assertEquals(ouptPD.getParameters().get(0).getResponseKeys().get(0).getUniqueKeyName(),"address-0"); + Assert.assertEquals(ouptPD.getParameters().get(0).getResponseKeys().get(0).getFieldKeyName(),"0"); + + Assert.assertEquals(ouptPD.getParameters().get(1).getDefaultValue(),"value"); + Assert.assertEquals(ouptPD.getParameters().get(1).getName(),"param 2"); + Assert.assertEquals(ouptPD.getParameters().get(1).getSource(),"source"); + 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(),"0"); + 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-0"); + Assert.assertEquals(ouptPD.getParameters().get(1).getResponseKeys().get(0).getUniqueKeyValue(),"0"); + Assert.assertEquals(ouptPD.getParameters().get(1).getResponseKeys().get(0).getFieldKeyName(),"0"); + + } + + @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; + } + +} -- cgit 1.2.3-korg