Include version in metadata
[sdc.git] / catalog-be / src / test / java / org / openecomp / sdc / be / components / lifecycle / CheckoutTest.java
index 8650f9a..641ae65 100644 (file)
 
 package org.openecomp.sdc.be.components.lifecycle;
 
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
 import fj.data.Either;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.mockito.Mockito;
 import org.openecomp.sdc.be.components.csar.CsarArtifactsAndGroupsBusinessLogic;
 import org.openecomp.sdc.be.components.csar.CsarBusinessLogic;
@@ -40,7 +38,6 @@ import org.openecomp.sdc.be.components.impl.PropertyBusinessLogic;
 import org.openecomp.sdc.be.components.impl.ResourceBusinessLogic;
 import org.openecomp.sdc.be.components.impl.ResourceImportManager;
 import org.openecomp.sdc.be.components.merge.resource.ResourceDataMergeBusinessLogic;
-import org.openecomp.sdc.be.components.merge.utils.MergeInstanceUtils;
 import org.openecomp.sdc.be.components.validation.component.ComponentContactIdValidator;
 import org.openecomp.sdc.be.components.validation.component.ComponentNameValidator;
 import org.openecomp.sdc.be.dao.api.ActionStatus;
@@ -54,17 +51,20 @@ import org.openecomp.sdc.be.model.operations.impl.ModelOperation;
 import org.openecomp.sdc.be.user.Role;
 import org.openecomp.sdc.exception.ResponseFormat;
 
