Catalog alignment
[sdc.git] / catalog-be / src / test / java / org / openecomp / sdc / be / components / merge / instance / ComponentInstanceArtifactsMergeTest.java
index 1801c2f..07b2ca6 100644 (file)
@@ -29,17 +29,23 @@ import org.mockito.Mockito;
 import org.mockito.MockitoAnnotations;
 import org.openecomp.sdc.be.components.impl.ArtifactsBusinessLogic;
 import org.openecomp.sdc.be.components.impl.ArtifactsBusinessLogic.ArtifactOperationInfo;
-import org.openecomp.sdc.be.model.*;
+import org.openecomp.sdc.be.model.ArtifactDefinition;
+import org.openecomp.sdc.be.model.Component;
+import org.openecomp.sdc.be.model.ComponentInstance;
+import org.openecomp.sdc.be.model.Operation;
+import org.openecomp.sdc.be.model.Resource;
+import org.openecomp.sdc.be.model.User;
 import org.openecomp.sdc.be.model.jsonjanusgraph.operations.ToscaOperationFacade;
 import org.openecomp.sdc.common.api.ArtifactGroupTypeEnum;
-import org.openecomp.sdc.exception.ResponseFormat;
+import org.openecomp.sdc.common.api.ArtifactTypeEnum;
 
 import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
