Support Policies during Import Service
[sdc.git] / catalog-be / src / test / java / org / openecomp / sdc / be / components / impl / PolicyBusinessLogicTest.java
index 7a8a15a..15b7706 100644 (file)
 
 package org.openecomp.sdc.be.components.impl;
 
-
-import static org.assertj.core.api.Java6Assertions.assertThat;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyBoolean;
 import static org.mockito.ArgumentMatchers.anyMap;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.when;
+import static org.openecomp.sdc.be.dao.api.ActionStatus.POLICY_TARGET_DOES_NOT_EXIST;
+import static org.openecomp.sdc.be.dao.api.ActionStatus.PROPERTY_NOT_FOUND;
 
 import fj.data.Either;
 import java.util.ArrayList;
@@ -35,15 +38,15 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import org.apache.commons.collections.CollectionUtils;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.MockitoAnnotations;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
 import org.openecomp.sdc.be.components.impl.exceptions.ByActionStatusComponentException;
 import org.openecomp.sdc.be.components.impl.exceptions.ComponentException;
 import org.openecomp.sdc.be.components.property.PropertyDeclarationOrchestrator;
@@ -53,8 +56,8 @@ import org.openecomp.sdc.be.components.utils.ResourceBuilder;
 import org.openecomp.sdc.be.components.validation.UserValidations;
 import org.openecomp.sdc.be.config.ConfigurationManager;
 import org.openecomp.sdc.be.dao.api.ActionStatus;
-import org.openecomp.sdc.be.dao.janusgraph.JanusGraphOperationStatus;
 import org.openecomp.sdc.be.dao.janusgraph.JanusGraphDao;
+import org.openecomp.sdc.be.dao.janusgraph.JanusGraphOperationStatus;
 import org.openecomp.sdc.be.datatypes.elements.PolicyTargetType;
 import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition;
 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
@@ -73,6 +76,7 @@ import org.openecomp.sdc.be.model.PolicyDefinition;
 import org.openecomp.sdc.be.model.PolicyTypeDefinition;
 import org.openecomp.sdc.be.model.PropertyDefinition;
 import org.openecomp.sdc.be.model.Resource;
+import org.openecomp.sdc.be.model.Service;
 import org.openecomp.sdc.be.model.User;
 import org.openecomp.sdc.be.model.cache.ApplicationDataTypeCache;
 import org.openecomp.sdc.be.model.jsonjanusgraph.datamodel.ToscaElementTypeEnum;
@@ -85,9 +89,34 @@ import org.openecomp.sdc.common.impl.ExternalConfiguration;
 import org.openecomp.sdc.common.impl.FSConfigurationSource;
 import org.openecomp.sdc.exception.ResponseFormat;
 
