diff options
author | shiria <shiri.amichai@amdocs.com> | 2018-07-02 11:10:56 +0300 |
---|---|---|
committer | Avi Gaffa <avi.gaffa@amdocs.com> | 2018-07-02 09:10:51 +0000 |
commit | 6d7284b5bcbbf6f57b843c5f30a50e9387b5ece8 (patch) | |
tree | a3e1b2e8af332d1472e81392f421e59f4d0ef37d /openecomp-be/lib/openecomp-tosca-lib/src/test/java/org | |
parent | 82fa3004cc68ef367e4f210900619743eb9abc95 (diff) |
Fix getFlat for datatype
Fix getFlat when we driven from primitive type like string
Adding support for service filter as tosca extension
Issue-ID: SDC-1455
Change-Id: I57f05af13b394239ca55b71a946d69f56675bf19
Signed-off-by: shiria <shiri.amichai@amdocs.com>
Diffstat (limited to 'openecomp-be/lib/openecomp-tosca-lib/src/test/java/org')
2 files changed, 69 insertions, 39 deletions
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 6fb10ac1e0..3938d8f427 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 @@ -60,7 +60,11 @@ import org.openecomp.sdc.tosca.services.ToscaConstants; public class ToscaModelTest { + public static final String FIRST_NODE_TEMPLATE = "firstNodeTemplate"; + public static final String REQ1 = "req1"; + public static final String REQ2 = "req2"; private YamlUtil yamlUtil = new YamlUtil(); + private ToscaExtensionYamlUtil toscaExtensionYamlUtil = new ToscaExtensionYamlUtil(); private static final String INTERFACE_ID = "inter_1"; private static final String NODE_TEMPLATE_ID = "firstNodeTemplate"; private static final String NODE_TYPE_ID = "compute_node_type"; @@ -77,6 +81,7 @@ public class ToscaModelTest { private static final String PRIMARY_IMPL = "myImpl.yaml"; private static final String DEPENDENCY_NAME = "script1.sh"; private static final String STRING_TYPE = "string"; + private static final String ST_WITH_SERVICE_FILTER = "/serviceTemplateWithServiceFilter.yaml"; @Test public void testServiceTemplateJavaToYaml() { @@ -254,8 +259,8 @@ public class ToscaModelTest { reqAssignment2.setRelationship("relationB"); Map<String, RequirementAssignment> nodeTemplateRequirement1 = new HashMap<>(); Map<String, RequirementAssignment> nodeTemplateRequirement2 = new HashMap<>(); - nodeTemplateRequirement1.put("req1", reqAssignment1); - nodeTemplateRequirement2.put("req2", reqAssignment2); + nodeTemplateRequirement1.put(REQ1, reqAssignment1); + nodeTemplateRequirement2.put(REQ2, reqAssignment2); nodeTemplate.setRequirements(new ArrayList<>()); nodeTemplate.getRequirements().add(nodeTemplateRequirement1); nodeTemplate.getRequirements().add(nodeTemplateRequirement2); @@ -419,12 +424,40 @@ public class ToscaModelTest { } } + @Test + public void testServiceFilter() throws IOException { + ServiceTemplate serviceTemplateWithServiceFilter = getServiceTemplateExt(BASE_DIR + ST_WITH_SERVICE_FILTER); + + NodeTemplate firstNodeTemplate = + DataModelUtil.getNodeTemplate(serviceTemplateWithServiceFilter, FIRST_NODE_TEMPLATE); + Map<String, RequirementAssignment> nodeTemplateRequirements = + DataModelUtil.getNodeTemplateRequirements(firstNodeTemplate); + + Object req1 = nodeTemplateRequirements.get(REQ1); + Assert.assertEquals(true, req1 instanceof org.onap.sdc.tosca.datatypes.model.extension.RequirementAssignment); + Assert.assertNotNull(((org.onap.sdc.tosca.datatypes.model.extension.RequirementAssignment)req1).getService_filter()); + + Object req2 = nodeTemplateRequirements.get(REQ2); + Assert.assertEquals(true, req2 instanceof org.onap.sdc.tosca.datatypes.model.extension.RequirementAssignment); + Assert.assertNotNull(((org.onap.sdc.tosca.datatypes.model.extension.RequirementAssignment)req2).getService_filter()); + + String serviceTemplateYaml = toscaExtensionYamlUtil.objectToYaml(serviceTemplateWithServiceFilter); + Assert.assertNotNull(serviceTemplateYaml); + + } + private ServiceTemplate getServiceTemplate(String inputPath) throws IOException { try (InputStream yamlFile = yamlUtil.loadYamlFileIs(inputPath)) { return yamlUtil.yamlToObject(yamlFile, ServiceTemplate.class); } } + private ServiceTemplate getServiceTemplateExt(String inputPath) throws IOException { + try (InputStream yamlFile = toscaExtensionYamlUtil.loadYamlFileIs(inputPath)) { + return toscaExtensionYamlUtil.yamlToObject(yamlFile, ServiceTemplate.class); + } + } + private InterfaceType createInterfaceType() { OperationDefinition operationDefinition = createOperationDefinition(); InterfaceType interfaceType = new InterfaceType(); diff --git a/openecomp-be/lib/openecomp-tosca-lib/src/test/java/org/openecomp/sdc/tosca/services/impl/ToscaAnalyzerServiceImplTest.java b/openecomp-be/lib/openecomp-tosca-lib/src/test/java/org/openecomp/sdc/tosca/services/impl/ToscaAnalyzerServiceImplTest.java index 71647a68a2..d9e77e1f84 100644 --- a/openecomp-be/lib/openecomp-tosca-lib/src/test/java/org/openecomp/sdc/tosca/services/impl/ToscaAnalyzerServiceImplTest.java +++ b/openecomp-be/lib/openecomp-tosca-lib/src/test/java/org/openecomp/sdc/tosca/services/impl/ToscaAnalyzerServiceImplTest.java @@ -16,57 +16,30 @@ package org.openecomp.sdc.tosca.services.impl; -import org.junit.Assert; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Rule; -import org.junit.Test; +import org.junit.*; import org.junit.rules.ExpectedException; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.mockito.runners.MockitoJUnitRunner; -import org.onap.sdc.tosca.datatypes.model.OperationDefinitionType; +import org.onap.sdc.tosca.datatypes.model.*; +import org.onap.sdc.tosca.services.ToscaExtensionYamlUtil; import org.openecomp.sdc.common.errors.CoreException; import org.openecomp.sdc.tosca.TestUtil; import org.openecomp.sdc.tosca.datatypes.ToscaElementTypes; import org.openecomp.sdc.tosca.datatypes.ToscaFlatData; import org.openecomp.sdc.tosca.datatypes.ToscaNodeType; import org.openecomp.sdc.tosca.datatypes.ToscaServiceModel; -import org.onap.sdc.tosca.datatypes.model.NodeTemplate; -import org.onap.sdc.tosca.datatypes.model.NodeType; -import org.onap.sdc.tosca.datatypes.model.ParameterDefinition; -import org.onap.sdc.tosca.datatypes.model.PropertyDefinition; -import org.onap.sdc.tosca.datatypes.model.RequirementAssignment; -import org.onap.sdc.tosca.datatypes.model.RequirementDefinition; -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.CapabilityDefinition; -import org.onap.sdc.tosca.datatypes.model.Import; import org.openecomp.sdc.tosca.services.DataModelUtil; -import org.onap.sdc.tosca.datatypes.model.InterfaceType; -import org.onap.sdc.tosca.datatypes.model.InterfaceDefinitionType; -import org.onap.sdc.tosca.datatypes.model.DataType; import org.openecomp.sdc.tosca.services.ToscaAnalyzerService; import org.openecomp.sdc.tosca.services.ToscaConstants; -import org.onap.sdc.tosca.datatypes.model.DefinitionOfDataType; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Optional; import java.io.IOException; +import java.io.InputStream; +import java.util.*; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.*; import static org.mockito.Mockito.when; -import static org.junit.Assert.assertEquals; - -import org.onap.sdc.tosca.services.ToscaExtensionYamlUtil; @RunWith(MockitoJUnitRunner.class) @@ -249,6 +222,32 @@ public class ToscaAnalyzerServiceImplTest { } @Test + public void testGetFlatEntityDataTypeDerivedFromPrimitive() throws Exception { + ToscaExtensionYamlUtil toscaExtensionYamlUtil = new ToscaExtensionYamlUtil(); + try (InputStream yamlFile = toscaExtensionYamlUtil.loadYamlFileIs( + "/mock/analyzerService/ServiceTemplateDatatypeFlatTest.yaml")) { + + ServiceTemplate serviceTemplateFromYaml = + toscaExtensionYamlUtil.yamlToObject(yamlFile, ServiceTemplate.class); + + ToscaFlatData flatData = toscaAnalyzerService.getFlatEntity(ToscaElementTypes.DATA_TYPE, + "org.openecomp.datatypes.heat.network.MyNewString", serviceTemplateFromYaml, toscaServiceModel); + + Assert.assertNotNull(flatData); + Assert.assertNotNull(flatData.getFlatEntity()); + DataType flatEntity = (DataType) flatData.getFlatEntity(); + Assert.assertEquals("org.openecomp.datatypes.heat.network.MyString", flatEntity.getDerived_from()); + Assert.assertEquals(2, flatEntity.getConstraints().size()); + Assert.assertNotNull(flatEntity.getConstraints().get(0).getValid_values()); + Assert.assertNotNull(flatEntity.getConstraints().get(1).getMax_length()); + + List<String> inheritanceHierarchyType = flatData.getInheritanceHierarchyType(); + Assert.assertNotNull(inheritanceHierarchyType); + Assert.assertEquals(2, inheritanceHierarchyType.size()); + } + } + + @Test public void testCalculateExposedRequirements() throws Exception { RequirementDefinition rd = new RequirementDefinition(); rd.setCapability("tosca.capabilities.Node"); @@ -360,8 +359,7 @@ public class ToscaAnalyzerServiceImplTest { ra.setNode("server_cmaui"); ra.setRelationship("tosca.relationships.network.BindsTo"); - NodeTemplate port0 = - serviceTemplateFromYaml.getTopology_template().getNode_templates().get("cmaui_port_0"); + NodeTemplate port0 = serviceTemplateFromYaml.getTopology_template().getNode_templates().get("cmaui_port_0"); //Test With Empty requirementId Assert.assertEquals(false, toscaAnalyzerService.isRequirementExistInNodeTemplate(port0, "", ra)); @@ -386,8 +384,7 @@ public class ToscaAnalyzerServiceImplTest { ServiceTemplate serviceTemplateFromYaml = toscaExtensionYamlUtil.yamlToObject(yamlFile, ServiceTemplate.class); - NodeTemplate port0 = - serviceTemplateFromYaml.getTopology_template().getNode_templates().get("cmaui_port_0"); + NodeTemplate port0 = serviceTemplateFromYaml.getTopology_template().getNode_templates().get("cmaui_port_0"); List<RequirementAssignment> reqList = toscaAnalyzerService.getRequirements(port0, ToscaConstants.BINDING_REQUIREMENT_ID); assertEquals(1, reqList.size()); |