From bdeb28f273da2494d7eeabbb5329222dfd168e3b Mon Sep 17 00:00:00 2001 From: aribeiro Date: Wed, 24 Jun 2020 08:34:22 +0100 Subject: Add support for substitution_filter business logic Tosca simple YAML profile allows for substitution_filter to be specified for a topology template to provide processing instructions to the orchestrator. Issue-ID: SDC-3147 Signed-off-by: aribeiro Change-Id: Ia94b8c447d3157e614f9d1524ad4520b3980ba4d --- .../sdc/tosca/datatypes/ToscaModelTest.java | 27 ++++++++-------------- .../mock/model/substitutionMappingExt.yaml | 23 ------------------ .../mock/model/substitutionMappingWithFilter.yaml | 23 ++++++++++++++++++ 3 files changed, 32 insertions(+), 41 deletions(-) delete mode 100644 openecomp-be/lib/openecomp-tosca-lib/src/test/resources/mock/model/substitutionMappingExt.yaml create mode 100644 openecomp-be/lib/openecomp-tosca-lib/src/test/resources/mock/model/substitutionMappingWithFilter.yaml (limited to 'openecomp-be/lib/openecomp-tosca-lib/src') diff --git a/openecomp-be/lib/openecomp-tosca-lib/src/test/java/org/openecomp/sdc/tosca/datatypes/ToscaModelTest.java b/openecomp-be/lib/openecomp-tosca-lib/src/test/java/org/openecomp/sdc/tosca/datatypes/ToscaModelTest.java index 88e8461299..4ad4d2b53e 100644 --- a/openecomp-be/lib/openecomp-tosca-lib/src/test/java/org/openecomp/sdc/tosca/datatypes/ToscaModelTest.java +++ b/openecomp-be/lib/openecomp-tosca-lib/src/test/java/org/openecomp/sdc/tosca/datatypes/ToscaModelTest.java @@ -52,8 +52,6 @@ import org.onap.sdc.tosca.datatypes.model.ServiceTemplate; import org.onap.sdc.tosca.datatypes.model.SubstitutionMapping; import org.onap.sdc.tosca.datatypes.model.TopologyTemplate; import org.onap.sdc.tosca.datatypes.model.extension.RequirementAssignmentExt; -import org.onap.sdc.tosca.datatypes.model.extension.SubstitutionFilter; -import org.onap.sdc.tosca.datatypes.model.extension.SubstitutionMappingExt; import org.onap.sdc.tosca.datatypes.model.heatextend.ParameterDefinitionExt; import org.onap.sdc.tosca.services.ToscaExtensionYamlUtil; import org.onap.sdc.tosca.services.YamlUtil; @@ -89,7 +87,7 @@ public class ToscaModelTest { private static final String STRING_TYPE = "string"; private static final String ST_WITH_SERVICE_FILTER = "/serviceTemplateWithServiceFilter.yaml"; private static final String SUBSTITUTION_MAPPING = "/serviceTemplateWithSubstitutionMapping.yaml"; - private static final String SUBSTITUTION_MAPPING_EXT = "/substitutionMappingExt.yaml"; + private static final String SUBSTITUTION_MAPPING_WITH_FILTER = "/substitutionMappingWithFilter.yaml"; @Test public void testServiceTemplateJavaToYaml() { @@ -460,40 +458,33 @@ public class ToscaModelTest { @Test public void testSubstitutionMapping() throws IOException { - ServiceTemplate serviceTemplate = getServiceTemplateExt(BASE_DIR + SUBSTITUTION_MAPPING); - - SubstitutionMapping substitutionMappings = DataModelUtil.getSubstitutionMappings(serviceTemplate); + final ServiceTemplate serviceTemplate = getServiceTemplateExt(BASE_DIR + SUBSTITUTION_MAPPING); + final SubstitutionMapping substitutionMappings = DataModelUtil.getSubstitutionMappings(serviceTemplate); Assert.assertEquals("myNodeType.node", substitutionMappings.getNode_type()); Assert.assertNotNull(substitutionMappings.getCapabilities()); Assert.assertEquals(1,substitutionMappings.getCapabilities().size()); Assert.assertNotNull(substitutionMappings.getRequirements()); Assert.assertEquals(1,substitutionMappings.getRequirements().size()); - Assert.assertEquals(true, substitutionMappings instanceof SubstitutionMappingExt); - Assert.assertNull(((SubstitutionMappingExt)substitutionMappings).getSubstitution_filter()); - + Assert.assertNull(substitutionMappings.getSubstitution_filter()); } @Test - public void testSubstitutionMappingExt() throws IOException { - ServiceTemplate serviceTemplate = getServiceTemplateExt(BASE_DIR + SUBSTITUTION_MAPPING_EXT); + public void testSubstitutionMappingWithFilter() throws IOException { + final ServiceTemplate serviceTemplate = getServiceTemplateExt(BASE_DIR + SUBSTITUTION_MAPPING_WITH_FILTER); - SubstitutionMapping substitutionMappings = DataModelUtil.getSubstitutionMappings(serviceTemplate); + final SubstitutionMapping substitutionMappings = DataModelUtil.getSubstitutionMappings(serviceTemplate); Assert.assertEquals("myNodeType.node", substitutionMappings.getNode_type()); Assert.assertNotNull(substitutionMappings.getCapabilities()); Assert.assertEquals(1,substitutionMappings.getCapabilities().size()); Assert.assertNotNull(substitutionMappings.getRequirements()); Assert.assertEquals(1,substitutionMappings.getRequirements().size()); - Assert.assertEquals(true, substitutionMappings instanceof SubstitutionMappingExt); - SubstitutionFilter substitutionFilter = ((SubstitutionMappingExt) substitutionMappings).getSubstitution_filter(); + final NodeFilter substitutionFilter = substitutionMappings.getSubstitution_filter(); Assert.assertNotNull(substitutionFilter); Assert.assertNotNull(substitutionFilter.getProperties()); Assert.assertEquals(2,substitutionFilter.getProperties().size()); - List vendorFilter = substitutionFilter.getProperties().get(0).get("vendor"); + final List vendorFilter = substitutionFilter.getProperties().get(0).get("vendor"); Assert.assertNotNull(vendorFilter); Assert.assertNotNull(vendorFilter.get(0).getEqual()); - - - } private ServiceTemplate getServiceTemplate(String inputPath) throws IOException { diff --git a/openecomp-be/lib/openecomp-tosca-lib/src/test/resources/mock/model/substitutionMappingExt.yaml b/openecomp-be/lib/openecomp-tosca-lib/src/test/resources/mock/model/substitutionMappingExt.yaml deleted file mode 100644 index ae6a88ea77..0000000000 --- a/openecomp-be/lib/openecomp-tosca-lib/src/test/resources/mock/model/substitutionMappingExt.yaml +++ /dev/null @@ -1,23 +0,0 @@ -tosca_definitions_version: tosca_simple_yaml_1_0_0 -metadata: - template_name: Test - template_author: OPENECOMP - template_version: 1.0.0 -description: testing desc tosca service template - -topology_template: - description: topologi template descroption - substitution_mappings: - node_type: myNodeType.node - capabilities: - database_endpoint: - - database - - database_endpoint - requirements: - database_endpoint: [ app, database ] - substitution_filter: - properties: - - vendor: [{ equal : Simple }] - - bandwidth: [{ less_than: 100 GB }] - - diff --git a/openecomp-be/lib/openecomp-tosca-lib/src/test/resources/mock/model/substitutionMappingWithFilter.yaml b/openecomp-be/lib/openecomp-tosca-lib/src/test/resources/mock/model/substitutionMappingWithFilter.yaml new file mode 100644 index 0000000000..ae6a88ea77 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-lib/src/test/resources/mock/model/substitutionMappingWithFilter.yaml @@ -0,0 +1,23 @@ +tosca_definitions_version: tosca_simple_yaml_1_0_0 +metadata: + template_name: Test + template_author: OPENECOMP + template_version: 1.0.0 +description: testing desc tosca service template + +topology_template: + description: topologi template descroption + substitution_mappings: + node_type: myNodeType.node + capabilities: + database_endpoint: + - database + - database_endpoint + requirements: + database_endpoint: [ app, database ] + substitution_filter: + properties: + - vendor: [{ equal : Simple }] + - bandwidth: [{ less_than: 100 GB }] + + -- cgit 1.2.3-korg