diff options
author | andre.schmid <andre.schmid@est.tech> | 2019-09-03 13:45:28 +0000 |
---|---|---|
committer | Avi Gaffa <avi.gaffa@amdocs.com> | 2019-09-03 15:39:43 +0000 |
commit | 7de4f3e788ff2b71936ae43be7dfbdf48740f9be (patch) | |
tree | a7419656377e146ec1095d6eaf82dbbffd717b41 /openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test | |
parent | ccc1f364baea63733e93c6f4eb26ea97eeb77960 (diff) |
Implement PNFD Model driven conversion
Change-Id: I7427e82353cac17817457294d78953f867d2d6e8
Issue-ID: SDC-2509
Signed-off-by: andre.schmid <andre.schmid@est.tech>
Diffstat (limited to 'openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test')
66 files changed, 1622 insertions, 173 deletions
diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/converter/impl/pnfd/PnfTransformationEngineParameterizedTest.java b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/converter/impl/pnfd/PnfTransformationEngineParameterizedTest.java new file mode 100644 index 0000000000..e2cbc147ac --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/converter/impl/pnfd/PnfTransformationEngineParameterizedTest.java @@ -0,0 +1,152 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2019 Nordix Foundation + * ================================================================================ + * 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. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.openecomp.core.converter.impl.pnfd; + +import static org.junit.Assert.assertEquals; + +import java.io.IOException; +import java.io.InputStream; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; +import java.util.stream.Stream; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import org.onap.sdc.tosca.datatypes.model.ServiceTemplate; +import org.onap.sdc.tosca.services.ToscaExtensionYamlUtil; +import org.onap.sdc.tosca.services.YamlUtil; +import org.openecomp.core.converter.ServiceTemplateReaderService; +import org.openecomp.core.impl.services.ServiceTemplateReaderServiceImpl; + +@RunWith(Parameterized.class) +public class PnfTransformationEngineParameterizedTest { + + private static final String TEST_CASES_PATH = "transformation/pnfParseEngine"; + private static final String TRANSFORMATION_DESCRIPTOR_FOLDER = "transformationDescriptor"; + private static final String OUTPUT_FOLDER = "expectedOutput"; + private static final String DEFAULT_OUTPUT_FILE_NAME = "defaultOutput.yaml"; + + private final String inputFileName; + private final Path inputFilePath; + private final String outputFileName; + private final Path outputFilePath; + private final String transformationDescriptorFileName; + private final Path transformationDescriptorFilePath; + private final YamlUtil yamlUtil = new YamlUtil(); + private final ToscaExtensionYamlUtil toscaExtensionYamlUtil = new ToscaExtensionYamlUtil(); + + public PnfTransformationEngineParameterizedTest(final String inputFileName, final Path inputFilePath, + final String outputFileName, final Path outputFilePath, + final String transformationDescriptorFileName, final Path transformationDescriptorFilePath) { + this.inputFileName = inputFileName; + this.inputFilePath = inputFilePath; + this.outputFileName = outputFileName; + this.outputFilePath = outputFilePath; + this.transformationDescriptorFileName = transformationDescriptorFileName; + this.transformationDescriptorFilePath = transformationDescriptorFilePath; + } + + + @Parameterized.Parameters(name = "{index}: input: {0}, descriptor: {4}, output: {2}") + public static Collection input() throws IOException { + return Files.list(getPathFromClasspath(TEST_CASES_PATH)).map(path -> { + try { + return buildTestCase(path); + } catch (final IOException e) { + return null; + } + }).filter(Objects::nonNull).flatMap(Collection::stream).collect(Collectors.toList()); + } + + private static Collection buildTestCase(final Path testCasePath) throws IOException { + final Path inputFilePath = Files.list(testCasePath) + .filter(path -> path.toFile().getName().endsWith("yaml")) + .findAny().orElse(null); + + if (inputFilePath == null) { + return Collections.emptyList(); + } + ; + final List<Path> transformationDescriptorList; + try (final Stream<Path> files = Files.walk(testCasePath.resolve(TRANSFORMATION_DESCRIPTOR_FOLDER))) { + transformationDescriptorList = files.filter(path -> Files.isRegularFile(path)) + .map(path -> Paths.get(TEST_CASES_PATH, testCasePath.getFileName().toString() + , TRANSFORMATION_DESCRIPTOR_FOLDER, path.getFileName().toString())) + .collect(Collectors.toList()); + } + + final List<Path> outputList; + try (final Stream<Path> files = Files.walk(testCasePath.resolve(OUTPUT_FOLDER))) { + outputList = files.filter(path -> Files.isRegularFile(path)).collect(Collectors.toList()); + } + final Path defaultOutput = outputList.stream() + .filter(path -> path.toFile().getName().equals(DEFAULT_OUTPUT_FILE_NAME)) + .findFirst().orElse(null); + + final List<Object[]> testCaseList = new ArrayList<>(); + + for (final Path transformationDescriptorPath : transformationDescriptorList) { + final Path outputPath = outputList.stream() + .filter(path -> path.toFile().getName().equals(transformationDescriptorPath.toFile().getName())) + .findFirst().orElse(defaultOutput); + if (outputPath != null) { + testCaseList.add(new Object[] {inputFilePath.toFile().getName(), inputFilePath, + outputPath.toFile().getName(), outputPath, + transformationDescriptorPath.toFile().getName(), transformationDescriptorPath}); + } + } + + return testCaseList; + + } + + @Test + public void testTopologyTemplateConversions() throws IOException { + final byte[] descriptor = Files.readAllBytes(inputFilePath); + final ServiceTemplateReaderService serviceTemplateReaderService = new ServiceTemplateReaderServiceImpl(descriptor); + final ServiceTemplate serviceTemplate = new ServiceTemplate(); + + final PnfdTransformationEngine pnfdTransformationEngine = new PnfdTransformationEngine(serviceTemplateReaderService, serviceTemplate + , transformationDescriptorFilePath.toString()); + pnfdTransformationEngine.transform(); + + final String result = yamlUtil.objectToYaml(serviceTemplate); + final String expectedResult = parseToYaml(outputFilePath); + assertEquals(expectedResult, result); + } + + private String parseToYaml(final Path filePath) throws IOException { + try (final InputStream inputStream = Files.newInputStream(filePath)) { + ServiceTemplate serviceTemplate = toscaExtensionYamlUtil.yamlToObject(inputStream, ServiceTemplate.class); + return yamlUtil.objectToYaml(serviceTemplate); + } + } + + private static Path getPathFromClasspath(final String location) { + return Paths.get(Thread.currentThread().getContextClassLoader().getResource(location).getPath()); + } +}
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/impl/ToscaSolConverterPnfTest.java b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/converter/impl/pnfd/PnfTransformationEngineTest.java index 4d59d6bfe9..280d14888d 100644 --- a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/impl/ToscaSolConverterPnfTest.java +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/converter/impl/pnfd/PnfTransformationEngineTest.java @@ -1,30 +1,25 @@ /* - * - - * * ============LICENSE_START======================================================= - * * Copyright (C) 2019 Nordix Foundation. - * * ================================================================================ - * * 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. - * * - * * SPDX-License-Identifier: Apache-2.0 - * * ============LICENSE_END========================================================= + * ============LICENSE_START======================================================= + * Copyright (C) 2019 Nordix Foundation + * ================================================================================ + * 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. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= */ -package org.openecomp.core.impl; +package org.openecomp.core.converter.impl.pnfd; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; -import static org.junit.Assert.fail; +import static org.junit.Assert.assertEquals; import java.io.IOException; import java.io.InputStream; @@ -45,57 +40,53 @@ import org.openecomp.core.converter.ServiceTemplateReaderService; import org.openecomp.core.impl.services.ServiceTemplateReaderServiceImpl; @RunWith(Parameterized.class) -public class ToscaSolConverterPnfTest { +public class PnfTransformationEngineTest { - private static final String INPUT_DIR = "pnfDescriptor/in/"; - private static final String OUTPUT_DIR = "pnfDescriptor/out/"; + public static final String INPUT_DIR = "pnfDescriptor/in/"; + public static final String OUTPUT_DIR = "pnfDescriptor/out/"; private String inputFilename; - private YamlUtil yamlUtil = new YamlUtil(); - private ToscaExtensionYamlUtil toscaExtensionYamlUtil = new ToscaExtensionYamlUtil(); + private final YamlUtil yamlUtil = new YamlUtil(); + private final ToscaExtensionYamlUtil toscaExtensionYamlUtil = new ToscaExtensionYamlUtil(); - public ToscaSolConverterPnfTest(String inputFilename) { + public PnfTransformationEngineTest(final String inputFilename) { this.inputFilename = inputFilename; } @Parameterized.Parameters(name = "{index}: {0}") public static Collection<String> input() throws IOException { - try (Stream<Path> files = Files.list(getPathFromClasspath(INPUT_DIR))) { + try (final Stream<Path> files = Files.list(getPathFromClasspath(INPUT_DIR))) { return files.map(path -> path.getFileName().toString()) .collect(Collectors.toList()); } } @Test - public void testTopologyTemplateConversions() { + public void testTopologyTemplateConversions() throws IOException { final byte[] descriptor = getInputFileResource(inputFilename); - final ServiceTemplateReaderService serviceTemplateReaderService = - new ServiceTemplateReaderServiceImpl(descriptor); + final ServiceTemplateReaderService serviceTemplateReaderService = new ServiceTemplateReaderServiceImpl(descriptor); final ServiceTemplate serviceTemplate = new ServiceTemplate(); - final ToscaSolConverterPnf toscaSolConverter = new ToscaSolConverterPnf(); - toscaSolConverter.convertTopologyTemplate(serviceTemplate, serviceTemplateReaderService); - final String actualYaml = yamlUtil.objectToYaml(serviceTemplate); - final String expectedYaml = getExpectedResultFor(inputFilename); - assertThat("Converted PNF descriptor should be the same as the expected topology template", actualYaml, - equalTo(expectedYaml)); + final PnfdTransformationEngine pnfdTransformationEngine = new PnfdTransformationEngine( + serviceTemplateReaderService, serviceTemplate); + pnfdTransformationEngine.transform(); + + final String result = yamlUtil.objectToYaml(serviceTemplate); + final String expectedResult = getExpectedResultFor(inputFilename); + assertEquals(expectedResult, result); } - private String getExpectedResultFor(final String inputFilename) { + private String getExpectedResultFor(final String inputFilename) throws IOException { try (final InputStream inputStream = getOutputFileResourceCorrespondingTo(inputFilename)) { final ServiceTemplate serviceTemplate = toscaExtensionYamlUtil.yamlToObject(inputStream, ServiceTemplate.class); return yamlUtil.objectToYaml(serviceTemplate); - } catch (final IOException e) { - fail(String.format("Could not find file '%s'", inputFilename)); } - - return null; } private static Path getPathFromClasspath(final String location) { return Paths.get(Thread.currentThread().getContextClassLoader().getResource(location).getPath()); } - private byte[] getInputFileResource(final String inputFilename) { + private byte[] getInputFileResource(final String inputFilename) throws IOException { return getFileResource(INPUT_DIR + inputFilename); } @@ -108,14 +99,10 @@ public class ToscaSolConverterPnfTest { return inputFilename.replace("pnfDescriptor", "topologyTemplate"); } - private byte[] getFileResource(final String filePath) { - try (InputStream inputStream = getFileResourceAsInputStream(filePath)) { + private byte[] getFileResource(final String filePath) throws IOException { + try (final InputStream inputStream = getFileResourceAsInputStream(filePath)) { return IOUtils.toByteArray(inputStream); - } catch (final IOException e) { - fail(String.format("Could not find file '%s'", filePath)); } - - return null; } private InputStream getFileResourceAsInputStream(final String filePath) { diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/converter/impl/pnfd/PnfdQueryExecutorTest.java b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/converter/impl/pnfd/PnfdQueryExecutorTest.java new file mode 100644 index 0000000000..17f60ee43c --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/converter/impl/pnfd/PnfdQueryExecutorTest.java @@ -0,0 +1,229 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2019 Nordix Foundation + * ================================================================================ + * 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. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.openecomp.core.converter.impl.pnfd; + +import static org.hamcrest.Matchers.is; +import static org.junit.Assert.assertThat; + +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; +import org.openecomp.core.converter.pnfd.exception.QueryOperationNotSupportedException; +import org.openecomp.core.converter.pnfd.model.ConversionQuery; + +public class PnfdQueryExecutorTest { + @Rule + public ExpectedException expectedExceptionRule = ExpectedException.none(); + + private Map<String, Object> yamlToQuery; + + @Before + public void setup() { + yamlToQuery = new HashMap<>(); + final LinkedHashMap<String, Object> nodeTemplateMap = new LinkedHashMap<>(); + yamlToQuery.put("topology_template", nodeTemplateMap); + final Map nodeTemplate1 = ImmutableMap.of("nodeTemplate1" + , ImmutableMap.of( + "type", "tosca.nodes.nfv.PNF", + "properties", ImmutableMap.of( + "layers_protocol", "", + "provider", "Mycompany", + "version", "1.0" + ) + ) + ); + + final Map nodeTemplate2 = ImmutableMap.of("nodeTemplate2" + , ImmutableMap.of( + "type", "tosca.nodes.nfv.PnfExtCp", + "properties", ImmutableMap.of( + "trunk_mode", "false", + "role", "leaf", + "description", "External connection point to access this pnf", + "layers_protocol", ImmutableList.of("ipv4", "ipv6", "otherProtocol") + ) + ) + ); + + nodeTemplateMap.putAll(nodeTemplate1); + nodeTemplateMap.putAll(nodeTemplate2); + } + + + @Test + public void queryNestedYaml() { + //given + final ImmutableMap<String, Object> query = + ImmutableMap.of("topology_template", + ImmutableMap.of("nodeTemplate2", + ImmutableMap.of("type", "tosca.nodes.nfv.PnfExtCp") + ) + ); + //when + final boolean queryResult = PnfdQueryExecutor.find(new ConversionQuery(query), yamlToQuery); + //then + assertThat("Element should be found", queryResult, is(true)); + } + + @Test + public void andQueryWithPropertiesInSameLevel() { + //given + final ImmutableMap<String, Object> query = + ImmutableMap.of( + "topology_template", + ImmutableMap.of( + "nodeTemplate2", + ImmutableMap.of( + "type", "tosca.nodes.nfv.PnfExtCp", + "properties", ImmutableMap.of( + "role", "leaf", + "description", "External connection point to access this pnf" + ) + ) + ) + ); + //when + final boolean queryResult = PnfdQueryExecutor.find(new ConversionQuery(query), yamlToQuery); + //then + assertThat("Element should be found", queryResult, is(true)); + } + + @Test + public void andQueryWithPropertiesDifferentLevel() { + //given + final ImmutableMap<String, Object> query = + ImmutableMap.of( + "topology_template", + ImmutableMap.of( + "nodeTemplate2", + ImmutableMap.of( + "type", "tosca.nodes.nfv.PnfExtCp" + ), + "nodeTemplate1", + ImmutableMap.of( + "type", "tosca.nodes.nfv.PNF" + ) + ) + ); + //when + final boolean queryResult = PnfdQueryExecutor.find(new ConversionQuery(query), yamlToQuery); + //then + assertThat("Element should be found", queryResult, is(true)); + } + + @Test + public void queryListPropertyNotSupported() { + //then + expectedExceptionRule.expect(QueryOperationNotSupportedException.class); + expectedExceptionRule.expectMessage("Yaml list query is not supported yet"); + //given query with a list instance + final ImmutableMap<String, Object> query = + ImmutableMap.of( + "topology_template", + ImmutableMap.of( + "nodeTemplate2", + ImmutableMap.of( + "type", "tosca.nodes.nfv.PnfExtCp", + "properties", ImmutableMap.of( + "layers_protocol", ImmutableList.of("ipv4", "ipv6", "otherProtocol") + ) + ) + ) + ); + //when + final boolean queryResult = PnfdQueryExecutor.find(new ConversionQuery(query), yamlToQuery); + } + + @Test + public void queryStartingListPropertyNotSupported() { + //then + expectedExceptionRule.expect(QueryOperationNotSupportedException.class); + expectedExceptionRule.expectMessage("Yaml list query is not supported yet"); + //given query with a list instance + final Object query = ImmutableSet.of("test", "test", "test"); + //when + PnfdQueryExecutor.find(new ConversionQuery(query), yamlToQuery); + } + + @Test + public void queryWithUnsupportedClassInstance() { + //given a query with unsupported class instance + final Object query = ImmutableMap.of("topology_template", new Object()); + //then + expectedExceptionRule.expect(QueryOperationNotSupportedException.class); + expectedExceptionRule.expectMessage(String.format("Yaml query operation for '%s' is not supported yet", Object.class)); + //when + PnfdQueryExecutor.find(new ConversionQuery(query), yamlToQuery); + } + + @Test + public void queryAString() { + //given a query with string + final Object yaml = "query"; + final Object query = "query"; + //when + final boolean queryResult = PnfdQueryExecutor.find(new ConversionQuery(query), yaml); + + //then + assertThat("Element should be found", queryResult, is(true)); + + } + + @Test + public void queryWithNullPropertyValue() { + //given a query with string + final Map<String, Object> query1 = new HashMap<>(); + query1.put("topology_template", null); + + final Map<String, Object> topologyTemplate = new HashMap<>(); + topologyTemplate.put("nodeTemplate1", null); + final Object query2 = ImmutableMap.of("topology_template", topologyTemplate); + + final Map<String, Object> query3 = new HashMap<>(); + query3.put("topology_template1", null); + //when + final boolean queryResult1 = PnfdQueryExecutor.find(new ConversionQuery(query1), yamlToQuery); + final boolean queryResult2 = PnfdQueryExecutor.find(new ConversionQuery(query2), yamlToQuery); + final boolean queryResult3 = PnfdQueryExecutor.find(new ConversionQuery(query3), yamlToQuery); + //then + assertThat("Element should be found", queryResult1, is(true)); + assertThat("Element should be found", queryResult2, is(true)); + assertThat("Element should be found", queryResult3, is(false)); + } + + @Test + public void nullQuery() { + //given a null query + final Object query = null; + //when + final boolean queryResult = PnfdQueryExecutor.find(new ConversionQuery(query), yamlToQuery); + //then + assertThat("Element should be found", queryResult, is(true)); + + } + +}
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/converter/impl/pnfd/parser/ConversionDefinitionYamlParserTest.java b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/converter/impl/pnfd/parser/ConversionDefinitionYamlParserTest.java new file mode 100644 index 0000000000..967081ba0f --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/converter/impl/pnfd/parser/ConversionDefinitionYamlParserTest.java @@ -0,0 +1,69 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2019 Nordix Foundation + * ================================================================================ + * 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. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.openecomp.core.converter.impl.pnfd.parser; + +import static org.hamcrest.Matchers.equalTo; +import static org.hamcrest.Matchers.notNullValue; +import static org.junit.Assert.assertThat; +import static org.junit.Assert.fail; +import static org.openecomp.core.converter.pnfd.model.PnfTransformationToken.QUERY; +import static org.openecomp.core.converter.pnfd.model.PnfTransformationToken.TO_NAME; + +import java.io.IOException; +import java.io.InputStream; +import java.util.Map; +import org.junit.Test; +import org.openecomp.core.converter.pnfd.model.ConversionDefinition; +import org.openecomp.core.converter.pnfd.model.ConversionStrategyType; +import org.openecomp.core.util.TestResourcesUtil; +import org.openecomp.core.util.YamlTestUtil; + +public class ConversionDefinitionYamlParserTest { + + @Test + public void shouldBuildDefinition() { + final Map<String, Object> definitionYaml; + final String definitionYamlFilePath = "transformation/conversionDefinition/conversionDefinitionWithReplaceStrategy.yaml"; + try (final InputStream resourceInputStream = TestResourcesUtil.getFileResourceAsStream(definitionYamlFilePath)) { + definitionYaml = (Map<String, Object>) YamlTestUtil.read(resourceInputStream); + } catch (final IOException e) { + fail(String.format("Could not load %s", definitionYamlFilePath)); + return; + } + final ConversionDefinition conversionDefinition = ConversionDefinitionYamlParser.parse(definitionYaml); + assertConversionDefinition(definitionYaml, conversionDefinition); + } + + private void assertConversionDefinition(final Map<String, Object> definitionYaml, + final ConversionDefinition conversionDefinition) { + assertThat("The conversion definition should have been built" + , conversionDefinition, notNullValue()); + assertThat("Should have initialized the conversion definition query" + , conversionDefinition.getConversionQuery(), notNullValue()); + assertThat("The conversion definition should have been built" + , conversionDefinition.getConversionQuery().getQuery(), equalTo(definitionYaml.get(QUERY.getName()))); + assertThat("Should have initialized the conversion definition to attribute name" + , conversionDefinition.getToAttributeName(), equalTo(definitionYaml.get(TO_NAME.getName()))); + assertThat("Should have initialized the conversion definition strategy" + , conversionDefinition.getPnfdConversionStrategy(), notNullValue()); + assertThat("Should have the expected strategy" + , conversionDefinition.getPnfdConversionStrategy().getStrategyType(), equalTo(ConversionStrategyType.REPLACE)); + } +}
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/converter/impl/pnfd/parser/NodeTemplateYamlParserTest.java b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/converter/impl/pnfd/parser/NodeTemplateYamlParserTest.java new file mode 100644 index 0000000000..5bb7ca360e --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/converter/impl/pnfd/parser/NodeTemplateYamlParserTest.java @@ -0,0 +1,46 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2019 Nordix Foundation + * ================================================================================ + * 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. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.openecomp.core.converter.impl.pnfd.parser; + +import static org.hamcrest.Matchers.aMapWithSize; +import static org.hamcrest.Matchers.equalTo; +import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.not; +import static org.hamcrest.Matchers.notNullValue; +import static org.junit.Assert.assertThat; + +import java.util.Map; +import org.junit.Test; +import org.onap.sdc.tosca.datatypes.model.NodeTemplate; +import org.openecomp.core.converter.impl.pnfd.parser.NodeTemplateYamlParser; +import org.openecomp.core.util.YamlTestUtil; + +public class NodeTemplateYamlParserTest { + + @Test + public void shouldParseNodeTemplate() { + final Map<String, Object> nodeTemplateYaml = (Map<String, Object>) YamlTestUtil.readOrFail("transformation/nodeTemplate/nodeTemplate.yaml"); + final NodeTemplate nodeTemplate = NodeTemplateYamlParser.parse(nodeTemplateYaml); + assertThat("Should have the same type", nodeTemplate.getType(), equalTo(nodeTemplateYaml.get("type"))); + assertThat("Should have a not null properties map", nodeTemplate.getProperties(), notNullValue()); + assertThat("Should have a not empty properties map", nodeTemplate.getProperties(), is(not(aMapWithSize(0)))); + assertThat("Should have the same properties", nodeTemplate.getProperties(), equalTo(nodeTemplateYaml.get("properties"))); + } +}
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/converter/impl/pnfd/parser/PnfdConversionStrategyYamlParserParametrizedTest.java b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/converter/impl/pnfd/parser/PnfdConversionStrategyYamlParserParametrizedTest.java new file mode 100644 index 0000000000..83b7620b42 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/converter/impl/pnfd/parser/PnfdConversionStrategyYamlParserParametrizedTest.java @@ -0,0 +1,68 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2019 Nordix Foundation + * ================================================================================ + * 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. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.openecomp.core.converter.impl.pnfd.parser; + +import static org.hamcrest.Matchers.instanceOf; +import static org.hamcrest.Matchers.is; +import static org.junit.Assert.assertThat; + +import java.util.Arrays; +import java.util.Collection; +import java.util.Map; +import java.util.Optional; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import org.junit.runners.Parameterized.Parameters; +import org.openecomp.core.converter.pnfd.strategy.PnfdConversionStrategy; +import org.openecomp.core.converter.impl.pnfd.strategy.ReplaceConversionStrategy; +import org.openecomp.core.util.YamlTestUtil; + +@RunWith(Parameterized.class) +public class PnfdConversionStrategyYamlParserParametrizedTest { + + private final String strategyYamlFilePath; + private final Class expectedStrategyClass; + + public PnfdConversionStrategyYamlParserParametrizedTest(final String strategyYamlFilePath, final Class expectedStrategyClass) { + this.strategyYamlFilePath = strategyYamlFilePath; + this.expectedStrategyClass = expectedStrategyClass; + } + + @Parameters(name = "Run {index} for {0}, expecting {1}") + public static Collection<Object[]> data() { + return Arrays.asList(new Object[][] { + {"transformation/strategy/replaceStrategy.yaml", ReplaceConversionStrategy.class} + }); + } + + @Test + public void shouldBuildTheExpectedStrategy() { + final Object replaceStrategyYaml = YamlTestUtil.readOrFail(strategyYamlFilePath); + final Optional<PnfdConversionStrategy> actualStrategy = PnfdConversionStrategyYamlParser + .parse((Map<String, Object>) replaceStrategyYaml); + + assertThat("The strategy should have been built" + , actualStrategy.isPresent(), is(true)); + assertThat("The built strategy should be " + expectedStrategyClass.getName() + , actualStrategy.get(), instanceOf(expectedStrategyClass)); + } + +}
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/converter/impl/pnfd/parser/PnfdConversionStrategyYamlParserTest.java b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/converter/impl/pnfd/parser/PnfdConversionStrategyYamlParserTest.java new file mode 100644 index 0000000000..1eab214980 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/converter/impl/pnfd/parser/PnfdConversionStrategyYamlParserTest.java @@ -0,0 +1,53 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2019 Nordix Foundation + * ================================================================================ + * 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. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.openecomp.core.converter.impl.pnfd.parser; + +import static org.hamcrest.Matchers.is; +import static org.junit.Assert.assertThat; +import static org.junit.Assert.fail; + +import java.io.IOException; +import java.io.InputStream; +import java.util.Map; +import java.util.Optional; +import org.junit.Test; +import org.openecomp.core.converter.pnfd.strategy.PnfdConversionStrategy; +import org.openecomp.core.util.TestResourcesUtil; +import org.openecomp.core.util.YamlTestUtil; + +public class PnfdConversionStrategyYamlParserTest { + + @Test + public void parseInvalidYamlObject() { + final Object replaceStrategyYaml; + final String strategyYamlFilePath = "transformation/strategy/strategyMissingStrategyAttribute.yaml"; + try (final InputStream resourceInputStream = TestResourcesUtil.getFileResourceAsStream(strategyYamlFilePath)) { + replaceStrategyYaml = YamlTestUtil.read(resourceInputStream); + } catch (final IOException e) { + fail(String.format("Could not load %s", strategyYamlFilePath)); + return; + } + final Optional<PnfdConversionStrategy> actualStrategy = PnfdConversionStrategyYamlParser + .parse((Map<String, Object>) replaceStrategyYaml); + assertThat("The strategy should not have been built" + , actualStrategy.isPresent(), is(false)); + } + +}
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/converter/impl/ToscaConverterImplTest.java b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/impl/ToscaConverterImplTest.java index c14b02b3a0..3e4e62a0d1 100644 --- a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/converter/impl/ToscaConverterImplTest.java +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/impl/ToscaConverterImplTest.java @@ -1,24 +1,23 @@ -/*- +/* * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2019 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========================================================= + * Copyright (C) 2019 Nordix Foundation + * ================================================================================ + * 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. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= */ -package org.openecomp.core.converter.impl; +package org.openecomp.core.impl; import org.apache.commons.collections.CollectionUtils; import org.junit.Assert; @@ -27,7 +26,6 @@ import org.onap.sdc.tosca.datatypes.model.*; import org.onap.sdc.tosca.services.ToscaExtensionYamlUtil; import org.onap.sdc.tosca.services.YamlUtil; import org.openecomp.core.converter.ToscaConverter; -import org.openecomp.core.impl.ToscaConverterImpl; import org.openecomp.core.utilities.file.FileContentHandler; import org.openecomp.core.utilities.file.FileUtils; import org.openecomp.core.utilities.json.JsonUtil; diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/converter/impl/ToscaConvertorDefinitionsTest.java b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/impl/ToscaConvertorDefinitionsTest.java index 68318c7b73..b978b7db99 100644 --- a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/converter/impl/ToscaConvertorDefinitionsTest.java +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/impl/ToscaConvertorDefinitionsTest.java @@ -1,31 +1,28 @@ -/*- +/* * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2019 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========================================================= + * Copyright (C) 2019 Nordix Foundation + * ================================================================================ + * 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. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= */ -package org.openecomp.core.converter.impl; +package org.openecomp.core.impl; import org.apache.commons.io.IOUtils; import org.junit.Ignore; import org.junit.Test; import org.onap.sdc.tosca.datatypes.model.ServiceTemplate; -import org.openecomp.core.impl.GlobalSubstitutionServiceTemplate; -import org.openecomp.core.impl.ToscaConverterImpl; import org.openecomp.core.utilities.file.FileContentHandler; import org.openecomp.core.utilities.orchestration.OnboardingTypesEnum; import org.openecomp.sdc.tosca.datatypes.ToscaServiceModel; diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/impl/ToscaSolConverterPnfMultipleNodeTemplatesTest.java b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/impl/ToscaSolConverterPnfMultipleNodeTemplatesTest.java deleted file mode 100644 index 21394c9c47..0000000000 --- a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/impl/ToscaSolConverterPnfMultipleNodeTemplatesTest.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * - - * * ============LICENSE_START======================================================= - * * Copyright (C) 2019 Nordix Foundation. - * * ================================================================================ - * * 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. - * * - * * SPDX-License-Identifier: Apache-2.0 - * * ============LICENSE_END========================================================= - * - */ - -package org.openecomp.core.impl; - -import org.apache.commons.io.IOUtils; -import org.junit.Test; -import org.onap.sdc.tosca.datatypes.model.NodeTemplate; -import org.onap.sdc.tosca.datatypes.model.ServiceTemplate; -import org.openecomp.core.converter.ServiceTemplateReaderService; -import org.openecomp.core.impl.services.ServiceTemplateReaderServiceImpl; - -import java.io.IOException; -import java.io.InputStream; -import java.util.Map; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; - -public class ToscaSolConverterPnfMultipleNodeTemplatesTest { - - private static final String PNF_EXT_CP_1 = "pnfExtCp_1"; - private static final String PNF_EXT_CP_2 = "pnfExtCp_2"; - - @Test - public void testGivenDescriptorWithPnfAndTwoPnfExts_WhenConvertTopologyTemplate_ThenTwoExtCpsInOutput() throws IOException { - // Added this as separate test as data-driven tests compare strings and as order of nodeTemplates - // can be different in hashMap and hence test may fail - final byte[] descriptor = getFileResource("pnfDescriptor/other/pnfDescriptor_PnfAnd2ExtCps.yaml"); - ServiceTemplateReaderService serviceTemplateReaderService = new ServiceTemplateReaderServiceImpl(descriptor); - ServiceTemplate serviceTemplate = new ServiceTemplate(); - ToscaSolConverterPnf toscaSolConverter = new ToscaSolConverterPnf(); - toscaSolConverter.convertTopologyTemplate(serviceTemplate, serviceTemplateReaderService); - Map<String, NodeTemplate> nodeTemplates = serviceTemplate.getTopology_template().getNode_templates(); - assertEquals(2, nodeTemplates.size()); - - nodeTemplates.entrySet().stream() - .map(Map.Entry::getKey) - .forEach((key -> assertTrue(getErrorString(), hasCorrectName(key)))); - } - - private byte[] getFileResource(String filePath) throws IOException { - try (InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(filePath)) { - return IOUtils.toByteArray(inputStream); - } - } - - private boolean hasCorrectName(String name) { - return PNF_EXT_CP_1.equals(name) || PNF_EXT_CP_2.equals(name); - } - - private String getErrorString() { - return "node template name should be either " + PNF_EXT_CP_1 + " or " + PNF_EXT_CP_2; - } -} diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/util/TestResourcesUtil.java b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/util/TestResourcesUtil.java index 34559f5386..7d89bb3eab 100644 --- a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/util/TestResourcesUtil.java +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/util/TestResourcesUtil.java @@ -23,6 +23,7 @@ import static org.junit.Assert.fail; import java.io.IOException; import java.io.InputStream; +import java.net.URL; import org.apache.commons.io.IOUtils; import org.openecomp.sdc.logging.api.Logger; import org.openecomp.sdc.logging.api.LoggerFactory; @@ -47,7 +48,7 @@ public class TestResourcesUtil { * @throws IOException * When the file was not found or the input stream could not be opened */ - public static byte[] getFileResource(final String resourcePath) throws IOException { + public static byte[] getFileResourceBytes(final String resourcePath) throws IOException { try(final InputStream inputStream = ClassLoader.class.getResourceAsStream(resourcePath)) { if (inputStream == null) { throw new IOException(String.format("Could not find the resource on path \"%s\"", resourcePath)); @@ -67,7 +68,7 @@ public class TestResourcesUtil { */ public static byte[] getResourceBytesOrFail(final String resourcePath) { try { - return getFileResource(resourcePath); + return getFileResourceBytes(resourcePath); } catch (final IOException e) { final String errorMsg = String.format("Could not load resource '%s'", resourcePath); LOGGER.error(errorMsg, e); @@ -77,4 +78,26 @@ public class TestResourcesUtil { return null; } + /** + * Gets the input stream of a resource file + * + * @param resourcePath The resource file path + * @return + * The resource input stream + */ + public static InputStream getFileResourceAsStream(final String resourcePath) { + return Thread.currentThread().getContextClassLoader().getResourceAsStream(resourcePath); + } + + /** + * Gets the input stream of a resource file + * + * @param resourcePath The resource file path + * @return + * The resource input stream + */ + public static URL getFileUrl(final String resourcePath) { + return Thread.currentThread().getContextClassLoader().getResource(resourcePath); + } + } diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/util/YamlTestUtil.java b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/util/YamlTestUtil.java new file mode 100644 index 0000000000..b095d13ed7 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/util/YamlTestUtil.java @@ -0,0 +1,67 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2019 Nordix Foundation + * ================================================================================ + * 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. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.openecomp.core.util; + +import static org.junit.Assert.fail; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import org.onap.sdc.tosca.services.YamlUtil; + +public class YamlTestUtil { + + private YamlTestUtil() { + } + + /** + * Reads the description file that has the required YAML format. + * + * @param yamlFile The yaml file + * @return The yaml parsed to Object + */ + public static Object read(final File yamlFile) throws IOException { + try (final InputStream fileInputStream = new FileInputStream(yamlFile)) { + return read(fileInputStream); + } + } + + public static Object read(final String yamlFilePath) throws IOException { + try (final InputStream resourceInputStream = TestResourcesUtil.getFileResourceAsStream(yamlFilePath)) { + return read(resourceInputStream); + } + } + + public static Object read(final InputStream yamlFileInputStream) { + return YamlUtil.read(yamlFileInputStream); + } + + public static Object readOrFail(final String yamlFilePath) { + try { + return read(yamlFilePath); + } catch (final IOException ignored) { + fail(String.format("Could not load '%s'", yamlFilePath)); + return null; + } + } + + +} diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/model-driven-conversion.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/model-driven-conversion.yaml new file mode 100644 index 0000000000..4d1500169e --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/model-driven-conversion.yaml @@ -0,0 +1,69 @@ +- transformation-for: nodeTemplate #or "region: nodeTemplate"; or "object: nodeTemplate" + name: PnfExtCp transformation + description: converts any node template that has a type tosca.nodes.nfv.PnfExtCp + query: #or "find:" + #currently we only support a single attribute and value search. Can be hierarchical like "properties: layer_protocols:". + #must have the same structure in the original node_template declaration, otherwise the attribute will not be found. + type: tosca.nodes.nfv.PnfExtCp + conversions: + - query: #attribute query + #must have the same structure in the original node_template declaration, otherwise the attribute will not be found. + #the value does not matter as we are going to convert it. + type: + to-name: type #new attribute name. We could have a default strategy to copy the original name (in the query) if this entry is not provided. + to-value: + strategy: replace + from: tosca.nodes.nfv.PnfExtCp #could be ignored + to: org.openecomp.resource.cp.v2.extCP + - query: + properties: + layer_protocols: + to-name: ip_requirements + to-value: + strategy: replaceInList + list: + - from: ipv4 + to: + assingment_method: dhcp + ip_version: 4 + - from: ipv6 + to: + assingment_method: dhcp + ip_version: 6 + to-get-input: ipRequirements +- transformation-for: getInputFunction + name: ipRequirements + description: converts IpRequirements inputs when called by a get_input TOSCA function + conversions: + - query: + type: + to-name: type + to-value: + strategy: copy + - query: + description: + to-name: description + to-value: + strategy: copy + - query: + entry_schema: + type: + to-name: type + to-value: + strategy: replace + from: string + to: org.openecomp.datatypes.network.IpRequirements + - query: + default: + to-name: default + to-value: + strategy: replaceInList + list: + - from: ipv4 + to: + assingment_method: dhcp + ip_version: 4 + - from: ipv6 + to: + assingment_method: dhcp + ip_version: 6
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/pnfDescriptor/in/pnfDescriptor_withLayerProtocolsAndDuplicatedGetInput.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/pnfDescriptor/in/pnfDescriptor_withLayerProtocolsAndDuplicatedGetInput.yaml index 8549da09b2..8867cd46f8 100644 --- a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/pnfDescriptor/in/pnfDescriptor_withLayerProtocolsAndDuplicatedGetInput.yaml +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/pnfDescriptor/in/pnfDescriptor_withLayerProtocolsAndDuplicatedGetInput.yaml @@ -42,4 +42,4 @@ topology_template: role: leaf description: External connection point to access Acme myPnf requirements: - - dependency: myPnf + - dependency: myPnf
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/conversionDefinition/conversionDefinitionWithReplaceStrategy.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/conversionDefinition/conversionDefinitionWithReplaceStrategy.yaml new file mode 100644 index 0000000000..cc365b7a71 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/conversionDefinition/conversionDefinitionWithReplaceStrategy.yaml @@ -0,0 +1,7 @@ +query: + type: +to-name: type +to-value: + strategy: replace + from: tosca.nodes.nfv.PnfExtCp + to: org.openecomp.resource.cp.v2.extCP
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/nodeTemplate/nodeTemplate.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/nodeTemplate/nodeTemplate.yaml new file mode 100644 index 0000000000..fd4bb5a7b8 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/nodeTemplate/nodeTemplate.yaml @@ -0,0 +1,7 @@ +type: org.openecomp.resource.cp.v2.extCP +properties: + ip_requirements: + - assingment_method: dhcp + ip_version: 4 + - assingment_method: dhcp + ip_version: 6
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/expectedOutput/convertTwoAttributesSameLevel.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/expectedOutput/convertTwoAttributesSameLevel.yaml new file mode 100644 index 0000000000..8ec436ed9f --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/expectedOutput/convertTwoAttributesSameLevel.yaml @@ -0,0 +1,11 @@ +topology_template: + node_templates: + pnfExtCp_1: + type: org.openecomp.resource.cp.v2.extCP + properties: + ip_requirements: + - assingment_method: dhcp + ip_version: 4 + - assingment_method: dhcp + ip_version: 6 + description_converted: External connection point to access this pnf
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/expectedOutput/copyListAttribute.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/expectedOutput/copyListAttribute.yaml new file mode 100644 index 0000000000..55c5f52851 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/expectedOutput/copyListAttribute.yaml @@ -0,0 +1,8 @@ +topology_template: + node_templates: + pnfExtCp_1: + properties: + layer_protocols_copy: + - ipv4 + - ipv6 + - otherProtocol
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/expectedOutput/copyObjectAttribute.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/expectedOutput/copyObjectAttribute.yaml new file mode 100644 index 0000000000..fe832edc14 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/expectedOutput/copyObjectAttribute.yaml @@ -0,0 +1,6 @@ +topology_template: + node_templates: + pnfExtCp_1: + properties: + anObjectAttribute_copy: + anyAttribute: anyAttributeValue
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/expectedOutput/copyScalarAttribute.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/expectedOutput/copyScalarAttribute.yaml new file mode 100644 index 0000000000..e2684d4c0a --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/expectedOutput/copyScalarAttribute.yaml @@ -0,0 +1,5 @@ +topology_template: + node_templates: + pnfExtCp_1: + properties: + trunk_mode_copy: false
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/expectedOutput/defaultOutput.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/expectedOutput/defaultOutput.yaml new file mode 100644 index 0000000000..d47ce66ace --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/expectedOutput/defaultOutput.yaml @@ -0,0 +1,2 @@ +topology_template: + node_templates: {}
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/expectedOutput/invalidAndValidAttributeQuery.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/expectedOutput/invalidAndValidAttributeQuery.yaml new file mode 100644 index 0000000000..90164839a4 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/expectedOutput/invalidAndValidAttributeQuery.yaml @@ -0,0 +1,4 @@ +topology_template: + node_templates: + pnfExtCp_1: + type: tosca.nodes.nfv.PnfExtCp
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/expectedOutput/replaceInListAttribute.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/expectedOutput/replaceInListAttribute.yaml new file mode 100644 index 0000000000..6086d5e14d --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/expectedOutput/replaceInListAttribute.yaml @@ -0,0 +1,9 @@ +topology_template: + node_templates: + pnfExtCp_1: + properties: + ip_requirements: + - assingment_method: dhcp + ip_version: 4 + - assingment_method: dhcp + ip_version: 6
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/expectedOutput/replaceInListAttributeWithNonExistentAndNonExistentFromValues.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/expectedOutput/replaceInListAttributeWithNonExistentAndNonExistentFromValues.yaml new file mode 100644 index 0000000000..8dfc98149a --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/expectedOutput/replaceInListAttributeWithNonExistentAndNonExistentFromValues.yaml @@ -0,0 +1,8 @@ +topology_template: + node_templates: + pnfExtCp_1: + properties: + ip_requirements: + - assingment_method: dhcp + ip_version: 4 + - anyStringValue
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/expectedOutput/replaceScalarAttributeToList.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/expectedOutput/replaceScalarAttributeToList.yaml new file mode 100644 index 0000000000..35139472c3 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/expectedOutput/replaceScalarAttributeToList.yaml @@ -0,0 +1,8 @@ +topology_template: + node_templates: + pnfExtCp_1: + properties: + trunk_mode_replaced: + - my + - replaced + - list
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/expectedOutput/replaceScalarAttributeToObject.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/expectedOutput/replaceScalarAttributeToObject.yaml new file mode 100644 index 0000000000..0e82ea33e3 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/expectedOutput/replaceScalarAttributeToObject.yaml @@ -0,0 +1,6 @@ +topology_template: + node_templates: + pnfExtCp_1: + properties: + trunk_mode_replaced: + myObjectReplaced: myObjectReplacedValue
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/expectedOutput/replaceScalarAttributeToScalar.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/expectedOutput/replaceScalarAttributeToScalar.yaml new file mode 100644 index 0000000000..03492963ac --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/expectedOutput/replaceScalarAttributeToScalar.yaml @@ -0,0 +1,5 @@ +topology_template: + node_templates: + pnfExtCp_1: + properties: + trunk_mode_replaced: myReplacedValue
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/pnfDescriptor/other/pnfDescriptor_PnfAnd2ExtCps.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/pnfAndExtCpWithInput.yaml index b37334496c..1e11d3833b 100644 --- a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/pnfDescriptor/other/pnfDescriptor_PnfAnd2ExtCps.yaml +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/pnfAndExtCpWithInput.yaml @@ -35,10 +35,5 @@ topology_template: layer_protocols: [ ipv4, ipv6, otherProtocol ] role: leaf description: External connection point to access this pnf - pnfExtCp_2: - type: tosca.nodes.nfv.PnfExtCp - properties: - trunk_mode: false - layer_protocols: {get_input: layer_protocols} - role: {get_input: role} - description: External connection point to access this pnf
\ No newline at end of file + anObjectAttribute: + anyAttribute: anyAttributeValue
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/attributeQueryWithMoreThanOneAttribute.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/attributeQueryWithMoreThanOneAttribute.yaml new file mode 100644 index 0000000000..fda5646d63 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/attributeQueryWithMoreThanOneAttribute.yaml @@ -0,0 +1,13 @@ +- transformation-for: nodeTemplate + query: + type: tosca.nodes.nfv.PnfExtCp + conversions: + - query: #more than one attribute is not allowed here + type: tosca.nodes.nfv.PnfExtCp + properties: + trunk_mode: false + to-name: type + to-value: + strategy: replace + from: tosca.nodes.nfv.PnfExtCp + to: org.openecomp.resource.cp.v2.extCP
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/convertTwoAttributesSameLevel.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/convertTwoAttributesSameLevel.yaml new file mode 100644 index 0000000000..421fef587b --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/convertTwoAttributesSameLevel.yaml @@ -0,0 +1,32 @@ +- transformation-for: nodeTemplate + query: + type: tosca.nodes.nfv.PnfExtCp + conversions: + - query: + type: + to-name: type + to-value: + strategy: replace + from: tosca.nodes.nfv.PnfExtCp + to: org.openecomp.resource.cp.v2.extCP + - query: + properties: + layer_protocols: + to-name: ip_requirements + to-value: + strategy: replaceInList + list: + - from: ipv4 + to: + assingment_method: dhcp + ip_version: 4 + - from: ipv6 + to: + assingment_method: dhcp + ip_version: 6 + - query: + properties: + description: + to-name: description_converted + to-value: + strategy: copy
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/copyListAttribute.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/copyListAttribute.yaml new file mode 100644 index 0000000000..7e6e475c1c --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/copyListAttribute.yaml @@ -0,0 +1,17 @@ +- transformation-for: nodeTemplate + query: + type: tosca.nodes.nfv.PnfExtCp + conversions: + - query: #attribute query: this attribute does not exists + type1: + to-name: type + to-value: + strategy: replace + from: tosca.nodes.nfv.PnfExtCp + to: org.openecomp.resource.cp.v2.extCP + - query: #attribute query: this attribute exists + properties: + layer_protocols: + to-name: layer_protocols_copy + to-value: + strategy: copy
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/copyObjectAttribute.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/copyObjectAttribute.yaml new file mode 100644 index 0000000000..019d5f2e7b --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/copyObjectAttribute.yaml @@ -0,0 +1,10 @@ +- transformation-for: nodeTemplate + query: + type: tosca.nodes.nfv.PnfExtCp + conversions: + - query: + properties: + anObjectAttribute: + to-name: anObjectAttribute_copy + to-value: + strategy: copy
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/copyScalarAttribute.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/copyScalarAttribute.yaml new file mode 100644 index 0000000000..6b28f9603d --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/copyScalarAttribute.yaml @@ -0,0 +1,10 @@ +- transformation-for: nodeTemplate + query: + type: tosca.nodes.nfv.PnfExtCp + conversions: + - query: + properties: + trunk_mode: + to-name: trunk_mode_copy + to-value: + strategy: copy
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/emptyDescriptor.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/emptyDescriptor.yaml new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/emptyDescriptor.yaml diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/invalidAndValidAttributeQuery.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/invalidAndValidAttributeQuery.yaml new file mode 100644 index 0000000000..bdd7437892 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/invalidAndValidAttributeQuery.yaml @@ -0,0 +1,16 @@ +- transformation-for: nodeTemplate + query: + type: tosca.nodes.nfv.PnfExtCp + conversions: + - query: #attribute query: this attribute does not exists + type1: + to-name: type + to-value: + strategy: replace + from: tosca.nodes.nfv.PnfExtCp + to: org.openecomp.resource.cp.v2.extCP + - query: #attribute query: this attribute exists + type: + to-name: type + to-value: + strategy: copy
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/invalidAttributeQuery.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/invalidAttributeQuery.yaml new file mode 100644 index 0000000000..a1fe0ce95d --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/invalidAttributeQuery.yaml @@ -0,0 +1,11 @@ +- transformation-for: nodeTemplate + query: + type: tosca.nodes.nfv.PnfExtCp + conversions: + - query: #attribute query: this attribute does not exists + type1: + to-name: type + to-value: + strategy: replace + from: tosca.nodes.nfv.PnfExtCp + to: org.openecomp.resource.cp.v2.extCP
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/invalidBlock.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/invalidBlock.yaml new file mode 100644 index 0000000000..069096a705 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/invalidBlock.yaml @@ -0,0 +1,4 @@ +#this block, nodeTemplate1, is invalid +- transformation-for: nodeTemplate1 + query: + type: tosca.nodes.nfv.PnfExtCp
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/invalidBlockQueries.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/invalidBlockQueries.yaml new file mode 100644 index 0000000000..e18c69094e --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/invalidBlockQueries.yaml @@ -0,0 +1,10 @@ +- transformation-for: nodeTemplate + query: #this attribute value does not exists + type: tosca.nodes.nfv.PnfExtCp1 +- transformation-for: nodeTemplate + query: #this attribute does not exists + type1: tosca.nodes.nfv.PnfExtCp +- transformation-for: nodeTemplate + query: + type: + non-existent-lvl: #this attribute does not exists
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/invalidBlockQuery.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/invalidBlockQuery.yaml new file mode 100644 index 0000000000..6b612093a9 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/invalidBlockQuery.yaml @@ -0,0 +1,6 @@ +- transformation-for: nodeTemplate + query: #this type does not exists + type: tosca.nodes.nfv.PnfExtCp1 +- transformation-for: nodeTemplate + query: #this attribute does not exists + type1: tosca.nodes.nfv.PnfExtCp
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/listAsAnAttributeQuery.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/listAsAnAttributeQuery.yaml new file mode 100644 index 0000000000..f99abe7107 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/listAsAnAttributeQuery.yaml @@ -0,0 +1,16 @@ +- transformation-for: nodeTemplate + query: + type: tosca.nodes.nfv.PnfExtCp + conversions: + - query: + - list + - as + - query + - does + - not + - work + to-name: type + to-value: + strategy: replace + from: tosca.nodes.nfv.PnfExtCp + to: org.openecomp.resource.cp.v2.extCP
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/noConversions.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/noConversions.yaml new file mode 100644 index 0000000000..e11071cddc --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/noConversions.yaml @@ -0,0 +1,7 @@ +- transformation-for: nodeTemplate + query: + type: tosca.nodes.nfv.PnfExtCp + conversions: +- transformation-for: nodeTemplate + query: + type: tosca.nodes.nfv.PnfExtCp
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/pnfAndExtCpWithInput-validBlockButNoQuery.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/pnfAndExtCpWithInput-validBlockButNoQuery.yaml new file mode 100644 index 0000000000..fc70960b6a --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/pnfAndExtCpWithInput-validBlockButNoQuery.yaml @@ -0,0 +1 @@ +- transformation-for: nodeTemplate
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/queryNonExistentLvl.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/queryNonExistentLvl.yaml new file mode 100644 index 0000000000..0700c17fbc --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/queryNonExistentLvl.yaml @@ -0,0 +1,12 @@ +- transformation-for: nodeTemplate + query: + type: tosca.nodes.nfv.PnfExtCp + conversions: + - query: + type: + non-existent-lvl: #this lvl does not exists in the input file + to-name: type + to-value: + strategy: replace + from: tosca.nodes.nfv.PnfExtCp + to: org.openecomp.resource.cp.v2.extCP
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/replaceInListAttribute.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/replaceInListAttribute.yaml new file mode 100644 index 0000000000..077c95c409 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/replaceInListAttribute.yaml @@ -0,0 +1,19 @@ +- transformation-for: nodeTemplate + query: + type: tosca.nodes.nfv.PnfExtCp + conversions: + - query: + properties: + layer_protocols: + to-name: ip_requirements + to-value: + strategy: replaceInList + list: + - from: ipv4 + to: + assingment_method: dhcp + ip_version: 4 + - from: ipv6 + to: + assingment_method: dhcp + ip_version: 6
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/replaceInListAttributeWithNonExistentAndNonExistentFromValues.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/replaceInListAttributeWithNonExistentAndNonExistentFromValues.yaml new file mode 100644 index 0000000000..3f835bd5e2 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/replaceInListAttributeWithNonExistentAndNonExistentFromValues.yaml @@ -0,0 +1,25 @@ +- transformation-for: nodeTemplate + query: + type: tosca.nodes.nfv.PnfExtCp + conversions: + - query: + properties: + layer_protocols: + to-name: ip_requirements + to-value: + strategy: replaceInList + list: + - from: ipv4 + to: + assingment_method: dhcp + ip_version: 4 + - from: ipv6 + to: anyStringValue + - from: ipv2 + to: + assingment_method: dhcp + ip_version: 2 + - from: ipv3 + to: + assingment_method: dhcp + ip_version: 3
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/replaceInListAttributeWithNonExistentFromValues.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/replaceInListAttributeWithNonExistentFromValues.yaml new file mode 100644 index 0000000000..5fbf9d6e7e --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/replaceInListAttributeWithNonExistentFromValues.yaml @@ -0,0 +1,19 @@ +- transformation-for: nodeTemplate + query: + type: tosca.nodes.nfv.PnfExtCp + conversions: + - query: + properties: + layer_protocols: + to-name: ip_requirements + to-value: + strategy: replaceInList + list: + - from: ipv2 + to: + assingment_method: dhcp + ip_version: 2 + - from: ipv3 + to: + assingment_method: dhcp + ip_version: 3
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/replaceScalarAttributeToList.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/replaceScalarAttributeToList.yaml new file mode 100644 index 0000000000..b4f95a9adb --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/replaceScalarAttributeToList.yaml @@ -0,0 +1,15 @@ +- transformation-for: nodeTemplate + query: + type: tosca.nodes.nfv.PnfExtCp + conversions: + - query: + properties: + trunk_mode: + to-name: trunk_mode_replaced + to-value: + strategy: replace + from: false + to: + - my + - replaced + - list
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/replaceScalarAttributeToObject.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/replaceScalarAttributeToObject.yaml new file mode 100644 index 0000000000..34a0344957 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/replaceScalarAttributeToObject.yaml @@ -0,0 +1,13 @@ +- transformation-for: nodeTemplate + query: + type: tosca.nodes.nfv.PnfExtCp + conversions: + - query: + properties: + trunk_mode: + to-name: trunk_mode_replaced + to-value: + strategy: replace + from: false + to: + myObjectReplaced: myObjectReplacedValue
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/replaceScalarAttributeToScalar.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/replaceScalarAttributeToScalar.yaml new file mode 100644 index 0000000000..6cbb08e828 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/replaceScalarAttributeToScalar.yaml @@ -0,0 +1,12 @@ +- transformation-for: nodeTemplate + query: + type: tosca.nodes.nfv.PnfExtCp + conversions: + - query: + properties: + trunk_mode: + to-name: trunk_mode_replaced + to-value: + strategy: replace + from: false + to: myReplacedValue
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/stringAsAnAttributeQuery.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/stringAsAnAttributeQuery.yaml new file mode 100644 index 0000000000..7836b97386 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfAndExtCpWithInput/transformationDescriptor/stringAsAnAttributeQuery.yaml @@ -0,0 +1,10 @@ +- transformation-for: nodeTemplate + query: + type: tosca.nodes.nfv.PnfExtCp + conversions: + - query: anyStringHere #query for a string does not work as it is meant to find a yaml attribute + to-name: type + to-value: + strategy: replace + from: tosca.nodes.nfv.PnfExtCp + to: org.openecomp.resource.cp.v2.extCP
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/expectedOutput/defaultOutput.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/expectedOutput/defaultOutput.yaml new file mode 100644 index 0000000000..d47ce66ace --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/expectedOutput/defaultOutput.yaml @@ -0,0 +1,2 @@ +topology_template: + node_templates: {}
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/expectedOutput/fullTransformation.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/expectedOutput/fullTransformation.yaml new file mode 100644 index 0000000000..4f9af4d7d2 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/expectedOutput/fullTransformation.yaml @@ -0,0 +1,36 @@ +topology_template: + inputs: + role1: + type: string + description: Role + default: leaf + layer_protocols: + type: list + description: IP protocols + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + default: + - assingment_method: dhcp + ip_version: 4 + - assingment_method: dhcp + ip_version: 6 + role: + type: string + description: Role + default: leaf + node_templates: + pnfExtCp_3: + properties: + role: {get_input: role1} + pnfExtCp_2: + properties: + ip_requirements: {get_input: layer_protocols} + role: {get_input: role} + pnfExtCp_1: + properties: + ip_requirements: + - assingment_method: dhcp + ip_version: 4 + - assingment_method: dhcp + ip_version: 6 + role: leaf
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/expectedOutput/inputQueryWithMoreThanOneAttribute.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/expectedOutput/inputQueryWithMoreThanOneAttribute.yaml new file mode 100644 index 0000000000..a55692cac9 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/expectedOutput/inputQueryWithMoreThanOneAttribute.yaml @@ -0,0 +1,21 @@ +topology_template: + inputs: + role1: + description: Role + default: leaf + role: + description: Role + default: leaf + node_templates: + pnfExtCp_3: + properties: + trunk_mode_copy: false + role: {get_input: role1} + pnfExtCp_2: + properties: + trunk_mode_copy: false + role: {get_input: role} + pnfExtCp_1: + properties: + trunk_mode_copy: false + role: leaf
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/expectedOutput/moreThanOneTransformationWithSameBlockQuery.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/expectedOutput/moreThanOneTransformationWithSameBlockQuery.yaml new file mode 100644 index 0000000000..0ae58056eb --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/expectedOutput/moreThanOneTransformationWithSameBlockQuery.yaml @@ -0,0 +1,11 @@ +topology_template: + node_templates: + pnfExtCp_3: + properties: + trunk_mode_copy: false + pnfExtCp_2: + properties: + trunk_mode_copy: false + pnfExtCp_1: + properties: + trunk_mode_copy: false
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/expectedOutput/nodeTemplateQueryWithMoreThanOneAttribute.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/expectedOutput/nodeTemplateQueryWithMoreThanOneAttribute.yaml new file mode 100644 index 0000000000..4a23ac3b2e --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/expectedOutput/nodeTemplateQueryWithMoreThanOneAttribute.yaml @@ -0,0 +1,8 @@ +topology_template: + node_templates: + pnfExtCp_3: + type: org.openecomp.resource.cp.v2.extCP + pnfExtCp_2: + type: org.openecomp.resource.cp.v2.extCP + pnfExtCp_1: + type: org.openecomp.resource.cp.v2.extCP
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/expectedOutput/wrongGetInputTransformationName.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/expectedOutput/wrongGetInputTransformationName.yaml new file mode 100644 index 0000000000..45e0bbb85e --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/expectedOutput/wrongGetInputTransformationName.yaml @@ -0,0 +1,14 @@ +topology_template: + node_templates: + pnfExtCp_3: + properties: + trunk_mode_copy: false + role: {get_input: role1} + pnfExtCp_2: + properties: + trunk_mode_copy: false + role: {get_input: role} + pnfExtCp_1: + properties: + trunk_mode_copy: false + role: leaf
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/expectedOutput/wrongTransformationBlock.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/expectedOutput/wrongTransformationBlock.yaml new file mode 100644 index 0000000000..0ae58056eb --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/expectedOutput/wrongTransformationBlock.yaml @@ -0,0 +1,11 @@ +topology_template: + node_templates: + pnfExtCp_3: + properties: + trunk_mode_copy: false + pnfExtCp_2: + properties: + trunk_mode_copy: false + pnfExtCp_1: + properties: + trunk_mode_copy: false
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/pnfWithGetInput.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/pnfWithGetInput.yaml new file mode 100644 index 0000000000..1b89d15293 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/pnfWithGetInput.yaml @@ -0,0 +1,61 @@ +tosca_definitions_version: tosca_simple_yaml_1_1 + +description: service template of a PNF + +topology_template: + inputs: + role: + type: string + description: Role + default: leaf + role1: + type: string + description: Role + default: leaf + layer_protocols: + type: list + description: IP protocols + entry_schema: + type: string + default: [ipv4, ipv6, otherProtocol] + node_templates: + notToBeConvertedNode: + type: tosca.nodes.nfv.PNF + properties: + descriptor_id: b1bb0ce7-ebca-4fa7-95ed-4840d70a2233 + function_description: an example PNF + provider: Mycompany + version: 1.0 + descriptor_invariant_id: 1111-2222-ccaa-bbdd + name: ExamplePnf + requirements: + - virtual_link: + capability: tosca.capabilities.nfv.VirtualLinkable + node: pnfExtCp_1 + pnfExtCp_1: + type: tosca.nodes.nfv.PnfExtCp + properties: + trunk_mode: false + layer_protocols: [ipv4, ipv6, otherProtocol] + role: leaf + description: External connection point to access this pnf + anObjectAttribute: + anyAttribute: anyAttributeValue + pnfExtCp_2: + type: tosca.nodes.nfv.PnfExtCp + properties: + trunk_mode: false + layer_protocols: + get_input: layer_protocols + role: {get_input: role} + description: External connection point to access this pnf + anObjectAttribute: + anyAttribute: anyAttributeValue + pnfExtCp_3: + type: tosca.nodes.nfv.PnfExtCp + properties: + trunk_mode: false + description: External connection point to access this pnf + anObjectAttribute: + anyAttribute: anyAttributeValue + role: {get_input: role1}
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/transformationDescriptor/fullTransformation.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/transformationDescriptor/fullTransformation.yaml new file mode 100644 index 0000000000..4772bfe4f9 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/transformationDescriptor/fullTransformation.yaml @@ -0,0 +1,84 @@ +- transformation-for: nodeTemplate + name: PnfExtCp transformation + description: converts any node template that has a type tosca.nodes.nfv.PnfExtCp + query: + type: tosca.nodes.nfv.PnfExtCp + conversions: + - query: + properties: + layer_protocols: + to-name: ip_requirements + to-value: + strategy: replaceInList + list: + - from: ipv4 + to: + assingment_method: dhcp + ip_version: 4 + - from: ipv6 + to: + assingment_method: dhcp + ip_version: 6 + to-get-input: ipRequirements + - query: + properties: + role: + to-name: role + to-value: + strategy: copy + to-get-input: stringTransformation +- transformation-for: getInputFunction + name: ipRequirements + description: converts IpRequirements inputs when called by a get_input TOSCA function + conversions: + - query: + type: + to-name: type + to-value: + strategy: copy + - query: + description: + to-name: description + to-value: + strategy: copy + - query: + entry_schema: + type: + to-name: type + to-value: + strategy: replace + from: string + to: org.openecomp.datatypes.network.IpRequirements + - query: + default: + to-name: default + to-value: + strategy: replaceInList + list: + - from: ipv4 + to: + assingment_method: dhcp + ip_version: 4 + - from: ipv6 + to: + assingment_method: dhcp + ip_version: 6 +- transformation-for: getInputFunction + name: stringTransformation + description: converts a string input + conversions: + - query: + type: + to-name: type + to-value: + strategy: copy + - query: + description: + to-name: description + to-value: + strategy: copy + - query: + default: + to-name: default + to-value: + strategy: copy
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/transformationDescriptor/inputQueryWithMoreThanOneAttribute.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/transformationDescriptor/inputQueryWithMoreThanOneAttribute.yaml new file mode 100644 index 0000000000..1655ca4880 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/transformationDescriptor/inputQueryWithMoreThanOneAttribute.yaml @@ -0,0 +1,39 @@ +- transformation-for: nodeTemplate + name: PnfExtCp transformation + description: converts any node template that has a type tosca.nodes.nfv.PnfExtCp + query: + type: tosca.nodes.nfv.PnfExtCp + conversions: + - query: + properties: + trunk_mode: + to-name: trunk_mode_copy + to-value: + strategy: copy + - query: + properties: + role: + to-name: role + to-value: + strategy: copy + to-get-input: stringTransformation +- transformation-for: getInputFunction + name: stringTransformation + description: converts a string input + conversions: + - query: + type: + invalid-another-attribute: #cannot have two attributes in the attribute query + to-name: type + to-value: + strategy: copy + - query: + description: + to-name: description + to-value: + strategy: copy + - query: + default: + to-name: default + to-value: + strategy: copy
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/transformationDescriptor/moreThanOneTransformationWithSameBlockQuery.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/transformationDescriptor/moreThanOneTransformationWithSameBlockQuery.yaml new file mode 100644 index 0000000000..aa05627da2 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/transformationDescriptor/moreThanOneTransformationWithSameBlockQuery.yaml @@ -0,0 +1,37 @@ +#just one of the transformations will be considered +- transformation-for: nodeTemplate #same time + name: PnfExtCp transformation + description: converts any node template that has a type tosca.nodes.nfv.PnfExtCp + query: #same block query + type: tosca.nodes.nfv.PnfExtCp + conversions: + - query: + properties: + trunk_mode: + to-name: trunk_mode_copy + to-value: + strategy: copy +- transformation-for: nodeTemplate #same time + name: PnfExtCp transformation + description: converts any node template that has a type tosca.nodes.nfv.PnfExtCp + query: #same block query + type: tosca.nodes.nfv.PnfExtCp + conversions: + - query: + properties: + role: + to-name: role + to-value: + strategy: copy +- transformation-for: nodeTemplate #same time + name: PnfExtCp transformation + description: converts any node template that has a type tosca.nodes.nfv.PnfExtCp + query: #same block query + type: tosca.nodes.nfv.PnfExtCp + conversions: + - query: + properties: + trunk_mode: + to-name: trunk_mode_copy1 + to-value: + strategy: copy
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/transformationDescriptor/nodeTemplateQueryWithMoreThanOneAttribute.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/transformationDescriptor/nodeTemplateQueryWithMoreThanOneAttribute.yaml new file mode 100644 index 0000000000..b20f48eebd --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/transformationDescriptor/nodeTemplateQueryWithMoreThanOneAttribute.yaml @@ -0,0 +1,14 @@ +- transformation-for: nodeTemplate + query: + type: tosca.nodes.nfv.PnfExtCp + properties: + anObjectAttribute: + anyAttribute: anyAttributeValue + conversions: + - query: + type: + to-name: type + to-value: + strategy: replace + from: tosca.nodes.nfv.PnfExtCp + to: org.openecomp.resource.cp.v2.extCP
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/transformationDescriptor/wrongGetInputTransformationName.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/transformationDescriptor/wrongGetInputTransformationName.yaml new file mode 100644 index 0000000000..fd5133cb91 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/transformationDescriptor/wrongGetInputTransformationName.yaml @@ -0,0 +1,39 @@ +- transformation-for: nodeTemplate + name: PnfExtCp transformation + description: converts any node template that has a type tosca.nodes.nfv.PnfExtCp + query: + type: tosca.nodes.nfv.PnfExtCp + conversions: + - query: + properties: + trunk_mode: + to-name: trunk_mode_copy + to-value: + strategy: copy + - query: + properties: + role: + to-name: role + to-value: + strategy: copy + to-get-input: stringTransformation1 +- transformation-for: getInputFunction + name: stringTransformation + description: converts a string input + conversions: + - query: + type: + invalid-another-attribute: #cannot have two attributes in the attribute query + to-name: type + to-value: + strategy: copy + - query: + description: + to-name: description + to-value: + strategy: copy + - query: + default: + to-name: default + to-value: + strategy: copy
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/transformationDescriptor/wrongTransformationBlock.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/transformationDescriptor/wrongTransformationBlock.yaml new file mode 100644 index 0000000000..0559b02642 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/pnfParseEngine/pnfWithGetInput/transformationDescriptor/wrongTransformationBlock.yaml @@ -0,0 +1,24 @@ +- transformation-for: nodeTemplate + name: PnfExtCp transformation + description: converts any node template that has a type tosca.nodes.nfv.PnfExtCp + query: + type: tosca.nodes.nfv.PnfExtCp + conversions: + - query: + properties: + trunk_mode: + to-name: trunk_mode_copy + to-value: + strategy: copy +- transformation-for: wrongBlock + name: PnfExtCp transformation + description: converts any node template that has a type tosca.nodes.nfv.PnfExtCp + query: + type: tosca.nodes.nfv.PnfExtCp + conversions: + - query: + properties: + role: + to-name: role + to-value: + strategy: copy
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/strategy/replaceStrategy.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/strategy/replaceStrategy.yaml new file mode 100644 index 0000000000..f60655c5ca --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/strategy/replaceStrategy.yaml @@ -0,0 +1,3 @@ +strategy: replace +from: tosca.nodes.nfv.PnfExtCp +to: org.openecomp.resource.cp.v2.extCP
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/strategy/strategyMissingStrategyAttribute.yaml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/strategy/strategyMissingStrategyAttribute.yaml new file mode 100644 index 0000000000..40200cecb0 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/resources/transformation/strategy/strategyMissingStrategyAttribute.yaml @@ -0,0 +1,2 @@ +from: tosca.nodes.nfv.PnfExtCp +to: org.openecomp.resource.cp.v2.extCP
\ No newline at end of file |