diff options
Diffstat (limited to 'catalog-be/src/test/java/org/openecomp/sdc/be/tosca/utils/OperationArtifactUtilTest.java')
-rw-r--r-- | catalog-be/src/test/java/org/openecomp/sdc/be/tosca/utils/OperationArtifactUtilTest.java | 112 |
1 files changed, 95 insertions, 17 deletions
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/tosca/utils/OperationArtifactUtilTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/tosca/utils/OperationArtifactUtilTest.java index 66983d7d3a..99988224c8 100644 --- a/catalog-be/src/test/java/org/openecomp/sdc/be/tosca/utils/OperationArtifactUtilTest.java +++ b/catalog-be/src/test/java/org/openecomp/sdc/be/tosca/utils/OperationArtifactUtilTest.java @@ -15,19 +15,30 @@ */ package org.openecomp.sdc.be.tosca.utils; +import static org.junit.Assert.assertEquals; +import static org.openecomp.sdc.be.tosca.utils.OperationArtifactUtil.BPMN_ARTIFACT_PATH; + +import java.io.File; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +import org.apache.commons.lang.WordUtils; +import org.junit.Assert; import org.junit.BeforeClass; import org.junit.Test; import org.openecomp.sdc.be.DummyConfigurationManager; +import org.openecomp.sdc.be.datatypes.components.ResourceMetadataDataDefinition; import org.openecomp.sdc.be.datatypes.elements.ArtifactDataDefinition; import org.openecomp.sdc.be.datatypes.elements.OperationDataDefinition; +import org.openecomp.sdc.be.model.ArtifactDefinition; import org.openecomp.sdc.be.model.Component; +import org.openecomp.sdc.be.model.ComponentMetadataDefinition; import org.openecomp.sdc.be.model.InterfaceDefinition; import org.openecomp.sdc.be.model.Resource; - -import java.io.File; -import java.util.HashMap; - -import static org.junit.Assert.assertEquals; +import org.openecomp.sdc.be.tosca.CsarUtils; +import org.openecomp.sdc.common.api.ArtifactGroupTypeEnum; +import org.openecomp.sdc.common.api.ArtifactTypeEnum; public class OperationArtifactUtilTest { @@ -38,25 +49,92 @@ public class OperationArtifactUtilTest { @Test public void testCorrectPathForOperationArtifacts() { - Component component = new Resource(); - component.setNormalizedName("normalizedComponentName"); - final InterfaceDefinition addedInterface = new InterfaceDefinition(); + ResourceMetadataDataDefinition componentMetadataDataDefinition = new ResourceMetadataDataDefinition(); + componentMetadataDataDefinition.setToscaResourceName("org.openecomp.resource.vf.TestResource"); + final ComponentMetadataDefinition componentMetadataDefinition = + new ComponentMetadataDefinition(componentMetadataDataDefinition); + Component component = new Resource(componentMetadataDefinition); + final OperationDataDefinition op = new OperationDataDefinition(); + final ArtifactDataDefinition implementation = new ArtifactDataDefinition(); + implementation.setArtifactName("createBPMN.bpmn"); + op.setImplementation(implementation); + final String actualArtifactPath = OperationArtifactUtil.createOperationArtifactPath(component, op, false); + String expectedArtifactPath = CsarUtils.ARTIFACTS + File.separator + + WordUtils.capitalizeFully(ArtifactGroupTypeEnum.DEPLOYMENT.name()) + File.separator + + ArtifactTypeEnum.WORKFLOW.name() + File.separator + BPMN_ARTIFACT_PATH + File.separator + + "createBPMN.bpmn"; + + + assertEquals(expectedArtifactPath,actualArtifactPath); + } + + @Test + public void testCorrectPathForOperationArtifactsInService() { + ResourceMetadataDataDefinition componentMetadataDataDefinition = new ResourceMetadataDataDefinition(); + componentMetadataDataDefinition.setToscaResourceName("org.openecomp.resource.vf.TestResource"); + final ComponentMetadataDefinition componentMetadataDefinition = + new ComponentMetadataDefinition(componentMetadataDataDefinition); + Component component = new Resource(componentMetadataDefinition); + component.setVersion("1.0"); final OperationDataDefinition op = new OperationDataDefinition(); final ArtifactDataDefinition implementation = new ArtifactDataDefinition(); implementation.setArtifactName("createBPMN.bpmn"); op.setImplementation(implementation); + final String actualArtifactPath = OperationArtifactUtil.createOperationArtifactPath(component, op, true); + String expectedArtifactPath = CsarUtils.ARTIFACTS + File.separator + + "org.openecomp.resource.vf.TestResource_v1.0" + File.separator + + WordUtils.capitalizeFully(ArtifactGroupTypeEnum.DEPLOYMENT.name()) + File.separator + + ArtifactTypeEnum.WORKFLOW.name() + + File.separator + BPMN_ARTIFACT_PATH + File.separator + "createBPMN.bpmn"; + + + assertEquals(expectedArtifactPath,actualArtifactPath); + } + + @Test + public void testGetDistinctInterfaceOperationArtifactsByName() { + Component component = new Resource(); + component.setNormalizedName("normalizedComponentName"); + final InterfaceDefinition addedInterface = new InterfaceDefinition(); + OperationDataDefinition op1 = createInterfaceOperation("createBPMN.bpmn"); + OperationDataDefinition op2 = createInterfaceOperation("createBPMN.bpmn"); addedInterface.setOperations(new HashMap<>()); - addedInterface.getOperations().put("create", op); + addedInterface.getOperations().put("create", op1); + addedInterface.getOperations().put("update", op2); final String interfaceType = "normalizedComponentName-interface"; - ((Resource) component).setInterfaces(new HashMap<>()); - ((Resource) component).getInterfaces().put(interfaceType, addedInterface); - final String actualArtifactPath = OperationArtifactUtil.createOperationArtifactPath(component.getNormalizedName(), interfaceType, op); - String expectedArtifactPath ="Artifacts"+ File.separator+"normalizedComponentName"+File.separator - +"normalizedComponentName-interface"+File.separator+"Deployment" - +File.separator+"Workflows"+File.separator+"BPMN" - +File.separator+"createBPMN.bpmn"; + component.setInterfaces(new HashMap<>()); + component.getInterfaces().put(interfaceType, addedInterface); + Map<String, ArtifactDefinition> distinctInterfaceOperationArtifactsByName = + OperationArtifactUtil.getDistinctInterfaceOperationArtifactsByName(component); + Assert.assertEquals(1, distinctInterfaceOperationArtifactsByName.size()); + } - assertEquals(expectedArtifactPath,actualArtifactPath); + @Test + public void testGetDistinctInterfaceOperationArtifactsByNameAllDistinct() { + Component component = new Resource(); + component.setNormalizedName("normalizedComponentName"); + final InterfaceDefinition addedInterface = new InterfaceDefinition(); + OperationDataDefinition op1 = createInterfaceOperation("createBPMN.bpmn"); + OperationDataDefinition op2 = createInterfaceOperation("updateBPMN.bpmn"); + addedInterface.setOperations(new HashMap<>()); + addedInterface.getOperations().put("create", op1); + addedInterface.getOperations().put("update", op2); + final String interfaceType = "normalizedComponentName-interface"; + component.setInterfaces(new HashMap<>()); + component.getInterfaces().put(interfaceType, addedInterface); + + Map<String, ArtifactDefinition> distinctInterfaceOperationArtifactsByName = + OperationArtifactUtil.getDistinctInterfaceOperationArtifactsByName(component); + Assert.assertEquals(2, distinctInterfaceOperationArtifactsByName.size()); + } + + private OperationDataDefinition createInterfaceOperation(String artifactName) { + final OperationDataDefinition op = new OperationDataDefinition(); + final ArtifactDataDefinition implementation = new ArtifactDataDefinition(); + implementation.setUniqueId(UUID.randomUUID().toString()); + implementation.setArtifactName(artifactName); + op.setImplementation(implementation); + return op; } }
\ No newline at end of file |