-public class CheckoutTest extends LifecycleTestBase {
-
-   private CheckoutTransition checkoutObj = null;
-   private final ComponentInstanceBusinessLogic componentInstanceBusinessLogic = Mockito.mock(ComponentInstanceBusinessLogic.class);
-   private final ResourceImportManager resourceImportManager = Mockito.mock(ResourceImportManager.class);
-   private final InputsBusinessLogic inputsBusinessLogic = Mockito.mock(InputsBusinessLogic.class);
-   private final OutputsBusinessLogic outputsBusinessLogic = Mockito.mock(OutputsBusinessLogic.class);
-   private final CompositionBusinessLogic compositionBusinessLogic = Mockito.mock(CompositionBusinessLogic.class);
-   private final ResourceDataMergeBusinessLogic resourceDataMergeBusinessLogic = Mockito.mock(ResourceDataMergeBusinessLogic.class);
-   private final CsarArtifactsAndGroupsBusinessLogic csarArtifactsAndGroupsBusinessLogic = Mockito.mock(CsarArtifactsAndGroupsBusinessLogic.class);
-   private final MergeInstanceUtils mergeInstanceUtils = Mockito.mock(MergeInstanceUtils.class);
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.when;
+
+class CheckoutTest extends LifecycleTestBase {
+
+    private CheckoutTransition checkoutObj = null;
+    private final ComponentInstanceBusinessLogic componentInstanceBusinessLogic = Mockito.mock(ComponentInstanceBusinessLogic.class);
+    private final ResourceImportManager resourceImportManager = Mockito.mock(ResourceImportManager.class);
+    private final InputsBusinessLogic inputsBusinessLogic = Mockito.mock(InputsBusinessLogic.class);
+    private final OutputsBusinessLogic outputsBusinessLogic = Mockito.mock(OutputsBusinessLogic.class);
+    private final CompositionBusinessLogic compositionBusinessLogic = Mockito.mock(CompositionBusinessLogic.class);
+    private final ResourceDataMergeBusinessLogic resourceDataMergeBusinessLogic = Mockito.mock(ResourceDataMergeBusinessLogic.class);
+    private final CsarArtifactsAndGroupsBusinessLogic csarArtifactsAndGroupsBusinessLogic = Mockito.mock(CsarArtifactsAndGroupsBusinessLogic.class);
     private final UiComponentDataConverter uiComponentDataConverter = Mockito.mock(UiComponentDataConverter.class);
     private final CsarBusinessLogic csarBusinessLogic = Mockito.mock(CsarBusinessLogic.class);
     private final PropertyBusinessLogic propertyBusinessLogic = Mockito.mock(PropertyBusinessLogic.class);
@@ -77,20 +77,20 @@ public class CheckoutTest extends LifecycleTestBase {
     private final ModelOperation modelOperation = Mockito.mock(ModelOperation.class);
 
     ResourceBusinessLogic bl = new ResourceBusinessLogic(elementDao, groupOperation, groupInstanceOperation, groupTypeOperation,
-        groupBusinessLogic, interfaceOperation, interfaceLifecycleTypeOperation, artifactsBusinessLogic,
-        componentInstanceBusinessLogic, resourceImportManager, inputsBusinessLogic, outputsBusinessLogic, compositionBusinessLogic,
-        resourceDataMergeBusinessLogic, csarArtifactsAndGroupsBusinessLogic, uiComponentDataConverter, csarBusinessLogic, artifactToscaOperation,
-        propertyBusinessLogic, componentContactIdValidator, componentNameValidator, componentTagsValidator, componentValidator,
-        componentIconValidator, componentProjectCodeValidator, componentDescriptionValidator, policyBusinessLogic, modelBusinessLogic,
-        dataTypeBusinessLogic, policyTypeBusinessLogic, modelOperation);
-
-    @Before
+            groupBusinessLogic, interfaceOperation, interfaceLifecycleTypeOperation, artifactsBusinessLogic,
+            componentInstanceBusinessLogic, resourceImportManager, inputsBusinessLogic, outputsBusinessLogic, compositionBusinessLogic,
+            resourceDataMergeBusinessLogic, csarArtifactsAndGroupsBusinessLogic, uiComponentDataConverter, csarBusinessLogic, artifactToscaOperation,
+            propertyBusinessLogic, componentContactIdValidator, componentNameValidator, componentTagsValidator, componentValidator,
+            componentIconValidator, componentProjectCodeValidator, componentDescriptionValidator, policyBusinessLogic, modelBusinessLogic,
+            dataTypeBusinessLogic, policyTypeBusinessLogic, modelOperation);
+
+    @BeforeEach
     public void setup() {
 
         super.setup();
         // checkout transition object
         checkoutObj = new CheckoutTransition(componentsUtils, toscaElementLifecycleOperation, toscaOperationFacade,
-            janusGraphDao);
+                janusGraphDao);
         checkoutObj.setLifeCycleOperation(toscaElementLifecycleOperation);
         checkoutObj.setConfigurationManager(configurationManager);
         bl.setToscaOperationFacade(toscaOperationFacade);
@@ -98,73 +98,74 @@ public class CheckoutTest extends LifecycleTestBase {
 
     }
 
-   @Test
-   public void testCheckoutStateValidation() {
-      Either<? extends Component, ResponseFormat> changeStateResult;
-      Resource resource = createResourceObject();
+    @Test
+    void testCheckoutStateValidation() {
+        Either<? extends Component, ResponseFormat> changeStateResult;
+        Resource resource = createResourceObject();
 
-      resource.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
-      Either<User, ResponseFormat> ownerResponse = checkoutObj.getComponentOwner(resource, ComponentTypeEnum.RESOURCE);
-      assertTrue(ownerResponse.isLeft());
-      User owner = ownerResponse.left().value();
-      changeStateResult = checkoutObj.changeState(ComponentTypeEnum.RESOURCE, resource, bl, user, owner, false, false);
-      assertTrue(changeStateResult.isLeft());
+        resource.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
+        Either<User, ResponseFormat> ownerResponse = checkoutObj.getComponentOwner(resource, ComponentTypeEnum.RESOURCE);
+        assertTrue(ownerResponse.isLeft());
+        User owner = ownerResponse.left().value();
+        when(toscaOperationFacade.updateToscaElement(any(Component.class))).thenReturn(Either.left(resource));
+        changeStateResult = checkoutObj.changeState(ComponentTypeEnum.RESOURCE, resource, bl, user, owner, false, false);
+        assertTrue(changeStateResult.isLeft());
 
-      resource.setLifecycleState(LifecycleStateEnum.CERTIFIED);
+        resource.setLifecycleState(LifecycleStateEnum.CERTIFIED);
         changeStateResult = checkoutObj.changeState(ComponentTypeEnum.RESOURCE, resource, bl, user, owner, false, false);
         assertTrue(changeStateResult.isLeft());
 
     }
 
-   @Test
-   public void testAlreadyCheckout() {
-      Either<Resource, ResponseFormat> changeStateResult;
-      Resource resource = createResourceObject();
-
-      resource.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT);
-      Either<User, ResponseFormat> ownerResponse = checkoutObj.getComponentOwner(resource, ComponentTypeEnum.RESOURCE);
-      assertTrue(ownerResponse.isLeft());
-      User owner = ownerResponse.left().value();
-      Either<Boolean, ResponseFormat> validateBeforeTransition = checkoutObj.validateBeforeTransition(resource, ComponentTypeEnum.RESOURCE, user,
-          owner, LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT);
-      assertTrue(validateBeforeTransition.isRight());
-      changeStateResult = Either.right(validateBeforeTransition.right().value());
-
-      assertTrue(changeStateResult.isRight());
-      assertResponse(changeStateResult, ActionStatus.COMPONENT_IN_CHECKOUT_STATE, resource.getName(),
-          ComponentTypeEnum.RESOURCE.name().toLowerCase(), user.getFirstName(), user.getLastName(), user.getUserId());
-
-   }
-
-   @Test
-   public void testRoles() {
-      Either<Resource, ResponseFormat> changeStateResult;
-      Resource resource = createResourceObject();
-
-      resource.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
-
-      User modifier = new User();
-      modifier.setUserId("modifier");
-      modifier.setFirstName("Albert");
-      modifier.setLastName("Einstein");
-      modifier.setRole(Role.DESIGNER.name());
-      Either<User, ResponseFormat> ownerResponse = checkoutObj.getComponentOwner(resource, ComponentTypeEnum.RESOURCE);
-      assertTrue(ownerResponse.isLeft());
-      User owner = ownerResponse.left().value();
-      // changeStateResult = checkoutObj.changeStateOperation(resource,
-      // modifier, owner);
-      Either<Boolean, ResponseFormat> validateBeforeTransition = checkoutObj.validateBeforeTransition(resource, ComponentTypeEnum.RESOURCE,
-          modifier, owner, LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
-      assertTrue(validateBeforeTransition.isLeft());
-
-      modifier.setRole(Role.TESTER.name());
-      // changeStateResult = checkoutObj.changeStateOperation(resource,
-      // modifier, owner);
-      validateBeforeTransition = checkoutObj.validateBeforeTransition(resource, ComponentTypeEnum.RESOURCE, modifier, owner,
-          LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
-      assertTrue(validateBeforeTransition.isRight());
-      changeStateResult = Either.right(validateBeforeTransition.right().value());
-      assertResponse(changeStateResult, ActionStatus.RESTRICTED_OPERATION);
-
-   }
+    @Test
+    void testAlreadyCheckout() {
+        Either<Resource, ResponseFormat> changeStateResult;
+        Resource resource = createResourceObject();
+
+        resource.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT);
+        Either<User, ResponseFormat> ownerResponse = checkoutObj.getComponentOwner(resource, ComponentTypeEnum.RESOURCE);
+        assertTrue(ownerResponse.isLeft());
+        User owner = ownerResponse.left().value();
+        Either<Boolean, ResponseFormat> validateBeforeTransition = checkoutObj.validateBeforeTransition(resource, ComponentTypeEnum.RESOURCE, user,
+                owner, LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT);
+        assertTrue(validateBeforeTransition.isRight());
+        changeStateResult = Either.right(validateBeforeTransition.right().value());
+
+        assertTrue(changeStateResult.isRight());
+        assertResponse(changeStateResult, ActionStatus.COMPONENT_IN_CHECKOUT_STATE, resource.getName(),
+                ComponentTypeEnum.RESOURCE.name().toLowerCase(), user.getFirstName(), user.getLastName(), user.getUserId());
+
+    }
+
+    @Test
+    void testRoles() {
+        Either<Resource, ResponseFormat> changeStateResult;
+        Resource resource = createResourceObject();
+
+        resource.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
+
+        User modifier = new User();
+        modifier.setUserId("modifier");
+        modifier.setFirstName("Albert");
+        modifier.setLastName("Einstein");
+        modifier.setRole(Role.DESIGNER.name());
+        Either<User, ResponseFormat> ownerResponse = checkoutObj.getComponentOwner(resource, ComponentTypeEnum.RESOURCE);
+        assertTrue(ownerResponse.isLeft());
+        User owner = ownerResponse.left().value();
+        // changeStateResult = checkoutObj.changeStateOperation(resource,
+        // modifier, owner);
+        Either<Boolean, ResponseFormat> validateBeforeTransition = checkoutObj.validateBeforeTransition(resource, ComponentTypeEnum.RESOURCE,
+                modifier, owner, LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
+        assertTrue(validateBeforeTransition.isLeft());
+
+        modifier.setRole(Role.TESTER.name());
+        // changeStateResult = checkoutObj.changeStateOperation(resource,
+        // modifier, owner);
+        validateBeforeTransition = checkoutObj.validateBeforeTransition(resource, ComponentTypeEnum.RESOURCE, modifier, owner,
+                LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
+        assertTrue(validateBeforeTransition.isRight());
+        changeStateResult = Either.right(validateBeforeTransition.right().value());
+        assertResponse(changeStateResult, ActionStatus.RESTRICTED_OPERATION);
+
+    }
 }