-import static junit.framework.TestCase.assertEquals;
+import static org.assertj.core.api.Assertions.assertThat;
 import static org.mockito.Mockito.when;
 
 public class ComponentInstanceArtifactsMergeTest {
@@ -63,14 +69,16 @@ public class ComponentInstanceArtifactsMergeTest {
 
                Component containerComponent = new Resource();
                Component originComponent = buildOriginalComponentWithOneArtifact();
-               ComponentInstance componentInstance = buildComponentInstanceWithTwoArtifacts();
+        ComponentInstance componentInstance = buildComponentInstanceWithTwoArtifactsAndVfModuleFile();
 
                DataForMergeHolder dataForMergeHolder = new DataForMergeHolder();
                testInstance.saveDataBeforeMerge(dataForMergeHolder, containerComponent, componentInstance, originComponent);
                Map<String, ArtifactDefinition> originalComponentDeploymentArtifactsCreatedOnTheInstance = dataForMergeHolder
                                .getOrigComponentDeploymentArtifactsCreatedOnTheInstance();
-
-               assertEquals(originalComponentDeploymentArtifactsCreatedOnTheInstance.size(), 1);
+               Map<String, Integer> componentInstanceDeploymentArtifactsTimeOut = dataForMergeHolder
+                               .getComponentInstanceDeploymentArtifactsTimeOut();
+        assertThat(originalComponentDeploymentArtifactsCreatedOnTheInstance.size()).isEqualTo(1);
+               assertThat(componentInstanceDeploymentArtifactsTimeOut.size()).isEqualTo(3);
                assert (originalComponentDeploymentArtifactsCreatedOnTheInstance.containsKey("artifactTwo"));
        }
 
@@ -86,7 +94,7 @@ public class ComponentInstanceArtifactsMergeTest {
                Map<String, ArtifactDefinition> originalComponentInformationalArtifactsCreatedOnTheInstance = dataForMergeHolder
                                .getOrigComponentInformationalArtifactsCreatedOnTheInstance();
 
-               assertEquals(originalComponentInformationalArtifactsCreatedOnTheInstance.size(), 1);
+        assertThat(originalComponentInformationalArtifactsCreatedOnTheInstance.size()).isEqualTo(1);
                assert (originalComponentInformationalArtifactsCreatedOnTheInstance.containsKey("artifactTwo"));
        }
 
@@ -97,6 +105,8 @@ public class ComponentInstanceArtifactsMergeTest {
                List<ComponentInstance> resourceInstances = new LinkedList<>();
                ComponentInstance ci = new ComponentInstance();
                ci.setUniqueId("mock");
+               Map<String, ArtifactDefinition> currentDeploymentArtifacts = buildDeploymentArtifacts();
+               ci.setDeploymentArtifacts(currentDeploymentArtifacts);
                resourceInstances.add(ci);
                originComponent.setComponentInstances(resourceInstances);
                DataForMergeHolder dataForMergeHolder = new DataForMergeHolder();
@@ -104,7 +114,10 @@ public class ComponentInstanceArtifactsMergeTest {
                ArtifactDefinition currentArtifactDefinition = new ArtifactDefinition();
                origDeploymentArtifacts.put("mock", currentArtifactDefinition);
                dataForMergeHolder.setOrigComponentDeploymentArtifactsCreatedOnTheInstance(origDeploymentArtifacts);
-
+               Map<String, ArtifactDefinition> updateDeploymentArtifacts = buildDeploymentArtifacts();
+               updateDeploymentArtifacts.get("artifactOne").setTimeout(55);
+               dataForMergeHolder.setComponentInstanceDeploymentArtifactsTimeOut(updateDeploymentArtifacts.entrySet().stream()
+                               .collect(Collectors.toMap(Map.Entry::getKey, artifact -> artifact.getValue().getTimeout())));
                when(artifactsBusinessLogicMock.buildJsonForUpdateArtifact(Mockito.anyString(), 
                                Mockito.anyString(),
                                Mockito.anyString(), 
@@ -117,20 +130,55 @@ public class ComponentInstanceArtifactsMergeTest {
                                Mockito.any(List.class)))
                                                .thenReturn(new HashMap<>());
                
-               Either<Either<ArtifactDefinition, Operation>, ResponseFormat> left = Either.left(Either.left(new ArtifactDefinition()));
-               
-               when(artifactsBusinessLogicMock.updateResourceInstanceArtifactNoContent(Mockito.anyString(), Mockito.any(Component.class), Mockito.any(User.class), 
+               Either<ArtifactDefinition, Operation> left = Either.left(new ArtifactDefinition());
+
+               User user = new User();
+
+               when(artifactsBusinessLogicMock.updateResourceInstanceArtifactNoContent("mock", originComponent, user,
+                               new HashMap<>(), artifactsBusinessLogicMock.new ArtifactOperationInfo(false, false,
+                                               ArtifactsBusinessLogic.ArtifactOperationEnum.LINK), currentDeploymentArtifacts.get("artifactOne"))).thenReturn(left);
+
+               when(artifactsBusinessLogicMock.updateResourceInstanceArtifactNoContent(Mockito.anyString(), Mockito.any(Component.class), Mockito.any(User.class),
                                Mockito.any(Map.class), Mockito.any(ArtifactOperationInfo.class), Mockito.any(ArtifactDefinition.class))).thenReturn(left);
-               
-               testInstance.mergeDataAfterCreate(new User(), dataForMergeHolder, originComponent, "mock");
 
+               testInstance.mergeDataAfterCreate(user, dataForMergeHolder, originComponent, "mock");
+
+       }
+
+       private Map<String, ArtifactDefinition> buildDeploymentArtifacts() {
+               ArtifactDefinition artifactFromTheOriginalResource = new ArtifactDefinition();
+               artifactFromTheOriginalResource.setArtifactLabel("artifactOne");
+               artifactFromTheOriginalResource.setTimeout(30);
+               ArtifactDefinition artifactCreatedOnTheInstance = new ArtifactDefinition();
+               artifactCreatedOnTheInstance.setArtifactLabel("artifactTwo");
+               artifactCreatedOnTheInstance.setTimeout(30);
+               ArtifactDefinition artifactGeneratedBySubmitForTesting = new ArtifactDefinition();
+               artifactGeneratedBySubmitForTesting.setArtifactLabel("artifactThree");
+               artifactGeneratedBySubmitForTesting.setArtifactType(ArtifactTypeEnum.VF_MODULES_METADATA.name());
+               artifactGeneratedBySubmitForTesting.setTimeout(30);
+               Map<String, ArtifactDefinition> componentInstanceArtifacts = new HashMap<>();
+               componentInstanceArtifacts.put(artifactFromTheOriginalResource.getArtifactLabel(), artifactFromTheOriginalResource);
+               componentInstanceArtifacts.put(artifactCreatedOnTheInstance.getArtifactLabel(), artifactCreatedOnTheInstance);
+               componentInstanceArtifacts.put(artifactGeneratedBySubmitForTesting.getArtifactLabel(), artifactGeneratedBySubmitForTesting);
+               return componentInstanceArtifacts;
+       }
+
+       private ComponentInstance buildComponentInstanceWithTwoArtifactsAndVfModuleFile(){
+
+               Map<String, ArtifactDefinition> componentInstanceArtifacts = buildDeploymentArtifacts();
+               ComponentInstance componentInstance = new ComponentInstance();
+               componentInstance.setArtifacts(componentInstanceArtifacts);
+               componentInstance.setDeploymentArtifacts(componentInstanceArtifacts);
+               return componentInstance;
        }
 
        private ComponentInstance buildComponentInstanceWithTwoArtifacts() {
                ArtifactDefinition artifactFromTheOriginalResource = new ArtifactDefinition();
                artifactFromTheOriginalResource.setArtifactLabel("artifactOne");
+               artifactFromTheOriginalResource.setTimeout(30);
                ArtifactDefinition artifactCreatedOnTheInstance = new ArtifactDefinition();
                artifactCreatedOnTheInstance.setArtifactLabel("artifactTwo");
+               artifactCreatedOnTheInstance.setTimeout(30);
 
                Map<String, ArtifactDefinition> componentInstanceArtifacts = new HashMap<>();
                componentInstanceArtifacts.put(artifactFromTheOriginalResource.getArtifactLabel(),
@@ -146,6 +194,7 @@ public class ComponentInstanceArtifactsMergeTest {
        private Component buildOriginalComponentWithOneArtifact() {
                ArtifactDefinition artifactFromTheOriginalResource = new ArtifactDefinition();
                artifactFromTheOriginalResource.setArtifactLabel("artifactOne");
+               artifactFromTheOriginalResource.setTimeout(30);
 
                Map<String, ArtifactDefinition> originComponentArtifacts = new HashMap<>();
                originComponentArtifacts.put(artifactFromTheOriginalResource.getArtifactLabel(),