-@RunWith(MockitoJUnitRunner.class)
-public class PolicyBusinessLogicTest {
-
+@ExtendWith(MockitoExtension.class)
+class PolicyBusinessLogicTest {
+
+    private static final String COMPONENT_ID = "componentId";
+    private static final String NON_EXIST_COMPONENT_ID = "nonExistComponentId";
+    private static final String COMPONENT_NAME = "componentName";
+    private static final String POLICY_TYPE_NAME = "policyTypeName";
+    private static final String POLICY_ID = "policyId";
+    private static final String INVALID_POLICY_ID = "invalidPolicyId";
+    private static final String POLICY_NAME = "policyName";
+    private static final String OTHER_POLICY_NAME = "otherPolicyName";
+    private static final String USER_ID = "jh0003";
+    private static final String UNIQUE_ID_EXSISTS = "uniqueIdExists";
+    private static final String UNIQUE_ID_DOESNT_EXSISTS = "uniqueIdDoesntExists";
+    private static final String CREATE_POLICY = "create Policy";
+    private static final String PROPERTY_NAME = "propDefinition";
+    private static final User user = buildUser();
+    private static final PolicyDefinition policy = buildPolicy(POLICY_NAME);
+    private static final Resource resource = buildResource();
+    private static final PolicyDefinition otherPolicy = buildPolicy(OTHER_POLICY_NAME);
+    private static final PolicyTypeDefinition policyType = buildPolicyType();
+    private static Either<Component, StorageOperationStatus> componentSuccessEither;
+    private static Either<PolicyTypeDefinition, StorageOperationStatus> getPolicyTypeSuccessEither;
+    private static Either<PolicyDefinition, StorageOperationStatus> policySuccessEither;
+    private final ConfigurationManager configurationManager = new ConfigurationManager(
+        new FSConfigurationSource(ExternalConfiguration.getChangeListener(), "src/test/resources/config/catalog-be"));
+    @Mock
+    private PropertyDeclarationOrchestrator propertyDeclarationOrchestrator;
     @InjectMocks
     private PolicyBusinessLogic businessLogic;
     @Mock
@@ -106,43 +135,72 @@ public class PolicyBusinessLogicTest {
     private ApplicationDataTypeCache applicationDataTypeCache;
     @Mock
     private PropertyOperation propertyOperation;
-    @Mock
-    PropertyDeclarationOrchestrator propertyDeclarationOrchestrator;
-
-    private final static String COMPONENT_ID = "componentId";
-    private final static String NON_EXIST_COMPONENT_ID = "nonExistComponentId";
-    private final static String COMPONENT_NAME = "componentName";
-    private final static String POLICY_TYPE_NAME = "policyTypeName";
-    private final static String POLICY_ID = "policyId";
-    private final static String INVALID_POLICY_ID = "invalidPolicyId";
-    private final static String POLICY_NAME = "policyName";
-    private final static String OTHER_POLICY_NAME = "otherPolicyName";
-    private final static String USER_ID = "jh0003";
-    private final static String UNIQUE_ID_EXSISTS = "uniqueIdExists";
-    private final static String UNIQUE_ID_DOESNT_EXSISTS = "uniqueIdDoesntExists";
-    private final static String CREATE_POLICY = "create Policy";
-    private final static String PROPERTY_NAME = "propDefinition";
-    private final static User user = buildUser();
-    private final static PolicyDefinition policy = buildPolicy(POLICY_NAME);
-    private final static PolicyDefinition otherPolicy = buildPolicy(OTHER_POLICY_NAME);
-    private final static Resource resource = buildResource();
-    private final static PolicyTypeDefinition policyType = buildPolicyType();
-
-    private static Either<Component, StorageOperationStatus> componentSuccessEither;
-    private static Either<PolicyTypeDefinition, StorageOperationStatus> getPolicyTypeSuccessEither;
-    private static Either<PolicyDefinition, StorageOperationStatus> policySuccessEither;
-    private static ResponseFormat notFoundResponse;
-    private static ResponseFormat invalidContentResponse;
-    private static ResponseFormat nameExistsResponse;
-    private final ConfigurationManager configurationManager = new ConfigurationManager(new FSConfigurationSource(ExternalConfiguration.getChangeListener(), "src/test/resources/config/catalog-be"));
 
-    @BeforeClass
-    public static void setup() {
+    @BeforeAll
+    static void setup() {
         createResponses();
     }
 
-    @Before
-    public void initBl() {
+    private static void createResponses() {
+        componentSuccessEither = Either.left(resource);
+        getPolicyTypeSuccessEither = Either.left(policyType);
+        policySuccessEither = Either.left(policy);
+    }
+
+    private static PolicyTypeDefinition buildPolicyType() {
+        PolicyTypeDefinition policyType = new PolicyTypeDefinition();
+        policyType.setType(POLICY_TYPE_NAME);
+        return policyType;
+    }
+
+    private static PolicyDefinition buildPolicy(String policyName) {
+        PolicyDefinition policy = new PolicyDefinition();
+        policy.setUniqueId(POLICY_ID);
+        policy.setPolicyTypeName(POLICY_TYPE_NAME);
+        policy.setComponentName(COMPONENT_NAME);
+        policy.setName(policyName);
+        return policy;
+    }
+
+    private static Resource buildResource() {
+        Resource resource = new Resource();
+        resource.setUniqueId(COMPONENT_ID);
+        resource.setName(COMPONENT_NAME);
+        resource.setCreatorUserId(USER_ID);
+        resource.setLastUpdaterUserId(USER_ID);
+        resource.setState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT);
+        resource.setIsDeleted(false);
+        resource.setResourceType(ResourceTypeEnum.VF);
+        resource.setToscaType(ToscaElementTypeEnum.TOPOLOGY_TEMPLATE.getValue());
+        resource.setComponentType(ComponentTypeEnum.RESOURCE);
+        Map<String, PolicyDefinition> policies = new HashMap<>();
+        policies.put(POLICY_ID, policy);
+        resource.setPolicies(policies);
+        return resource;
+    }
+
+    private static Service buildService() {
+        Service service = new Service();
+        service.setUniqueId(COMPONENT_ID);
+        service.setName(COMPONENT_NAME);
+        service.setCreatorUserId(USER_ID);
+        service.setLastUpdaterUserId(USER_ID);
+        service.setState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT);
+        service.setIsDeleted(false);
+        service.setToscaType(ToscaElementTypeEnum.TOPOLOGY_TEMPLATE.getValue());
+        service.setComponentType(ComponentTypeEnum.SERVICE);
+        Map<String, PolicyDefinition> policies = new HashMap<>();
+        policies.put(POLICY_ID, policy);
+        service.setPolicies(policies);
+        return service;
+    }
+
+    private static User buildUser() {
+        return new User(USER_ID);
+    }
+
+    @BeforeEach
+    void initBl() {
         MockitoAnnotations.openMocks(this);
         businessLogic.setComponentsUtils(componentsUtils);
         businessLogic.setToscaOperationFacade(toscaOperationFacade);
@@ -155,31 +213,18 @@ public class PolicyBusinessLogicTest {
         businessLogic.setPropertyDeclarationOrchestrator(propertyDeclarationOrchestrator);
     }
 
-
-    private static void createResponses() {
-        componentSuccessEither = Either.left(resource);
-        getPolicyTypeSuccessEither = Either.left(policyType);
-        policySuccessEither = Either.left(policy);
-        notFoundResponse = new ResponseFormat();
-        notFoundResponse.setStatus(404);
-        invalidContentResponse = new ResponseFormat();
-        invalidContentResponse.setStatus(400);
-        nameExistsResponse = new ResponseFormat();
-        nameExistsResponse.setStatus(409);
-    }
-
     @Test
-    public void createPolicySuccessTest(){
-        stubValidateAndLockSuccess(CREATE_POLICY);
+    void createPolicySuccessTest() {
+        stubValidateAndLockSuccess();
         when(policyTypeOperation.getLatestPolicyTypeByType(eq(POLICY_TYPE_NAME), any())).thenReturn(getPolicyTypeSuccessEither);
         when(toscaOperationFacade.associatePolicyToComponent(eq(COMPONENT_ID), any(PolicyDefinition.class), eq(0))).thenReturn(policySuccessEither);
         stubUnlockAndCommit();
         PolicyDefinition response = businessLogic.createPolicy(ComponentTypeEnum.RESOURCE, COMPONENT_ID, POLICY_TYPE_NAME, USER_ID, true);
-        assertThat(response.isEmpty()).isFalse();
+        assertFalse(response.isEmpty());
     }
 
     @Test
-    public void createPolicyFromCsarDefinitionTest() {
+    void createPolicyOnResourceFromCsarDefinitionTest() {
         String prop1 = "Prop_1";
         String prop2 = "Prop_2";
         Map<String, PolicyDefinition> policies = new HashMap<>();
@@ -199,186 +244,249 @@ public class PolicyBusinessLogicTest {
         Resource newResource = buildResource();
         newResource.setPolicies(policies);
         newResource.setComponentInstances(instanceList);
-        
+
+        when(policyTypeOperation.getLatestPolicyTypeByType(eq(POLICY_TYPE_NAME), any())).thenReturn(getPolicyTypeSuccessEither);
+        when(toscaOperationFacade.associatePolicyToComponent(eq(COMPONENT_ID), any(PolicyDefinition.class), eq(0))).thenReturn(Either.left(policy));
+        when(toscaOperationFacade.getToscaFullElement(COMPONENT_ID)).thenReturn(Either.left(newResource));
+        when(toscaOperationFacade.updatePolicyOfComponent(eq(COMPONENT_ID), any(PolicyDefinition.class), any(PromoteVersionEnum.class))).thenReturn(
+            Either.left(policy));
+        when(propertyOperation.validateAndUpdatePropertyValue(eq(null), eq(prop1), anyBoolean(), eq(null), anyMap())).thenReturn(Either.left(prop1));
+        when(propertyOperation.validateAndUpdatePropertyValue(eq(null), eq(prop2), anyBoolean(), eq(null), anyMap())).thenReturn(Either.left(prop2));
+
+        Map<String, PolicyDefinition> createdPolicy = businessLogic.createPolicies(newResource, policies);
+
+        assertFalse(createdPolicy.isEmpty());
+        PolicyDefinition newPolicy = createdPolicy.get(POLICY_NAME);
+        assertNotNull(newPolicy);
+        assertTrue(newPolicy.getIsFromCsar());
+        assertNotNull(newPolicy.getTargets());
+        assertNotNull(newPolicy.getProperties());
+        assertEquals(2, newPolicy.getProperties().size());
+        assertEquals(1, newPolicy.getTargets().size());
+    }
+
+    @Test
+    void createPolicyOnServiceFromCsarDefinitionTest() {
+        String prop1 = "Prop_1";
+        String prop2 = "Prop_2";
+        Map<String, PolicyDefinition> policies = new HashMap<>();
+        PolicyDefinition policy = buildPolicy(POLICY_NAME);
+        Map<PolicyTargetType, List<String>> targets = getTargets();
+        PropertyDataDefinition[] properties = getProperties(prop1, prop2);
+        policy.setTargets(targets);
+        policy.setProperties(Arrays.asList(properties));
+        policies.put(POLICY_NAME, policy);
+
+        List<ComponentInstance> instanceList = new ArrayList<>();
+        ComponentInstance componentInstance = new ComponentInstance();
+        componentInstance.setUniqueId(UNIQUE_ID_EXSISTS);
+        componentInstance.setName(UNIQUE_ID_EXSISTS);
+        instanceList.add(componentInstance);
+
+        Service newService = buildService();
+        newService.setPolicies(policies);
+        newService.setComponentInstances(instanceList);
+
         when(policyTypeOperation.getLatestPolicyTypeByType(eq(POLICY_TYPE_NAME), any())).thenReturn(getPolicyTypeSuccessEither);
         when(toscaOperationFacade.associatePolicyToComponent(eq(COMPONENT_ID), any(PolicyDefinition.class), eq(0))).thenReturn(Either.left(policy));
-        when(toscaOperationFacade.getToscaFullElement(eq(COMPONENT_ID))).thenReturn(Either.left(newResource));
-        when(toscaOperationFacade.updatePolicyOfComponent(eq(COMPONENT_ID), any(PolicyDefinition.class), any(PromoteVersionEnum.class))).thenReturn(Either.left(policy));
+        when(toscaOperationFacade.getToscaFullElement(COMPONENT_ID)).thenReturn(Either.left(newService));
+        when(toscaOperationFacade.updatePolicyOfComponent(eq(COMPONENT_ID), any(PolicyDefinition.class), any(PromoteVersionEnum.class))).thenReturn(
+            Either.left(policy));
         when(propertyOperation.validateAndUpdatePropertyValue(eq(null), eq(prop1), anyBoolean(), eq(null), anyMap())).thenReturn(Either.left(prop1));
         when(propertyOperation.validateAndUpdatePropertyValue(eq(null), eq(prop2), anyBoolean(), eq(null), anyMap())).thenReturn(Either.left(prop2));
 
-        Map<String, PolicyDefinition> createdPolicy = businessLogic.createPoliciesFromParsedCsar(newResource, policies);
+        Map<String, PolicyDefinition> createdPolicy = businessLogic.createPolicies(newService, policies);
 
-        assertThat(createdPolicy.isEmpty()).isFalse();
+        assertFalse(createdPolicy.isEmpty());
         PolicyDefinition newPolicy = createdPolicy.get(POLICY_NAME);
         assertNotNull(newPolicy);
+        assertTrue(newPolicy.getIsFromCsar());
         assertNotNull(newPolicy.getTargets());
         assertNotNull(newPolicy.getProperties());
         assertEquals(2, newPolicy.getProperties().size());
         assertEquals(1, newPolicy.getTargets().size());
+        assertTrue(newPolicy.getTargets().containsKey(PolicyTargetType.COMPONENT_INSTANCES));
+        assertEquals(2, newPolicy.getTargets().get(PolicyTargetType.COMPONENT_INSTANCES).size());
+        newPolicy.getTargets().get(PolicyTargetType.COMPONENT_INSTANCES).forEach(t -> assertTrue(t.equals(UNIQUE_ID_EXSISTS)));
+        newPolicy.getProperties().forEach(p -> assertTrue(p.getName().equals(prop1) || p.getName().equals(prop2)));
     }
-    
+
     @Test
-    public void createPolicyUserFailureTest(){
+    void createPolicyUserFailureTest() {
         ByActionStatusComponentException userNotFoundException = new ByActionStatusComponentException(ActionStatus.USER_NOT_FOUND);
-        when(userValidations.validateUserExists(eq(USER_ID))).thenThrow(userNotFoundException);
-        stubRollback();
-        try{
+        when(userValidations.validateUserExists(USER_ID)).thenThrow(userNotFoundException);
+        try {
             businessLogic.createPolicy(ComponentTypeEnum.RESOURCE, COMPONENT_ID, POLICY_TYPE_NAME, USER_ID, true);
-        } catch(ByActionStatusComponentException e){
+        } catch (ByActionStatusComponentException e) {
             assertEquals(e.getActionStatus(), userNotFoundException.getActionStatus());
         }
     }
 
-    private void assertNotFound(Either<PolicyDefinition, ResponseFormat> response) {
-        assertThat(response.isRight() && response.right().value().getStatus().equals(404)).isTrue();
-    }
-
-    @Test(expected = ComponentException.class)
-    public void createPolicyComponentFailureTest(){
-        when(userValidations.validateUserExists(eq(USER_ID))).thenReturn(user);
+    @Test
+    void createPolicyComponentFailureTest() {
+        when(userValidations.validateUserExists(USER_ID)).thenReturn(user);
         Either<Component, StorageOperationStatus> componentNotFoundResponse = Either.right(StorageOperationStatus.NOT_FOUND);
-        when(componentsUtils.convertFromStorageResponse(eq(StorageOperationStatus.NOT_FOUND), eq(ComponentTypeEnum.RESOURCE))).thenReturn(ActionStatus.RESOURCE_NOT_FOUND);
+        when(componentsUtils.convertFromStorageResponse(StorageOperationStatus.NOT_FOUND, ComponentTypeEnum.RESOURCE)).thenReturn(
+            ActionStatus.RESOURCE_NOT_FOUND);
         when(toscaOperationFacade.getToscaElement(eq(COMPONENT_ID), any(ComponentParametersView.class))).thenReturn(componentNotFoundResponse);
-        businessLogic.createPolicy(ComponentTypeEnum.RESOURCE, COMPONENT_ID, POLICY_TYPE_NAME, USER_ID, true);
+        assertThrows(ComponentException.class,
+            () -> businessLogic.createPolicy(ComponentTypeEnum.RESOURCE, COMPONENT_ID, POLICY_TYPE_NAME, USER_ID, true));
     }
-    
-    @Test(expected = ComponentException.class)
-    public void createPolicyPolicyTypeFailureTest(){
-        stubValidateAndLockSuccess(CREATE_POLICY);
+
+    @Test
+    void createPolicyPolicyTypeFailureTest() {
+        stubValidateAndLockSuccess();
         Either<PolicyTypeDefinition, StorageOperationStatus> getPolicyTypeFailed = Either.right(StorageOperationStatus.NOT_FOUND);
         when(policyTypeOperation.getLatestPolicyTypeByType(eq(POLICY_TYPE_NAME), any())).thenReturn(getPolicyTypeFailed);
-        when(componentsUtils.convertFromStorageResponse(eq(getPolicyTypeFailed.right().value()))).thenReturn(ActionStatus.RESOURCE_NOT_FOUND);
+        when(componentsUtils.convertFromStorageResponse(getPolicyTypeFailed.right().value())).thenReturn(ActionStatus.RESOURCE_NOT_FOUND);
         stubUnlockAndRollback();
-        businessLogic.createPolicy(ComponentTypeEnum.RESOURCE, COMPONENT_ID, POLICY_TYPE_NAME, USER_ID, true);
+        assertThrows(ComponentException.class,
+            () -> businessLogic.createPolicy(ComponentTypeEnum.RESOURCE, COMPONENT_ID, POLICY_TYPE_NAME, USER_ID, true));
     }
-    
-    @Test(expected = ComponentException.class)
-    public void createPolicyComponentTypeFailureTest(){
-        stubValidateAndLockSuccess(CREATE_POLICY);
+
+    @Test
+    void createPolicyComponentTypeFailureTest() {
+        stubValidateAndLockSuccess();
         when(policyTypeOperation.getLatestPolicyTypeByType(eq(POLICY_TYPE_NAME), any())).thenReturn(getPolicyTypeSuccessEither);
         Either<PolicyDefinition, StorageOperationStatus> addPolicyRes = Either.right(StorageOperationStatus.BAD_REQUEST);
         when(toscaOperationFacade.associatePolicyToComponent(eq(COMPONENT_ID), any(PolicyDefinition.class), eq(0))).thenReturn(addPolicyRes);
-        when(componentsUtils.convertFromStorageResponse(eq(addPolicyRes.right().value()))).thenReturn(ActionStatus.INVALID_CONTENT);
+        when(componentsUtils.convertFromStorageResponse(addPolicyRes.right().value())).thenReturn(ActionStatus.INVALID_CONTENT);
 
         stubUnlockAndRollback();
-        businessLogic.createPolicy(ComponentTypeEnum.RESOURCE, COMPONENT_ID, POLICY_TYPE_NAME, USER_ID, true);
+        assertThrows(ComponentException.class,
+            () -> businessLogic.createPolicy(ComponentTypeEnum.RESOURCE, COMPONENT_ID, POLICY_TYPE_NAME, USER_ID, true));
     }
 
     @Test
-    public void updatePolicySuccessTest(){
-        stubValidateAndLockSuccess(CREATE_POLICY);
-        when(toscaOperationFacade.updatePolicyOfComponent(eq(COMPONENT_ID), any(PolicyDefinition.class), any(PromoteVersionEnum.class))).thenReturn(policySuccessEither);
+    void updatePolicySuccessTest() {
+        stubValidateAndLockSuccess();
+        when(toscaOperationFacade.updatePolicyOfComponent(eq(COMPONENT_ID), any(PolicyDefinition.class), any(PromoteVersionEnum.class))).thenReturn(
+            policySuccessEither);
         stubUnlockAndCommit();
-        PolicyDefinition  response = businessLogic.updatePolicy(ComponentTypeEnum.RESOURCE, COMPONENT_ID, otherPolicy, USER_ID, true);
-        assertThat(response.isEmpty()).isFalse();
+        PolicyDefinition response = businessLogic.updatePolicy(ComponentTypeEnum.RESOURCE, COMPONENT_ID, otherPolicy, USER_ID, true);
+        assertFalse(response.isEmpty());
     }
-    
-    @Test(expected = ComponentException.class)
-    public void updatePolicyNameFailureTest(){
-        stubValidateAndLockSuccess(CREATE_POLICY);
+
+    @Test
+    void updatePolicyNameFailureTest() {
+        stubValidateAndLockSuccess();
         stubUnlockAndRollback();
-        businessLogic.updatePolicy(ComponentTypeEnum.RESOURCE, COMPONENT_ID, policy, USER_ID, true);
+        assertThrows(ComponentException.class, () -> businessLogic.updatePolicy(ComponentTypeEnum.RESOURCE, COMPONENT_ID, policy, USER_ID, true));
     }
-    
+
     @Test
-    public void getPolicySuccessTest(){
-        stubValidationSuccess(CREATE_POLICY);
-        stubCommit();
+    void getPolicySuccessTest() {
+        stubValidationSuccess();
         PolicyDefinition response = businessLogic.getPolicy(ComponentTypeEnum.RESOURCE, COMPONENT_ID, POLICY_ID, USER_ID);
-        assertThat(response.isEmpty()).isFalse();
+        assertFalse(response.isEmpty());
     }
-    
-    @Test(expected = ComponentException.class)
-    public void getPolicyFailureTest(){
-        stubValidationSuccess(CREATE_POLICY);
-        stubRollback();
-        businessLogic.getPolicy(ComponentTypeEnum.RESOURCE, COMPONENT_ID, INVALID_POLICY_ID, USER_ID);
+
+    @Test
+    void getPolicyFailureTest() {
+        stubValidationSuccess();
+        assertThrows(ComponentException.class, () -> businessLogic.getPolicy(ComponentTypeEnum.RESOURCE, COMPONENT_ID, INVALID_POLICY_ID, USER_ID));
     }
-    
+
     @Test
-    public void deletePolicySuccessTest(){
-        stubValidateAndLockSuccess(CREATE_POLICY);
+    void deletePolicySuccessTest() {
+        stubValidateAndLockSuccess();
         stubCommit();
-        when(toscaOperationFacade.removePolicyFromComponent(eq(COMPONENT_ID),eq(POLICY_ID))).thenReturn(StorageOperationStatus.OK);
-        PolicyDefinition  response = businessLogic.deletePolicy(ComponentTypeEnum.RESOURCE, COMPONENT_ID, POLICY_ID, USER_ID, true);
-        assertThat(response.isEmpty()).isFalse();
-    }
-    
-    @Test(expected = ComponentException.class)
-    public void deletePolicyFailureTest(){
-        stubValidateAndLockSuccess(CREATE_POLICY);
-        stubCommit();
-        businessLogic.deletePolicy(ComponentTypeEnum.RESOURCE, COMPONENT_ID, INVALID_POLICY_ID, USER_ID, true);
+        when(toscaOperationFacade.removePolicyFromComponent(COMPONENT_ID, POLICY_ID)).thenReturn(StorageOperationStatus.OK);
+        PolicyDefinition response = businessLogic.deletePolicy(ComponentTypeEnum.RESOURCE, COMPONENT_ID, POLICY_ID, USER_ID, true);
+        assertFalse(response.isEmpty());
     }
 
+    @Test
+    void deletePolicyFailureTest() {
+        stubValidateAndLockSuccess();
+        assertThrows(ComponentException.class,
+            () -> businessLogic.deletePolicy(ComponentTypeEnum.RESOURCE, COMPONENT_ID, INVALID_POLICY_ID, USER_ID, true));
+    }
 
     @Test
-    public void updatePolicyPropertiesSuccessTest(){
-        stubValidateAndLockSuccess(CREATE_POLICY);
+    void updatePolicyPropertiesSuccessTest() {
+        stubValidateAndLockSuccess();
         String prop1 = "Name";
         String prop2 = "Type";
         when(propertyOperation.validateAndUpdatePropertyValue(eq(null), eq(prop1), anyBoolean(), eq(null), anyMap())).thenReturn(Either.left(prop1));
         when(propertyOperation.validateAndUpdatePropertyValue(eq(null), eq(prop2), anyBoolean(), eq(null), anyMap())).thenReturn(Either.left(prop2));
-        when(toscaOperationFacade.updatePolicyOfComponent(eq(COMPONENT_ID), any(PolicyDefinition.class), any(PromoteVersionEnum.class))).thenReturn(policySuccessEither);
+        when(toscaOperationFacade.updatePolicyOfComponent(eq(COMPONENT_ID), any(PolicyDefinition.class), any(PromoteVersionEnum.class))).thenReturn(
+            policySuccessEither);
         stubUnlockAndCommit();
         PropertyDataDefinition[] properties = getProperties(prop1, prop2);
         policy.setProperties(Arrays.asList(properties));
-        List<PropertyDataDefinition>  response = businessLogic.updatePolicyProperties(ComponentTypeEnum.RESOURCE, COMPONENT_ID, POLICY_ID, properties , USER_ID, true);
+        List<PropertyDataDefinition> response = businessLogic.updatePolicyProperties(ComponentTypeEnum.RESOURCE, COMPONENT_ID, POLICY_ID, properties,
+            USER_ID, true);
         List<PropertyDataDefinition> updatedProperties = response;
-        assertThat(updatedProperties.size()).isEqualTo(2);
+        assertEquals(2, updatedProperties.size());
     }
 
     @Test
-    public void updatePolicyTargetsSuccessTest(){
-        stubValidateAndLockSuccess(CREATE_POLICY);
+    void updatePolicyTargetsSuccessTest() {
+        stubValidateAndLockSuccess();
         stubGetToscaFullElementSuccess();
         stubUpdatePolicyOfComponentSuccess();
         stubGetToscaElementSuccess();
         PolicyDefinition policyResult = businessLogic.updatePolicyTargets(ComponentTypeEnum.RESOURCE, COMPONENT_ID, POLICY_ID, getTargets(), USER_ID);
         Map<PolicyTargetType, List<String>> targets = getTargets();
-        assertThat(policyResult.getTargets().values()).usingFieldByFieldElementComparator().containsExactlyInAnyOrder(targets.get(PolicyTargetType.GROUPS), targets.get(PolicyTargetType.COMPONENT_INSTANCES));
+        assertTrue(policyResult.getTargets().values()
+            .containsAll(Arrays.asList(targets.get(PolicyTargetType.GROUPS), targets.get(PolicyTargetType.COMPONENT_INSTANCES))));
 
     }
 
-    @Test(expected = ComponentException.class)
-    public void updatePolicyTargetsTargetIDFailureTest(){
-        stubValidateAndLockSuccess(CREATE_POLICY);
+    @Test
+    void updatePolicyTargetsTargetIDFailureTest() {
+        stubValidateAndLockSuccess();
         stubGetToscaFullElementSuccess();
         stubGetToscaElementSuccess();
-        stubUpdatePolicyOfComponentSuccess();
         stubRollback();
-        businessLogic.updatePolicyTargets(ComponentTypeEnum.RESOURCE, COMPONENT_ID, POLICY_ID, getTargetListFakeId(), USER_ID);
-
+        Map<PolicyTargetType, List<String>> targetListFakeId = getTargetListFakeId();
+        final var componentException = assertThrows(ComponentException.class,
+            () -> businessLogic.updatePolicyTargets(ComponentTypeEnum.RESOURCE, COMPONENT_ID, POLICY_ID, targetListFakeId, USER_ID));
+        assertNotNull(componentException);
+        assertEquals(POLICY_TARGET_DOES_NOT_EXIST, componentException.getActionStatus());
+        assertEquals(400, componentException.getResponseFormat().getStatus());
+        assertEquals(1, componentException.getParams().length);
+        assertEquals(UNIQUE_ID_DOESNT_EXSISTS, componentException.getParams()[0]);
     }
 
-
-    @Test(expected = ComponentException.class)
-    public void updatePolicyTargetsTypeFailureTest(){
-        stubValidateAndLockSuccess(CREATE_POLICY);
+    @Test
+    void updatePolicyTargetsTypeFailureTest() {
+        stubValidateAndLockSuccess();
         stubGetToscaFullElementSuccess();
         stubGetToscaElementSuccess();
-        stubUpdatePolicyOfComponentSuccess();
         stubRollback();
-        businessLogic.updatePolicyTargets(ComponentTypeEnum.RESOURCE, COMPONENT_ID, POLICY_ID, getTargetListFakeType(), USER_ID);
-
+        Map<PolicyTargetType, List<String>> targetListFakeType = getTargetListFakeType();
+        final var componentException = assertThrows(ComponentException.class,
+            () -> businessLogic.updatePolicyTargets(ComponentTypeEnum.RESOURCE, COMPONENT_ID, POLICY_ID, targetListFakeType, USER_ID));
+        assertNotNull(componentException);
+        assertEquals(POLICY_TARGET_DOES_NOT_EXIST, componentException.getActionStatus());
+        assertEquals(400, componentException.getResponseFormat().getStatus());
+        assertEquals(1, componentException.getParams().length);
+        assertEquals(UNIQUE_ID_EXSISTS, componentException.getParams()[0]);
     }
 
     private void stubUpdatePolicyOfComponentSuccess() {
-        when(toscaOperationFacade.updatePolicyOfComponent(eq(COMPONENT_ID), eq(policy), any(PromoteVersionEnum.class))).thenReturn(policySuccessEither);
+        when(toscaOperationFacade.updatePolicyOfComponent(eq(COMPONENT_ID), eq(policy), any(PromoteVersionEnum.class))).thenReturn(
+            policySuccessEither);
     }
 
-
-    @Test(expected = ComponentException.class)
-    public void updatePolicyPropertiesFailureTest(){
-        stubValidateAndLockSuccess(CREATE_POLICY);
-        stubUnlockAndRollback();
+    @Test
+    void updatePolicyPropertiesFailureTest() {
+        stubValidateAndLockSuccess();
+        when(graphLockOperation.unlockComponent(eq(COMPONENT_ID), any(NodeTypeEnum.class))).thenReturn(StorageOperationStatus.OK);
         policy.setProperties(null);
-        businessLogic.updatePolicyProperties(ComponentTypeEnum.RESOURCE, COMPONENT_ID, POLICY_ID, getProperties("Name", "Type") , USER_ID, true);
+        PropertyDataDefinition[] properties = getProperties("Name", "Type");
+        final var componentException = assertThrows(ComponentException.class,
+            () -> businessLogic.updatePolicyProperties(ComponentTypeEnum.RESOURCE, COMPONENT_ID, POLICY_ID, properties, USER_ID, true));
+        assertNotNull(componentException);
+        assertEquals(PROPERTY_NOT_FOUND, componentException.getActionStatus());
+        assertEquals(404, componentException.getResponseFormat().getStatus());
+        assertEquals(0, componentException.getParams().length);
     }
 
     @Test
-    public void testDeclarePropertiesAsPoliciesSuccess() {
+    void testDeclarePropertiesAsPoliciesSuccess() {
         when(toscaOperationFacade.getToscaElement(eq(COMPONENT_ID), Mockito.any(ComponentParametersView.class))).thenReturn(Either.left(resource));
         when(graphLockOperation.lockComponent(any(), any())).thenReturn(StorageOperationStatus.OK);
         when(graphLockOperation.unlockComponent(any(), any())).thenReturn(StorageOperationStatus.OK);
@@ -386,28 +494,30 @@ public class PolicyBusinessLogicTest {
         when(propertyDeclarationOrchestrator.declarePropertiesToPolicies(any(), any())).thenReturn(Either.left(getDeclaredPolicies()));
 
         Either<List<PolicyDefinition>, ResponseFormat> declaredPoliciesEither = businessLogic
-                                                                                          .declareProperties(USER_ID,
-                                                                                                  resource.getUniqueId(),
-                                                                                                  ComponentTypeEnum.RESOURCE,
-                                                                                                  getInputForPropertyToPolicyDeclaration());
+            .declareProperties(USER_ID,
+                resource.getUniqueId(),
+                ComponentTypeEnum.RESOURCE,
+                getInputForPropertyToPolicyDeclaration());
 
-        assertThat(declaredPoliciesEither.isLeft()).isTrue();
+        assertTrue(declaredPoliciesEither.isLeft());
 
         List<PolicyDefinition> declaredPolicies = declaredPoliciesEither.left().value();
-        assertThat(CollectionUtils.isNotEmpty(declaredPolicies)).isTrue();
+        assertTrue(CollectionUtils.isNotEmpty(declaredPolicies));
         assertEquals(1, declaredPolicies.size());
     }
 
     @Test
-    public void testDeclarePropertiesAsPoliciesFailure() {
-        when(toscaOperationFacade.getToscaElement(eq(NON_EXIST_COMPONENT_ID), Mockito.any(ComponentParametersView.class))).thenReturn(Either.right(StorageOperationStatus.NOT_FOUND));
-        when(componentsUtils.convertFromStorageResponse(eq(StorageOperationStatus.NOT_FOUND), eq(ComponentTypeEnum.RESOURCE))).thenReturn(ActionStatus.RESOURCE_NOT_FOUND);
+    void testDeclarePropertiesAsPoliciesFailure() {
+        when(toscaOperationFacade.getToscaElement(eq(NON_EXIST_COMPONENT_ID), Mockito.any(ComponentParametersView.class))).thenReturn(
+            Either.right(StorageOperationStatus.NOT_FOUND));
+        when(componentsUtils.convertFromStorageResponse(StorageOperationStatus.NOT_FOUND, ComponentTypeEnum.RESOURCE)).thenReturn(
+            ActionStatus.RESOURCE_NOT_FOUND);
         try {
             businessLogic
-                    .declareProperties(USER_ID,
-                            NON_EXIST_COMPONENT_ID,
-                            ComponentTypeEnum.RESOURCE,
-                            getInputForPropertyToPolicyDeclaration());
+                .declareProperties(USER_ID,
+                    NON_EXIST_COMPONENT_ID,
+                    ComponentTypeEnum.RESOURCE,
+                    getInputForPropertyToPolicyDeclaration());
         } catch (ComponentException e) {
             assertEquals(ActionStatus.RESOURCE_NOT_FOUND, e.getActionStatus());
             return;
@@ -450,8 +560,7 @@ public class PolicyBusinessLogicTest {
         property2.setValue(prop2);
         return new PropertyDataDefinition[]{property1, property2};
     }
-    
-    
+
     private void stubUnlockAndRollback() {
         when(graphLockOperation.unlockComponent(eq(COMPONENT_ID), any(NodeTypeEnum.class))).thenReturn(StorageOperationStatus.OK);
         stubRollback();
@@ -469,23 +578,23 @@ public class PolicyBusinessLogicTest {
         when(graphLockOperation.unlockComponent(eq(COMPONENT_ID), any(NodeTypeEnum.class))).thenReturn(StorageOperationStatus.OK);
         stubCommit();
     }
-    
-    private void stubValidateAndLockSuccess(String methodName) {
-        stubValidationSuccess(methodName);
+
+    private void stubValidateAndLockSuccess() {
+        stubValidationSuccess();
         when(graphLockOperation.lockComponent(eq(COMPONENT_ID), any(NodeTypeEnum.class))).thenReturn(StorageOperationStatus.OK);
-   }
+    }
 
-    private void stubValidationSuccess(String methodName) {
-        when(userValidations.validateUserExists(eq(USER_ID))).thenReturn(user);
+    private void stubValidationSuccess() {
+        when(userValidations.validateUserExists(USER_ID)).thenReturn(user);
         when(toscaOperationFacade.getToscaElement(eq(COMPONENT_ID), any(ComponentParametersView.class))).thenReturn(componentSuccessEither);
     }
 
     private void stubGetToscaFullElementSuccess() {
-        when(toscaOperationFacade.getToscaFullElement(eq(COMPONENT_ID))).thenReturn(buildElementEither());
+        when(toscaOperationFacade.getToscaFullElement(COMPONENT_ID)).thenReturn(buildElementEither());
     }
 
     private void stubGetToscaElementSuccess() {
-        when(toscaOperationFacade.getToscaElement(eq(COMPONENT_ID))).thenReturn(componentSuccessEither);
+        when(toscaOperationFacade.getToscaElement(COMPONENT_ID)).thenReturn(componentSuccessEither);
     }
 
     private Either<Component, StorageOperationStatus> buildElementEither() {
@@ -503,46 +612,6 @@ public class PolicyBusinessLogicTest {
         return targets;
     }
 
-
-
-    private static PolicyTypeDefinition buildPolicyType() {
-        PolicyTypeDefinition policyType = new PolicyTypeDefinition();
-        policyType.setType(POLICY_TYPE_NAME);
-        return policyType;
-    }
-
-    private static PolicyDefinition buildPolicy(String policyName) {
-        PolicyDefinition policy = new PolicyDefinition();
-        policy.setUniqueId(POLICY_ID);
-        policy.setPolicyTypeName(POLICY_TYPE_NAME);
-        policy.setComponentName(COMPONENT_NAME);
-        policy.setName(policyName);
-        return policy;
-    }
-
-    private static Resource buildResource() {
-        Resource resource = new Resource();
-        resource.setUniqueId(COMPONENT_ID);
-        resource.setName(COMPONENT_NAME);
-        resource.setCreatorUserId(USER_ID);
-        resource.setLastUpdaterUserId(USER_ID);
-        resource.setState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT);
-        resource.setIsDeleted(false);
-        resource.setResourceType(ResourceTypeEnum.VF);
-        resource.setToscaType(ToscaElementTypeEnum.TOPOLOGY_TEMPLATE.getValue());
-        resource.setComponentType(ComponentTypeEnum.RESOURCE);
-        Map<String, PolicyDefinition> policies = new HashMap<>();
-        policies.put(POLICY_ID, policy);
-        resource.setPolicies(policies);
-        return resource;
-    }
-
-    private static User buildUser() {
-        User user = new User();
-        user.setUserId(USER_ID);
-        return user;
-    }
-
     private Map<PolicyTargetType, List<String>> getTargetListFakeType() {
         Map<PolicyTargetType, List<String>> targets = new HashMap<>();
         targets.put(PolicyTargetType.TYPE_DOES_NOT_EXIST, Collections.singletonList(UNIQUE_ID_EXSISTS));