Support Policies during Import Service 64/129664/13
authorvasraz <vasyl.razinkov@est.tech>
Wed, 13 Jul 2022 14:58:59 +0000 (15:58 +0100)
committerMichael Morris <michael.morris@est.tech>
Thu, 14 Jul 2022 16:43:37 +0000 (16:43 +0000)
Signed-off-by: Vasyl Razinkov <vasyl.razinkov@est.tech>
Change-Id: I3ea14869853733a8a2069ae0568cfbb053849a79
Issue-ID: SDC-4060

22 files changed:
catalog-be/src/main/java/org/openecomp/sdc/be/components/csar/YamlTemplateParsingHandler.java
catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/BaseBusinessLogic.java
catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ComponentBusinessLogic.java
catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ImportUtils.java
catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/PolicyBusinessLogic.java
catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ResourceBusinessLogic.java
catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ServiceBusinessLogic.java
catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ServiceImportBusinessLogic.java
catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ServiceImportParseLogic.java
catalog-be/src/main/java/org/openecomp/sdc/be/servlets/PolicyServlet.java
catalog-be/src/main/java/org/openecomp/sdc/be/servlets/ServiceServlet.java
catalog-be/src/test/java/org/openecomp/sdc/be/components/BaseServiceBusinessLogicTest.java
catalog-be/src/test/java/org/openecomp/sdc/be/components/ServiceDistributionBLTest.java
catalog-be/src/test/java/org/openecomp/sdc/be/components/csar/YamlTemplateParsingHandlerTest.java [moved from catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/utils/YamlTemplateParsingHandlerTest.java with 80% similarity]
catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/PolicyBusinessLogicTest.java
catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ServiceBusinessLogicBaseTestSetup.java
catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ServiceImportBusinessLogicTest.java
catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ServiceImportBussinessLogicBaseTestSetup.java
catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ServiceImportManagerTest.java
catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ServiceImportParseLogicTest.java
catalog-be/src/test/java/org/openecomp/sdc/be/components/path/BaseForwardingPathTest.java
catalog-be/src/test/java/org/openecomp/sdc/be/tosca/PolicyExportParserImplTest.java

index 6752586..31281db 100644 (file)
@@ -87,6 +87,7 @@ import org.openecomp.sdc.be.datatypes.elements.PolicyTargetType;
 import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition;
 import org.openecomp.sdc.be.datatypes.elements.RequirementSubstitutionFilterPropertyDataDefinition;
 import org.openecomp.sdc.be.model.CapabilityDefinition;
 import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition;
 import org.openecomp.sdc.be.datatypes.elements.RequirementSubstitutionFilterPropertyDataDefinition;
 import org.openecomp.sdc.be.model.CapabilityDefinition;
+import org.openecomp.sdc.be.model.Component;
 import org.openecomp.sdc.be.model.ComponentInstanceProperty;
 import org.openecomp.sdc.be.model.GroupDefinition;
 import org.openecomp.sdc.be.model.GroupTypeDefinition;
 import org.openecomp.sdc.be.model.ComponentInstanceProperty;
 import org.openecomp.sdc.be.model.GroupDefinition;
 import org.openecomp.sdc.be.model.GroupTypeDefinition;
@@ -96,7 +97,6 @@ import org.openecomp.sdc.be.model.ParsedToscaYamlInfo;
 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.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.UploadArtifactInfo;
 import org.openecomp.sdc.be.model.UploadCapInfo;
 import org.openecomp.sdc.be.model.UploadComponentInstanceInfo;
 import org.openecomp.sdc.be.model.UploadArtifactInfo;
 import org.openecomp.sdc.be.model.UploadCapInfo;
 import org.openecomp.sdc.be.model.UploadComponentInstanceInfo;
@@ -105,13 +105,12 @@ import org.openecomp.sdc.be.model.UploadReqInfo;
 import org.openecomp.sdc.be.model.tosca.ToscaPropertyType;
 import org.openecomp.sdc.be.utils.TypeUtils;
 import org.openecomp.sdc.common.log.wrappers.Logger;
 import org.openecomp.sdc.be.model.tosca.ToscaPropertyType;
 import org.openecomp.sdc.be.utils.TypeUtils;
 import org.openecomp.sdc.common.log.wrappers.Logger;
-import org.springframework.stereotype.Component;
 import org.yaml.snakeyaml.parser.ParserException;
 
 /**
  * A handler class designed to parse the YAML file of the service template for a JAVA object
  */
 import org.yaml.snakeyaml.parser.ParserException;
 
 /**
  * A handler class designed to parse the YAML file of the service template for a JAVA object
  */
-@Component
+@org.springframework.stereotype.Component
 public class YamlTemplateParsingHandler {
 
     private static final Pattern propertyValuePattern = Pattern.compile("[ ]*\\{[ ]*(str_replace=|token=|get_property=|concat=|get_attribute=)+");
 public class YamlTemplateParsingHandler {
 
     private static final Pattern propertyValuePattern = Pattern.compile("[ ]*\\{[ ]*(str_replace=|token=|get_property=|concat=|get_attribute=)+");
@@ -134,7 +133,7 @@ public class YamlTemplateParsingHandler {
 
     public ParsedToscaYamlInfo parseResourceInfoFromYAML(String fileName, String resourceYml, Map<String, String> createdNodesToscaResourceNames,
                                                          Map<String, NodeTypeInfo> nodeTypesInfo, String nodeName,
 
     public ParsedToscaYamlInfo parseResourceInfoFromYAML(String fileName, String resourceYml, Map<String, String> createdNodesToscaResourceNames,
                                                          Map<String, NodeTypeInfo> nodeTypesInfo, String nodeName,
-                                                         org.openecomp.sdc.be.model.Component component, String interfaceTemplateYaml) {
+                                                         Component component, String interfaceTemplateYaml) {
         log.debug("#parseResourceInfoFromYAML - Going to parse yaml {} ", fileName);
         Map<String, Object> mappedToscaTemplate = getMappedToscaTemplate(fileName, resourceYml, nodeTypesInfo, nodeName);
         ParsedToscaYamlInfo parsedToscaYamlInfo = new ParsedToscaYamlInfo();
         log.debug("#parseResourceInfoFromYAML - Going to parse yaml {} ", fileName);
         Map<String, Object> mappedToscaTemplate = getMappedToscaTemplate(fileName, resourceYml, nodeTypesInfo, nodeName);
         ParsedToscaYamlInfo parsedToscaYamlInfo = new ParsedToscaYamlInfo();
@@ -145,15 +144,14 @@ public class YamlTemplateParsingHandler {
         parsedToscaYamlInfo.setInputs(getInputs(mappedTopologyTemplateInputs));
         parsedToscaYamlInfo.setInstances(getInstances(mappedToscaTemplate, createdNodesToscaResourceNames));
         parsedToscaYamlInfo.setGroups(getGroups(mappedToscaTemplate, component.getModel()));
         parsedToscaYamlInfo.setInputs(getInputs(mappedTopologyTemplateInputs));
         parsedToscaYamlInfo.setInstances(getInstances(mappedToscaTemplate, createdNodesToscaResourceNames));
         parsedToscaYamlInfo.setGroups(getGroups(mappedToscaTemplate, component.getModel()));
-        if (component instanceof Resource) {
-            parsedToscaYamlInfo.setPolicies(getPolicies(fileName, mappedToscaTemplate, component.getModel()));
-        }
-        if (getSubstitutionMappings(mappedToscaTemplate) != null) {
+        parsedToscaYamlInfo.setPolicies(getPolicies(mappedToscaTemplate, component.getModel()));
+        Map<String, Object> substitutionMappings = getSubstitutionMappings(mappedToscaTemplate);
+        if (substitutionMappings != null) {
             if (component.isService() && !interfaceTemplateYaml.isEmpty()) {
                 parsedToscaYamlInfo.setProperties(getProperties(loadYamlAsStrictMap(interfaceTemplateYaml)));
                 parsedToscaYamlInfo.setSubstitutionFilterProperties(getSubstitutionFilterProperties(mappedToscaTemplate));
             }
             if (component.isService() && !interfaceTemplateYaml.isEmpty()) {
                 parsedToscaYamlInfo.setProperties(getProperties(loadYamlAsStrictMap(interfaceTemplateYaml)));
                 parsedToscaYamlInfo.setSubstitutionFilterProperties(getSubstitutionFilterProperties(mappedToscaTemplate));
             }
-            parsedToscaYamlInfo.setSubstitutionMappingNodeType((String) getSubstitutionMappings(mappedToscaTemplate).get(NODE_TYPE.getElementName()));
+            parsedToscaYamlInfo.setSubstitutionMappingNodeType((String) substitutionMappings.get(NODE_TYPE.getElementName()));
         }
         log.debug("#parseResourceInfoFromYAML - The yaml {} has been parsed ", fileName);
         return parsedToscaYamlInfo;
         }
         log.debug("#parseResourceInfoFromYAML - The yaml {} has been parsed ", fileName);
         return parsedToscaYamlInfo;
@@ -230,10 +228,13 @@ public class YamlTemplateParsingHandler {
         return constraints;
     }
 
         return constraints;
     }
 
-    private Map<String, PolicyDefinition> getPolicies(String fileName, Map<String, Object> toscaJson, String model) {
-        Map<String, Object> foundPolicies = findFirstToscaMapElement(toscaJson, POLICIES).left().on(err -> logPoliciesNotFound(fileName));
+    private Map<String, PolicyDefinition> getPolicies(Map<String, Object> toscaJson, String model) {
+        Map<String, Object> mappedTopologyTemplate = (Map<String, Object>) findToscaElement(toscaJson, TOPOLOGY_TEMPLATE, ToscaElementTypeEnum.ALL)
+            .left().on(err -> new HashMap<>());
+        Map<String, Object> foundPolicies = (Map<String, Object>) mappedTopologyTemplate.get(POLICIES.getElementName());
         if (MapUtils.isNotEmpty(foundPolicies)) {
         if (MapUtils.isNotEmpty(foundPolicies)) {
-            return foundPolicies.entrySet().stream().map(policyToCreate -> createPolicy(policyToCreate, model)).collect(Collectors.toMap(PolicyDefinition::getName, p -> p));
+            return foundPolicies.entrySet().stream().map(policyToCreate -> createPolicy(policyToCreate, model))
+                .collect(Collectors.toMap(PolicyDefinition::getName, p -> p));
         }
         return Collections.emptyMap();
     }
         }
         return Collections.emptyMap();
     }
@@ -257,11 +258,6 @@ public class YamlTemplateParsingHandler {
         return emptyPolicyDef;
     }
 
         return emptyPolicyDef;
     }
 
-    private Map<String, Object> logPoliciesNotFound(String fileName) {
-        log.debug("#logPoliciesNotFound - Policies were not found in the yaml template {}.", fileName);
-        return Collections.emptyMap();
-    }
-
     private void validateAndFillPolicy(PolicyDefinition emptyPolicyDefinition, Map<String, Object> policyTemplateJsonMap, String model) {
         String policyTypeName = (String) policyTemplateJsonMap.get(TYPE.getElementName());
         if (StringUtils.isEmpty(policyTypeName)) {
     private void validateAndFillPolicy(PolicyDefinition emptyPolicyDefinition, Map<String, Object> policyTemplateJsonMap, String model) {
         String policyTypeName = (String) policyTemplateJsonMap.get(TYPE.getElementName());
         if (StringUtils.isEmpty(policyTypeName)) {
@@ -364,25 +360,6 @@ public class YamlTemplateParsingHandler {
         return new HashMap<>();
     }
 
         return new HashMap<>();
     }
 
-    private boolean matcheKey(Map<String, Object> foundGroups) {
-        if (foundGroups != null && !foundGroups.isEmpty()) {
-            for (Map.Entry<String, Object> stringObjectEntry : foundGroups.entrySet()) {
-                String key = stringObjectEntry.getKey();
-                if (key.contains("group")) {
-                    if (foundGroups.get(key) instanceof Map) {
-                        return true;
-                    }
-                }
-            }
-        }
-        return false;
-    }
-
-    private Map<String, Object> logGroupsNotFound(String fileName) {
-        log.debug("#logGroupsNotFound - Groups were not found in the yaml template {}.", fileName);
-        return new HashMap<>();
-    }
-
     private void updateCapabilitiesNames(GroupDefinition group, Map<String, String> capabilityNames) {
         if (MapUtils.isNotEmpty(group.getCapabilities())) {
             group.getCapabilities().values().stream().flatMap(Collection::stream).filter(cap -> capabilityNames.containsKey(cap.getName()))
     private void updateCapabilitiesNames(GroupDefinition group, Map<String, String> capabilityNames) {
         if (MapUtils.isNotEmpty(group.getCapabilities())) {
             group.getCapabilities().values().stream().flatMap(Collection::stream).filter(cap -> capabilityNames.containsKey(cap.getName()))
@@ -593,7 +570,7 @@ public class YamlTemplateParsingHandler {
         if (CollectionUtils.isNotEmpty(missingProperties)) {
             if (log.isDebugEnabled()) {
                 log.debug("#validateProperties - Failed to validate properties. The properties {} are missing on {} of the type {}. ",
         if (CollectionUtils.isNotEmpty(missingProperties)) {
             if (log.isDebugEnabled()) {
                 log.debug("#validateProperties - Failed to validate properties. The properties {} are missing on {} of the type {}. ",
-                        missingProperties.toString(), name, type);
+                    missingProperties.toString(), name, type);
             }
             rollbackWithException(actionStatus, missingProperties.toString(), missingProperties.toString(), name, type);
         }
             }
             rollbackWithException(actionStatus, missingProperties.toString(), missingProperties.toString(), name, type);
         }
@@ -1045,7 +1022,7 @@ public class YamlTemplateParsingHandler {
 
     @SuppressWarnings("unchecked")
     private void findAndFillInputRecursively(Map<String, Object> propValue, UploadPropInfo propertyDef) {
 
     @SuppressWarnings("unchecked")
     private void findAndFillInputRecursively(Map<String, Object> propValue, UploadPropInfo propertyDef) {
-        for (Map.Entry<String,Object> entry : propValue.entrySet()) {
+        for (Map.Entry<String, Object> entry : propValue.entrySet()) {
             String propName = entry.getKey();
             Object value = entry.getValue();
             if (value instanceof Map) {
             String propName = entry.getKey();
             Object value = entry.getValue();
             if (value instanceof Map) {
@@ -1057,9 +1034,7 @@ public class YamlTemplateParsingHandler {
     }
 
     private void fillInputsRecursively(UploadPropInfo propertyDef, String propName, List<Object> inputs) {
     }
 
     private void fillInputsRecursively(UploadPropInfo propertyDef, String propName, List<Object> inputs) {
-        inputs.stream()
-                .filter(Map.class::isInstance)
-                .forEach(o -> fillInputRecursively(propName, (Map<String, Object>) o, propertyDef));
+        inputs.stream().filter(Map.class::isInstance).forEach(o -> fillInputRecursively(propName, (Map<String, Object>) o, propertyDef));
     }
 
     @SuppressWarnings("unchecked")
     }
 
     @SuppressWarnings("unchecked")
@@ -1102,8 +1077,8 @@ public class YamlTemplateParsingHandler {
     private void failOnMissingCapabilityTypes(GroupDefinition groupDefinition, List<String> missingCapTypes) {
         if (log.isDebugEnabled()) {
             log.debug(
     private void failOnMissingCapabilityTypes(GroupDefinition groupDefinition, List<String> missingCapTypes) {
         if (log.isDebugEnabled()) {
             log.debug(
-                    "#failOnMissingCapabilityTypes - Failed to validate the capabilities of the group {}. The capability types {} are missing on the group type {}. ",
-                    groupDefinition.getName(), missingCapTypes.toString(), groupDefinition.getType());
+                "#failOnMissingCapabilityTypes - Failed to validate the capabilities of the group {}. The capability types {} are missing on the group type {}. ",
+                groupDefinition.getName(), missingCapTypes.toString(), groupDefinition.getType());
         }
         if (CollectionUtils.isNotEmpty(missingCapTypes)) {
             rollbackWithException(ActionStatus.MISSING_CAPABILITY_TYPE, missingCapTypes.toString());
         }
         if (CollectionUtils.isNotEmpty(missingCapTypes)) {
             rollbackWithException(ActionStatus.MISSING_CAPABILITY_TYPE, missingCapTypes.toString());
@@ -1113,8 +1088,8 @@ public class YamlTemplateParsingHandler {
     private void failOnMissingCapabilityNames(GroupDefinition groupDefinition, List<String> missingCapNames) {
         if (log.isDebugEnabled()) {
             log.debug(
     private void failOnMissingCapabilityNames(GroupDefinition groupDefinition, List<String> missingCapNames) {
         if (log.isDebugEnabled()) {
             log.debug(
-                    "#failOnMissingCapabilityNames - Failed to validate the capabilities of the group {}. The capabilities with the names {} are missing on the group type {}. ",
-                    groupDefinition.getName(), missingCapNames.toString(), groupDefinition.getType());
+                "#failOnMissingCapabilityNames - Failed to validate the capabilities of the group {}. The capabilities with the names {} are missing on the group type {}. ",
+                groupDefinition.getName(), missingCapNames.toString(), groupDefinition.getType());
         }
         rollbackWithException(ActionStatus.MISSING_CAPABILITIES, missingCapNames.toString(), CapabilityDataDefinition.OwnerType.GROUP.getValue(),
             groupDefinition.getName());
         }
         rollbackWithException(ActionStatus.MISSING_CAPABILITIES, missingCapNames.toString(), CapabilityDataDefinition.OwnerType.GROUP.getValue(),
             groupDefinition.getName());
index 4268d91..a1f2829 100644 (file)
@@ -42,9 +42,9 @@ import org.openecomp.sdc.be.components.validation.UserValidations;
 import org.openecomp.sdc.be.config.BeEcompErrorManager;
 import org.openecomp.sdc.be.config.BeEcompErrorManager.ErrorSeverity;
 import org.openecomp.sdc.be.dao.api.ActionStatus;
 import org.openecomp.sdc.be.config.BeEcompErrorManager;
 import org.openecomp.sdc.be.config.BeEcompErrorManager.ErrorSeverity;
 import org.openecomp.sdc.be.dao.api.ActionStatus;
+import org.openecomp.sdc.be.dao.janusgraph.JanusGraphDao;
 import org.openecomp.sdc.be.dao.janusgraph.JanusGraphGenericDao;
 import org.openecomp.sdc.be.dao.janusgraph.JanusGraphOperationStatus;
 import org.openecomp.sdc.be.dao.janusgraph.JanusGraphGenericDao;
 import org.openecomp.sdc.be.dao.janusgraph.JanusGraphOperationStatus;
-import org.openecomp.sdc.be.dao.janusgraph.JanusGraphDao;
 import org.openecomp.sdc.be.datamodel.utils.ArtifactUtils;
 import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition;
 import org.openecomp.sdc.be.datatypes.elements.PropertyRule;
 import org.openecomp.sdc.be.datamodel.utils.ArtifactUtils;
 import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition;
 import org.openecomp.sdc.be.datatypes.elements.PropertyRule;
@@ -579,7 +579,7 @@ public abstract class BaseBusinessLogic {
                 DataTypeDefinition dataTypeDefinition = dataTypes.get(propertyType);
                 if (dataTypeDefinition == null) {
                     log.debug(INVALID_PROPERTY_TYPE, propertyType);
                 DataTypeDefinition dataTypeDefinition = dataTypes.get(propertyType);
                 if (dataTypeDefinition == null) {
                     log.debug(INVALID_PROPERTY_TYPE, propertyType);
-                    return Either.right(false); 
+                    return Either.right(false);
                 }
                 ImmutablePair<JsonElement, Boolean> validateResult = dataTypeValidatorConverter
                     .validateAndUpdate(value, dataTypeDefinition, dataTypes);
                 }
                 ImmutablePair<JsonElement, Boolean> validateResult = dataTypeValidatorConverter
                     .validateAndUpdate(value, dataTypeDefinition, dataTypes);
index 6625d72..4372564 100644 (file)
@@ -104,6 +104,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 public abstract class ComponentBusinessLogic extends BaseBusinessLogic {
 
     private static final Logger log = Logger.getLogger(ComponentBusinessLogic.class.getName());
 public abstract class ComponentBusinessLogic extends BaseBusinessLogic {
 
     private static final Logger log = Logger.getLogger(ComponentBusinessLogic.class.getName());
+
     protected final GroupBusinessLogic groupBusinessLogic;
     protected ArtifactsBusinessLogic artifactsBusinessLogic;
     protected GenericTypeBusinessLogic genericTypeBusinessLogic;
     protected final GroupBusinessLogic groupBusinessLogic;
     protected ArtifactsBusinessLogic artifactsBusinessLogic;
     protected GenericTypeBusinessLogic genericTypeBusinessLogic;
@@ -432,8 +433,9 @@ public abstract class ComponentBusinessLogic extends BaseBusinessLogic {
         Either<List<Component>, StorageOperationStatus> nonCheckoutCompResponse = null;
         try {
             validateUserExists(userId);
         Either<List<Component>, StorageOperationStatus> nonCheckoutCompResponse = null;
         try {
             validateUserExists(userId);
-           nonCheckoutCompResponse = toscaOperationFacade
-                .getLatestVersionNotAbstractMetadataOnly(isAbstractAbstract, componentTypeEnum, internalComponentType, modelName, includeNormativeExtensionModels);
+            nonCheckoutCompResponse = toscaOperationFacade
+                .getLatestVersionNotAbstractMetadataOnly(isAbstractAbstract, componentTypeEnum, internalComponentType, modelName,
+                    includeNormativeExtensionModels);
             if (nonCheckoutCompResponse.isLeft()) {
                 log.debug("Retrieved Resource successfully.");
                 return Either.left(nonCheckoutCompResponse.left().value());
             if (nonCheckoutCompResponse.isLeft()) {
                 log.debug("Retrieved Resource successfully.");
                 return Either.left(nonCheckoutCompResponse.left().value());
@@ -441,7 +443,7 @@ public abstract class ComponentBusinessLogic extends BaseBusinessLogic {
             return Either
                 .right(componentsUtils.getResponseFormat(componentsUtils.convertFromStorageResponse(nonCheckoutCompResponse.right().value())));
         } finally {
             return Either
                 .right(componentsUtils.getResponseFormat(componentsUtils.convertFromStorageResponse(nonCheckoutCompResponse.right().value())));
         } finally {
-            if(nonCheckoutCompResponse != null && nonCheckoutCompResponse.isLeft() ) {
+            if (nonCheckoutCompResponse != null && nonCheckoutCompResponse.isLeft()) {
                 janusGraphDao.commit();
             }
         }
                 janusGraphDao.commit();
             }
         }
@@ -547,7 +549,7 @@ public abstract class ComponentBusinessLogic extends BaseBusinessLogic {
         final ArtifactDefinition csarArtifact = component.getToscaArtifacts().values().stream()
             .filter(p -> p.getArtifactType().equals(ArtifactTypeEnum.TOSCA_CSAR.getType())).findAny().orElseThrow(() -> {
                 throw new ByResponseFormatComponentException(
         final ArtifactDefinition csarArtifact = component.getToscaArtifacts().values().stream()
             .filter(p -> p.getArtifactType().equals(ArtifactTypeEnum.TOSCA_CSAR.getType())).findAny().orElseThrow(() -> {
                 throw new ByResponseFormatComponentException(
-                        componentsUtils.getResponseFormat(ActionStatus.ARTIFACT_NOT_FOUND, ArtifactTypeEnum.TOSCA_CSAR.name()));
+                    componentsUtils.getResponseFormat(ActionStatus.ARTIFACT_NOT_FOUND, ArtifactTypeEnum.TOSCA_CSAR.name()));
             });
         return artifactsBusinessLogic.handleDownloadToscaModelRequest(component, csarArtifact);
     }
             });
         return artifactsBusinessLogic.handleDownloadToscaModelRequest(component, csarArtifact);
     }
@@ -691,7 +693,7 @@ public abstract class ComponentBusinessLogic extends BaseBusinessLogic {
         });
         return componentNonGenericInputs;
     }
         });
         return componentNonGenericInputs;
     }
-    
+
     protected void generatePropertiesFromGenericType(final Component component, final Resource genericType) {
         if (CollectionUtils.isEmpty(genericType.getProperties())) {
             return;
     protected void generatePropertiesFromGenericType(final Component component, final Resource genericType) {
         if (CollectionUtils.isEmpty(genericType.getProperties())) {
             return;
@@ -708,6 +710,7 @@ public abstract class ComponentBusinessLogic extends BaseBusinessLogic {
         }
         component.getProperties().forEach(propertyDefinition -> propertyDefinition.setUniqueId(null));
     }
         }
         component.getProperties().forEach(propertyDefinition -> propertyDefinition.setUniqueId(null));
     }
+
     protected <T extends Component> Resource fetchAndSetDerivedFromGenericType(final T component) {
         return fetchAndSetDerivedFromGenericType(component, null);
     }
     protected <T extends Component> Resource fetchAndSetDerivedFromGenericType(final T component) {
         return fetchAndSetDerivedFromGenericType(component, null);
     }
@@ -916,7 +919,7 @@ public abstract class ComponentBusinessLogic extends BaseBusinessLogic {
         if (validPropertiesMerge.isRight()) {
             if (log.isDebugEnabled()) {
                 log.debug("property {} cannot be overriden, check out performed without upgrading to latest generic",
         if (validPropertiesMerge.isRight()) {
             if (log.isDebugEnabled()) {
                 log.debug("property {} cannot be overriden, check out performed without upgrading to latest generic",
-                        validPropertiesMerge.right().value());
+                    validPropertiesMerge.right().value());
             }
             return false;
         }
             }
             return false;
         }
@@ -926,7 +929,7 @@ public abstract class ComponentBusinessLogic extends BaseBusinessLogic {
         if (validAttributesMerge.isRight()) {
             if (log.isDebugEnabled()) {
                 log.debug("attribute {} cannot be overriden, check out performed without upgrading to latest generic",
         if (validAttributesMerge.isRight()) {
             if (log.isDebugEnabled()) {
                 log.debug("attribute {} cannot be overriden, check out performed without upgrading to latest generic",
-                        validAttributesMerge.right().value());
+                    validAttributesMerge.right().value());
             }
             return false;
         }
             }
             return false;
         }
@@ -998,7 +1001,7 @@ public abstract class ComponentBusinessLogic extends BaseBusinessLogic {
     protected Either<Component, ResponseFormat> updateCatalog(Component component, ChangeTypeEnum changeStatus) {
         if (log.isDebugEnabled()) {
             log.debug("update Catalog start with Component Type {} And Componet Name {} with change status {}",
     protected Either<Component, ResponseFormat> updateCatalog(Component component, ChangeTypeEnum changeStatus) {
         if (log.isDebugEnabled()) {
             log.debug("update Catalog start with Component Type {} And Componet Name {} with change status {}",
-                    component.getComponentType().name(),component.getName(), changeStatus.name());
+                component.getComponentType().name(), component.getName(), changeStatus.name());
         }
         ActionStatus status = catalogOperations.updateCatalog(changeStatus, component);
         if (status != ActionStatus.OK) {
         }
         ActionStatus status = catalogOperations.updateCatalog(changeStatus, component);
         if (status != ActionStatus.OK) {
index 3a1c55a..7719187 100644 (file)
@@ -177,10 +177,9 @@ public final class ImportUtils {
 
     public static Either<Object, ResultStatusEnum> findToscaElement(Map<String, Object> toscaJson, TypeUtils.ToscaTagNamesEnum elementName,
                                                                     ToscaElementTypeEnum elementType) {
 
     public static Either<Object, ResultStatusEnum> findToscaElement(Map<String, Object> toscaJson, TypeUtils.ToscaTagNamesEnum elementName,
                                                                     ToscaElementTypeEnum elementType) {
-        List<Object> foundElements = new ArrayList<>();
-        findToscaElements(toscaJson, elementName.getElementName(), elementType, foundElements);
-        if (!isEmpty(foundElements)) {
-            return Either.left(foundElements.get(0));
+        final var toscaElements = findToscaElements(toscaJson, elementName.getElementName(), elementType, new ArrayList<>());
+        if (toscaElements.isLeft() && CollectionUtils.isNotEmpty(toscaElements.left().value())) {
+            return Either.left(toscaElements.left().value().get(0));
         }
         return Either.right(ResultStatusEnum.ELEMENT_NOT_FOUND);
     }
         }
         return Either.right(ResultStatusEnum.ELEMENT_NOT_FOUND);
     }
index f8aab3d..2f01ef3 100644 (file)
@@ -46,6 +46,7 @@ import org.openecomp.sdc.be.components.property.PropertyDeclarationOrchestrator;
 import org.openecomp.sdc.be.components.validation.PolicyUtils;
 import org.openecomp.sdc.be.dao.api.ActionStatus;
 import org.openecomp.sdc.be.datatypes.elements.GetPolicyValueDataDefinition;
 import org.openecomp.sdc.be.components.validation.PolicyUtils;
 import org.openecomp.sdc.be.dao.api.ActionStatus;
 import org.openecomp.sdc.be.datatypes.elements.GetPolicyValueDataDefinition;
+import org.openecomp.sdc.be.datatypes.elements.GroupDataDefinition;
 import org.openecomp.sdc.be.datatypes.elements.PolicyTargetType;
 import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition;
 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
 import org.openecomp.sdc.be.datatypes.elements.PolicyTargetType;
 import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition;
 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
@@ -125,33 +126,32 @@ public class PolicyBusinessLogic extends BaseBusinessLogic {
         }
     }
 
         }
     }
 
-    public Map<String, PolicyDefinition> createPoliciesFromParsedCsar(Component component,
-                                                                      final Map<String, PolicyDefinition> incomingPolicyDefinitions) {
+    public Map<String, PolicyDefinition> createPolicies(final Component component,
+                                                        final Map<String, PolicyDefinition> incomingPolicyDefinitions) {
         if (MapUtils.isEmpty(incomingPolicyDefinitions)) {
             return Collections.emptyMap();
         }
         if (MapUtils.isEmpty(incomingPolicyDefinitions)) {
             return Collections.emptyMap();
         }
-        Map<String, PolicyDefinition> createdPolicies = new HashMap<>();
-        for (Map.Entry<String, PolicyDefinition> policyEntry : incomingPolicyDefinitions.entrySet()) {
-            PolicyDefinition incomingPolicyDefinition = policyEntry.getValue();
-            String policyName = incomingPolicyDefinition.getName();
+        final Map<String, PolicyDefinition> createdPolicies = new HashMap<>();
+        for (final PolicyDefinition incomingPolicyDefinition : incomingPolicyDefinitions.values()) {
+            final String policyName = incomingPolicyDefinition.getName();
             log.trace("Going to create policy {}", incomingPolicyDefinition);
             loggerSupportability
                 .log(LoggerSupportabilityActions.CREATE_GROUP_POLICY, component.getComponentMetadataForSupportLog(), StatusCode.STARTED,
                     "Start to create policy: {} for component {}", policyName, component.getName());
             log.trace("Going to create policy {}", incomingPolicyDefinition);
             loggerSupportability
                 .log(LoggerSupportabilityActions.CREATE_GROUP_POLICY, component.getComponentMetadataForSupportLog(), StatusCode.STARTED,
                     "Start to create policy: {} for component {}", policyName, component.getName());
-            String policyType = incomingPolicyDefinition.getType();
+            final String policyType = incomingPolicyDefinition.getType();
             if (StringUtils.isEmpty(policyType)) {
                 log.debug("Policy type '{}' for policy '{}' not found.", policyType, policyName);
                 throw new ByActionStatusComponentException(ActionStatus.POLICY_MISSING_POLICY_TYPE, policyName);
             }
             // create policyDefinition
             if (StringUtils.isEmpty(policyType)) {
                 log.debug("Policy type '{}' for policy '{}' not found.", policyType, policyName);
                 throw new ByActionStatusComponentException(ActionStatus.POLICY_MISSING_POLICY_TYPE, policyName);
             }
             // create policyDefinition
-            String policyTypeName = incomingPolicyDefinition.getPolicyTypeName();
+            final String policyTypeName = incomingPolicyDefinition.getPolicyTypeName();
             PolicyDefinition createdPolicyDefinition = createPolicy(policyTypeName, component);
             // set isFromCsar
             createdPolicyDefinition.setToscaPresentationValue(JsonPresentationFields.IS_FROM_CSAR, true);
             // link policy to component
             component.addPolicy(createdPolicyDefinition);
             // process targets
             PolicyDefinition createdPolicyDefinition = createPolicy(policyTypeName, component);
             // set isFromCsar
             createdPolicyDefinition.setToscaPresentationValue(JsonPresentationFields.IS_FROM_CSAR, true);
             // link policy to component
             component.addPolicy(createdPolicyDefinition);
             // process targets
-            Map<PolicyTargetType, List<String>> policyTargets = incomingPolicyDefinition.getTargets();
+            final Map<PolicyTargetType, List<String>> policyTargets = incomingPolicyDefinition.getTargets();
             createdPolicyDefinition = setUpdatePolicyTargets(component, createdPolicyDefinition, policyTargets);
             // process policy properties
             List<PropertyDataDefinition> properties = incomingPolicyDefinition.getProperties();
             createdPolicyDefinition = setUpdatePolicyTargets(component, createdPolicyDefinition, policyTargets);
             // process policy properties
             List<PropertyDataDefinition> properties = incomingPolicyDefinition.getProperties();
@@ -179,38 +179,60 @@ public class PolicyBusinessLogic extends BaseBusinessLogic {
         if (MapUtils.isEmpty(targets)) {
             return policyDefinition;
         }
         if (MapUtils.isEmpty(targets)) {
             return policyDefinition;
         }
-        List<String> targetsToUpdate = targets.get(PolicyTargetType.COMPONENT_INSTANCES);
-        if (CollectionUtils.isEmpty(targetsToUpdate)) {
+        final List<String> componentInstancesTargetsToUpdate = targets.get(PolicyTargetType.COMPONENT_INSTANCES);
+        final List<String> groupsTargetsToUpdate = targets.get(PolicyTargetType.GROUPS);
+        if (CollectionUtils.isEmpty(componentInstancesTargetsToUpdate) && CollectionUtils.isEmpty(groupsTargetsToUpdate)) {
             return policyDefinition;
         }
             return policyDefinition;
         }
+
+        final List<String> allTargets = joinLists(componentInstancesTargetsToUpdate, groupsTargetsToUpdate);
+
         // update targets to uniqueIds of respective component instance
         // update targets to uniqueIds of respective component instance
-        List<String> targetsUniqueIds = new ArrayList<>();
-        for (String targetName : targetsToUpdate) {
-            Optional<ComponentInstance> componentInstance = component.getComponentInstanceByName(targetName);
-            String componentUniqueId = componentInstance
-                .orElseThrow(() -> new ByActionStatusComponentException(ActionStatus.COMPONENT_INSTANCE_NOT_FOUND)).getUniqueId();
-            targetsUniqueIds.add(componentUniqueId);
-        }
-        EnumMap<PolicyTargetType, List<String>> updatedTargets = new EnumMap<>(PolicyTargetType.class);
-        updatedTargets.put(PolicyTargetType.COMPONENT_INSTANCES, targetsUniqueIds);
+        final List<String> targetsGroupsUniqueIds = new ArrayList<>();
+        final List<String> targetsInstanceUniqueIds = new ArrayList<>();
+        for (final String targetName : allTargets) {
+            final String groupsTargetUniqueIdForTargetName = getTargetGroupUniqueIdByTargetName(component, targetName);
+            if (groupsTargetUniqueIdForTargetName != null) {
+                targetsGroupsUniqueIds.add(groupsTargetUniqueIdForTargetName);
+            }
+            final String instanceTargetUniqueIdForTargetName = getTargetInstanceUniqueIdByTargetName(component, targetName);
+            if (instanceTargetUniqueIdForTargetName != null) {
+                targetsInstanceUniqueIds.add(instanceTargetUniqueIdForTargetName);
+            }
+        }
+        if (targetsGroupsUniqueIds.isEmpty() && targetsInstanceUniqueIds.isEmpty()) {
+            throw new ByActionStatusComponentException(ActionStatus.POLICY_TARGET_DOES_NOT_EXIST);
+        }
+        final EnumMap<PolicyTargetType, List<String>> updatedTargets = new EnumMap<>(PolicyTargetType.class);
+        if (!targetsGroupsUniqueIds.isEmpty()) {
+            updatedTargets.put(PolicyTargetType.GROUPS, targetsGroupsUniqueIds);
+        }
+        if (!targetsInstanceUniqueIds.isEmpty()) {
+            updatedTargets.put(PolicyTargetType.COMPONENT_INSTANCES, targetsInstanceUniqueIds);
+        }
         policyDefinition.setTargets(updatedTargets);
         policyDefinition.setTargets(updatedTargets);
-        policyDefinition = validateAndUpdatePolicyTargets(component, policyDefinition.getUniqueId(), policyDefinition.getTargets());
-        return policyDefinition;
+        return validateAndUpdatePolicyTargets(component, policyDefinition.getUniqueId(), policyDefinition.getTargets());
     }
 
     }
 
-    public Either<List<PolicyDefinition>, ResponseFormat> getPoliciesList(ComponentTypeEnum componentType, String componentId, String userId) {
-        Either<List<PolicyDefinition>, ResponseFormat> result;
-        log.trace("#getPolicies - starting to retrieve policies of component {}. ", componentId);
-        try {
-            Component component = validateContainerComponentAndUserBeforeReadOperation(componentType, componentId, userId);
-            result = Either.left(component.resolvePoliciesList());
-        } catch (Exception e) {
-            log.error("#getPolicy - the exception occurred upon retrieving policies list of component {}: ", componentId, e);
-            result = Either.right(componentsUtils.getResponseFormat(ActionStatus.GENERAL_ERROR));
+    private List<String> joinLists(final List<String> a, final List<String> b) {
+        final List<String> result = new ArrayList<>();
+        if (CollectionUtils.isNotEmpty(a)) {
+            result.addAll(a);
+        }
+        if (CollectionUtils.isNotEmpty(b)) {
+            result.addAll(b);
         }
         return result;
     }
 
         }
         return result;
     }
 
+    private String getTargetGroupUniqueIdByTargetName(final Component component, final String targetName) {
+        return component.getGroupByInvariantName(targetName).map(GroupDataDefinition::getUniqueId).orElse(null);
+    }
+
+    private String getTargetInstanceUniqueIdByTargetName(final Component component, final String targetName) {
+        return component.getComponentInstanceByName(targetName).map(ComponentInstance::getUniqueId).orElse(null);
+    }
+
     /**
      * Retrieves the policy of the component by UniqueId
      *
     /**
      * Retrieves the policy of the component by UniqueId
      *
@@ -266,7 +288,6 @@ public class PolicyBusinessLogic extends BaseBusinessLogic {
      * @return a policy or an error in a response format
      */
     public PolicyDefinition deletePolicy(ComponentTypeEnum componentType, String componentId, String policyId, String userId, boolean shouldLock) {
      * @return a policy or an error in a response format
      */
     public PolicyDefinition deletePolicy(ComponentTypeEnum componentType, String componentId, String policyId, String userId, boolean shouldLock) {
-        PolicyDefinition result = null;
         log.trace("#deletePolicy - starting to update the policy {} on the component {}. ", policyId, componentId);
         Component component = null;
         boolean failed = false;
         log.trace("#deletePolicy - starting to update the policy {} on the component {}. ", policyId, componentId);
         Component component = null;
         boolean failed = false;
@@ -358,7 +379,6 @@ public class PolicyBusinessLogic extends BaseBusinessLogic {
 
     public PolicyDefinition updatePolicyTargets(ComponentTypeEnum componentTypeEnum, String componentId, String policyId,
                                                 Map<PolicyTargetType, List<String>> targets, String userId) {
 
     public PolicyDefinition updatePolicyTargets(ComponentTypeEnum componentTypeEnum, String componentId, String policyId,
                                                 Map<PolicyTargetType, List<String>> targets, String userId) {
-        Either<PolicyDefinition, ResponseFormat> result = null;
         log.debug("updating the policy id {} targets with the components {}. ", policyId, componentId);
         boolean failed = false;
         try {
         log.debug("updating the policy id {} targets with the components {}. ", policyId, componentId);
         boolean failed = false;
         try {
@@ -554,7 +574,7 @@ public class PolicyBusinessLogic extends BaseBusinessLogic {
     }
 
     private PolicyTypeDefinition validatePolicyTypeOnCreatePolicy(String policyTypeName, Component component) {
     }
 
     private PolicyTypeDefinition validatePolicyTypeOnCreatePolicy(String policyTypeName, Component component) {
-        Either<PolicyTypeDefinition, StorageOperationStatus> latestPolicyTypeByType = policyTypeOperation.getLatestPolicyTypeByType(policyTypeName, component.getModel());
+        final var latestPolicyTypeByType = policyTypeOperation.getLatestPolicyTypeByType(policyTypeName, component.getModel());
         if (latestPolicyTypeByType.isRight()) {
             throw new ByActionStatusComponentException(componentsUtils.convertFromStorageResponse(latestPolicyTypeByType.right().value()));
         }
         if (latestPolicyTypeByType.isRight()) {
             throw new ByActionStatusComponentException(componentsUtils.convertFromStorageResponse(latestPolicyTypeByType.right().value()));
         }
index 6d5829e..1f107e4 100644 (file)
@@ -1762,7 +1762,7 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
     }
 
     private Resource createPoliciesOnResource(Resource resource, Map<String, PolicyDefinition> policies) {
     }
 
     private Resource createPoliciesOnResource(Resource resource, Map<String, PolicyDefinition> policies) {
-        policyBusinessLogic.createPoliciesFromParsedCsar(resource, policies);
+        policyBusinessLogic.createPolicies(resource, policies);
         return resource;
     }
 
         return resource;
     }
 
@@ -1929,7 +1929,7 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
                 .addPropertyToComponent(propertyDefinition, resource);
 
             if (addPropertyEither.isRight()) {
                 .addPropertyToComponent(propertyDefinition, resource);
 
             if (addPropertyEither.isRight()) {
-                final String error = String.format("failed to add properties from yaml: {}", addPropertyEither.right().value());
+                final String error = String.format("failed to add properties from yaml: %s", addPropertyEither.right().value());
                 loggerSupportability.log(LoggerSupportabilityActions.CREATE_PROPERTIES, resource.getComponentMetadataForSupportLog(),
                     StatusCode.ERROR,
                     error);
                 loggerSupportability.log(LoggerSupportabilityActions.CREATE_PROPERTIES, resource.getComponentMetadataForSupportLog(),
                     StatusCode.ERROR,
                     error);
index 8dac6ff..2cccc31 100644 (file)
@@ -100,9 +100,9 @@ import org.openecomp.sdc.be.datatypes.elements.OperationOutputDefinition;
 import org.openecomp.sdc.be.datatypes.enums.ComponentFieldsEnum;
 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
 import org.openecomp.sdc.be.datatypes.enums.JsonPresentationFields;
 import org.openecomp.sdc.be.datatypes.enums.ComponentFieldsEnum;
 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
 import org.openecomp.sdc.be.datatypes.enums.JsonPresentationFields;
+import org.openecomp.sdc.be.datatypes.enums.ModelTypeEnum;
 import org.openecomp.sdc.be.datatypes.enums.NodeTypeEnum;
 import org.openecomp.sdc.be.datatypes.enums.OriginTypeEnum;
 import org.openecomp.sdc.be.datatypes.enums.NodeTypeEnum;
 import org.openecomp.sdc.be.datatypes.enums.OriginTypeEnum;
-import org.openecomp.sdc.be.datatypes.enums.ModelTypeEnum;
 import org.openecomp.sdc.be.externalapi.servlet.representation.ServiceDistributionReqInfo;
 import org.openecomp.sdc.be.impl.ForwardingPathUtils;
 import org.openecomp.sdc.be.impl.WebAppContextWrapper;
 import org.openecomp.sdc.be.externalapi.servlet.representation.ServiceDistributionReqInfo;
 import org.openecomp.sdc.be.impl.ForwardingPathUtils;
 import org.openecomp.sdc.be.impl.WebAppContextWrapper;
@@ -119,12 +119,12 @@ import org.openecomp.sdc.be.model.GroupInstanceProperty;
 import org.openecomp.sdc.be.model.InputDefinition;
 import org.openecomp.sdc.be.model.InterfaceDefinition;
 import org.openecomp.sdc.be.model.LifecycleStateEnum;
 import org.openecomp.sdc.be.model.InputDefinition;
 import org.openecomp.sdc.be.model.InterfaceDefinition;
 import org.openecomp.sdc.be.model.LifecycleStateEnum;
+import org.openecomp.sdc.be.model.Model;
 import org.openecomp.sdc.be.model.Operation;
 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.Operation;
 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.Model;
 import org.openecomp.sdc.be.model.category.CategoryDefinition;
 import org.openecomp.sdc.be.model.jsonjanusgraph.operations.ArtifactsOperations;
 import org.openecomp.sdc.be.model.jsonjanusgraph.operations.ForwardingPathOperation;
 import org.openecomp.sdc.be.model.category.CategoryDefinition;
 import org.openecomp.sdc.be.model.jsonjanusgraph.operations.ArtifactsOperations;
 import org.openecomp.sdc.be.model.jsonjanusgraph.operations.ForwardingPathOperation;
@@ -184,22 +184,19 @@ public class ServiceBusinessLogic extends ComponentBusinessLogic {
     private final ServiceDistributionValidation serviceDistributionValidation;
     private final ForwardingPathValidator forwardingPathValidator;
     private final UiComponentDataConverter uiComponentDataConverter;
     private final ServiceDistributionValidation serviceDistributionValidation;
     private final ForwardingPathValidator forwardingPathValidator;
     private final UiComponentDataConverter uiComponentDataConverter;
+    private final ModelOperation modelOperation;
+    private final ServiceRoleValidator serviceRoleValidator;
+    private final ServiceInstantiationTypeValidator serviceInstantiationTypeValidator;
+    private final ServiceCategoryValidator serviceCategoryValidator;
+    private final ServiceValidator serviceValidator;
+    private final PolicyBusinessLogic policyBusinessLogic;
+    private final GroupBusinessLogic groupBusinessLogic;
     private ForwardingPathOperation forwardingPathOperation;
     private AuditCassandraDao auditCassandraDao;
     private ServiceTypeValidator serviceTypeValidator;
     private List<ServiceCreationPlugin> serviceCreationPluginList;
     private ServiceFunctionValidator serviceFunctionValidator;
     private ForwardingPathOperation forwardingPathOperation;
     private AuditCassandraDao auditCassandraDao;
     private ServiceTypeValidator serviceTypeValidator;
     private List<ServiceCreationPlugin> serviceCreationPluginList;
     private ServiceFunctionValidator serviceFunctionValidator;
-    @Autowired
-    private ServiceRoleValidator serviceRoleValidator;
-    @Autowired
-    private ServiceInstantiationTypeValidator serviceInstantiationTypeValidator;
-    @Autowired
-    private ServiceCategoryValidator serviceCategoryValidator;
-    @Autowired
-    private ServiceValidator serviceValidator;
-    private final ModelOperation modelOperation;
 
 
-    @Autowired
     public ServiceBusinessLogic(IElementOperation elementDao, IGroupOperation groupOperation, IGroupInstanceOperation groupInstanceOperation,
                                 IGroupTypeOperation groupTypeOperation, GroupBusinessLogic groupBusinessLogic, InterfaceOperation interfaceOperation,
                                 InterfaceLifecycleOperation interfaceLifecycleTypeOperation, ArtifactsBusinessLogic artifactsBusinessLogic,
     public ServiceBusinessLogic(IElementOperation elementDao, IGroupOperation groupOperation, IGroupInstanceOperation groupInstanceOperation,
                                 IGroupTypeOperation groupTypeOperation, GroupBusinessLogic groupBusinessLogic, InterfaceOperation interfaceOperation,
                                 InterfaceLifecycleOperation interfaceLifecycleTypeOperation, ArtifactsBusinessLogic artifactsBusinessLogic,
@@ -209,7 +206,11 @@ public class ServiceBusinessLogic extends ComponentBusinessLogic {
                                 ComponentContactIdValidator componentContactIdValidator, ComponentNameValidator componentNameValidator,
                                 ComponentTagsValidator componentTagsValidator, ComponentValidator componentValidator,
                                 ComponentIconValidator componentIconValidator, ComponentProjectCodeValidator componentProjectCodeValidator,
                                 ComponentContactIdValidator componentContactIdValidator, ComponentNameValidator componentNameValidator,
                                 ComponentTagsValidator componentTagsValidator, ComponentValidator componentValidator,
                                 ComponentIconValidator componentIconValidator, ComponentProjectCodeValidator componentProjectCodeValidator,
-                                ComponentDescriptionValidator componentDescriptionValidator, ModelOperation modelOperation) {
+                                ComponentDescriptionValidator componentDescriptionValidator, ModelOperation modelOperation,
+                                final ServiceRoleValidator serviceRoleValidator,
+                                final ServiceInstantiationTypeValidator serviceInstantiationTypeValidator,
+                                final ServiceCategoryValidator serviceCategoryValidator, final ServiceValidator serviceValidator,
+                                final PolicyBusinessLogic policyBusinessLogic) {
         super(elementDao, groupOperation, groupInstanceOperation, groupTypeOperation, groupBusinessLogic, interfaceOperation,
             interfaceLifecycleTypeOperation, artifactsBusinessLogic, artifactToscaOperation, componentContactIdValidator, componentNameValidator,
             componentTagsValidator, componentValidator, componentIconValidator, componentProjectCodeValidator, componentDescriptionValidator);
         super(elementDao, groupOperation, groupInstanceOperation, groupTypeOperation, groupBusinessLogic, interfaceOperation,
             interfaceLifecycleTypeOperation, artifactsBusinessLogic, artifactToscaOperation, componentContactIdValidator, componentNameValidator,
             componentTagsValidator, componentValidator, componentIconValidator, componentProjectCodeValidator, componentDescriptionValidator);
@@ -219,6 +220,12 @@ public class ServiceBusinessLogic extends ComponentBusinessLogic {
         this.forwardingPathValidator = forwardingPathValidator;
         this.uiComponentDataConverter = uiComponentDataConverter;
         this.modelOperation = modelOperation;
         this.forwardingPathValidator = forwardingPathValidator;
         this.uiComponentDataConverter = uiComponentDataConverter;
         this.modelOperation = modelOperation;
+        this.serviceRoleValidator = serviceRoleValidator;
+        this.serviceInstantiationTypeValidator = serviceInstantiationTypeValidator;
+        this.serviceCategoryValidator = serviceCategoryValidator;
+        this.serviceValidator = serviceValidator;
+        this.policyBusinessLogic = policyBusinessLogic;
+        this.groupBusinessLogic = groupBusinessLogic;
     }
 
     @Autowired
     }
 
     @Autowired
@@ -637,16 +644,6 @@ public class ServiceBusinessLogic extends ComponentBusinessLogic {
         return Either.left(archiveAudit);
     }
 
         return Either.left(archiveAudit);
     }
 
-    @VisibleForTesting
-    public void setServiceValidator(ServiceValidator serviceValidator) {
-        this.serviceValidator = serviceValidator;
-    }
-
-    @VisibleForTesting
-    public void setServiceCategoryValidator(ServiceCategoryValidator serviceCategoryValidator) {
-        this.serviceCategoryValidator = serviceCategoryValidator;
-    }
-
     private List<Map<String, Object>> getAuditingFieldsList(List<? extends AuditingGenericEvent> prevVerAuditList) {
         List<Map<String, Object>> prevVerAudit = new ArrayList<>();
         for (AuditingGenericEvent auditEvent : prevVerAuditList) {
     private List<Map<String, Object>> getAuditingFieldsList(List<? extends AuditingGenericEvent> prevVerAuditList) {
         List<Map<String, Object>> prevVerAudit = new ArrayList<>();
         for (AuditingGenericEvent auditEvent : prevVerAuditList) {
@@ -666,7 +663,7 @@ public class ServiceBusinessLogic extends ComponentBusinessLogic {
     public Either<Service, ResponseFormat> createService(Service service, User user) {
         // get user details
         user = validateUser(user, "Create Service", service, AuditingActionEnum.CREATE_RESOURCE, false);
     public Either<Service, ResponseFormat> createService(Service service, User user) {
         // get user details
         user = validateUser(user, "Create Service", service, AuditingActionEnum.CREATE_RESOURCE, false);
-        log.debug("User returned from validation: " + user.toString());
+        log.debug("User returned from validation: {}", user);
         // validate user role
         validateUserRole(user, service, new ArrayList<>(), AuditingActionEnum.CREATE_RESOURCE, null);
         service.setCreatorUserId(user.getUserId());
         // validate user role
         validateUserRole(user, service, new ArrayList<>(), AuditingActionEnum.CREATE_RESOURCE, null);
         service.setCreatorUserId(user.getUserId());
@@ -683,7 +680,7 @@ public class ServiceBusinessLogic extends ComponentBusinessLogic {
         if (createServiceResponse.isRight()) {
             return createServiceResponse;
         }
         if (createServiceResponse.isRight()) {
             return createServiceResponse;
         }
-        return createServiceByDao(service, user).left().bind(c -> updateCatalog(c, ChangeTypeEnum.LIFECYCLE).left().map(r -> (Service) r));
+        return createServiceByDao(service, user).left().bind(c -> updateCatalog(c, ChangeTypeEnum.LIFECYCLE).left().map(Service.class::cast));
     }
 
     private void checkFieldsForOverideAttampt(Service service) {
     }
 
     private void checkFieldsForOverideAttampt(Service service) {
@@ -863,14 +860,14 @@ public class ServiceBusinessLogic extends ComponentBusinessLogic {
                 BeEcompErrorManager.getInstance().logBeSystemError("Update Service Metadata");
                 log.debug("failed to update sevice {}", serviceToUpdate.getUniqueId());
                 return (componentsUtils.getResponseFormat(ActionStatus.GENERAL_ERROR));
                 BeEcompErrorManager.getInstance().logBeSystemError("Update Service Metadata");
                 log.debug("failed to update sevice {}", serviceToUpdate.getUniqueId());
                 return (componentsUtils.getResponseFormat(ActionStatus.GENERAL_ERROR));
-            }).left().bind(c -> updateCatalogAndCommit(c));
+            }).left().bind(this::updateCatalogAndCommit);
         } finally {
             graphLockOperation.unlockComponent(serviceId, NodeTypeEnum.Service);
         }
     }
 
     private Either<Service, ResponseFormat> updateCatalogAndCommit(Service service) {
         } finally {
             graphLockOperation.unlockComponent(serviceId, NodeTypeEnum.Service);
         }
     }
 
     private Either<Service, ResponseFormat> updateCatalogAndCommit(Service service) {
-        Either<Service, ResponseFormat> res = updateCatalog(service, ChangeTypeEnum.LIFECYCLE).left().map(s -> (Service) s);
+        Either<Service, ResponseFormat> res = updateCatalog(service, ChangeTypeEnum.LIFECYCLE).left().map(Service.class::cast);
         janusGraphDao.commit();
         return res;
     }
         janusGraphDao.commit();
         return res;
     }
@@ -1483,7 +1480,7 @@ public class ServiceBusinessLogic extends ComponentBusinessLogic {
                                                         Boolean isServiceApi) {
         ArtifactDefinition artifactInfo = artifactsBusinessLogic
             .createArtifactPlaceHolderInfo(serviceId, logicalName, artifactInfoMap, user, ArtifactGroupTypeEnum.INFORMATIONAL);
                                                         Boolean isServiceApi) {
         ArtifactDefinition artifactInfo = artifactsBusinessLogic
             .createArtifactPlaceHolderInfo(serviceId, logicalName, artifactInfoMap, user, ArtifactGroupTypeEnum.INFORMATIONAL);
-        if (isServiceApi) {
+        if (Boolean.TRUE.equals(isServiceApi)) {
             artifactInfo.setMandatory(false);
             artifactInfo.setServiceApi(true);
         }
             artifactInfo.setMandatory(false);
             artifactInfo.setServiceApi(true);
         }
@@ -1556,7 +1553,7 @@ public class ServiceBusinessLogic extends ComponentBusinessLogic {
             return Either.right(response);
         }
         Service service = serviceRes.left().value();
             return Either.right(response);
         }
         Service service = serviceRes.left().value();
-        if (service.isArchived()) {
+        if (Boolean.TRUE.equals(service.isArchived())) {
             log.info("Component is archived. Component id: {}", serviceId);
             return Either.right(componentsUtils.getResponseFormat(ActionStatus.COMPONENT_IS_ARCHIVED, service.getName()));
         }
             log.info("Component is archived. Component id: {}", serviceId);
             return Either.right(componentsUtils.getResponseFormat(ActionStatus.COMPONENT_IS_ARCHIVED, service.getName()));
         }
@@ -1658,123 +1655,6 @@ public class ServiceBusinessLogic extends ComponentBusinessLogic {
         return asList;
     }
 
         return asList;
     }
 
-    private List<GroupInstance> collectGroupsInstanceForCompInstance(ComponentInstance currVF) {
-        Map<String, ArtifactDefinition> deploymentArtifacts = currVF.getDeploymentArtifacts();
-        if (currVF.getGroupInstances() != null) {
-            currVF.getGroupInstances().forEach(gi -> gi.alignArtifactsUuid(deploymentArtifacts));
-        }
-        return currVF.getGroupInstances();
-    }
-
-    private ArtifactDefinition getVfModuleInstArtifactForCompInstance(ComponentInstance currVF, Service service, Wrapper<String> payloadWrapper,
-                                                                      Wrapper<ResponseFormat> responseWrapper) {
-        ArtifactDefinition vfModuleAertifact = null;
-        if (MapUtils.isNotEmpty(currVF.getDeploymentArtifacts())) {
-            final Optional<ArtifactDefinition> optionalVfModuleArtifact = currVF.getDeploymentArtifacts().values().stream()
-                .filter(p -> p.getArtifactType().equals(ArtifactTypeEnum.VF_MODULES_METADATA.getType())).findAny();
-            if (optionalVfModuleArtifact.isPresent()) {
-                vfModuleAertifact = optionalVfModuleArtifact.get();
-            }
-        }
-        if (vfModuleAertifact == null) {
-            Either<ArtifactDefinition, ResponseFormat> createVfModuleArtifact = createVfModuleArtifact(currVF, service,
-                payloadWrapper.getInnerElement());
-            if (createVfModuleArtifact.isLeft()) {
-                vfModuleAertifact = createVfModuleArtifact.left().value();
-            } else {
-                responseWrapper.setInnerElement(createVfModuleArtifact.right().value());
-            }
-        }
-        return vfModuleAertifact;
-    }
-
-    private void fillVfModuleInstHeatEnvPayload(List<GroupInstance> groupsForCurrVF, Wrapper<String> payloadWrapper) {
-        List<VfModuleArtifactPayload> vfModulePayloads = new ArrayList<>();
-        if (groupsForCurrVF != null) {
-            for (GroupInstance groupInstance : groupsForCurrVF) {
-                VfModuleArtifactPayload modulePayload = new VfModuleArtifactPayload(groupInstance);
-                vfModulePayloads.add(modulePayload);
-            }
-            vfModulePayloads.sort(VfModuleArtifactPayload::compareByGroupName);
-            final Gson gson = new GsonBuilder().setPrettyPrinting().create();
-            String vfModulePayloadString = gson.toJson(vfModulePayloads);
-            payloadWrapper.setInnerElement(vfModulePayloadString);
-        }
-    }
-
-    private Either<ArtifactDefinition, ResponseFormat> generateVfModuleInstanceArtifact(User modifier, ComponentInstance currVFInstance,
-                                                                                        Service service, boolean shouldLock, boolean inTransaction) {
-        ArtifactDefinition vfModuleArtifact = null;
-        Wrapper<ResponseFormat> responseWrapper = new Wrapper<>();
-        Wrapper<String> payloadWrapper = new Wrapper<>();
-        List<GroupInstance> groupsForCurrVF = collectGroupsInstanceForCompInstance(currVFInstance);
-        if (responseWrapper.isEmpty()) {
-            fillVfModuleInstHeatEnvPayload(groupsForCurrVF, payloadWrapper);
-        }
-        if (responseWrapper.isEmpty() && payloadWrapper.getInnerElement() != null) {
-            vfModuleArtifact = getVfModuleInstArtifactForCompInstance(currVFInstance, service, payloadWrapper, responseWrapper);
-        }
-        if (responseWrapper.isEmpty() && vfModuleArtifact != null) {
-            vfModuleArtifact = fillVfModulePayload(modifier, currVFInstance, vfModuleArtifact, shouldLock, inTransaction, payloadWrapper,
-                responseWrapper, service);
-        }
-        Either<ArtifactDefinition, ResponseFormat> result;
-        if (responseWrapper.isEmpty()) {
-            result = Either.left(vfModuleArtifact);
-        } else {
-            result = Either.right(responseWrapper.getInnerElement());
-        }
-        return result;
-    }
-
-    private ArtifactDefinition fillVfModulePayload(User modifier, ComponentInstance currVF, ArtifactDefinition vfModuleArtifact, boolean shouldLock,
-                                                   boolean inTransaction, Wrapper<String> payloadWrapper, Wrapper<ResponseFormat> responseWrapper,
-                                                   Service service) {
-        ArtifactDefinition result = null;
-        Either<ArtifactDefinition, ResponseFormat> eitherPayload = artifactsBusinessLogic
-            .generateArtifactPayload(vfModuleArtifact, ComponentTypeEnum.RESOURCE_INSTANCE, service, currVF.getName(), modifier, shouldLock,
-                inTransaction, System::currentTimeMillis, () -> Either.left(
-                    artifactsBusinessLogic.createEsArtifactData(vfModuleArtifact, payloadWrapper.getInnerElement().getBytes(StandardCharsets.UTF_8))),
-                currVF.getUniqueId());
-        if (eitherPayload.isLeft()) {
-            result = eitherPayload.left().value();
-        } else {
-            responseWrapper.setInnerElement(eitherPayload.right().value());
-        }
-        if (result == null) {
-            result = vfModuleArtifact;
-        }
-        return result;
-    }
-
-    private Either<ArtifactDefinition, ResponseFormat> createVfModuleArtifact(ComponentInstance currVF, Service service,
-                                                                              String vfModulePayloadString) {
-        ArtifactDefinition vfModuleArtifactDefinition = new ArtifactDefinition();
-        String newCheckSum = null;
-        vfModuleArtifactDefinition.setDescription("Auto-generated VF Modules information artifact");
-        vfModuleArtifactDefinition.setArtifactDisplayName("Vf Modules Metadata");
-        vfModuleArtifactDefinition.setArtifactType(ArtifactTypeEnum.VF_MODULES_METADATA.getType());
-        vfModuleArtifactDefinition.setArtifactGroupType(ArtifactGroupTypeEnum.DEPLOYMENT);
-        vfModuleArtifactDefinition.setArtifactLabel("vfModulesMetadata");
-        vfModuleArtifactDefinition.setTimeout(0);
-        vfModuleArtifactDefinition.setArtifactName(currVF.getNormalizedName() + "_modules.json");
-        vfModuleArtifactDefinition.setPayloadData(vfModulePayloadString);
-        if (vfModulePayloadString != null) {
-            newCheckSum = GeneralUtility.calculateMD5Base64EncodedByByteArray(vfModulePayloadString.getBytes());
-        }
-        vfModuleArtifactDefinition.setArtifactChecksum(newCheckSum);
-        Either<ArtifactDefinition, StorageOperationStatus> addArtifactToComponent = artifactToscaOperation
-            .addArtifactToComponent(vfModuleArtifactDefinition, service, NodeTypeEnum.ResourceInstance, true, currVF.getUniqueId());
-        Either<ArtifactDefinition, ResponseFormat> result;
-        if (addArtifactToComponent.isLeft()) {
-            result = Either.left(addArtifactToComponent.left().value());
-        } else {
-            result = Either
-                .right(componentsUtils.getResponseFormat(componentsUtils.convertFromStorageResponse(addArtifactToComponent.right().value())));
-        }
-        return result;
-    }
-
     public Either<Service, ResponseFormat> generateHeatEnvArtifacts(Service service, User modifier, boolean shouldLock, boolean inTransaction) {
         Function<ComponentInstance, List<ArtifactGenerator<ArtifactDefinition>>> artifactTaskGeneratorCreator = resourceInstance ->
             // Get All Deployment Artifacts
     public Either<Service, ResponseFormat> generateHeatEnvArtifacts(Service service, User modifier, boolean shouldLock, boolean inTransaction) {
         Function<ComponentInstance, List<ArtifactGenerator<ArtifactDefinition>>> artifactTaskGeneratorCreator = resourceInstance ->
             // Get All Deployment Artifacts
@@ -2063,7 +1943,7 @@ public class ServiceBusinessLogic extends ComponentBusinessLogic {
             log.error("Exception occured during update Group Instance property values: {}", e.getMessage(), e);
             actionResult = Either.right(componentsUtils.getResponseFormat(ActionStatus.GENERAL_ERROR));
         } finally {
             log.error("Exception occured during update Group Instance property values: {}", e.getMessage(), e);
             actionResult = Either.right(componentsUtils.getResponseFormat(ActionStatus.GENERAL_ERROR));
         } finally {
-            if (lockResult != null && lockResult.isLeft() && lockResult.left().value()) {
+            if (lockResult != null && lockResult.isLeft() && Boolean.TRUE.equals(lockResult.left().value())) {
                 graphLockOperation.unlockComponentByName(component.getSystemName(), component.getUniqueId(), NodeTypeEnum.Service);
             }
         }
                 graphLockOperation.unlockComponentByName(component.getSystemName(), component.getUniqueId(), NodeTypeEnum.Service);
             }
         }
@@ -2249,12 +2129,12 @@ public class ServiceBusinessLogic extends ComponentBusinessLogic {
         return latestByName.isLeft();
     }
 
         return latestByName.isLeft();
     }
 
-    abstract class ArtifactGenerator<CallVal> implements Callable<Either<CallVal, ResponseFormat>> {
+    interface ArtifactGenerator<CallVal> extends Callable<Either<CallVal, ResponseFormat>> {
 
     }
 
     @Getter
 
     }
 
     @Getter
-    class HeatEnvArtifactGenerator extends ArtifactGenerator<ArtifactDefinition> {
+    class HeatEnvArtifactGenerator implements ArtifactGenerator<ArtifactDefinition> {
 
         private ArtifactDefinition artifactDefinition;
         private Service service;
 
         private ArtifactDefinition artifactDefinition;
         private Service service;
@@ -2283,7 +2163,7 @@ public class ServiceBusinessLogic extends ComponentBusinessLogic {
         }
     }
 
         }
     }
 
-    class VfModuleArtifactGenerator extends ArtifactGenerator<ArtifactDefinition> {
+    class VfModuleArtifactGenerator implements ArtifactGenerator<ArtifactDefinition> {
 
         boolean shouldLock;
         boolean inTransaction;
 
         boolean shouldLock;
         boolean inTransaction;
@@ -2301,6 +2181,126 @@ public class ServiceBusinessLogic extends ComponentBusinessLogic {
             this.inTransaction = inTransaction;
         }
 
             this.inTransaction = inTransaction;
         }
 
+        private Either<ArtifactDefinition, ResponseFormat> generateVfModuleInstanceArtifact(User modifier, ComponentInstance currVFInstance,
+                                                                                            Service service, boolean shouldLock,
+                                                                                            boolean inTransaction) {
+            ArtifactDefinition vfModuleArtifact = null;
+            Wrapper<ResponseFormat> responseWrapper = new Wrapper<>();
+            Wrapper<String> payloadWrapper = new Wrapper<>();
+            List<GroupInstance> groupsForCurrVF = collectGroupsInstanceForCompInstance(currVFInstance);
+            if (responseWrapper.isEmpty()) {
+                fillVfModuleInstHeatEnvPayload(groupsForCurrVF, payloadWrapper);
+            }
+            if (responseWrapper.isEmpty() && payloadWrapper.getInnerElement() != null) {
+                vfModuleArtifact = getVfModuleInstArtifactForCompInstance(currVFInstance, service, payloadWrapper, responseWrapper);
+            }
+            if (responseWrapper.isEmpty() && vfModuleArtifact != null) {
+                vfModuleArtifact = fillVfModulePayload(modifier, currVFInstance, vfModuleArtifact, shouldLock, inTransaction, payloadWrapper,
+                    responseWrapper, service);
+            }
+            Either<ArtifactDefinition, ResponseFormat> result;
+            if (responseWrapper.isEmpty()) {
+                result = Either.left(vfModuleArtifact);
+            } else {
+                result = Either.right(responseWrapper.getInnerElement());
+            }
+            return result;
+        }
+
+        private void fillVfModuleInstHeatEnvPayload(List<GroupInstance> groupsForCurrVF, Wrapper<String> payloadWrapper) {
+            List<VfModuleArtifactPayload> vfModulePayloads = new ArrayList<>();
+            if (groupsForCurrVF != null) {
+                for (GroupInstance groupInstance : groupsForCurrVF) {
+                    VfModuleArtifactPayload modulePayload = new VfModuleArtifactPayload(groupInstance);
+                    vfModulePayloads.add(modulePayload);
+                }
+                vfModulePayloads.sort(VfModuleArtifactPayload::compareByGroupName);
+                final Gson gson = new GsonBuilder().setPrettyPrinting().create();
+                String vfModulePayloadString = gson.toJson(vfModulePayloads);
+                payloadWrapper.setInnerElement(vfModulePayloadString);
+            }
+        }
+
+        private ArtifactDefinition getVfModuleInstArtifactForCompInstance(ComponentInstance currVF, Service service, Wrapper<String> payloadWrapper,
+                                                                          Wrapper<ResponseFormat> responseWrapper) {
+            ArtifactDefinition vfModuleAertifact = null;
+            if (MapUtils.isNotEmpty(currVF.getDeploymentArtifacts())) {
+                final Optional<ArtifactDefinition> optionalVfModuleArtifact = currVF.getDeploymentArtifacts().values().stream()
+                    .filter(p -> p.getArtifactType().equals(ArtifactTypeEnum.VF_MODULES_METADATA.getType())).findAny();
+                if (optionalVfModuleArtifact.isPresent()) {
+                    vfModuleAertifact = optionalVfModuleArtifact.get();
+                }
+            }
+            if (vfModuleAertifact == null) {
+                Either<ArtifactDefinition, ResponseFormat> createVfModuleArtifact = createVfModuleArtifact(currVF, service,
+                    payloadWrapper.getInnerElement());
+                if (createVfModuleArtifact.isLeft()) {
+                    vfModuleAertifact = createVfModuleArtifact.left().value();
+                } else {
+                    responseWrapper.setInnerElement(createVfModuleArtifact.right().value());
+                }
+            }
+            return vfModuleAertifact;
+        }
+
+        private List<GroupInstance> collectGroupsInstanceForCompInstance(ComponentInstance currVF) {
+            Map<String, ArtifactDefinition> deploymentArtifacts = currVF.getDeploymentArtifacts();
+            if (currVF.getGroupInstances() != null) {
+                currVF.getGroupInstances().forEach(gi -> gi.alignArtifactsUuid(deploymentArtifacts));
+            }
+            return currVF.getGroupInstances();
+        }
+
+        private Either<ArtifactDefinition, ResponseFormat> createVfModuleArtifact(ComponentInstance currVF, Service service,
+                                                                                  String vfModulePayloadString) {
+            ArtifactDefinition vfModuleArtifactDefinition = new ArtifactDefinition();
+            String newCheckSum = null;
+            vfModuleArtifactDefinition.setDescription("Auto-generated VF Modules information artifact");
+            vfModuleArtifactDefinition.setArtifactDisplayName("Vf Modules Metadata");
+            vfModuleArtifactDefinition.setArtifactType(ArtifactTypeEnum.VF_MODULES_METADATA.getType());
+            vfModuleArtifactDefinition.setArtifactGroupType(ArtifactGroupTypeEnum.DEPLOYMENT);
+            vfModuleArtifactDefinition.setArtifactLabel("vfModulesMetadata");
+            vfModuleArtifactDefinition.setTimeout(0);
+            vfModuleArtifactDefinition.setArtifactName(currVF.getNormalizedName() + "_modules.json");
+            vfModuleArtifactDefinition.setPayloadData(vfModulePayloadString);
+            if (vfModulePayloadString != null) {
+                newCheckSum = GeneralUtility.calculateMD5Base64EncodedByByteArray(vfModulePayloadString.getBytes());
+            }
+            vfModuleArtifactDefinition.setArtifactChecksum(newCheckSum);
+            Either<ArtifactDefinition, StorageOperationStatus> addArtifactToComponent = artifactToscaOperation
+                .addArtifactToComponent(vfModuleArtifactDefinition, service, NodeTypeEnum.ResourceInstance, true, currVF.getUniqueId());
+            Either<ArtifactDefinition, ResponseFormat> result;
+            if (addArtifactToComponent.isLeft()) {
+                result = Either.left(addArtifactToComponent.left().value());
+            } else {
+                result = Either
+                    .right(componentsUtils.getResponseFormat(componentsUtils.convertFromStorageResponse(addArtifactToComponent.right().value())));
+            }
+            return result;
+        }
+
+        private ArtifactDefinition fillVfModulePayload(User modifier, ComponentInstance currVF, ArtifactDefinition vfModuleArtifact,
+                                                       boolean shouldLock,
+                                                       boolean inTransaction, Wrapper<String> payloadWrapper, Wrapper<ResponseFormat> responseWrapper,
+                                                       Service service) {
+            ArtifactDefinition result = null;
+            Either<ArtifactDefinition, ResponseFormat> eitherPayload = artifactsBusinessLogic
+                .generateArtifactPayload(vfModuleArtifact, ComponentTypeEnum.RESOURCE_INSTANCE, service, currVF.getName(), modifier, shouldLock,
+                    inTransaction, System::currentTimeMillis, () -> Either.left(
+                        artifactsBusinessLogic.createEsArtifactData(vfModuleArtifact,
+                            payloadWrapper.getInnerElement().getBytes(StandardCharsets.UTF_8))),
+                    currVF.getUniqueId());
+            if (eitherPayload.isLeft()) {
+                result = eitherPayload.left().value();
+            } else {
+                responseWrapper.setInnerElement(eitherPayload.right().value());
+            }
+            if (result == null) {
+                result = vfModuleArtifact;
+            }
+            return result;
+        }
+
         @Override
         public Either<ArtifactDefinition, ResponseFormat> call() throws Exception {
             return generateVfModuleInstanceArtifact(user, componentInstance, service, shouldLock, inTransaction);
         @Override
         public Either<ArtifactDefinition, ResponseFormat> call() throws Exception {
             return generateVfModuleInstanceArtifact(user, componentInstance, service, shouldLock, inTransaction);
index dd55ae8..34460f4 100644 (file)
@@ -67,6 +67,7 @@ import org.openecomp.sdc.be.components.validation.component.ComponentValidator;
 import org.openecomp.sdc.be.config.BeEcompErrorManager;
 import org.openecomp.sdc.be.config.ConfigurationManager;
 import org.openecomp.sdc.be.dao.api.ActionStatus;
 import org.openecomp.sdc.be.config.BeEcompErrorManager;
 import org.openecomp.sdc.be.config.ConfigurationManager;
 import org.openecomp.sdc.be.dao.api.ActionStatus;
+import org.openecomp.sdc.be.dao.janusgraph.JanusGraphDao;
 import org.openecomp.sdc.be.datamodel.utils.ArtifactUtils;
 import org.openecomp.sdc.be.datamodel.utils.UiComponentDataConverter;
 import org.openecomp.sdc.be.datatypes.elements.GetInputValueDataDefinition;
 import org.openecomp.sdc.be.datamodel.utils.ArtifactUtils;
 import org.openecomp.sdc.be.datamodel.utils.UiComponentDataConverter;
 import org.openecomp.sdc.be.datatypes.elements.GetInputValueDataDefinition;
@@ -97,6 +98,7 @@ import org.openecomp.sdc.be.model.LifecycleStateEnum;
 import org.openecomp.sdc.be.model.NodeTypeInfo;
 import org.openecomp.sdc.be.model.Operation;
 import org.openecomp.sdc.be.model.ParsedToscaYamlInfo;
 import org.openecomp.sdc.be.model.NodeTypeInfo;
 import org.openecomp.sdc.be.model.Operation;
 import org.openecomp.sdc.be.model.ParsedToscaYamlInfo;
+import org.openecomp.sdc.be.model.PolicyDefinition;
 import org.openecomp.sdc.be.model.PropertyDefinition;
 import org.openecomp.sdc.be.model.RelationshipImpl;
 import org.openecomp.sdc.be.model.RelationshipInfo;
 import org.openecomp.sdc.be.model.PropertyDefinition;
 import org.openecomp.sdc.be.model.RelationshipImpl;
 import org.openecomp.sdc.be.model.RelationshipInfo;
@@ -119,6 +121,7 @@ import org.openecomp.sdc.be.model.jsonjanusgraph.operations.ToscaOperationFacade
 import org.openecomp.sdc.be.model.jsonjanusgraph.utils.ModelConverter;
 import org.openecomp.sdc.be.model.operations.StorageException;
 import org.openecomp.sdc.be.model.operations.api.IElementOperation;
 import org.openecomp.sdc.be.model.jsonjanusgraph.utils.ModelConverter;
 import org.openecomp.sdc.be.model.operations.StorageException;
 import org.openecomp.sdc.be.model.operations.api.IElementOperation;
+import org.openecomp.sdc.be.model.operations.api.IGraphLockOperation;
 import org.openecomp.sdc.be.model.operations.api.IGroupInstanceOperation;
 import org.openecomp.sdc.be.model.operations.api.IGroupOperation;
 import org.openecomp.sdc.be.model.operations.api.IGroupTypeOperation;
 import org.openecomp.sdc.be.model.operations.api.IGroupInstanceOperation;
 import org.openecomp.sdc.be.model.operations.api.IGroupOperation;
 import org.openecomp.sdc.be.model.operations.api.IGroupTypeOperation;
@@ -135,7 +138,6 @@ import org.openecomp.sdc.common.kpi.api.ASDCKpiApi;
 import org.openecomp.sdc.common.log.wrappers.Logger;
 import org.openecomp.sdc.common.util.ValidationUtils;
 import org.openecomp.sdc.exception.ResponseFormat;
 import org.openecomp.sdc.common.log.wrappers.Logger;
 import org.openecomp.sdc.common.util.ValidationUtils;
 import org.openecomp.sdc.exception.ResponseFormat;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.yaml.snakeyaml.Yaml;
 
 @Getter
 import org.yaml.snakeyaml.Yaml;
 
 @Getter
@@ -143,9 +145,9 @@ import org.yaml.snakeyaml.Yaml;
 @org.springframework.stereotype.Component("serviceImportBusinessLogic")
 public class ServiceImportBusinessLogic {
 
 @org.springframework.stereotype.Component("serviceImportBusinessLogic")
 public class ServiceImportBusinessLogic {
 
+    protected static final String CREATE_RESOURCE = "Create Resource";
     private static final String INITIAL_VERSION = "0.1";
     private static final String INITIAL_VERSION = "0.1";
-    private static final String CREATE_RESOURCE = "Create Resource";
-    private static final String IN_RESOURCE = "  in resource {} ";
+    private static final String IN_RESOURCE = " in resource {} ";
     private static final String COMPONENT_INSTANCE_WITH_NAME = "component instance with name ";
     private static final String COMPONENT_INSTANCE_WITH_NAME_IN_RESOURCE = "component instance with name {}  in resource {} ";
     private static final String CERTIFICATION_ON_IMPORT = "certification on import";
     private static final String COMPONENT_INSTANCE_WITH_NAME = "component instance with name ";
     private static final String COMPONENT_INSTANCE_WITH_NAME_IN_RESOURCE = "component instance with name {}  in resource {} ";
     private static final String CERTIFICATION_ON_IMPORT = "certification on import";
@@ -154,30 +156,25 @@ public class ServiceImportBusinessLogic {
     private static final String CREATE_RESOURCE_VALIDATE_CAPABILITY_TYPES = "Create Resource - validateCapabilityTypesCreate";
     private static final String CATEGORY_IS_EMPTY = "Resource category is empty";
     private static final Logger log = Logger.getLogger(ServiceImportBusinessLogic.class);
     private static final String CREATE_RESOURCE_VALIDATE_CAPABILITY_TYPES = "Create Resource - validateCapabilityTypesCreate";
     private static final String CATEGORY_IS_EMPTY = "Resource category is empty";
     private static final Logger log = Logger.getLogger(ServiceImportBusinessLogic.class);
+
+    private final ComponentsUtils componentsUtils;
+    private final ToscaOperationFacade toscaOperationFacade;
     private final UiComponentDataConverter uiComponentDataConverter;
     private final ComponentInstanceBusinessLogic componentInstanceBusinessLogic;
     private final UiComponentDataConverter uiComponentDataConverter;
     private final ComponentInstanceBusinessLogic componentInstanceBusinessLogic;
-    @Autowired
-    protected ComponentsUtils componentsUtils;
-    @Autowired
-    protected ToscaOperationFacade toscaOperationFacade;
-    @Autowired
-    private ServiceBusinessLogic serviceBusinessLogic;
-    @Autowired
-    private CsarBusinessLogic csarBusinessLogic;
-    @Autowired
-    private CsarArtifactsAndGroupsBusinessLogic csarArtifactsAndGroupsBusinessLogic;
-    @Autowired
-    private LifecycleBusinessLogic lifecycleBusinessLogic;
-    @Autowired
-    private CompositionBusinessLogic compositionBusinessLogic;
-    @Autowired
-    private ResourceDataMergeBusinessLogic resourceDataMergeBusinessLogic;
-    @Autowired
-    private ServiceImportParseLogic serviceImportParseLogic;
-    @Autowired
-    private ComponentNodeFilterBusinessLogic componentNodeFilterBusinessLogic;
-
-    @Autowired
+    private final ServiceBusinessLogic serviceBusinessLogic;
+    private final CsarBusinessLogic csarBusinessLogic;
+    private final CsarArtifactsAndGroupsBusinessLogic csarArtifactsAndGroupsBusinessLogic;
+    private final LifecycleBusinessLogic lifecycleBusinessLogic;
+    private final CompositionBusinessLogic compositionBusinessLogic;
+    private final ResourceDataMergeBusinessLogic resourceDataMergeBusinessLogic;
+    private final ServiceImportParseLogic serviceImportParseLogic;
+    private final ComponentNodeFilterBusinessLogic componentNodeFilterBusinessLogic;
+    private final GroupBusinessLogic groupBusinessLogic;
+    private final PolicyBusinessLogic policyBusinessLogic;
+    private final JanusGraphDao janusGraphDao;
+    private final ArtifactsBusinessLogic artifactsBusinessLogic;
+    private final IGraphLockOperation graphLockOperation;
+
     public ServiceImportBusinessLogic(IElementOperation elementDao, IGroupOperation groupOperation, IGroupInstanceOperation groupInstanceOperation,
                                       IGroupTypeOperation groupTypeOperation, GroupBusinessLogic groupBusinessLogic,
                                       InterfaceOperation interfaceOperation, InterfaceLifecycleOperation interfaceLifecycleTypeOperation,
     public ServiceImportBusinessLogic(IElementOperation elementDao, IGroupOperation groupOperation, IGroupInstanceOperation groupInstanceOperation,
                                       IGroupTypeOperation groupTypeOperation, GroupBusinessLogic groupBusinessLogic,
                                       InterfaceOperation interfaceOperation, InterfaceLifecycleOperation interfaceLifecycleTypeOperation,
@@ -189,17 +186,33 @@ public class ServiceImportBusinessLogic {
                                       ComponentContactIdValidator componentContactIdValidator, ComponentNameValidator componentNameValidator,
                                       ComponentTagsValidator componentTagsValidator, ComponentValidator componentValidator,
                                       ComponentIconValidator componentIconValidator, ComponentProjectCodeValidator componentProjectCodeValidator,
                                       ComponentContactIdValidator componentContactIdValidator, ComponentNameValidator componentNameValidator,
                                       ComponentTagsValidator componentTagsValidator, ComponentValidator componentValidator,
                                       ComponentIconValidator componentIconValidator, ComponentProjectCodeValidator componentProjectCodeValidator,
-                                      ComponentDescriptionValidator componentDescriptionValidator) {
+                                      ComponentDescriptionValidator componentDescriptionValidator, final ComponentsUtils componentsUtils,
+                                      final ToscaOperationFacade toscaOperationFacade, final ServiceBusinessLogic serviceBusinessLogic,
+                                      final CsarBusinessLogic csarBusinessLogic,
+                                      final CsarArtifactsAndGroupsBusinessLogic csarArtifactsAndGroupsBusinessLogic,
+                                      final LifecycleBusinessLogic lifecycleBusinessLogic, final CompositionBusinessLogic compositionBusinessLogic,
+                                      final ResourceDataMergeBusinessLogic resourceDataMergeBusinessLogic,
+                                      final ServiceImportParseLogic serviceImportParseLogic,
+                                      final ComponentNodeFilterBusinessLogic componentNodeFilterBusinessLogic,
+                                      final PolicyBusinessLogic policyBusinessLogic, final JanusGraphDao janusGraphDao,
+                                      final IGraphLockOperation graphLockOperation) {
         this.componentInstanceBusinessLogic = componentInstanceBusinessLogic;
         this.uiComponentDataConverter = uiComponentDataConverter;
         this.componentInstanceBusinessLogic = componentInstanceBusinessLogic;
         this.uiComponentDataConverter = uiComponentDataConverter;
-    }
-
-    public ServiceBusinessLogic getServiceBusinessLogic() {
-        return serviceBusinessLogic;
-    }
-
-    public void setServiceBusinessLogic(ServiceBusinessLogic serviceBusinessLogic) {
+        this.componentsUtils = componentsUtils;
+        this.toscaOperationFacade = toscaOperationFacade;
         this.serviceBusinessLogic = serviceBusinessLogic;
         this.serviceBusinessLogic = serviceBusinessLogic;
+        this.csarBusinessLogic = csarBusinessLogic;
+        this.csarArtifactsAndGroupsBusinessLogic = csarArtifactsAndGroupsBusinessLogic;
+        this.lifecycleBusinessLogic = lifecycleBusinessLogic;
+        this.compositionBusinessLogic = compositionBusinessLogic;
+        this.resourceDataMergeBusinessLogic = resourceDataMergeBusinessLogic;
+        this.serviceImportParseLogic = serviceImportParseLogic;
+        this.componentNodeFilterBusinessLogic = componentNodeFilterBusinessLogic;
+        this.groupBusinessLogic = groupBusinessLogic;
+        this.policyBusinessLogic = policyBusinessLogic;
+        this.janusGraphDao = janusGraphDao;
+        this.artifactsBusinessLogic = artifactsBusinessLogic;
+        this.graphLockOperation = graphLockOperation;
     }
 
     public Service createService(Service service, AuditingActionEnum auditingAction, User user, Map<String, byte[]> csarUIPayload,
     }
 
     public Service createService(Service service, AuditingActionEnum auditingAction, User user, Map<String, byte[]> csarUIPayload,
@@ -211,7 +224,10 @@ public class ServiceImportBusinessLogic {
         service.setConformanceLevel(ConfigurationManager.getConfigurationManager().getConfiguration().getToscaConformanceLevel());
         service.setDistributionStatus(DistributionStatusEnum.DISTRIBUTION_NOT_APPROVED);
         try {
         service.setConformanceLevel(ConfigurationManager.getConfigurationManager().getConfiguration().getToscaConformanceLevel());
         service.setDistributionStatus(DistributionStatusEnum.DISTRIBUTION_NOT_APPROVED);
         try {
-            serviceBusinessLogic.validateServiceBeforeCreate(service, user, auditingAction);
+            final var serviceBeforeCreate = serviceBusinessLogic.validateServiceBeforeCreate(service, user, auditingAction);
+            if (serviceBeforeCreate.isRight()) {
+                throw new ComponentException(ActionStatus.GENERAL_ERROR);
+            }
             log.debug("enter createService,validateServiceBeforeCreate success");
             String csarUUID = payloadName == null ? service.getCsarUUID() : payloadName;
             log.debug("enter createService,get csarUUID:{}", csarUUID);
             log.debug("enter createService,validateServiceBeforeCreate success");
             String csarUUID = payloadName == null ? service.getCsarUUID() : payloadName;
             log.debug("enter createService,get csarUUID:{}", csarUUID);
@@ -318,8 +334,8 @@ public class ServiceImportBusinessLogic {
             service = createRIAndRelationsFromYaml(yamlName, service, uploadComponentInstanceInfoMap, topologyTemplateYaml,
                 nodeTypesNewCreatedArtifacts, nodeTypesInfo, csarInfo, nodeTypesArtifactsToCreate, nodeName);
             log.trace("************* Finished to create nodes, RI and Relation  from yaml {}", yamlName);
             service = createRIAndRelationsFromYaml(yamlName, service, uploadComponentInstanceInfoMap, topologyTemplateYaml,
                 nodeTypesNewCreatedArtifacts, nodeTypesInfo, csarInfo, nodeTypesArtifactsToCreate, nodeName);
             log.trace("************* Finished to create nodes, RI and Relation  from yaml {}", yamlName);
-            Either<Map<String, GroupDefinition>, ResponseFormat> validateUpdateVfGroupNamesRes = serviceBusinessLogic.groupBusinessLogic
-                .validateUpdateVfGroupNames(parsedToscaYamlInfo.getGroups(), service.getSystemName());
+            Either<Map<String, GroupDefinition>, ResponseFormat> validateUpdateVfGroupNamesRes
+                = groupBusinessLogic.validateUpdateVfGroupNames(parsedToscaYamlInfo.getGroups(), service.getSystemName());
             if (validateUpdateVfGroupNamesRes.isRight()) {
                 serviceImportParseLogic.rollback(inTransaction, service, createdArtifacts, nodeTypesNewCreatedArtifacts);
                 throw new ComponentException(validateUpdateVfGroupNamesRes.right().value());
             if (validateUpdateVfGroupNamesRes.isRight()) {
                 serviceImportParseLogic.rollback(inTransaction, service, createdArtifacts, nodeTypesNewCreatedArtifacts);
                 throw new ComponentException(validateUpdateVfGroupNamesRes.right().value());
@@ -337,6 +353,13 @@ public class ServiceImportBusinessLogic {
                 throw new ComponentException(createGroupsOnResource.right().value());
             }
             service = createGroupsOnResource.left().value();
                 throw new ComponentException(createGroupsOnResource.right().value());
             }
             service = createGroupsOnResource.left().value();
+
+            Either<Service, ResponseFormat> createPoliciesOnResource = createPoliciesOnResource(service, parsedToscaYamlInfo.getPolicies());
+            if (createPoliciesOnResource.isRight()) {
+                serviceImportParseLogic.rollback(inTransaction, service, createdArtifacts, nodeTypesNewCreatedArtifacts);
+                throw new ComponentException(createPoliciesOnResource.right().value());
+            }
+            service = createPoliciesOnResource.left().value();
             log.trace("************* Going to add artifacts from yaml {}", yamlName);
             NodeTypeInfoToUpdateArtifacts nodeTypeInfoToUpdateArtifacts = new NodeTypeInfoToUpdateArtifacts(nodeName, nodeTypesArtifactsToCreate);
             Either<Service, ResponseFormat> createArtifactsEither = createOrUpdateArtifacts(ArtifactsBusinessLogic.ArtifactOperationEnum.CREATE,
             log.trace("************* Going to add artifacts from yaml {}", yamlName);
             NodeTypeInfoToUpdateArtifacts nodeTypeInfoToUpdateArtifacts = new NodeTypeInfoToUpdateArtifacts(nodeName, nodeTypesArtifactsToCreate);
             Either<Service, ResponseFormat> createArtifactsEither = createOrUpdateArtifacts(ArtifactsBusinessLogic.ArtifactOperationEnum.CREATE,
@@ -353,10 +376,10 @@ public class ServiceImportBusinessLogic {
             throw e;
         } finally {
             if (!inTransaction) {
             throw e;
         } finally {
             if (!inTransaction) {
-                serviceBusinessLogic.janusGraphDao.commit();
+                janusGraphDao.commit();
             }
             if (shouldLock) {
             }
             if (shouldLock) {
-                serviceBusinessLogic.graphLockOperation.unlockComponentByName(service.getSystemName(), service.getUniqueId(), NodeTypeEnum.Resource);
+                graphLockOperation.unlockComponentByName(service.getSystemName(), service.getUniqueId(), NodeTypeEnum.Resource);
             }
         }
     }
             }
         }
     }
@@ -445,11 +468,11 @@ public class ServiceImportBusinessLogic {
             Constants.VF_LICENSE_DESCRIPTION, vfLicenseModelId, artifactOperation, null, true, shouldLock, inTransaction);
     }
 
             Constants.VF_LICENSE_DESCRIPTION, vfLicenseModelId, artifactOperation, null, true, shouldLock, inTransaction);
     }
 
-    protected Either<Resource, ResponseFormat> getResourceResponseFormatEither(Resource resource, CsarInfo csarInfo,
-                                                                               List<ArtifactDefinition> createdArtifacts,
-                                                                               ArtifactOperationInfo artifactOperation, boolean shouldLock,
-                                                                               boolean inTransaction,
-                                                                               Either<ImmutablePair<String, String>, ResponseFormat> artifacsMetaCsarStatus) {
+    private Either<Resource, ResponseFormat> getResourceResponseFormatEither(Resource resource, CsarInfo csarInfo,
+                                                                             List<ArtifactDefinition> createdArtifacts,
+                                                                             ArtifactOperationInfo artifactOperation, boolean shouldLock,
+                                                                             boolean inTransaction,
+                                                                             Either<ImmutablePair<String, String>, ResponseFormat> artifacsMetaCsarStatus) {
         try {
             String artifactsFileName = artifacsMetaCsarStatus.left().value().getKey();
             String artifactsContents = artifacsMetaCsarStatus.left().value().getValue();
         try {
             String artifactsFileName = artifacsMetaCsarStatus.left().value().getKey();
             String artifactsContents = artifacsMetaCsarStatus.left().value().getValue();
@@ -561,7 +584,7 @@ public class ServiceImportBusinessLogic {
         if (operation.getArtifactOperationEnum() == ArtifactsBusinessLogic.ArtifactOperationEnum.UPDATE
             || operation.getArtifactOperationEnum() == ArtifactsBusinessLogic.ArtifactOperationEnum.DELETE) {
             if (serviceImportParseLogic.isArtifactDeletionRequired(artifactId, artifactFileBytes, isFromCsar)) {
         if (operation.getArtifactOperationEnum() == ArtifactsBusinessLogic.ArtifactOperationEnum.UPDATE
             || operation.getArtifactOperationEnum() == ArtifactsBusinessLogic.ArtifactOperationEnum.DELETE) {
             if (serviceImportParseLogic.isArtifactDeletionRequired(artifactId, artifactFileBytes, isFromCsar)) {
-                Either<ArtifactDefinition, ResponseFormat> handleDelete = serviceBusinessLogic.artifactsBusinessLogic
+                Either<ArtifactDefinition, ResponseFormat> handleDelete = artifactsBusinessLogic
                     .handleDelete(component.getUniqueId(), artifactId, csarInfo.getModifier(), component, shouldLock, inTransaction);
                 if (handleDelete.isRight()) {
                     result = Either.right(handleDelete.right().value());
                     .handleDelete(component.getUniqueId(), artifactId, csarInfo.getModifier(), component, shouldLock, inTransaction);
                 if (handleDelete.isRight()) {
                     result = Either.right(handleDelete.right().value());
@@ -589,10 +612,10 @@ public class ServiceImportBusinessLogic {
         return result;
     }
 
         return result;
     }
 
-    public Either<List<ArtifactDefinition>, ResponseFormat> handleNodeTypeArtifacts(Resource nodeTypeResource,
-                                                                                    Map<ArtifactsBusinessLogic.ArtifactOperationEnum, List<ArtifactDefinition>> nodeTypeArtifactsToHandle,
-                                                                                    List<ArtifactDefinition> createdArtifacts, User user,
-                                                                                    boolean inTransaction, boolean ignoreLifecycleState) {
+    private Either<List<ArtifactDefinition>, ResponseFormat> handleNodeTypeArtifacts(Resource nodeTypeResource,
+                                                                                     Map<ArtifactsBusinessLogic.ArtifactOperationEnum, List<ArtifactDefinition>> nodeTypeArtifactsToHandle,
+                                                                                     List<ArtifactDefinition> createdArtifacts, User user,
+                                                                                     boolean inTransaction, boolean ignoreLifecycleState) {
         List<ArtifactDefinition> handleNodeTypeArtifactsRequestRes;
         Either<List<ArtifactDefinition>, ResponseFormat> handleNodeTypeArtifactsRes = null;
         Either<Resource, ResponseFormat> changeStateResponse;
         List<ArtifactDefinition> handleNodeTypeArtifactsRequestRes;
         Either<List<ArtifactDefinition>, ResponseFormat> handleNodeTypeArtifactsRes = null;
         Either<Resource, ResponseFormat> changeStateResponse;
@@ -610,7 +633,7 @@ public class ServiceImportBusinessLogic {
                 List<ArtifactDefinition> curArtifactsToHandle = curOperationEntry.getValue();
                 if (curArtifactsToHandle != null && !curArtifactsToHandle.isEmpty()) {
                     log.debug("************* Going to {} artifact to vfc {}", curOperation.name(), nodeTypeResource.getName());
                 List<ArtifactDefinition> curArtifactsToHandle = curOperationEntry.getValue();
                 if (curArtifactsToHandle != null && !curArtifactsToHandle.isEmpty()) {
                     log.debug("************* Going to {} artifact to vfc {}", curOperation.name(), nodeTypeResource.getName());
-                    handleNodeTypeArtifactsRequestRes = serviceBusinessLogic.artifactsBusinessLogic
+                    handleNodeTypeArtifactsRequestRes = artifactsBusinessLogic
                         .handleArtifactsRequestForInnerVfcComponent(curArtifactsToHandle, nodeTypeResource, user, createdArtifacts,
                             new ArtifactOperationInfo(false, ignoreLifecycleState, curOperation), false, inTransaction);
                     if (ArtifactsBusinessLogic.ArtifactOperationEnum.isCreateOrLink(curOperation)) {
                         .handleArtifactsRequestForInnerVfcComponent(curArtifactsToHandle, nodeTypeResource, user, createdArtifacts,
                             new ArtifactOperationInfo(false, ignoreLifecycleState, curOperation), false, inTransaction);
                     if (ArtifactsBusinessLogic.ArtifactOperationEnum.isCreateOrLink(curOperation)) {
@@ -630,7 +653,7 @@ public class ServiceImportBusinessLogic {
         return handleNodeTypeArtifactsRes;
     }
 
         return handleNodeTypeArtifactsRes;
     }
 
-    protected Either<Resource, ResponseFormat> checkoutResource(Resource resource, User user, boolean inTransaction) {
+    private Either<Resource, ResponseFormat> checkoutResource(Resource resource, User user, boolean inTransaction) {
         Either<Resource, ResponseFormat> checkoutResourceRes;
         try {
             if (!resource.getComponentMetadataDefinition().getMetadataDataDefinition().getState()
         Either<Resource, ResponseFormat> checkoutResourceRes;
         try {
             if (!resource.getComponentMetadataDefinition().getMetadataDataDefinition().getState()
@@ -768,7 +791,7 @@ public class ServiceImportBusinessLogic {
         return organizeVfCsarArtifactsByArtifactOperation(artifactPathAndNameList, existingArtifacts, component, user);
     }
 
         return organizeVfCsarArtifactsByArtifactOperation(artifactPathAndNameList, existingArtifacts, component, user);
     }
 
-    protected boolean isNonMetaArtifact(ArtifactDefinition artifact) {
+    private boolean isNonMetaArtifact(ArtifactDefinition artifact) {
         boolean result = true;
         if (artifact.getMandatory() || artifact.getArtifactName() == null || !isValidArtifactType(artifact)) {
             result = false;
         boolean result = true;
         if (artifact.getMandatory() || artifact.getArtifactName() == null || !isValidArtifactType(artifact)) {
             result = false;
@@ -777,12 +800,10 @@ public class ServiceImportBusinessLogic {
     }
 
     private boolean isValidArtifactType(ArtifactDefinition artifact) {
     }
 
     private boolean isValidArtifactType(ArtifactDefinition artifact) {
-        boolean result = true;
-        if (artifact.getArtifactType() == null || ArtifactTypeEnum.findType(artifact.getArtifactType()).equals(ArtifactTypeEnum.VENDOR_LICENSE)
-            || ArtifactTypeEnum.findType(artifact.getArtifactType()).equals(ArtifactTypeEnum.VF_LICENSE)) {
-            result = false;
-        }
-        return result;
+        final String artifactType = artifact.getArtifactType();
+        return artifactType != null
+            && !ArtifactTypeEnum.VENDOR_LICENSE.getType().equals(ArtifactTypeEnum.findType(artifactType))
+            && !ArtifactTypeEnum.VF_LICENSE.getType().equals(ArtifactTypeEnum.findType(artifactType));
     }
 
     protected Either<EnumMap<ArtifactsBusinessLogic.ArtifactOperationEnum, List<CsarUtils.NonMetaArtifactInfo>>, ResponseFormat> organizeVfCsarArtifactsByArtifactOperation(
     }
 
     protected Either<EnumMap<ArtifactsBusinessLogic.ArtifactOperationEnum, List<CsarUtils.NonMetaArtifactInfo>>, ResponseFormat> organizeVfCsarArtifactsByArtifactOperation(
@@ -815,12 +836,11 @@ public class ServiceImportBusinessLogic {
                             ResponseFormat responseFormat = ResponseFormatManager.getInstance()
                                 .getResponseFormat(ActionStatus.ARTIFACT_ALREADY_EXIST_IN_DIFFERENT_TYPE_IN_CSAR, currNewArtifact.getArtifactName(),
                                     currNewArtifact.getArtifactType(), foundArtifact.getArtifactType());
                             ResponseFormat responseFormat = ResponseFormatManager.getInstance()
                                 .getResponseFormat(ActionStatus.ARTIFACT_ALREADY_EXIST_IN_DIFFERENT_TYPE_IN_CSAR, currNewArtifact.getArtifactName(),
                                     currNewArtifact.getArtifactType(), foundArtifact.getArtifactType());
-                            AuditingActionEnum auditingAction = serviceBusinessLogic.artifactsBusinessLogic
-                                .detectAuditingType(new ArtifactOperationInfo(false, false, ArtifactsBusinessLogic.ArtifactOperationEnum.CREATE),
-                                    foundArtifact.getArtifactChecksum());
-                            serviceBusinessLogic.artifactsBusinessLogic
-                                .handleAuditing(auditingAction, component, component.getUniqueId(), user, null, null, foundArtifact.getUniqueId(),
-                                    responseFormat, component.getComponentType(), null);
+                            AuditingActionEnum auditingAction = artifactsBusinessLogic.detectAuditingType(
+                                new ArtifactOperationInfo(false, false, ArtifactsBusinessLogic.ArtifactOperationEnum.CREATE),
+                                foundArtifact.getArtifactChecksum());
+                            artifactsBusinessLogic.handleAuditing(auditingAction, component, component.getUniqueId(), user, null, null,
+                                foundArtifact.getUniqueId(), responseFormat, component.getComponentType(), null);
                             responseWrapper.setInnerElement(responseFormat);
                             break;
                         }
                             responseWrapper.setInnerElement(responseFormat);
                             break;
                         }
@@ -863,14 +883,6 @@ public class ServiceImportBusinessLogic {
         return nodeTypeArtifactsToHandleRes;
     }
 
         return nodeTypeArtifactsToHandleRes;
     }
 
-    public ComponentsUtils getComponentsUtils() {
-        return this.componentsUtils;
-    }
-
-    public void setComponentsUtils(ComponentsUtils componentsUtils) {
-        this.componentsUtils = componentsUtils;
-    }
-
     protected Either<List<CsarUtils.NonMetaArtifactInfo>, String> getValidArtifactNames(CsarInfo csarInfo,
                                                                                         Map<String, Set<List<String>>> collectedWarningMessages) {
         List<CsarUtils.NonMetaArtifactInfo> artifactPathAndNameList = csarInfo.getCsar().entrySet().stream()
     protected Either<List<CsarUtils.NonMetaArtifactInfo>, String> getValidArtifactNames(CsarInfo csarInfo,
                                                                                         Map<String, Set<List<String>>> collectedWarningMessages) {
         List<CsarUtils.NonMetaArtifactInfo> artifactPathAndNameList = csarInfo.getCsar().entrySet().stream()
@@ -891,14 +903,27 @@ public class ServiceImportBusinessLogic {
             List<GroupDefinition> groupsAsList = updateGroupsMembersUsingResource(groups, service);
             serviceImportParseLogic.handleGroupsProperties(service, groups);
             serviceImportParseLogic.fillGroupsFinalFields(groupsAsList);
             List<GroupDefinition> groupsAsList = updateGroupsMembersUsingResource(groups, service);
             serviceImportParseLogic.handleGroupsProperties(service, groups);
             serviceImportParseLogic.fillGroupsFinalFields(groupsAsList);
-            Either<List<GroupDefinition>, ResponseFormat> createGroups = serviceBusinessLogic.groupBusinessLogic
-                .createGroups(service, groupsAsList, true);
+            Either<List<GroupDefinition>, ResponseFormat> createGroups = groupBusinessLogic.createGroups(service, groupsAsList, true);
             if (createGroups.isRight()) {
                 return Either.right(createGroups.right().value());
             }
         } else {
             return Either.left(service);
         }
             if (createGroups.isRight()) {
                 return Either.right(createGroups.right().value());
             }
         } else {
             return Either.left(service);
         }
+        return getServiceResponseFormatEither(service);
+    }
+
+    private Either<Service, ResponseFormat> createPoliciesOnResource(Service service,
+                                                                     Map<String, PolicyDefinition> policies) {
+        if (MapUtils.isNotEmpty(policies)) {
+            policyBusinessLogic.createPolicies(service, policies);
+        } else {
+            return Either.left(service);
+        }
+        return getServiceResponseFormatEither(service);
+    }
+
+    private Either<Service, ResponseFormat> getServiceResponseFormatEither(Service service) {
         Either<Service, StorageOperationStatus> updatedResource = toscaOperationFacade.getToscaElement(service.getUniqueId());
         if (updatedResource.isRight()) {
             ResponseFormat responseFormat = componentsUtils
         Either<Service, StorageOperationStatus> updatedResource = toscaOperationFacade.getToscaElement(service.getUniqueId());
         if (updatedResource.isRight()) {
             ResponseFormat responseFormat = componentsUtils
@@ -1232,11 +1257,11 @@ public class ServiceImportBusinessLogic {
         return result;
     }
 
         return result;
     }
 
-    public Map<String, Resource> createResourcesFromYamlNodeTypesList(String yamlName, Resource resource, Map<String, Object> mappedToscaTemplate,
-                                                                      boolean needLock,
-                                                                      Map<String, EnumMap<ArtifactOperationEnum, List<ArtifactDefinition>>> nodeTypesArtifactsToHandle,
-                                                                      List<ArtifactDefinition> nodeTypesNewCreatedArtifacts,
-                                                                      Map<String, NodeTypeInfo> nodeTypesInfo, CsarInfo csarInfo) {
+    private Map<String, Resource> createResourcesFromYamlNodeTypesList(String yamlName, Resource resource, Map<String, Object> mappedToscaTemplate,
+                                                                       boolean needLock,
+                                                                       Map<String, EnumMap<ArtifactOperationEnum, List<ArtifactDefinition>>> nodeTypesArtifactsToHandle,
+                                                                       List<ArtifactDefinition> nodeTypesNewCreatedArtifacts,
+                                                                       Map<String, NodeTypeInfo> nodeTypesInfo, CsarInfo csarInfo) {
         Either<String, ImportUtils.ResultStatusEnum> toscaVersion = findFirstToscaStringElement(mappedToscaTemplate,
             TypeUtils.ToscaTagNamesEnum.TOSCA_VERSION);
         if (toscaVersion.isRight()) {
         Either<String, ImportUtils.ResultStatusEnum> toscaVersion = findFirstToscaStringElement(mappedToscaTemplate,
             TypeUtils.ToscaTagNamesEnum.TOSCA_VERSION);
         if (toscaVersion.isRight()) {
@@ -1304,7 +1329,7 @@ public class ServiceImportBusinessLogic {
         log.debug("************* Going to create all nodes {}", yamlName);
         handleServiceNodeTypes(yamlName, service, topologyTemplateYaml, false, nodeTypesArtifactsToCreate, nodeTypesNewCreatedArtifacts,
             nodeTypesInfo, csarInfo, nodeName);
         log.debug("************* Going to create all nodes {}", yamlName);
         handleServiceNodeTypes(yamlName, service, topologyTemplateYaml, false, nodeTypesArtifactsToCreate, nodeTypesNewCreatedArtifacts,
             nodeTypesInfo, csarInfo, nodeName);
-        if (!MapUtils.isEmpty(uploadComponentInstanceInfoMap)) {
+        if (MapUtils.isNotEmpty(uploadComponentInstanceInfoMap)) {
             log.debug("************* Going to create all resource instances {}", yamlName);
             service = createServiceInstances(yamlName, service, uploadComponentInstanceInfoMap, csarInfo.getCreatedNodes());
             log.debug("************* Going to create all relations {}", yamlName);
             log.debug("************* Going to create all resource instances {}", yamlName);
             service = createServiceInstances(yamlName, service, uploadComponentInstanceInfoMap, csarInfo.getCreatedNodes());
             log.debug("************* Going to create all relations {}", yamlName);
@@ -1364,7 +1389,6 @@ public class ServiceImportBusinessLogic {
         service = getResourceAfterCreateRelations(service);
         addRelationsToRI(yamlName, service, uploadResInstancesMap, componentInstancesList, relations);
         serviceImportParseLogic.associateResourceInstances(yamlName, service, relations);
         service = getResourceAfterCreateRelations(service);
         addRelationsToRI(yamlName, service, uploadResInstancesMap, componentInstancesList, relations);
         serviceImportParseLogic.associateResourceInstances(yamlName, service, relations);
-        handleSubstitutionMappings(service, uploadResInstancesMap);
         log.debug("************* in create relations, getResource start");
         Either<Service, StorageOperationStatus> eitherGetResource = toscaOperationFacade.getToscaElement(service.getUniqueId());
         log.debug("************* in create relations, getResource end");
         log.debug("************* in create relations, getResource start");
         Either<Service, StorageOperationStatus> eitherGetResource = toscaOperationFacade.getToscaElement(service.getUniqueId());
         log.debug("************* in create relations, getResource end");
@@ -1574,7 +1598,7 @@ public class ServiceImportBusinessLogic {
             originResource.getCapabilities().forEach((k, v) -> serviceImportParseLogic.addCapabilities(originCapabilities, k, v));
             uploadComponentInstanceInfo.getCapabilities().values()
                 .forEach(l -> serviceImportParseLogic.addCapabilitiesProperties(newPropertiesMap, l));
             originResource.getCapabilities().forEach((k, v) -> serviceImportParseLogic.addCapabilities(originCapabilities, k, v));
             uploadComponentInstanceInfo.getCapabilities().values()
                 .forEach(l -> serviceImportParseLogic.addCapabilitiesProperties(newPropertiesMap, l));
-            updateCapabilityPropertiesValues(allDataTypes, originCapabilities, newPropertiesMap, originResource.getModel());
+            updateCapabilityPropertiesValues(allDataTypes, originCapabilities, newPropertiesMap);
         } else {
             originCapabilities = originResource.getCapabilities();
         }
         } else {
             originCapabilities = originResource.getCapabilities();
         }
@@ -1583,7 +1607,7 @@ public class ServiceImportBusinessLogic {
 
     protected void updateCapabilityPropertiesValues(Map<String, DataTypeDefinition> allDataTypes,
                                                     Map<String, List<CapabilityDefinition>> originCapabilities,
 
     protected void updateCapabilityPropertiesValues(Map<String, DataTypeDefinition> allDataTypes,
                                                     Map<String, List<CapabilityDefinition>> originCapabilities,
-                                                    Map<String, Map<String, UploadPropInfo>> newPropertiesMap, String model) {
+                                                    Map<String, Map<String, UploadPropInfo>> newPropertiesMap) {
         originCapabilities.values().stream().flatMap(Collection::stream).filter(c -> newPropertiesMap.containsKey(c.getName()))
             .forEach(c -> updatePropertyValues(c.getProperties(), newPropertiesMap.get(c.getName()), allDataTypes));
     }
         originCapabilities.values().stream().flatMap(Collection::stream).filter(c -> newPropertiesMap.containsKey(c.getName()))
             .forEach(c -> updatePropertyValues(c.getProperties(), newPropertiesMap.get(c.getName()), allDataTypes));
     }
@@ -1630,25 +1654,6 @@ public class ServiceImportBusinessLogic {
         return originResource;
     }
 
         return originResource;
     }
 
-    protected void handleSubstitutionMappings(Service service, Map<String, UploadComponentInstanceInfo> uploadResInstancesMap) {
-        if (false) {
-            Either<Resource, StorageOperationStatus> getResourceRes = toscaOperationFacade.getToscaFullElement(service.getUniqueId());
-            if (getResourceRes.isRight()) {
-                ResponseFormat responseFormat = componentsUtils
-                    .getResponseFormatByComponent(componentsUtils.convertFromStorageResponse(getResourceRes.right().value()), service,
-                        ComponentTypeEnum.SERVICE);
-                throw new ComponentException(responseFormat);
-            }
-            getResourceRes = updateCalculatedCapReqWithSubstitutionMappings(getResourceRes.left().value(), uploadResInstancesMap);
-            if (getResourceRes.isRight()) {
-                ResponseFormat responseFormat = componentsUtils
-                    .getResponseFormatByComponent(componentsUtils.convertFromStorageResponse(getResourceRes.right().value()), service,
-                        ComponentTypeEnum.SERVICE);
-                throw new ComponentException(responseFormat);
-            }
-        }
-    }
-
     protected Either<Resource, StorageOperationStatus> updateCalculatedCapReqWithSubstitutionMappings(Resource resource,
                                                                                                       Map<String, UploadComponentInstanceInfo> uploadResInstancesMap) {
         Either<Resource, StorageOperationStatus> updateRes = null;
     protected Either<Resource, StorageOperationStatus> updateCalculatedCapReqWithSubstitutionMappings(Resource resource,
                                                                                                       Map<String, UploadComponentInstanceInfo> uploadResInstancesMap) {
         Either<Resource, StorageOperationStatus> updateRes = null;
@@ -1818,15 +1823,15 @@ public class ServiceImportBusinessLogic {
                     log.debug("try to find aviable Capability  req name is {} ", validReq.getName());
                     CapabilityDefinition aviableCapForRel = serviceImportParseLogic
                         .findAvailableCapabilityByTypeOrName(validReq, currentCapCompInstance, uploadRegInfo);
                     log.debug("try to find aviable Capability  req name is {} ", validReq.getName());
                     CapabilityDefinition aviableCapForRel = serviceImportParseLogic
                         .findAvailableCapabilityByTypeOrName(validReq, currentCapCompInstance, uploadRegInfo);
-                    reqAndRelationshipPair.setCapability(aviableCapForRel.getName());
-                    reqAndRelationshipPair.setCapabilityUid(aviableCapForRel.getUniqueId());
-                    reqAndRelationshipPair.setCapabilityOwnerId(aviableCapForRel.getOwnerId());
                     if (aviableCapForRel == null) {
                         BeEcompErrorManager.getInstance().logInternalDataError(
                             "aviable capability was not found. req name is " + validReq.getName() + " component instance is " + currentCapCompInstance
                                 .getUniqueId(), service.getUniqueId(), BeEcompErrorManager.ErrorSeverity.ERROR);
                         return componentsUtils.getResponseFormat(ActionStatus.NOT_TOPOLOGY_TOSCA_TEMPLATE, yamlName);
                     }
                     if (aviableCapForRel == null) {
                         BeEcompErrorManager.getInstance().logInternalDataError(
                             "aviable capability was not found. req name is " + validReq.getName() + " component instance is " + currentCapCompInstance
                                 .getUniqueId(), service.getUniqueId(), BeEcompErrorManager.ErrorSeverity.ERROR);
                         return componentsUtils.getResponseFormat(ActionStatus.NOT_TOPOLOGY_TOSCA_TEMPLATE, yamlName);
                     }
+                    reqAndRelationshipPair.setCapability(aviableCapForRel.getName());
+                    reqAndRelationshipPair.setCapabilityUid(aviableCapForRel.getUniqueId());
+                    reqAndRelationshipPair.setCapabilityOwnerId(aviableCapForRel.getOwnerId());
                     CapabilityRequirementRelationship capReqRel = new CapabilityRequirementRelationship();
                     capReqRel.setRelation(reqAndRelationshipPair);
                     reqAndRelationshipPairList.add(capReqRel);
                     CapabilityRequirementRelationship capReqRel = new CapabilityRequirementRelationship();
                     capReqRel.setRelation(reqAndRelationshipPair);
                     reqAndRelationshipPairList.add(capReqRel);
@@ -2144,8 +2149,8 @@ public class ServiceImportBusinessLogic {
                 .auditResource(responseFormat, csarInfo.getModifier(), preparedResource == null ? oldRresource : preparedResource, actionEnum);
             throw e;
         }
                 .auditResource(responseFormat, csarInfo.getModifier(), preparedResource == null ? oldRresource : preparedResource, actionEnum);
             throw e;
         }
-        Either<Map<String, GroupDefinition>, ResponseFormat> validateUpdateVfGroupNamesRes = serviceBusinessLogic.groupBusinessLogic
-            .validateUpdateVfGroupNames(uploadComponentInstanceInfoMap.getGroups(), preparedResource.getSystemName());
+        Either<Map<String, GroupDefinition>, ResponseFormat> validateUpdateVfGroupNamesRes = groupBusinessLogic.validateUpdateVfGroupNames(
+            uploadComponentInstanceInfoMap.getGroups(), preparedResource.getSystemName());
         if (validateUpdateVfGroupNamesRes.isRight()) {
             throw new ComponentException(validateUpdateVfGroupNamesRes.right().value());
         }
         if (validateUpdateVfGroupNamesRes.isRight()) {
             throw new ComponentException(validateUpdateVfGroupNamesRes.right().value());
         }
@@ -2237,8 +2242,8 @@ public class ServiceImportBusinessLogic {
                 nodeTypesNewCreatedArtifacts, nodeTypesInfo, csarInfo, nodeTypesArtifactsToCreate, nodeName);
             log.trace("************* Finished to create nodes, RI and Relation  from yaml {}", yamlName);
             // validate update vf module group names
                 nodeTypesNewCreatedArtifacts, nodeTypesInfo, csarInfo, nodeTypesArtifactsToCreate, nodeName);
             log.trace("************* Finished to create nodes, RI and Relation  from yaml {}", yamlName);
             // validate update vf module group names
-            Either<Map<String, GroupDefinition>, ResponseFormat> validateUpdateVfGroupNamesRes = serviceBusinessLogic.groupBusinessLogic
-                .validateUpdateVfGroupNames(parsedToscaYamlInfo.getGroups(), resource.getSystemName());
+            Either<Map<String, GroupDefinition>, ResponseFormat> validateUpdateVfGroupNamesRes = groupBusinessLogic.validateUpdateVfGroupNames(
+                parsedToscaYamlInfo.getGroups(), resource.getSystemName());
             if (validateUpdateVfGroupNamesRes.isRight()) {
                 serviceImportParseLogic.rollback(inTransaction, resource, createdArtifacts, nodeTypesNewCreatedArtifacts);
                 throw new ComponentException(validateUpdateVfGroupNamesRes.right().value());
             if (validateUpdateVfGroupNamesRes.isRight()) {
                 serviceImportParseLogic.rollback(inTransaction, resource, createdArtifacts, nodeTypesNewCreatedArtifacts);
                 throw new ComponentException(validateUpdateVfGroupNamesRes.right().value());
@@ -2274,11 +2279,10 @@ public class ServiceImportBusinessLogic {
             throw e;
         } finally {
             if (!inTransaction) {
             throw e;
         } finally {
             if (!inTransaction) {
-                serviceBusinessLogic.janusGraphDao.commit();
+                janusGraphDao.commit();
             }
             if (shouldLock) {
             }
             if (shouldLock) {
-                serviceBusinessLogic.graphLockOperation
-                    .unlockComponentByName(resource.getSystemName(), resource.getUniqueId(), NodeTypeEnum.Resource);
+                graphLockOperation.unlockComponentByName(resource.getSystemName(), resource.getUniqueId(), NodeTypeEnum.Resource);
             }
         }
     }
             }
         }
     }
@@ -2288,8 +2292,7 @@ public class ServiceImportBusinessLogic {
             List<GroupDefinition> groupsAsList = updateGroupsMembersUsingResource(groups, resource);
             serviceImportParseLogic.handleGroupsProperties(resource, groups);
             serviceImportParseLogic.fillGroupsFinalFields(groupsAsList);
             List<GroupDefinition> groupsAsList = updateGroupsMembersUsingResource(groups, resource);
             serviceImportParseLogic.handleGroupsProperties(resource, groups);
             serviceImportParseLogic.fillGroupsFinalFields(groupsAsList);
-            Either<List<GroupDefinition>, ResponseFormat> createGroups = serviceBusinessLogic.groupBusinessLogic
-                .createGroups(resource, groupsAsList, true);
+            Either<List<GroupDefinition>, ResponseFormat> createGroups = groupBusinessLogic.createGroups(resource, groupsAsList, true);
             if (createGroups.isRight()) {
                 return Either.right(createGroups.right().value());
             }
             if (createGroups.isRight()) {
                 return Either.right(createGroups.right().value());
             }
@@ -2407,13 +2410,13 @@ public class ServiceImportBusinessLogic {
         } finally {
             if (resourcePair == null) {
                 BeEcompErrorManager.getInstance().logBeSystemError("Change LifecycleState - Certify");
         } finally {
             if (resourcePair == null) {
                 BeEcompErrorManager.getInstance().logBeSystemError("Change LifecycleState - Certify");
-                serviceBusinessLogic.janusGraphDao.rollback();
+                janusGraphDao.rollback();
             } else if (!inTransaction) {
             } else if (!inTransaction) {
-                serviceBusinessLogic.janusGraphDao.commit();
+                janusGraphDao.commit();
             }
             if (needLock) {
                 log.debug("unlock resource {}", lockedResourceId);
             }
             if (needLock) {
                 log.debug("unlock resource {}", lockedResourceId);
-                serviceBusinessLogic.graphLockOperation.unlockComponent(lockedResourceId, NodeTypeEnum.Resource);
+                graphLockOperation.unlockComponent(lockedResourceId, NodeTypeEnum.Resource);
             }
         }
     }
             }
         }
     }
@@ -2491,23 +2494,24 @@ public class ServiceImportBusinessLogic {
         Resource vfcCreated = null;
         while (nodesNameValueIter.hasNext()) {
             Map.Entry<String, Object> nodeType = nodesNameValueIter.next();
         Resource vfcCreated = null;
         while (nodesNameValueIter.hasNext()) {
             Map.Entry<String, Object> nodeType = nodesNameValueIter.next();
+            String nodeTypeKey = nodeType.getKey();
             Map<ArtifactsBusinessLogic.ArtifactOperationEnum, List<ArtifactDefinition>> nodeTypeArtifactsToHandle =
             Map<ArtifactsBusinessLogic.ArtifactOperationEnum, List<ArtifactDefinition>> nodeTypeArtifactsToHandle =
-                nodeTypesArtifactsToHandle == null || nodeTypesArtifactsToHandle.isEmpty() ? null : nodeTypesArtifactsToHandle.get(nodeType.getKey());
-            if (nodeTypesInfo.containsKey(nodeType.getKey())) {
+                nodeTypesArtifactsToHandle == null || nodeTypesArtifactsToHandle.isEmpty() ? null : nodeTypesArtifactsToHandle.get(nodeTypeKey);
+            if (nodeTypesInfo.containsKey(nodeTypeKey)) {
                 vfcCreated = handleNestedVfc(service, nodeTypesArtifactsToHandle, nodeTypesNewCreatedArtifacts, nodeTypesInfo, csarInfo,
                 vfcCreated = handleNestedVfc(service, nodeTypesArtifactsToHandle, nodeTypesNewCreatedArtifacts, nodeTypesInfo, csarInfo,
-                    nodeType.getKey());
-                log.trace("************* Finished to handle nested vfc {}", nodeType.getKey());
+                    nodeTypeKey);
+                log.trace("************* Finished to handle nested vfc {}", nodeTypeKey);
             } else if (csarInfo.getCreatedNodesToscaResourceNames() != null && !csarInfo.getCreatedNodesToscaResourceNames()
             } else if (csarInfo.getCreatedNodesToscaResourceNames() != null && !csarInfo.getCreatedNodesToscaResourceNames()
-                .containsKey(nodeType.getKey())) {
+                .containsKey(nodeTypeKey)) {
                 ImmutablePair<Resource, ActionStatus> resourceCreated = serviceImportParseLogic
                     .createNodeTypeResourceFromYaml(yamlName, nodeType, csarInfo.getModifier(), mapToConvert, service, needLock,
                         nodeTypeArtifactsToHandle, nodeTypesNewCreatedArtifacts, true, csarInfo, true);
                 ImmutablePair<Resource, ActionStatus> resourceCreated = serviceImportParseLogic
                     .createNodeTypeResourceFromYaml(yamlName, nodeType, csarInfo.getModifier(), mapToConvert, service, needLock,
                         nodeTypeArtifactsToHandle, nodeTypesNewCreatedArtifacts, true, csarInfo, true);
-                log.debug("************* Finished to create node {}", nodeType.getKey());
+                log.debug("************* Finished to create node {}", nodeTypeKey);
                 vfcCreated = resourceCreated.getLeft();
                 vfcCreated = resourceCreated.getLeft();
-                csarInfo.getCreatedNodesToscaResourceNames().put(nodeType.getKey(), vfcCreated.getName());
+                csarInfo.getCreatedNodesToscaResourceNames().put(nodeTypeKey, vfcCreated.getName());
             }
             if (vfcCreated != null) {
             }
             if (vfcCreated != null) {
-                csarInfo.getCreatedNodes().put(nodeType.getKey(), vfcCreated);
+                csarInfo.getCreatedNodes().put(nodeTypeKey, vfcCreated);
             }
             mapToConvert.remove(TypeUtils.ToscaTagNamesEnum.NODE_TYPES.getElementName());
         }
             }
             mapToConvert.remove(TypeUtils.ToscaTagNamesEnum.NODE_TYPES.getElementName());
         }
index 63abf26..7a5b909 100644 (file)
@@ -32,7 +32,6 @@ import java.util.Optional;
 import java.util.Set;
 import java.util.function.Function;
 import lombok.Getter;
 import java.util.Set;
 import java.util.function.Function;
 import lombok.Getter;
-import lombok.Setter;
 import org.apache.commons.codec.binary.Base64;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.codec.binary.Base64;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
@@ -118,7 +117,6 @@ import org.yaml.snakeyaml.DumperOptions;
 import org.yaml.snakeyaml.Yaml;
 
 @Getter
 import org.yaml.snakeyaml.Yaml;
 
 @Getter
-@Setter
 @org.springframework.stereotype.Component
 public class ServiceImportParseLogic {
 
 @org.springframework.stereotype.Component
 public class ServiceImportParseLogic {
 
@@ -134,25 +132,46 @@ public class ServiceImportParseLogic {
     private static final String CATEGORY_IS_EMPTY = "Resource category is empty";
     private static final Logger log = Logger.getLogger(ServiceImportParseLogic.class);
     @Autowired
     private static final String CATEGORY_IS_EMPTY = "Resource category is empty";
     private static final Logger log = Logger.getLogger(ServiceImportParseLogic.class);
     @Autowired
-    private ServiceBusinessLogic serviceBusinessLogic;
+    private final ServiceBusinessLogic serviceBusinessLogic;
     @Autowired
     @Autowired
-    private ComponentsUtils componentsUtils;
+    private final ComponentsUtils componentsUtils;
     @Autowired
     @Autowired
-    private ToscaOperationFacade toscaOperationFacade;
+    private final ToscaOperationFacade toscaOperationFacade;
     @Autowired
     @Autowired
-    private LifecycleBusinessLogic lifecycleBusinessLogic;
+    private final LifecycleBusinessLogic lifecycleBusinessLogic;
     @Autowired
     @Autowired
-    private InputsBusinessLogic inputsBusinessLogic;
+    private final InputsBusinessLogic inputsBusinessLogic;
     @Autowired
     @Autowired
-    private ResourceImportManager resourceImportManager;
+    private final ResourceImportManager resourceImportManager;
     @Autowired
     @Autowired
-    private ComponentSubstitutionFilterBusinessLogic substitutionFilterBusinessLogic;
+    private final ComponentSubstitutionFilterBusinessLogic substitutionFilterBusinessLogic;
     @Autowired
     @Autowired
-    private IInterfaceLifecycleOperation interfaceTypeOperation = null;
+    private final IInterfaceLifecycleOperation interfaceTypeOperation;
     @Autowired
     @Autowired
-    private ICapabilityTypeOperation capabilityTypeOperation = null;
+    private final ICapabilityTypeOperation capabilityTypeOperation;
     @Autowired
     @Autowired
-    private ComponentNodeFilterBusinessLogic componentNodeFilterBusinessLogic;
+    private final ComponentNodeFilterBusinessLogic componentNodeFilterBusinessLogic;
+    private final GroupBusinessLogic groupBusinessLogic;
+
+    public ServiceImportParseLogic(final ServiceBusinessLogic serviceBusinessLogic, final ComponentsUtils componentsUtils,
+                                   final ToscaOperationFacade toscaOperationFacade, final LifecycleBusinessLogic lifecycleBusinessLogic,
+                                   final InputsBusinessLogic inputsBusinessLogic, final ResourceImportManager resourceImportManager,
+                                   final ComponentSubstitutionFilterBusinessLogic substitutionFilterBusinessLogic,
+                                   final IInterfaceLifecycleOperation interfaceTypeOperation, final ICapabilityTypeOperation capabilityTypeOperation,
+                                   final ComponentNodeFilterBusinessLogic componentNodeFilterBusinessLogic,
+                                   final GroupBusinessLogic groupBusinessLogic) {
+        this.serviceBusinessLogic = serviceBusinessLogic;
+        this.componentsUtils = componentsUtils;
+        this.toscaOperationFacade = toscaOperationFacade;
+        this.lifecycleBusinessLogic = lifecycleBusinessLogic;
+        this.inputsBusinessLogic = inputsBusinessLogic;
+        this.resourceImportManager = resourceImportManager;
+        this.substitutionFilterBusinessLogic = substitutionFilterBusinessLogic;
+        this.interfaceTypeOperation = interfaceTypeOperation;
+        this.capabilityTypeOperation = capabilityTypeOperation;
+        this.componentNodeFilterBusinessLogic = componentNodeFilterBusinessLogic;
+        this.groupBusinessLogic = groupBusinessLogic;
+    }
 
     public Either<Map<String, EnumMap<ArtifactsBusinessLogic.ArtifactOperationEnum, List<ArtifactDefinition>>>, ResponseFormat> findNodeTypesArtifactsToHandle(
         Map<String, NodeTypeInfo> nodeTypesInfo, CsarInfo csarInfo, Service oldResource) {
 
     public Either<Map<String, EnumMap<ArtifactsBusinessLogic.ArtifactOperationEnum, List<ArtifactDefinition>>>, ResponseFormat> findNodeTypesArtifactsToHandle(
         Map<String, NodeTypeInfo> nodeTypesInfo, CsarInfo csarInfo, Service oldResource) {
@@ -1634,18 +1653,16 @@ public class ServiceImportParseLogic {
         if (isNotEmpty(groupsToCreate)) {
             fillGroupsFinalFields(groupsToCreate);
             if (isNotEmpty(groupsFromResource)) {
         if (isNotEmpty(groupsToCreate)) {
             fillGroupsFinalFields(groupsToCreate);
             if (isNotEmpty(groupsFromResource)) {
-                serviceBusinessLogic.groupBusinessLogic.addGroups(resource, groupsToCreate, true).left()
-                    .on(serviceBusinessLogic::throwComponentException);
+                groupBusinessLogic.addGroups(resource, groupsToCreate, true).left().on(serviceBusinessLogic::throwComponentException);
             } else {
             } else {
-                serviceBusinessLogic.groupBusinessLogic.createGroups(resource, groupsToCreate, true).left()
-                    .on(serviceBusinessLogic::throwComponentException);
+                groupBusinessLogic.createGroups(resource, groupsToCreate, true).left().on(serviceBusinessLogic::throwComponentException);
             }
         }
         if (isNotEmpty(groupsToDelete)) {
             }
         }
         if (isNotEmpty(groupsToDelete)) {
-            serviceBusinessLogic.groupBusinessLogic.deleteGroups(resource, groupsToDelete).left().on(serviceBusinessLogic::throwComponentException);
+            groupBusinessLogic.deleteGroups(resource, groupsToDelete).left().on(serviceBusinessLogic::throwComponentException);
         }
         if (isNotEmpty(groupsToUpdate)) {
         }
         if (isNotEmpty(groupsToUpdate)) {
-            serviceBusinessLogic.groupBusinessLogic.updateGroups(resource, groupsToUpdate, true).left()
+            groupBusinessLogic.updateGroups(resource, groupsToUpdate, true).left()
                 .on(serviceBusinessLogic::throwComponentException);
         }
     }
                 .on(serviceBusinessLogic::throwComponentException);
         }
     }
index a7bd4b6..8ba84b8 100644 (file)
@@ -28,9 +28,7 @@ import io.swagger.v3.oas.annotations.media.Content;
 import io.swagger.v3.oas.annotations.media.Schema;
 import io.swagger.v3.oas.annotations.responses.ApiResponse;
 import io.swagger.v3.oas.annotations.servers.Server;
 import io.swagger.v3.oas.annotations.media.Schema;
 import io.swagger.v3.oas.annotations.responses.ApiResponse;
 import io.swagger.v3.oas.annotations.servers.Server;
-import io.swagger.v3.oas.annotations.servers.Servers;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import io.swagger.v3.oas.annotations.tags.Tag;
-import io.swagger.v3.oas.annotations.tags.Tags;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -81,8 +79,8 @@ import org.springframework.stereotype.Controller;
  */
 @Loggable(prepend = true, value = Loggable.DEBUG, trim = false)
 @Path("/v1/catalog")
  */
 @Loggable(prepend = true, value = Loggable.DEBUG, trim = false)
 @Path("/v1/catalog")
-@Tags({@Tag(name = "SDCE-2 APIs")})
-@Servers({@Server(url = "/sdc2/rest")})
+@Tag(name = "SDCE-2 APIs")
+@Server(url = "/sdc2/rest")
 @Controller
 @Consumes(MediaType.APPLICATION_JSON)
 @Produces(MediaType.APPLICATION_JSON)
 @Controller
 @Consumes(MediaType.APPLICATION_JSON)
 @Produces(MediaType.APPLICATION_JSON)
index bcedc60..c26f3ca 100644 (file)
@@ -19,6 +19,8 @@
  */
 package org.openecomp.sdc.be.servlets;
 
  */
 package org.openecomp.sdc.be.servlets;
 
+import static org.openecomp.sdc.common.log.enums.EcompLoggerErrorCode.BUSINESS_PROCESS_ERROR;
+
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.gson.reflect.TypeToken;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.gson.reflect.TypeToken;
@@ -31,9 +33,7 @@ import io.swagger.v3.oas.annotations.media.Content;
 import io.swagger.v3.oas.annotations.media.Schema;
 import io.swagger.v3.oas.annotations.responses.ApiResponse;
 import io.swagger.v3.oas.annotations.servers.Server;
 import io.swagger.v3.oas.annotations.media.Schema;
 import io.swagger.v3.oas.annotations.responses.ApiResponse;
 import io.swagger.v3.oas.annotations.servers.Server;
-import io.swagger.v3.oas.annotations.servers.Servers;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import io.swagger.v3.oas.annotations.tags.Tag;
-import io.swagger.v3.oas.annotations.tags.Tags;
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.IOException;
@@ -52,8 +52,8 @@ import javax.ws.rs.POST;
 import javax.ws.rs.PUT;
 import javax.ws.rs.Path;
 import javax.ws.rs.PathParam;
 import javax.ws.rs.PUT;
 import javax.ws.rs.Path;
 import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
 import javax.ws.rs.Produces;
 import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
 import javax.ws.rs.core.Context;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 import javax.ws.rs.core.Context;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
@@ -99,7 +99,7 @@ import org.springframework.stereotype.Controller;
 
 @Loggable(prepend = true, value = Loggable.DEBUG, trim = false)
 @Path("/v1/catalog")
 
 @Loggable(prepend = true, value = Loggable.DEBUG, trim = false)
 @Path("/v1/catalog")
-@Servers({@Server(url = "/sdc2/rest")})
+@Server(url = "/sdc2/rest")
 @Controller
 public class ServiceServlet extends AbstractValidationsServlet {
 
 @Controller
 public class ServiceServlet extends AbstractValidationsServlet {
 
@@ -110,8 +110,6 @@ public class ServiceServlet extends AbstractValidationsServlet {
     private final ElementBusinessLogic elementBusinessLogic;
     private final ServiceBusinessLogic serviceBusinessLogic;
 
     private final ElementBusinessLogic elementBusinessLogic;
     private final ServiceBusinessLogic serviceBusinessLogic;
 
-    public enum Action {DELETE, MARK_AS_DELETE}
-
     @Inject
     public ServiceServlet(UserBusinessLogic userBusinessLogic, ComponentInstanceBusinessLogic componentInstanceBL, ComponentsUtils componentsUtils,
                           ServletUtils servletUtils, ResourceImportManager resourceImportManager, ServiceBusinessLogic serviceBusinessLogic,
     @Inject
     public ServiceServlet(UserBusinessLogic userBusinessLogic, ComponentInstanceBusinessLogic componentInstanceBL, ComponentsUtils componentsUtils,
                           ServletUtils servletUtils, ResourceImportManager resourceImportManager, ServiceBusinessLogic serviceBusinessLogic,
@@ -123,7 +121,7 @@ public class ServiceServlet extends AbstractValidationsServlet {
 
     @POST
     @Path("/services")
 
     @POST
     @Path("/services")
-    @Tags({@Tag(name = "SDCE-2 APIs")})
+    @Tag(name = "SDCE-2 APIs")
     @Consumes(MediaType.APPLICATION_JSON)
     @Produces(MediaType.APPLICATION_JSON)
     @Operation(description = "Create Service", method = "POST", summary = "Returns created service", responses = {
     @Consumes(MediaType.APPLICATION_JSON)
     @Produces(MediaType.APPLICATION_JSON)
     @Operation(description = "Create Service", method = "POST", summary = "Returns created service", responses = {
@@ -136,8 +134,7 @@ public class ServiceServlet extends AbstractValidationsServlet {
                                   @Context final HttpServletRequest request, @HeaderParam(value = Constants.USER_ID_HEADER) String userId) {
         String url = request.getMethod() + " " + request.getRequestURI();
         log.debug(START_HANDLE_REQUEST_OF, url);
                                   @Context final HttpServletRequest request, @HeaderParam(value = Constants.USER_ID_HEADER) String userId) {
         String url = request.getMethod() + " " + request.getRequestURI();
         log.debug(START_HANDLE_REQUEST_OF, url);
-        User modifier = new User();
-        modifier.setUserId(userId);
+        User modifier = new User(userId);
         log.debug(MODIFIER_ID_IS, userId);
         loggerSupportability.log(LoggerSupportabilityActions.CREATE_SERVICE, StatusCode.STARTED, "Starting to create a service by user {} ", userId);
         validateNotEmptyBody(data);
         log.debug(MODIFIER_ID_IS, userId);
         loggerSupportability.log(LoggerSupportabilityActions.CREATE_SERVICE, StatusCode.STARTED, "Starting to create a service by user {} ", userId);
         validateNotEmptyBody(data);
@@ -163,7 +160,7 @@ public class ServiceServlet extends AbstractValidationsServlet {
 
     @GET
     @Path("/services/validate-name/{serviceName}")
 
     @GET
     @Path("/services/validate-name/{serviceName}")
-    @Tags({@Tag(name = "SDCE-2 APIs")})
+    @Tag(name = "SDCE-2 APIs")
     @Consumes(MediaType.APPLICATION_JSON)
     @Produces(MediaType.APPLICATION_JSON)
     @Operation(description = "validate service name", method = "GET", summary = "checks if the chosen service name is available ", responses = {
     @Consumes(MediaType.APPLICATION_JSON)
     @Produces(MediaType.APPLICATION_JSON)
     @Operation(description = "validate service name", method = "GET", summary = "checks if the chosen service name is available ", responses = {
@@ -174,9 +171,6 @@ public class ServiceServlet extends AbstractValidationsServlet {
                                         @HeaderParam(value = Constants.USER_ID_HEADER) String userId) {
         String url = request.getMethod() + " " + request.getRequestURI();
         log.debug(START_HANDLE_REQUEST_OF, url);
                                         @HeaderParam(value = Constants.USER_ID_HEADER) String userId) {
         String url = request.getMethod() + " " + request.getRequestURI();
         log.debug(START_HANDLE_REQUEST_OF, url);
-        // get modifier id
-        User modifier = new User();
-        modifier.setUserId(userId);
         log.debug(MODIFIER_ID_IS, userId);
         try {
             Either<Map<String, Boolean>, ResponseFormat> actionResponse = serviceBusinessLogic.validateServiceNameExists(serviceName, userId);
         log.debug(MODIFIER_ID_IS, userId);
         try {
             Either<Map<String, Boolean>, ResponseFormat> actionResponse = serviceBusinessLogic.validateServiceNameExists(serviceName, userId);
@@ -194,7 +188,7 @@ public class ServiceServlet extends AbstractValidationsServlet {
 
     @GET
     @Path("/audit-records/{componentType}/{componentUniqueId}")
 
     @GET
     @Path("/audit-records/{componentType}/{componentUniqueId}")
-    @Tags({@Tag(name = "SDCE-2 APIs")})
+    @Tag(name = "SDCE-2 APIs")
     @Consumes(MediaType.APPLICATION_JSON)
     @Produces(MediaType.APPLICATION_JSON)
     @Operation(description = "get component audit records", method = "GET", summary = "get audit records for a service or a resource", responses = {
     @Consumes(MediaType.APPLICATION_JSON)
     @Produces(MediaType.APPLICATION_JSON)
     @Operation(description = "get component audit records", method = "GET", summary = "get audit records for a service or a resource", responses = {
@@ -209,8 +203,6 @@ public class ServiceServlet extends AbstractValidationsServlet {
         ServletContext context = request.getSession().getServletContext();
         String url = request.getMethod() + " " + request.getRequestURI();
         log.debug(START_HANDLE_REQUEST_OF, url);
         ServletContext context = request.getSession().getServletContext();
         String url = request.getMethod() + " " + request.getRequestURI();
         log.debug(START_HANDLE_REQUEST_OF, url);
-        User modifier = new User();
-        modifier.setUserId(userId);
         log.debug(MODIFIER_ID_IS, userId);
         Wrapper<Response> responseWrapper = new Wrapper<>();
         Wrapper<String> uuidWrapper = new Wrapper<>();
         log.debug(MODIFIER_ID_IS, userId);
         Wrapper<Response> responseWrapper = new Wrapper<>();
         Wrapper<String> uuidWrapper = new Wrapper<>();
@@ -265,7 +257,7 @@ public class ServiceServlet extends AbstractValidationsServlet {
 
     @DELETE
     @Path("/services/{serviceId}")
 
     @DELETE
     @Path("/services/{serviceId}")
-    @Tags({@Tag(name = "SDCE-2 APIs")})
+    @Tag(name = "SDCE-2 APIs")
     @Operation(description = "Delete Service", method = "DELETE", summary = "Return no content", responses = {
         @ApiResponse(content = @Content(array = @ArraySchema(schema = @Schema(implementation = Service.class)))),
         @ApiResponse(responseCode = "204", description = "Service deleted"), @ApiResponse(responseCode = "403", description = "Restricted operation"),
     @Operation(description = "Delete Service", method = "DELETE", summary = "Return no content", responses = {
         @ApiResponse(content = @Content(array = @ArraySchema(schema = @Schema(implementation = Service.class)))),
         @ApiResponse(responseCode = "204", description = "Service deleted"), @ApiResponse(responseCode = "403", description = "Restricted operation"),
@@ -274,8 +266,8 @@ public class ServiceServlet extends AbstractValidationsServlet {
     @PermissionAllowed(AafPermission.PermNames.INTERNAL_ALL_VALUE)
     public Response deleteService(@PathParam("serviceId") final String serviceId,
                                   @Parameter(description = "Optional parameter to determine the delete action: " +
     @PermissionAllowed(AafPermission.PermNames.INTERNAL_ALL_VALUE)
     public Response deleteService(@PathParam("serviceId") final String serviceId,
                                   @Parameter(description = "Optional parameter to determine the delete action: " +
-                                          "DELETE, which will permanently delete theService from the system or " +
-                                          "MARK_AS_DELETE, which will logically mark the service as deleted. Default action is to MARK_AS_DELETE")
+                                      "DELETE, which will permanently delete theService from the system or " +
+                                      "MARK_AS_DELETE, which will logically mark the service as deleted. Default action is to MARK_AS_DELETE")
                                   @QueryParam("deleteAction") final Action deleteAction,
                                   @Context final HttpServletRequest request) {
         ServletContext context = request.getSession().getServletContext();
                                   @QueryParam("deleteAction") final Action deleteAction,
                                   @Context final HttpServletRequest request) {
         ServletContext context = request.getSession().getServletContext();
@@ -283,8 +275,7 @@ public class ServiceServlet extends AbstractValidationsServlet {
         log.debug(START_HANDLE_REQUEST_OF, url);
         // get modifier id
         String userId = request.getHeader(Constants.USER_ID_HEADER);
         log.debug(START_HANDLE_REQUEST_OF, url);
         // get modifier id
         String userId = request.getHeader(Constants.USER_ID_HEADER);
-        User modifier = new User();
-        modifier.setUserId(userId);
+        User modifier = new User(userId);
         log.debug(MODIFIER_ID_IS, userId);
         try {
             String serviceIdLower = serviceId.toLowerCase();
         log.debug(MODIFIER_ID_IS, userId);
         try {
             String serviceIdLower = serviceId.toLowerCase();
@@ -315,7 +306,7 @@ public class ServiceServlet extends AbstractValidationsServlet {
 
     @DELETE
     @Path("/services/{serviceName}/{version}")
 
     @DELETE
     @Path("/services/{serviceName}/{version}")
-    @Tags({@Tag(name = "SDCE-2 APIs")})
+    @Tag(name = "SDCE-2 APIs")
     @Operation(description = "Delete Service By Name And Version", method = "DELETE", summary = "Returns no content", responses = {
         @ApiResponse(content = @Content(array = @ArraySchema(schema = @Schema(implementation = Resource.class)))),
         @ApiResponse(responseCode = "204", description = "Service deleted"), @ApiResponse(responseCode = "403", description = "Restricted operation"),
     @Operation(description = "Delete Service By Name And Version", method = "DELETE", summary = "Returns no content", responses = {
         @ApiResponse(content = @Content(array = @ArraySchema(schema = @Schema(implementation = Resource.class)))),
         @ApiResponse(responseCode = "204", description = "Service deleted"), @ApiResponse(responseCode = "403", description = "Restricted operation"),
@@ -344,15 +335,14 @@ public class ServiceServlet extends AbstractValidationsServlet {
         log.debug(START_HANDLE_REQUEST_OF, url);
         // get modifier id
         String userId = request.getHeader(Constants.USER_ID_HEADER);
         log.debug(START_HANDLE_REQUEST_OF, url);
         // get modifier id
         String userId = request.getHeader(Constants.USER_ID_HEADER);
-        User modifier = new User();
-        modifier.setUserId(userId);
+        User modifier = new User(userId);
         log.debug(MODIFIER_ID_IS, userId);
         return modifier;
     }
 
     @PUT
     @Path("/services/{serviceId}/metadata")
         log.debug(MODIFIER_ID_IS, userId);
         return modifier;
     }
 
     @PUT
     @Path("/services/{serviceId}/metadata")
-    @Tags({@Tag(name = "SDCE-2 APIs")})
+    @Tag(name = "SDCE-2 APIs")
     @Consumes(MediaType.APPLICATION_JSON)
     @Produces(MediaType.APPLICATION_JSON)
     @Operation(description = "Update Service Metadata", method = "PUT", summary = "Returns updated service", responses = {
     @Consumes(MediaType.APPLICATION_JSON)
     @Produces(MediaType.APPLICATION_JSON)
     @Operation(description = "Update Service Metadata", method = "PUT", summary = "Returns updated service", responses = {
@@ -366,8 +356,7 @@ public class ServiceServlet extends AbstractValidationsServlet {
         throws IOException {
         String url = request.getMethod() + " " + request.getRequestURI();
         log.debug(START_HANDLE_REQUEST_OF, url);
         throws IOException {
         String url = request.getMethod() + " " + request.getRequestURI();
         log.debug(START_HANDLE_REQUEST_OF, url);
-        User modifier = new User();
-        modifier.setUserId(userId);
+        User modifier = new User(userId);
         log.debug(MODIFIER_ID_IS, userId);
         try {
             String serviceIdLower = serviceId.toLowerCase();
         log.debug(MODIFIER_ID_IS, userId);
         try {
             String serviceIdLower = serviceId.toLowerCase();
@@ -406,7 +395,7 @@ public class ServiceServlet extends AbstractValidationsServlet {
      */
     @PUT
     @Path("/{containerComponentType}/{serviceId}/resourceInstance/{componentInstanceId}/groupInstance/{groupInstanceId}")
      */
     @PUT
     @Path("/{containerComponentType}/{serviceId}/resourceInstance/{componentInstanceId}/groupInstance/{groupInstanceId}")
-    @Tags({@Tag(name = "SDCE-2 APIs")})
+    @Tag(name = "SDCE-2 APIs")
     @Consumes(MediaType.APPLICATION_JSON)
     @Produces(MediaType.APPLICATION_JSON)
     @Operation(description = "Update Group Instance Property Values", method = "PUT", summary = "Returns updated group instance", responses = {
     @Consumes(MediaType.APPLICATION_JSON)
     @Produces(MediaType.APPLICATION_JSON)
     @Operation(description = "Update Group Instance Property Values", method = "PUT", summary = "Returns updated group instance", responses = {
@@ -423,8 +412,7 @@ public class ServiceServlet extends AbstractValidationsServlet {
                                                       @HeaderParam(value = Constants.USER_ID_HEADER) String userId) throws JsonProcessingException {
         String url = request.getMethod() + " " + request.getRequestURI();
         log.debug(START_HANDLE_REQUEST_OF, url);
                                                       @HeaderParam(value = Constants.USER_ID_HEADER) String userId) throws JsonProcessingException {
         String url = request.getMethod() + " " + request.getRequestURI();
         log.debug(START_HANDLE_REQUEST_OF, url);
-        User modifier = new User();
-        modifier.setUserId(userId);
+        User modifier = new User(userId);
         log.debug(MODIFIER_ID_IS, userId);
         Either<List<GroupInstanceProperty>, ResponseFormat> actionResponse = null;
         try {
         log.debug(MODIFIER_ID_IS, userId);
         Either<List<GroupInstanceProperty>, ResponseFormat> actionResponse = null;
         try {
@@ -452,14 +440,14 @@ public class ServiceServlet extends AbstractValidationsServlet {
                 return buildErrorResponse(actionResponse.right().value());
             }
         } catch (Exception e) {
                 return buildErrorResponse(actionResponse.right().value());
             }
         } catch (Exception e) {
-            log.error("Exception occured during update Group Instance property values: {}", e.getMessage(), e);
+            log.error(BUSINESS_PROCESS_ERROR, this.getClass().getName(), "Exception occured during update Group Instance property values.", e);
             throw e;
         }
     }
 
     @GET
     @Path("/services/{serviceId}")
             throw e;
         }
     }
 
     @GET
     @Path("/services/{serviceId}")
-    @Tags({@Tag(name = "SDCE-2 APIs")})
+    @Tag(name = "SDCE-2 APIs")
     @Consumes(MediaType.APPLICATION_JSON)
     @Produces(MediaType.APPLICATION_JSON)
     @Operation(description = "Retrieve Service", method = "GET", summary = "Returns service according to serviceId", responses = {
     @Consumes(MediaType.APPLICATION_JSON)
     @Produces(MediaType.APPLICATION_JSON)
     @Operation(description = "Retrieve Service", method = "GET", summary = "Returns service according to serviceId", responses = {
@@ -472,8 +460,7 @@ public class ServiceServlet extends AbstractValidationsServlet {
         String url = request.getMethod() + " " + request.getRequestURI();
         log.debug(START_HANDLE_REQUEST_OF, url);
         // get modifier id
         String url = request.getMethod() + " " + request.getRequestURI();
         log.debug(START_HANDLE_REQUEST_OF, url);
         // get modifier id
-        User modifier = new User();
-        modifier.setUserId(userId);
+        User modifier = new User(userId);
         log.debug(MODIFIER_ID_IS, userId);
         try {
             String serviceIdLower = serviceId.toLowerCase();
         log.debug(MODIFIER_ID_IS, userId);
         try {
             String serviceIdLower = serviceId.toLowerCase();
@@ -495,7 +482,7 @@ public class ServiceServlet extends AbstractValidationsServlet {
 
     @GET
     @Path("/services/serviceName/{serviceName}/serviceVersion/{serviceVersion}")
 
     @GET
     @Path("/services/serviceName/{serviceName}/serviceVersion/{serviceVersion}")
-    @Tags({@Tag(name = "SDCE-2 APIs")})
+    @Tag(name = "SDCE-2 APIs")
     @Consumes(MediaType.APPLICATION_JSON)
     @Produces(MediaType.APPLICATION_JSON)
     @Operation(description = "Retrieve Service", method = "GET", summary = "Returns service according to name and version", responses = {
     @Consumes(MediaType.APPLICATION_JSON)
     @Produces(MediaType.APPLICATION_JSON)
     @Operation(description = "Retrieve Service", method = "GET", summary = "Returns service according to name and version", responses = {
@@ -507,8 +494,6 @@ public class ServiceServlet extends AbstractValidationsServlet {
                                                @PathParam("serviceVersion") final String serviceVersion, @Context final HttpServletRequest request,
                                                @HeaderParam(value = Constants.USER_ID_HEADER) String userId) throws IOException {
         // get modifier id
                                                @PathParam("serviceVersion") final String serviceVersion, @Context final HttpServletRequest request,
                                                @HeaderParam(value = Constants.USER_ID_HEADER) String userId) throws IOException {
         // get modifier id
-        User modifier = new User();
-        modifier.setUserId(userId);
         log.debug(MODIFIER_ID_IS, userId);
         try {
             Either<Service, ResponseFormat> actionResponse = serviceBusinessLogic.getServiceByNameAndVersion(serviceName, serviceVersion, userId);
         log.debug(MODIFIER_ID_IS, userId);
         try {
             Either<Service, ResponseFormat> actionResponse = serviceBusinessLogic.getServiceByNameAndVersion(serviceName, serviceVersion, userId);
@@ -527,7 +512,7 @@ public class ServiceServlet extends AbstractValidationsServlet {
 
     @POST
     @Path("/services/{serviceId}/distribution/{env}/activate")
 
     @POST
     @Path("/services/{serviceId}/distribution/{env}/activate")
-    @Tags({@Tag(name = "SDCE-5 APIs")})
+    @Tag(name = "SDCE-5 APIs")
     @Consumes(MediaType.APPLICATION_JSON)
     @Produces(MediaType.APPLICATION_JSON)
     @Operation(description = "Activate distribution", method = "POST", summary = "activate distribution", responses = {
     @Consumes(MediaType.APPLICATION_JSON)
     @Produces(MediaType.APPLICATION_JSON)
     @Operation(description = "Activate distribution", method = "POST", summary = "activate distribution", responses = {
@@ -541,8 +526,7 @@ public class ServiceServlet extends AbstractValidationsServlet {
         throws IOException {
         String url = request.getMethod() + " " + request.getRequestURI();
         log.debug(START_HANDLE_REQUEST_OF, url);
         throws IOException {
         String url = request.getMethod() + " " + request.getRequestURI();
         log.debug(START_HANDLE_REQUEST_OF, url);
-        User modifier = new User();
-        modifier.setUserId(userId);
+        User modifier = new User(userId);
         log.debug(MODIFIER_ID_IS, userId);
         Either<Service, ResponseFormat> distResponse = serviceBusinessLogic.activateDistribution(serviceId, env, modifier, request);
         if (distResponse.isRight()) {
         log.debug(MODIFIER_ID_IS, userId);
         Either<Service, ResponseFormat> distResponse = serviceBusinessLogic.activateDistribution(serviceId, env, modifier, request);
         if (distResponse.isRight()) {
@@ -563,7 +547,7 @@ public class ServiceServlet extends AbstractValidationsServlet {
 
     @POST
     @Path("/services/{serviceId}/distribution/{did}/markDeployed")
 
     @POST
     @Path("/services/{serviceId}/distribution/{did}/markDeployed")
-    @Tags({@Tag(name = "SDCE-5 APIs")})
+    @Tag(name = "SDCE-5 APIs")
     @Consumes(MediaType.APPLICATION_JSON)
     @Produces(MediaType.APPLICATION_JSON)
     @Operation(description = "Mark distribution as deployed", method = "POST", summary = "relevant audit record will be created", responses = {
     @Consumes(MediaType.APPLICATION_JSON)
     @Produces(MediaType.APPLICATION_JSON)
     @Operation(description = "Mark distribution as deployed", method = "POST", summary = "relevant audit record will be created", responses = {
@@ -579,8 +563,7 @@ public class ServiceServlet extends AbstractValidationsServlet {
                                                @HeaderParam(value = Constants.USER_ID_HEADER) String userId) throws IOException {
         String url = request.getMethod() + " " + request.getRequestURI();
         log.debug(START_HANDLE_REQUEST_OF, url);
                                                @HeaderParam(value = Constants.USER_ID_HEADER) String userId) throws IOException {
         String url = request.getMethod() + " " + request.getRequestURI();
         log.debug(START_HANDLE_REQUEST_OF, url);
-        User modifier = new User();
-        modifier.setUserId(userId);
+        User modifier = new User(userId);
         log.debug(MODIFIER_ID_IS, userId);
         try {
             Either<Service, ResponseFormat> distResponse = serviceBusinessLogic.markDistributionAsDeployed(serviceId, did, modifier);
         log.debug(MODIFIER_ID_IS, userId);
         try {
             Either<Service, ResponseFormat> distResponse = serviceBusinessLogic.markDistributionAsDeployed(serviceId, did, modifier);
@@ -600,7 +583,7 @@ public class ServiceServlet extends AbstractValidationsServlet {
 
     @POST
     @Path("/services/{serviceId}/tempUrlToBeDeleted")
 
     @POST
     @Path("/services/{serviceId}/tempUrlToBeDeleted")
-    @Tags({@Tag(name = "SDCE-2 APIs")})
+    @Tag(name = "SDCE-2 APIs")
     @Consumes(MediaType.APPLICATION_JSON)
     @Produces(MediaType.APPLICATION_JSON)
     @Operation(responses = {@ApiResponse(responseCode = "200", description = "OK"),
     @Consumes(MediaType.APPLICATION_JSON)
     @Produces(MediaType.APPLICATION_JSON)
     @Operation(responses = {@ApiResponse(responseCode = "200", description = "OK"),
@@ -608,11 +591,9 @@ public class ServiceServlet extends AbstractValidationsServlet {
     @PermissionAllowed(AafPermission.PermNames.INTERNAL_ALL_VALUE)
     public Response tempUrlToBeDeleted(@PathParam("serviceId") final String serviceId, @Context final HttpServletRequest request,
                                        @HeaderParam(value = Constants.USER_ID_HEADER) String userId) {
     @PermissionAllowed(AafPermission.PermNames.INTERNAL_ALL_VALUE)
     public Response tempUrlToBeDeleted(@PathParam("serviceId") final String serviceId, @Context final HttpServletRequest request,
                                        @HeaderParam(value = Constants.USER_ID_HEADER) String userId) {
-        ServletContext context = request.getSession().getServletContext();
         String url = request.getMethod() + " " + request.getRequestURI();
         log.debug(START_HANDLE_REQUEST_OF, url);
         String url = request.getMethod() + " " + request.getRequestURI();
         log.debug(START_HANDLE_REQUEST_OF, url);
-        User modifier = new User();
-        modifier.setUserId(userId);
+        User modifier = new User(userId);
         log.debug(MODIFIER_ID_IS, userId);
         try {
             Service service = (serviceBusinessLogic.getService(serviceId, modifier)).left().value();
         log.debug(MODIFIER_ID_IS, userId);
         try {
             Service service = (serviceBusinessLogic.getService(serviceId, modifier)).left().value();
@@ -631,7 +612,7 @@ public class ServiceServlet extends AbstractValidationsServlet {
 
     @GET
     @Path("/services/{serviceId}/linksMap")
 
     @GET
     @Path("/services/{serviceId}/linksMap")
-    @Tags({@Tag(name = "SDCE-2 APIs")})
+    @Tag(name = "SDCE-2 APIs")
     @Consumes(MediaType.APPLICATION_JSON)
     @Produces(MediaType.APPLICATION_JSON)
     @Operation(description = "Retrieve Service component relations map", method = "GET", summary = "Returns service components relations", responses = {
     @Consumes(MediaType.APPLICATION_JSON)
     @Produces(MediaType.APPLICATION_JSON)
     @Operation(description = "Retrieve Service component relations map", method = "GET", summary = "Returns service components relations", responses = {
@@ -644,8 +625,7 @@ public class ServiceServlet extends AbstractValidationsServlet {
         String url = request.getMethod() + " " + request.getRequestURI();
         log.debug(START_HANDLE_REQUEST_OF, url);
         // get modifier id
         String url = request.getMethod() + " " + request.getRequestURI();
         log.debug(START_HANDLE_REQUEST_OF, url);
         // get modifier id
-        User modifier = new User();
-        modifier.setUserId(userId);
+        User modifier = new User(userId);
         log.debug(MODIFIER_ID_IS, userId);
         try {
             String serviceIdLower = serviceId.toLowerCase();
         log.debug(MODIFIER_ID_IS, userId);
         try {
             String serviceIdLower = serviceId.toLowerCase();
@@ -667,7 +647,7 @@ public class ServiceServlet extends AbstractValidationsServlet {
 
     @POST
     @Path("/services/importService")
 
     @POST
     @Path("/services/importService")
-    @Tags({@Tag(name = "SDCE-2 APIs")})
+    @Tag(name = "SDCE-2 APIs")
     @Consumes(MediaType.APPLICATION_JSON)
     @Produces(MediaType.APPLICATION_JSON)
     @Operation(description = "Import Service", method = "POST", summary = "Returns imported service", responses = {
     @Consumes(MediaType.APPLICATION_JSON)
     @Produces(MediaType.APPLICATION_JSON)
     @Operation(description = "Import Service", method = "POST", summary = "Returns imported service", responses = {
@@ -679,26 +659,21 @@ public class ServiceServlet extends AbstractValidationsServlet {
         userId = (userId != null) ? userId : request.getHeader(Constants.USER_ID_HEADER);
         initSpringFromContext();
         String url = request.getMethod() + " " + request.getRequestURI();
         userId = (userId != null) ? userId : request.getHeader(Constants.USER_ID_HEADER);
         initSpringFromContext();
         String url = request.getMethod() + " " + request.getRequestURI();
-        log.debug("Start handle request of {}", url);
-        // get modifier id
-        User modifier = new User();
-        modifier.setUserId(userId);
-        log.debug("modifier id is {}", userId);
-        Response response;
+        log.debug(START_HANDLE_REQUEST_OF, url);
+        log.debug(MODIFIER_ID_IS, userId);
         try {
         try {
-            Wrapper<Response> responseWrapper = new Wrapper<>();
-            performUIImport(responseWrapper, data, request, userId, null);
+            final Wrapper<Response> responseWrapper = performUIImport(data, request, userId, null);
             return responseWrapper.getInnerElement();
         } catch (IOException | ZipException e) {
             BeEcompErrorManager.getInstance().logBeRestApiGeneralError("Import Service");
             log.debug("import service failed with exception", e);
             return responseWrapper.getInnerElement();
         } catch (IOException | ZipException e) {
             BeEcompErrorManager.getInstance().logBeRestApiGeneralError("Import Service");
             log.debug("import service failed with exception", e);
-            response = buildErrorResponse(getComponentsUtils().getResponseFormat(ActionStatus.GENERAL_ERROR));
-            return response;
+            return buildErrorResponse(getComponentsUtils().getResponseFormat(ActionStatus.GENERAL_ERROR));
         }
     }
 
         }
     }
 
-    private void performUIImport(Wrapper<Response> responseWrapper, String data, final HttpServletRequest request, String userId,
-                                 String ServiceUniqueId) throws FileNotFoundException, ZipException {
+    private Wrapper<Response> performUIImport(String data, final HttpServletRequest request, String userId,
+                                              String ServiceUniqueId) throws FileNotFoundException, ZipException {
+        Wrapper<Response> responseWrapper = new Wrapper<>();
         Wrapper<User> userWrapper = new Wrapper<>();
         Wrapper<UploadServiceInfo> uploadServiceInfoWrapper = new Wrapper<>();
         Wrapper<String> yamlStringWrapper = new Wrapper<>();
         Wrapper<User> userWrapper = new Wrapper<>();
         Wrapper<UploadServiceInfo> uploadServiceInfoWrapper = new Wrapper<>();
         Wrapper<String> yamlStringWrapper = new Wrapper<>();
@@ -710,6 +685,7 @@ public class ServiceServlet extends AbstractValidationsServlet {
             handleImportService(responseWrapper, userWrapper.getInnerElement(), uploadServiceInfoWrapper.getInnerElement(),
                 yamlStringWrapper.getInnerElement(), ServiceAuthorityEnum, true, ServiceUniqueId);
         }
             handleImportService(responseWrapper, userWrapper.getInnerElement(), uploadServiceInfoWrapper.getInnerElement(),
                 yamlStringWrapper.getInnerElement(), ServiceAuthorityEnum, true, ServiceUniqueId);
         }
+        return responseWrapper;
     }
 
     /**
     }
 
     /**
@@ -729,7 +705,7 @@ public class ServiceServlet extends AbstractValidationsServlet {
      */
     @POST
     @Path("/services/serviceUUID/{uuid}/importReplaceService")
      */
     @POST
     @Path("/services/serviceUUID/{uuid}/importReplaceService")
-    @Tags({@Tag(name = "SDCE-2 APIs")})
+    @Tag(name = "SDCE-2 APIs")
     @Produces(MediaType.APPLICATION_JSON)
     @Operation(description = "Import Service", method = "POST", summary = "Returns imported service", responses = {
         @ApiResponse(responseCode = "201", description = "Service created"), @ApiResponse(responseCode = "403", description = "Restricted operation"),
     @Produces(MediaType.APPLICATION_JSON)
     @Operation(description = "Import Service", method = "POST", summary = "Returns imported service", responses = {
         @ApiResponse(responseCode = "201", description = "Service created"), @ApiResponse(responseCode = "403", description = "Restricted operation"),
@@ -751,11 +727,9 @@ public class ServiceServlet extends AbstractValidationsServlet {
         String url = request.getMethod() + " " + requestURI;
         log.debug("importReplaceService,Start handle request of {}", url);
         // get modifier id
         String url = request.getMethod() + " " + requestURI;
         log.debug("importReplaceService,Start handle request of {}", url);
         // get modifier id
-        User modifier = new User();
-        modifier.setUserId(userId);
+        User modifier = new User(userId);
         log.debug("importReplaceService,modifier id is {}", userId);
         log.debug("importReplaceService,get file:{},fileName:{}", file, file.getName());
         log.debug("importReplaceService,modifier id is {}", userId);
         log.debug("importReplaceService,get file:{},fileName:{}", file, file.getName());
-        Response response;
         ResponseFormat responseFormat = null;
         AuditingActionEnum auditingActionEnum = AuditingActionEnum.Import_Replace_Service;
         String assetType = "services";
         ResponseFormat responseFormat = null;
         AuditingActionEnum auditingActionEnum = AuditingActionEnum.Import_Replace_Service;
         String assetType = "services";
@@ -808,8 +782,9 @@ public class ServiceServlet extends AbstractValidationsServlet {
         } catch (IOException | ZipException e) {
             BeEcompErrorManager.getInstance().logBeRestApiGeneralError("Import Service");
             log.debug("import service failed with exception", e);
         } catch (IOException | ZipException e) {
             BeEcompErrorManager.getInstance().logBeRestApiGeneralError("Import Service");
             log.debug("import service failed with exception", e);
-            response = buildErrorResponse(getComponentsUtils().getResponseFormat(ActionStatus.GENERAL_ERROR));
-            return response;
+            return buildErrorResponse(getComponentsUtils().getResponseFormat(ActionStatus.GENERAL_ERROR));
         }
     }
         }
     }
+
+    public enum Action {DELETE, MARK_AS_DELETE}
 }
 }
index 692e8cc..638eef6 100644 (file)
@@ -78,16 +78,29 @@ import org.openecomp.sdc.common.impl.ExternalConfiguration;
 import org.springframework.web.context.WebApplicationContext;
 
 public abstract class BaseServiceBusinessLogicTest extends ComponentBusinessLogicMock {
 import org.springframework.web.context.WebApplicationContext;
 
 public abstract class BaseServiceBusinessLogicTest extends ComponentBusinessLogicMock {
+
+    protected static final String CERTIFIED_VERSION = "1.0";
+    protected static final String UNCERTIFIED_VERSION = "0.2";
+    protected static final String COMPONNET_ID = "myUniqueId";
+    protected static final String GENERIC_SERVICE_NAME = "org.openecomp.resource.abstract.nodes.service";
     private static final String SERVICE_CATEGORY = "Mobility";
     private static final String SERVICE_CATEGORY = "Mobility";
-    private final ServletContext servletContext = Mockito.mock(ServletContext.class);
-    private UserBusinessLogic mockUserAdmin = Mockito.mock(UserBusinessLogic.class);
-    private WebAppContextWrapper webAppContextWrapper = Mockito.mock(WebAppContextWrapper.class);
-    private WebApplicationContext webAppContext = Mockito.mock(WebApplicationContext.class);
+    protected static Map<AuditingFieldsKey, Object> FILTER_MAP_CERTIFIED_VERSION = new HashMap<>();
+    protected static Map<AuditingFieldsKey, Object> FILTER_MAP_UNCERTIFIED_VERSION_CURR = new HashMap<>();
+    protected static Map<AuditingFieldsKey, Object> FILTER_MAP_UNCERTIFIED_VERSION_PREV = new HashMap<>();
+    protected static ForwardingPathDataDefinition forwardingPathDataDefinition;
     protected final IDistributionEngine distributionEngine = Mockito.mock(IDistributionEngine.class);
     protected final ComponentInstanceBusinessLogic componentInstanceBusinessLogic = Mockito.mock(ComponentInstanceBusinessLogic.class);
     protected final ServiceDistributionValidation serviceDistributionValidation = Mockito.mock(ServiceDistributionValidation.class);
     protected final ForwardingPathValidator forwardingPathValidator = Mockito.mock(ForwardingPathValidator.class);
     protected final UiComponentDataConverter uiComponentDataConverter = Mockito.mock(UiComponentDataConverter.class);
     protected final IDistributionEngine distributionEngine = Mockito.mock(IDistributionEngine.class);
     protected final ComponentInstanceBusinessLogic componentInstanceBusinessLogic = Mockito.mock(ComponentInstanceBusinessLogic.class);
     protected final ServiceDistributionValidation serviceDistributionValidation = Mockito.mock(ServiceDistributionValidation.class);
     protected final ForwardingPathValidator forwardingPathValidator = Mockito.mock(ForwardingPathValidator.class);
     protected final UiComponentDataConverter uiComponentDataConverter = Mockito.mock(UiComponentDataConverter.class);
+    private final ServletContext servletContext = Mockito.mock(ServletContext.class);
+    private final ModelOperation modelOperation = Mockito.mock(ModelOperation.class);
+    User user = null;
+    Service serviceResponse = null;
+    Resource genericService = null;
+    private UserBusinessLogic mockUserAdmin = Mockito.mock(UserBusinessLogic.class);
+    private WebAppContextWrapper webAppContextWrapper = Mockito.mock(WebAppContextWrapper.class);
+    private WebApplicationContext webAppContext = Mockito.mock(WebApplicationContext.class);
     private ServiceBusinessLogic bl;
     private ResponseFormatManager responseManager = null;
     private IElementOperation mockElementDao;
     private ServiceBusinessLogic bl;
     private ResponseFormatManager responseManager = null;
     private IElementOperation mockElementDao;
@@ -98,20 +111,25 @@ public abstract class BaseServiceBusinessLogicTest extends ComponentBusinessLogi
     private JanusGraphDao mockJanusGraphDao = Mockito.mock(JanusGraphDao.class);
     private ToscaOperationFacade toscaOperationFacade = Mockito.mock(ToscaOperationFacade.class);
     private GenericTypeBusinessLogic genericTypeBusinessLogic = Mockito.mock(GenericTypeBusinessLogic.class);
     private JanusGraphDao mockJanusGraphDao = Mockito.mock(JanusGraphDao.class);
     private ToscaOperationFacade toscaOperationFacade = Mockito.mock(ToscaOperationFacade.class);
     private GenericTypeBusinessLogic genericTypeBusinessLogic = Mockito.mock(GenericTypeBusinessLogic.class);
-    private ForwardingPathOperation forwardingPathOperation  = Mockito.mock(ForwardingPathOperation.class);
-    private final ModelOperation modelOperation = Mockito.mock(ModelOperation.class);
+    private ForwardingPathOperation forwardingPathOperation = Mockito.mock(ForwardingPathOperation.class);
 
 
-    User user = null;
-    Service serviceResponse = null;
-    Resource genericService = null;
+    protected static ForwardingPathDataDefinition createMockPath() {
+        if (forwardingPathDataDefinition != null) {
+            return forwardingPathDataDefinition;
+        }
+        forwardingPathDataDefinition = new ForwardingPathDataDefinition("Yoyo");
+        forwardingPathDataDefinition.setUniqueId(java.util.UUID.randomUUID().toString());
+        forwardingPathDataDefinition.setDestinationPortNumber("414155");
+        forwardingPathDataDefinition.setProtocol("http");
+        org.openecomp.sdc.be.datatypes.elements.ListDataDefinition<org.openecomp.sdc.be.datatypes.elements.ForwardingPathElementDataDefinition> forwardingPathElementDataDefinitionListDataDefinition = new org.openecomp.sdc.be.datatypes.elements.ListDataDefinition<>();
+        forwardingPathElementDataDefinitionListDataDefinition.add(
+            new ForwardingPathElementDataDefinition("fromNode", "toNode", "333", "444", "2222", "5555"));
+        forwardingPathElementDataDefinitionListDataDefinition.add(
+            new ForwardingPathElementDataDefinition("toNode", "toNode2", "4444", "44444", "4", "44"));
+        forwardingPathDataDefinition.setPathElements(forwardingPathElementDataDefinitionListDataDefinition);
+        return forwardingPathDataDefinition;
+    }
 
 
-    protected static final String CERTIFIED_VERSION = "1.0";
-    protected static final String UNCERTIFIED_VERSION = "0.2";
-    protected static final String COMPONNET_ID = "myUniqueId";
-    protected static final String GENERIC_SERVICE_NAME = "org.openecomp.resource.abstract.nodes.service";
-    protected static Map<AuditingFieldsKey, Object> FILTER_MAP_CERTIFIED_VERSION = new HashMap<>();
-    protected static Map<AuditingFieldsKey, Object> FILTER_MAP_UNCERTIFIED_VERSION_CURR = new HashMap<>();
-    protected static Map<AuditingFieldsKey, Object> FILTER_MAP_UNCERTIFIED_VERSION_PREV = new HashMap<>();
     @Before
     public void setup() {
 
     @Before
     public void setup() {
 
@@ -141,7 +159,8 @@ public abstract class BaseServiceBusinessLogicTest extends ComponentBusinessLogi
 
         // artifact bussinesslogic
         ArtifactDefinition artifactDef = new ArtifactDefinition();
 
         // artifact bussinesslogic
         ArtifactDefinition artifactDef = new ArtifactDefinition();
-        when(artifactBl.createArtifactPlaceHolderInfo(Mockito.anyString(), Mockito.anyString(), Mockito.anyMap(), Mockito.any(User.class), Mockito.any(ArtifactGroupTypeEnum.class))).thenReturn(artifactDef);
+        when(artifactBl.createArtifactPlaceHolderInfo(Mockito.anyString(), Mockito.anyString(), Mockito.anyMap(), Mockito.any(User.class),
+            Mockito.any(ArtifactGroupTypeEnum.class))).thenReturn(artifactDef);
 
         // createService
         serviceResponse = createServiceObject(true);
 
         // createService
         serviceResponse = createServiceObject(true);
@@ -157,9 +176,9 @@ public abstract class BaseServiceBusinessLogicTest extends ComponentBusinessLogi
         when(toscaOperationFacade.getLatestCertifiedNodeTypeByToscaResourceName(GENERIC_SERVICE_NAME)).thenReturn(findLatestGeneric);
 
         //forwardingPath
         when(toscaOperationFacade.getLatestCertifiedNodeTypeByToscaResourceName(GENERIC_SERVICE_NAME)).thenReturn(findLatestGeneric);
 
         //forwardingPath
-        when(forwardingPathOperation.addForwardingPath(any(),any())).thenReturn(Either.left(createMockPath()));
-        when(forwardingPathOperation.updateForwardingPath(any(),any())).thenReturn(Either.left(createMockPath()));
-        when(forwardingPathOperation.deleteForwardingPath(any(),any())).thenReturn(Either.left(Sets.newHashSet("Wow-It-Works")));
+        when(forwardingPathOperation.addForwardingPath(any(), any())).thenReturn(Either.left(createMockPath()));
+        when(forwardingPathOperation.updateForwardingPath(any(), any())).thenReturn(Either.left(createMockPath()));
+        when(forwardingPathOperation.deleteForwardingPath(any(), any())).thenReturn(Either.left(Sets.newHashSet("Wow-It-Works")));
         when(toscaOperationFacade.getToscaElement("delete_forward_test")).thenReturn(Either.left(createServiceObject(true)));
 
         bl = new ServiceBusinessLogic(elementDao, groupOperation, groupInstanceOperation,
         when(toscaOperationFacade.getToscaElement("delete_forward_test")).thenReturn(Either.left(createServiceObject(true)));
 
         bl = new ServiceBusinessLogic(elementDao, groupOperation, groupInstanceOperation,
@@ -168,7 +187,7 @@ public abstract class BaseServiceBusinessLogicTest extends ComponentBusinessLogi
             serviceDistributionValidation, forwardingPathValidator, uiComponentDataConverter,
             artifactToscaOperation, componentContactIdValidator, componentNameValidator,
             componentTagsValidator, componentValidator, componentIconValidator, componentProjectCodeValidator, componentDescriptionValidator,
             serviceDistributionValidation, forwardingPathValidator, uiComponentDataConverter,
             artifactToscaOperation, componentContactIdValidator, componentNameValidator,
             componentTagsValidator, componentValidator, componentIconValidator, componentProjectCodeValidator, componentDescriptionValidator,
-            modelOperation);
+            modelOperation, null, null, null, null, null);
         bl.setUserAdmin(mockUserAdmin);
         bl.setGraphLockOperation(graphLockOperation);
         bl.setJanusGraphDao(mockJanusGraphDao);
         bl.setUserAdmin(mockUserAdmin);
         bl.setGraphLockOperation(graphLockOperation);
         bl.setJanusGraphDao(mockJanusGraphDao);
@@ -192,15 +211,15 @@ public abstract class BaseServiceBusinessLogicTest extends ComponentBusinessLogi
         service.setUniqueId("serviceUniqueId");
         List<ComponentInstance> componentInstances = new ArrayList<>();
         ComponentInstance ci;
         service.setUniqueId("serviceUniqueId");
         List<ComponentInstance> componentInstances = new ArrayList<>();
         ComponentInstance ci;
-        for(int i= 0; i<listSize; ++i){
+        for (int i = 0; i < listSize; ++i) {
             ci = new ComponentInstance();
             ci.setName("ciName" + i);
             ci.setUniqueId("ciId" + i);
             ci = new ComponentInstance();
             ci.setName("ciName" + i);
             ci.setUniqueId("ciId" + i);
-            List<GroupInstance>  groupInstances= new ArrayList<>();
+            List<GroupInstance> groupInstances = new ArrayList<>();
             GroupInstance gi;
             GroupInstance gi;
-            for(int j = 0; j<listSize; ++j){
+            for (int j = 0; j < listSize; ++j) {
                 gi = new GroupInstance();
                 gi = new GroupInstance();
-                gi.setName(ci.getName( )+ "giName" + j);
+                gi.setName(ci.getName(+ "giName" + j);
                 gi.setUniqueId(ci.getName() + "giId" + j);
                 groupInstances.add(gi);
             }
                 gi.setUniqueId(ci.getName() + "giId" + j);
                 groupInstances.add(gi);
             }
@@ -321,27 +340,10 @@ public abstract class BaseServiceBusinessLogicTest extends ComponentBusinessLogi
         return service;
     }
 
         return service;
     }
 
-    protected Resource setupGenericServiceMock(){
+    protected Resource setupGenericServiceMock() {
         Resource genericService = new Resource();
         genericService.setVersion("1.0");
         genericService.setToscaResourceName(GENERIC_SERVICE_NAME);
         return genericService;
     }
         Resource genericService = new Resource();
         genericService.setVersion("1.0");
         genericService.setToscaResourceName(GENERIC_SERVICE_NAME);
         return genericService;
     }
-
-    protected static ForwardingPathDataDefinition forwardingPathDataDefinition;
-
-    protected static ForwardingPathDataDefinition createMockPath() {
-        if (forwardingPathDataDefinition != null){
-            return forwardingPathDataDefinition ;
-        }
-        forwardingPathDataDefinition = new ForwardingPathDataDefinition("Yoyo");
-        forwardingPathDataDefinition.setUniqueId(java.util.UUID.randomUUID().toString());
-        forwardingPathDataDefinition.setDestinationPortNumber("414155");
-        forwardingPathDataDefinition.setProtocol("http");
-        org.openecomp.sdc.be.datatypes.elements.ListDataDefinition<org.openecomp.sdc.be.datatypes.elements.ForwardingPathElementDataDefinition> forwardingPathElementDataDefinitionListDataDefinition = new org.openecomp.sdc.be.datatypes.elements.ListDataDefinition<>();
-        forwardingPathElementDataDefinitionListDataDefinition.add(new ForwardingPathElementDataDefinition("fromNode","toNode", "333","444","2222","5555"));
-        forwardingPathElementDataDefinitionListDataDefinition.add(new ForwardingPathElementDataDefinition("toNode","toNode2", "4444","44444","4","44"));
-        forwardingPathDataDefinition.setPathElements(forwardingPathElementDataDefinitionListDataDefinition);
-        return forwardingPathDataDefinition;
-    }
 }
 }
index 0b3973e..602a3bb 100644 (file)
@@ -76,7 +76,8 @@ class ServiceDistributionBLTest extends ComponentBusinessLogicMock {
         serviceDistributionValidation, forwardingPathValidator, uiComponentDataConverter,
         artifactToscaOperation, componentContactIdValidator,
         componentNameValidator, componentTagsValidator, componentValidator, componentIconValidator,
         serviceDistributionValidation, forwardingPathValidator, uiComponentDataConverter,
         artifactToscaOperation, componentContactIdValidator,
         componentNameValidator, componentTagsValidator, componentValidator, componentIconValidator,
-        componentProjectCodeValidator, componentDescriptionValidator, modelOperation);
+        componentProjectCodeValidator, componentDescriptionValidator, modelOperation, null, null,
+        null, null, null);
 
     private Service serviceToActivate;
     private ActivationRequestInformation activationRequestInformation;
 
     private Service serviceToActivate;
     private ActivationRequestInformation activationRequestInformation;
  * ============LICENSE_END=================================================
  */
 
  * ============LICENSE_END=================================================
  */
 
-package org.openecomp.sdc.be.components.impl.utils;
+package org.openecomp.sdc.be.components.csar;
 
 
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.when;
+import static org.openecomp.sdc.be.utils.TypeUtils.ToscaTagNamesEnum.ARTIFACTS;
+
+import java.io.File;
+import java.net.URISyntaxException;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+import java.util.stream.Collectors;
 import mockit.Deencapsulation;
 import org.apache.commons.collections.MapUtils;
 import org.assertj.core.util.Lists;
 import mockit.Deencapsulation;
 import org.apache.commons.collections.MapUtils;
 import org.assertj.core.util.Lists;
-import org.junit.Assert;
-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.InjectMocks;
 import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnitRunner;
-import org.openecomp.sdc.be.components.csar.CsarInfo;
-import org.openecomp.sdc.be.components.csar.YamlTemplateParsingHandler;
+import org.mockito.junit.jupiter.MockitoExtension;
 import org.openecomp.sdc.be.components.impl.AnnotationBusinessLogic;
 import org.openecomp.sdc.be.components.impl.GroupTypeBusinessLogic;
 import org.openecomp.sdc.be.components.impl.PolicyTypeBusinessLogic;
 import org.openecomp.sdc.be.components.impl.AnnotationBusinessLogic;
 import org.openecomp.sdc.be.components.impl.GroupTypeBusinessLogic;
 import org.openecomp.sdc.be.components.impl.PolicyTypeBusinessLogic;
@@ -54,27 +68,9 @@ import org.openecomp.sdc.be.model.User;
 import org.openecomp.sdc.be.model.operations.impl.AnnotationTypeOperations;
 import org.openecomp.sdc.common.zip.ZipUtils;
 import org.openecomp.sdc.common.zip.exception.ZipException;
 import org.openecomp.sdc.be.model.operations.impl.AnnotationTypeOperations;
 import org.openecomp.sdc.common.zip.ZipUtils;
 import org.openecomp.sdc.common.zip.exception.ZipException;
-
-import java.io.File;
-import java.net.URISyntaxException;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-import java.util.stream.Collectors;
 import org.springframework.test.util.ReflectionTestUtils;
 
 import org.springframework.test.util.ReflectionTestUtils;
 
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.when;
-import static org.openecomp.sdc.be.utils.TypeUtils.ToscaTagNamesEnum.ARTIFACTS;
-
-@RunWith(MockitoJUnitRunner.class)
+@ExtendWith(MockitoExtension.class)
 public class YamlTemplateParsingHandlerTest {
 
     @Mock
 public class YamlTemplateParsingHandlerTest {
 
     @Mock
@@ -117,9 +113,9 @@ public class YamlTemplateParsingHandlerTest {
     private static final String NESTED_GROUP_NAME = "nested_mg_vepdg_group";
 
     @InjectMocks
     private static final String NESTED_GROUP_NAME = "nested_mg_vepdg_group";
 
     @InjectMocks
-    YamlTemplateParsingHandler testSubject;
+    private YamlTemplateParsingHandler testSubject;
 
 
-    @BeforeClass()
+    @BeforeAll
     public static void prepareData() throws URISyntaxException, ZipException {
         final File csarFile = new File(
             YamlTemplateParsingHandlerTest.class.getClassLoader().getResource(CSAR_FILE_PATH).toURI());
     public static void prepareData() throws URISyntaxException, ZipException {
         final File csarFile = new File(
             YamlTemplateParsingHandlerTest.class.getClassLoader().getResource(CSAR_FILE_PATH).toURI());
@@ -132,34 +128,34 @@ public class YamlTemplateParsingHandlerTest {
         resourceYml = new String(mainTemplateService);
     }
 
         resourceYml = new String(mainTemplateService);
     }
 
-    @Before
+    @BeforeEach
     public void setup() {
 
         AnnotationBusinessLogic annotationBusinessLogic = new AnnotationBusinessLogic(annotationTypeOperations,
     public void setup() {
 
         AnnotationBusinessLogic annotationBusinessLogic = new AnnotationBusinessLogic(annotationTypeOperations,
-                annotationValidator);
+            annotationValidator);
         handler = new YamlTemplateParsingHandler(janusGraphDao, groupTypeBusinessLogic, annotationBusinessLogic, policyTypeBusinessLogic);
         ReflectionTestUtils.setField(handler, "policyTypeBusinessLogic", policyTypeBusinessLogic);
         handler = new YamlTemplateParsingHandler(janusGraphDao, groupTypeBusinessLogic, annotationBusinessLogic, policyTypeBusinessLogic);
         ReflectionTestUtils.setField(handler, "policyTypeBusinessLogic", policyTypeBusinessLogic);
-        stubGetGroupType();
-        stubGetPolicyType();
     }
 
     @Test
     }
 
     @Test
-    public void parseResourceInfoFromOneNodeTest() {
+    void parseResourceInfoFromOneNodeTest() {
+        when(groupTypeBusinessLogic.getLatestGroupTypeByType(eq(HEAT_GROUP_TYPE), any())).thenReturn(heatGroupType);
 
         String main_template_content = new String(csar.get(MAIN_TEMPLATE_NAME));
         CsarInfo csarInfo = new CsarInfo(user, CSAR_UUID, csar, RESOURCE_NAME,
 
         String main_template_content = new String(csar.get(MAIN_TEMPLATE_NAME));
         CsarInfo csarInfo = new CsarInfo(user, CSAR_UUID, csar, RESOURCE_NAME,
-                MAIN_TEMPLATE_NAME, main_template_content, true);
+            MAIN_TEMPLATE_NAME, main_template_content, true);
 
         Resource resource = new Resource();
         ParsedToscaYamlInfo parsedYaml = handler.parseResourceInfoFromYAML(FILE_NAME, resourceYml, new HashMap<>(),
 
         Resource resource = new Resource();
         ParsedToscaYamlInfo parsedYaml = handler.parseResourceInfoFromYAML(FILE_NAME, resourceYml, new HashMap<>(),
-                csarInfo.extractTypesInfo(), NODE_NAME, resource, getInterfaceTemplateYaml(csarInfo).get());
+            csarInfo.extractTypesInfo(), NODE_NAME, resource, getInterfaceTemplateYaml(csarInfo).get());
 
         validateParsedYaml(parsedYaml, NESTED_GROUP_NAME,
 
         validateParsedYaml(parsedYaml, NESTED_GROUP_NAME,
-                Lists.newArrayList("heat_file", "description"));
+            Lists.newArrayList("heat_file", "description"));
     }
 
     @Test
     }
 
     @Test
-    public void parseServicePropertiesInfoFromYamlTest() {
+    void parseServicePropertiesInfoFromYamlTest() {
+        when(groupTypeBusinessLogic.getLatestGroupTypeByType(eq(HEAT_GROUP_TYPE), any())).thenReturn(heatGroupType);
         String main_template_content = new String(csar.get(MAIN_TEMPLATE_NAME));
         CsarInfo csarInfo = new CsarInfo(user, CSAR_UUID, csar, RESOURCE_NAME,
             MAIN_TEMPLATE_NAME, main_template_content, true);
         String main_template_content = new String(csar.get(MAIN_TEMPLATE_NAME));
         CsarInfo csarInfo = new CsarInfo(user, CSAR_UUID, csar, RESOURCE_NAME,
             MAIN_TEMPLATE_NAME, main_template_content, true);
@@ -178,30 +174,32 @@ public class YamlTemplateParsingHandlerTest {
     }
 
     @Test
     }
 
     @Test
-    public void parseResourceInfoFromYAMLTest() {
+    void parseResourceInfoFromYAMLTest() {
+        stubGetGroupType();
+        stubGetPolicyType();
 
         Resource resource = new Resource();
         ParsedToscaYamlInfo parsedYaml = handler.parseResourceInfoFromYAML(FILE_NAME, resourceYml, new HashMap<>(),
 
         Resource resource = new Resource();
         ParsedToscaYamlInfo parsedYaml = handler.parseResourceInfoFromYAML(FILE_NAME, resourceYml, new HashMap<>(),
-                new HashMap<>(), "", resource, null);
+            new HashMap<>(), "", resource, null);
         validateParsedYamlWithCapability(parsedYaml);
     }
 
     @Test
         validateParsedYamlWithCapability(parsedYaml);
     }
 
     @Test
-    public void testSetArtifacts() {
+    void testSetArtifacts() {
         UploadComponentInstanceInfo nodeTemplateInfo = new UploadComponentInstanceInfo();
         Map<String, Object> nodeTemplateJsonMap = new HashMap<>();
         Map<String, String> nodeMap = new HashMap<>();
         UploadComponentInstanceInfo nodeTemplateInfo = new UploadComponentInstanceInfo();
         Map<String, Object> nodeTemplateJsonMap = new HashMap<>();
         Map<String, String> nodeMap = new HashMap<>();
-        nodeMap.put("name","test_name");
-        nodeMap.put("type","test_type");
+        nodeMap.put("name", "test_name");
+        nodeMap.put("type", "test_type");
         nodeTemplateJsonMap.put(ARTIFACTS.getElementName(), nodeMap);
         Deencapsulation.invoke(testSubject, "setArtifacts", nodeTemplateInfo, nodeTemplateJsonMap);
         assertNotNull(nodeTemplateInfo.getArtifacts());
     }
 
     @Test
         nodeTemplateJsonMap.put(ARTIFACTS.getElementName(), nodeMap);
         Deencapsulation.invoke(testSubject, "setArtifacts", nodeTemplateInfo, nodeTemplateJsonMap);
         assertNotNull(nodeTemplateInfo.getArtifacts());
     }
 
     @Test
-    public void testCreateArtifactsModuleFromYaml() {
+    void testCreateArtifactsModuleFromYaml() {
         Map<String, Map<String, Map<String, String>>> nodeTemplateJsonMap = new HashMap<>();
         Map<String, Map<String, Map<String, String>>> nodeTemplateJsonMap = new HashMap<>();
-        Map<String, Map<String,String>> map0 = new HashMap<>();
+        Map<String, Map<String, String>> map0 = new HashMap<>();
         Map<String, String> map1 = new HashMap<>();
         map1.put("file", "test_file");
         map1.put("type", "test_type");
         Map<String, String> map1 = new HashMap<>();
         map1.put("file", "test_file");
         map1.put("type", "test_type");
@@ -209,54 +207,56 @@ public class YamlTemplateParsingHandlerTest {
         nodeTemplateJsonMap.put(ARTIFACTS.getElementName(), map0);
         Map<String, Map<String, UploadArtifactInfo>> result;
         result = Deencapsulation.invoke(testSubject, "createArtifactsModuleFromYaml", nodeTemplateJsonMap);
         nodeTemplateJsonMap.put(ARTIFACTS.getElementName(), map0);
         Map<String, Map<String, UploadArtifactInfo>> result;
         result = Deencapsulation.invoke(testSubject, "createArtifactsModuleFromYaml", nodeTemplateJsonMap);
-        Assert.assertTrue(MapUtils.isNotEmpty(result));
-        Assert.assertTrue(MapUtils.isNotEmpty(result.get(ARTIFACTS.getElementName())));
-        Assert.assertEquals("test_file", result.get(ARTIFACTS.getElementName()).get("test_art").getFile());
-        Assert.assertEquals("test_type", result.get(ARTIFACTS.getElementName()).get("test_art").getType());
+        assertTrue(MapUtils.isNotEmpty(result));
+        assertTrue(MapUtils.isNotEmpty(result.get(ARTIFACTS.getElementName())));
+        assertEquals("test_file", result.get(ARTIFACTS.getElementName()).get("test_art").getFile());
+        assertEquals("test_type", result.get(ARTIFACTS.getElementName()).get("test_art").getType());
     }
 
     @Test
     }
 
     @Test
-    public void testAddModuleNodeTemplateArtifacts() {
+    void testAddModuleNodeTemplateArtifacts() {
         Map<String, Map<String, UploadArtifactInfo>> result = new HashMap<>();
         Map<String, String> map1 = new HashMap<>();
         map1.put("file", "test_file");
         map1.put("type", "test_type");
         Deencapsulation.invoke(testSubject, "addModuleNodeTemplateArtifacts", result, map1, "test_art");
         Map<String, Map<String, UploadArtifactInfo>> result = new HashMap<>();
         Map<String, String> map1 = new HashMap<>();
         map1.put("file", "test_file");
         map1.put("type", "test_type");
         Deencapsulation.invoke(testSubject, "addModuleNodeTemplateArtifacts", result, map1, "test_art");
-        Assert.assertTrue(MapUtils.isNotEmpty(result));
-        Assert.assertTrue(MapUtils.isNotEmpty(result.get(ARTIFACTS.getElementName())));
-        Assert.assertEquals("test_file", result.get(ARTIFACTS.getElementName()).get("test_art").getFile());
-        Assert.assertEquals("test_type", result.get(ARTIFACTS.getElementName()).get("test_art").getType());
+        assertTrue(MapUtils.isNotEmpty(result));
+        assertTrue(MapUtils.isNotEmpty(result.get(ARTIFACTS.getElementName())));
+        assertEquals("test_file", result.get(ARTIFACTS.getElementName()).get("test_art").getFile());
+        assertEquals("test_type", result.get(ARTIFACTS.getElementName()).get("test_art").getType());
     }
 
     @Test
     }
 
     @Test
-    public void testBuildModuleNodeTemplateArtifact() {
+    void testBuildModuleNodeTemplateArtifact() {
         Map<String, String> map1 = new HashMap<>();
         map1.put("file", "test_file");
         map1.put("type", "test_type");
         UploadArtifactInfo result;
         result = Deencapsulation.invoke(testSubject, "buildModuleNodeTemplateArtifact", map1);
         assertNotNull(result);
         Map<String, String> map1 = new HashMap<>();
         map1.put("file", "test_file");
         map1.put("type", "test_type");
         UploadArtifactInfo result;
         result = Deencapsulation.invoke(testSubject, "buildModuleNodeTemplateArtifact", map1);
         assertNotNull(result);
-        Assert.assertEquals("test_file", result.getFile());
-        Assert.assertEquals("test_type", result.getType());
+        assertEquals("test_file", result.getFile());
+        assertEquals("test_type", result.getType());
     }
 
     @Test
     }
 
     @Test
-    public void testFillArtifact() {
+    void testFillArtifact() {
         Map<String, String> map1 = new HashMap<>();
         map1.put("file", "test_file");
         map1.put("type", "test_type");
         UploadArtifactInfo result = new UploadArtifactInfo();
         Deencapsulation.invoke(testSubject, "fillArtifact", result, map1);
         assertNotNull(result);
         Map<String, String> map1 = new HashMap<>();
         map1.put("file", "test_file");
         map1.put("type", "test_type");
         UploadArtifactInfo result = new UploadArtifactInfo();
         Deencapsulation.invoke(testSubject, "fillArtifact", result, map1);
         assertNotNull(result);
-        Assert.assertEquals("test_file", result.getFile());
-        Assert.assertEquals("test_type", result.getType());
+        assertEquals("test_file", result.getFile());
+        assertEquals("test_type", result.getType());
     }
 
     @Test
     }
 
     @Test
-    public void parseResourceWithPoliciesDefined() {
+    void parseResourceWithPoliciesDefined() {
+        stubGetGroupType();
+        stubGetPolicyType();
         Resource resource = new Resource();
         ParsedToscaYamlInfo parsedYaml = handler.parseResourceInfoFromYAML(FILE_NAME, resourceYml, new HashMap<>(),
         Resource resource = new Resource();
         ParsedToscaYamlInfo parsedYaml = handler.parseResourceInfoFromYAML(FILE_NAME, resourceYml, new HashMap<>(),
-                new HashMap<>(), "", resource, "");
+            new HashMap<>(), "", resource, "");
         validateParsedYamlWithPolicies(parsedYaml);
     }
 
         validateParsedYamlWithPolicies(parsedYaml);
     }
 
@@ -267,10 +267,10 @@ public class YamlTemplateParsingHandlerTest {
 
         assertThat(parsedYaml.getGroups().get(group).getProperties()).isNotNull();
         assertThat(parsedYaml.getGroups().get(group).getProperties()
 
         assertThat(parsedYaml.getGroups().get(group).getProperties()).isNotNull();
         assertThat(parsedYaml.getGroups().get(group).getProperties()
-                           .stream()
-                           .map(PropertyDataDefinition::getName)
-                           .collect(Collectors.toList()))
-                .containsAll(expectedProp);
+            .stream()
+            .map(PropertyDataDefinition::getName)
+            .collect(Collectors.toList()))
+            .containsAll(expectedProp);
 
         assertThat(parsedYaml.getGroups().get(group).getMembers()).isNotNull();
     }
 
         assertThat(parsedYaml.getGroups().get(group).getMembers()).isNotNull();
     }
@@ -278,13 +278,13 @@ public class YamlTemplateParsingHandlerTest {
     private void validateParsedYamlWithCapability(ParsedToscaYamlInfo parsedYaml) {
 
         final List<String> expectedProp = Lists.newArrayList("vfc_parent_port_role",
     private void validateParsedYamlWithCapability(ParsedToscaYamlInfo parsedYaml) {
 
         final List<String> expectedProp = Lists.newArrayList("vfc_parent_port_role",
-                "network_collection_function", "vfc_instance_group_function", "subinterface_role");
+            "network_collection_function", "vfc_instance_group_function", "subinterface_role");
 
         validateParsedYaml(parsedYaml, MAIN_GROUP_NAME, expectedProp);
 
         assertThat(parsedYaml.getGroups().get(MAIN_GROUP_NAME).getCapabilities()
 
         validateParsedYaml(parsedYaml, MAIN_GROUP_NAME, expectedProp);
 
         assertThat(parsedYaml.getGroups().get(MAIN_GROUP_NAME).getCapabilities()
-                           .get(CAPABILITY_TYPE)
-                           .get(0).getProperties().get(0).getValue()).isEqualTo("success");
+            .get(CAPABILITY_TYPE)
+            .get(0).getProperties().get(0).getValue()).isEqualTo("success");
         assertThat(parsedYaml.getGroups().get(MAIN_GROUP_NAME).getCapabilities()).isNotNull();
         assertThat(parsedYaml.getSubstitutionMappingNodeType()).isEqualTo("org.openecomp.resource.abstract.nodes.VF");
     }
         assertThat(parsedYaml.getGroups().get(MAIN_GROUP_NAME).getCapabilities()).isNotNull();
         assertThat(parsedYaml.getSubstitutionMappingNodeType()).isEqualTo("org.openecomp.resource.abstract.nodes.VF");
     }
@@ -297,18 +297,18 @@ public class YamlTemplateParsingHandlerTest {
 
     private static GroupTypeDefinition buildRootGroupType() {
         return createGroupTypeDefinition(ROOT_GROUP_TYPE, null,
 
     private static GroupTypeDefinition buildRootGroupType() {
         return createGroupTypeDefinition(ROOT_GROUP_TYPE, null,
-                "The TOSCA Group Type all other TOSCA Group Types derive from");
+            "The TOSCA Group Type all other TOSCA Group Types derive from");
     }
 
     private static GroupTypeDefinition buildHeatStackGroupType() {
         GroupTypeDefinition groupType = createGroupTypeDefinition(HEAT_GROUP_TYPE, "tosca.groups.Root",
     }
 
     private static GroupTypeDefinition buildHeatStackGroupType() {
         GroupTypeDefinition groupType = createGroupTypeDefinition(HEAT_GROUP_TYPE, "tosca.groups.Root",
-                "Grouped all heat resources which are in the same heat stack");
+            "Grouped all heat resources which are in the same heat stack");
 
         GroupProperty property1 = createGroupProperty("heat_file",
 
         GroupProperty property1 = createGroupProperty("heat_file",
-                "Heat file which associate to this group/heat stack", "SUPPORTED");
+            "Heat file which associate to this group/heat stack", "SUPPORTED");
 
         GroupProperty property2 = createGroupProperty("description",
 
         GroupProperty property2 = createGroupProperty("description",
-                "Group description", "SUPPORTED");
+            "Group description", "SUPPORTED");
 
         groupType.setProperties(Lists.newArrayList(property1, property2));
         return groupType;
 
         groupType.setProperties(Lists.newArrayList(property1, property2));
         return groupType;
@@ -316,19 +316,19 @@ public class YamlTemplateParsingHandlerTest {
 
     private static GroupTypeDefinition buildVfcInstanceGroupType() {
         GroupTypeDefinition groupType = createGroupTypeDefinition(VFC_GROUP_TYPE, "tosca.groups.Root",
 
     private static GroupTypeDefinition buildVfcInstanceGroupType() {
         GroupTypeDefinition groupType = createGroupTypeDefinition(VFC_GROUP_TYPE, "tosca.groups.Root",
-                "Groups of VFCs with same parent port role");
+            "Groups of VFCs with same parent port role");
 
         GroupProperty property1 = createGroupProperty("vfc_instance_group_function",
 
         GroupProperty property1 = createGroupProperty("vfc_instance_group_function",
-                "Function of this VFC group", null);
+            "Function of this VFC group", null);
 
         GroupProperty property2 = createGroupProperty("vfc_parent_port_role",
 
         GroupProperty property2 = createGroupProperty("vfc_parent_port_role",
-                "Common role of parent ports of VFCs in this group", null);
+            "Common role of parent ports of VFCs in this group", null);
 
         GroupProperty property3 = createGroupProperty("network_collection_function",
 
         GroupProperty property3 = createGroupProperty("network_collection_function",
-                "Network collection function assigned to this group", null);
+            "Network collection function assigned to this group", null);
 
         GroupProperty property4 = createGroupProperty("subinterface_role",
 
         GroupProperty property4 = createGroupProperty("subinterface_role",
-                "Common role of subinterfaces of VFCs in this group, criteria the group is created", null);
+            "Common role of subinterfaces of VFCs in this group, criteria the group is created", null);
 
         groupType.setProperties(Lists.newArrayList(property1, property2, property3, property4));
 
 
         groupType.setProperties(Lists.newArrayList(property1, property2, property3, property4));
 
@@ -346,11 +346,12 @@ public class YamlTemplateParsingHandlerTest {
         return groupType;
     }
 
         return groupType;
     }
 
-    private static GroupTypeDefinition createGroupTypeDefinition(String type, String derivedFrom, String description){
+    private static GroupTypeDefinition createGroupTypeDefinition(String type, String derivedFrom, String description) {
         GroupTypeDefinition property = new GroupTypeDefinition();
 
         GroupTypeDefinition property = new GroupTypeDefinition();
 
-        if (type != null)
+        if (type != null) {
             property.setType(type);
             property.setType(type);
+        }
 
         if (derivedFrom != null) {
             property.setDerivedFrom(derivedFrom);
 
         if (derivedFrom != null) {
             property.setDerivedFrom(derivedFrom);
@@ -362,11 +363,13 @@ public class YamlTemplateParsingHandlerTest {
 
         return property;
     }
 
         return property;
     }
+
     private static GroupProperty createGroupProperty(String name, String description,
     private static GroupProperty createGroupProperty(String name, String description,
-            String status){
+                                                     String status) {
         GroupProperty property = new GroupProperty();
         GroupProperty property = new GroupProperty();
-        if (name != null)
+        if (name != null) {
             property.setName(name);
             property.setName(name);
+        }
 
         if (description != null) {
             property.setDescription(description);
 
         if (description != null) {
             property.setDescription(description);
@@ -389,14 +392,14 @@ public class YamlTemplateParsingHandlerTest {
         assertThat(parsedYaml.getPolicies().get(OPENECOMP_POLICY_NAME)).isInstanceOf(PolicyDefinition.class);
     }
 
         assertThat(parsedYaml.getPolicies().get(OPENECOMP_POLICY_NAME)).isInstanceOf(PolicyDefinition.class);
     }
 
-    private void stubGetPolicyType () {
-        when(policyTypeBusinessLogic.getLatestPolicyTypeByType(eq(OPENECOMP_ANTILOCATE_POLICY_TYPE), any())).thenReturn(
-                OPENECOMP_POLICY_TYPE);
+    private void stubGetPolicyType() {
+        when(policyTypeBusinessLogic.getLatestPolicyTypeByType(eq(OPENECOMP_ANTILOCATE_POLICY_TYPE), any()))
+            .thenReturn(OPENECOMP_POLICY_TYPE);
     }
 
     private static PolicyTypeDefinition buildOpenecompPolicyType() {
         return createPolicyTypeDefinition(OPENECOMP_POLICY_NAME, OPENECOMP_ANTILOCATE_POLICY_TYPE, ROOT_POLICIES_TYPE,
     }
 
     private static PolicyTypeDefinition buildOpenecompPolicyType() {
         return createPolicyTypeDefinition(OPENECOMP_POLICY_NAME, OPENECOMP_ANTILOCATE_POLICY_TYPE, ROOT_POLICIES_TYPE,
-                "The Openecomp Antilocate policy");
+            "The Openecomp Antilocate policy");
     }
 
     private static PolicyTypeDefinition createPolicyTypeDefinition(String policyName, String policyType, String derivedFrom, String description) {
     }
 
     private static PolicyTypeDefinition createPolicyTypeDefinition(String policyName, String policyType, String derivedFrom, String description) {
index 7a8a15a..15b7706 100644 (file)
 
 package org.openecomp.sdc.be.components.impl;
 
 
 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.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;
 
 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 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.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;
 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.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.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;
 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.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;
 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;
 
 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
     @InjectMocks
     private PolicyBusinessLogic businessLogic;
     @Mock
@@ -106,43 +135,72 @@ public class PolicyBusinessLogicTest {
     private ApplicationDataTypeCache applicationDataTypeCache;
     @Mock
     private PropertyOperation propertyOperation;
     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();
     }
 
         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);
         MockitoAnnotations.openMocks(this);
         businessLogic.setComponentsUtils(componentsUtils);
         businessLogic.setToscaOperationFacade(toscaOperationFacade);
@@ -155,31 +213,18 @@ public class PolicyBusinessLogicTest {
         businessLogic.setPropertyDeclarationOrchestrator(propertyDeclarationOrchestrator);
     }
 
         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
     @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);
         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
     }
 
     @Test
-    public void createPolicyFromCsarDefinitionTest() {
+    void createPolicyOnResourceFromCsarDefinitionTest() {
         String prop1 = "Prop_1";
         String prop2 = "Prop_2";
         Map<String, PolicyDefinition> policies = new HashMap<>();
         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);
         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(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));
 
         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);
         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());
         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
     @Test
-    public void createPolicyUserFailureTest(){
+    void createPolicyUserFailureTest() {
         ByActionStatusComponentException userNotFoundException = new ByActionStatusComponentException(ActionStatus.USER_NOT_FOUND);
         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);
             businessLogic.createPolicy(ComponentTypeEnum.RESOURCE, COMPONENT_ID, POLICY_TYPE_NAME, USER_ID, true);
-        } catch(ByActionStatusComponentException e){
+        } catch (ByActionStatusComponentException e) {
             assertEquals(e.getActionStatus(), userNotFoundException.getActionStatus());
         }
     }
 
             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);
         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);
         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);
         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();
         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(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();
 
         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
     }
 
     @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();
         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();
         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
     @Test
-    public void getPolicySuccessTest(){
-        stubValidationSuccess(CREATE_POLICY);
-        stubCommit();
+    void getPolicySuccessTest() {
+        stubValidationSuccess();
         PolicyDefinition response = businessLogic.getPolicy(ComponentTypeEnum.RESOURCE, COMPONENT_ID, POLICY_ID, USER_ID);
         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
     @Test
-    public void deletePolicySuccessTest(){
-        stubValidateAndLockSuccess(CREATE_POLICY);
+    void deletePolicySuccessTest() {
+        stubValidateAndLockSuccess();
         stubCommit();
         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
 
     @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));
         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));
         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;
         List<PropertyDataDefinition> updatedProperties = response;
-        assertThat(updatedProperties.size()).isEqualTo(2);
+        assertEquals(2, updatedProperties.size());
     }
 
     @Test
     }
 
     @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();
         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();
         stubGetToscaFullElementSuccess();
         stubGetToscaElementSuccess();
-        stubUpdatePolicyOfComponentSuccess();
         stubRollback();
         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();
         stubGetToscaFullElementSuccess();
         stubGetToscaElementSuccess();
-        stubUpdatePolicyOfComponentSuccess();
         stubRollback();
         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() {
     }
 
     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);
         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
     }
 
     @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);
         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
         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();
 
         List<PolicyDefinition> declaredPolicies = declaredPoliciesEither.left().value();
-        assertThat(CollectionUtils.isNotEmpty(declaredPolicies)).isTrue();
+        assertTrue(CollectionUtils.isNotEmpty(declaredPolicies));
         assertEquals(1, declaredPolicies.size());
     }
 
     @Test
         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
         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;
         } 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};
     }
         property2.setValue(prop2);
         return new PropertyDataDefinition[]{property1, property2};
     }
-    
-    
+
     private void stubUnlockAndRollback() {
         when(graphLockOperation.unlockComponent(eq(COMPONENT_ID), any(NodeTypeEnum.class))).thenReturn(StorageOperationStatus.OK);
         stubRollback();
     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();
     }
         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);
         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.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() {
     }
 
     private void stubGetToscaElementSuccess() {
-        when(toscaOperationFacade.getToscaElement(eq(COMPONENT_ID))).thenReturn(componentSuccessEither);
+        when(toscaOperationFacade.getToscaElement(COMPONENT_ID)).thenReturn(componentSuccessEither);
     }
 
     private Either<Component, StorageOperationStatus> buildElementEither() {
     }
 
     private Either<Component, StorageOperationStatus> buildElementEither() {
@@ -503,46 +612,6 @@ public class PolicyBusinessLogicTest {
         return targets;
     }
 
         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));
     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));
index 5b45851..049f8a5 100644 (file)
@@ -91,10 +91,18 @@ import org.springframework.web.context.WebApplicationContext;
 
 class ServiceBusinessLogicBaseTestSetup extends BaseBusinessLogicMock {
 
 
 class ServiceBusinessLogicBaseTestSetup extends BaseBusinessLogicMock {
 
-    protected ServiceBusinessLogic bl;
     protected static final String SERVICE_CATEGORY = "Mobility";
     protected static final String INSTANTIATION_TYPE = "A-la-carte";
     protected static final String SERVICE_CATEGORY = "Mobility";
     protected static final String INSTANTIATION_TYPE = "A-la-carte";
+    protected static final String CERTIFIED_VERSION = "1.0";
+    protected static final String UNCERTIFIED_VERSION = "0.2";
+    protected static final String COMPONNET_ID = "myUniqueId";
+    protected static final String GENERIC_SERVICE_NAME = "org.openecomp.resource.abstract.nodes.service";
+    protected static final String SERVICE_ROLE = JsonPresentationFields.SERVICE_ROLE.getPresentation();
+    protected static final String SERVICE_TYPE = JsonPresentationFields.SERVICE_TYPE.getPresentation();
+    protected static final String SERVICE_FUNCTION = JsonPresentationFields.SERVICE_FUNCTION.getPresentation();
     protected final ServletContext servletContext = Mockito.mock(ServletContext.class);
     protected final ServletContext servletContext = Mockito.mock(ServletContext.class);
+    protected final ComponentValidator componentValidator = Mockito.mock(ComponentValidator.class);
+    protected ServiceBusinessLogic bl;
     protected UserBusinessLogic mockUserAdmin = Mockito.mock(UserBusinessLogic.class);
     protected WebAppContextWrapper webAppContextWrapper = Mockito.mock(WebAppContextWrapper.class);
     protected WebApplicationContext webAppContext = Mockito.mock(WebApplicationContext.class);
     protected UserBusinessLogic mockUserAdmin = Mockito.mock(UserBusinessLogic.class);
     protected WebAppContextWrapper webAppContextWrapper = Mockito.mock(WebAppContextWrapper.class);
     protected WebApplicationContext webAppContext = Mockito.mock(WebApplicationContext.class);
@@ -112,37 +120,26 @@ class ServiceBusinessLogicBaseTestSetup extends BaseBusinessLogicMock {
     protected ResourceAdminEvent auditArchive2 = Mockito.mock(ResourceAdminEvent.class);
     protected ResourceAdminEvent auditRestore = Mockito.mock(ResourceAdminEvent.class);
     protected ModelOperation modelOperation = Mockito.mock(ModelOperation.class);
     protected ResourceAdminEvent auditArchive2 = Mockito.mock(ResourceAdminEvent.class);
     protected ResourceAdminEvent auditRestore = Mockito.mock(ResourceAdminEvent.class);
     protected ModelOperation modelOperation = Mockito.mock(ModelOperation.class);
-    IElementOperation mockElementDao = new ElementOperationMock();
-    DistributionEngine distributionEngine =  Mockito.mock(DistributionEngine.class);
-    ServiceDistributionValidation serviceDistributionValidation = Mockito.mock(ServiceDistributionValidation.class);
-    ComponentInstanceBusinessLogic componentInstanceBusinessLogic = Mockito.mock(ComponentInstanceBusinessLogic.class);
-    ForwardingPathValidator forwardingPathValidator = Mockito.mock(ForwardingPathValidator.class);
-    UiComponentDataConverter uiComponentDataConverter = Mockito.mock(UiComponentDataConverter.class);
     protected ServiceTypeValidator serviceTypeValidator = new ServiceTypeValidator(componentsUtils);
     protected ServiceTypeValidator serviceTypeValidator = new ServiceTypeValidator(componentsUtils);
-    protected ServiceCategoryValidator serviceCategoryValidator = new ServiceCategoryValidator(componentsUtils, mockElementDao);
     protected ServiceRoleValidator serviceRoleValidator = new ServiceRoleValidator(componentsUtils);
     protected ServiceFunctionValidator serviceFunctionValidator = new ServiceFunctionValidator(componentsUtils);
     protected ServiceInstantiationTypeValidator serviceInstantiationTypeValidator = new ServiceInstantiationTypeValidator(componentsUtils);
     protected ServiceRoleValidator serviceRoleValidator = new ServiceRoleValidator(componentsUtils);
     protected ServiceFunctionValidator serviceFunctionValidator = new ServiceFunctionValidator(componentsUtils);
     protected ServiceInstantiationTypeValidator serviceInstantiationTypeValidator = new ServiceInstantiationTypeValidator(componentsUtils);
-    protected ComponentDescriptionValidator componentDescriptionValidator =  new ComponentDescriptionValidator(componentsUtils);
-    protected ComponentProjectCodeValidator componentProjectCodeValidator =  new ComponentProjectCodeValidator(componentsUtils);
+    protected ComponentDescriptionValidator componentDescriptionValidator = new ComponentDescriptionValidator(componentsUtils);
+    protected ComponentProjectCodeValidator componentProjectCodeValidator = new ComponentProjectCodeValidator(componentsUtils);
     protected ComponentIconValidator componentIconValidator = new ComponentIconValidator(componentsUtils);
     protected ComponentContactIdValidator componentContactIdValidator = new ComponentContactIdValidator(componentsUtils);
     protected ComponentTagsValidator componentTagsValidator = new ComponentTagsValidator(componentsUtils);
     protected ComponentNameValidator componentNameValidator = new ComponentNameValidator(componentsUtils, toscaOperationFacade);
     protected ComponentIconValidator componentIconValidator = new ComponentIconValidator(componentsUtils);
     protected ComponentContactIdValidator componentContactIdValidator = new ComponentContactIdValidator(componentsUtils);
     protected ComponentTagsValidator componentTagsValidator = new ComponentTagsValidator(componentsUtils);
     protected ComponentNameValidator componentNameValidator = new ComponentNameValidator(componentsUtils, toscaOperationFacade);
-    protected final ComponentValidator componentValidator = Mockito.mock(ComponentValidator.class);
-    protected ServiceValidator serviceValidator = createServiceValidator();
-
     protected User user = null;
     protected Resource genericService = null;
     protected User user = null;
     protected Resource genericService = null;
-
-    protected static final String CERTIFIED_VERSION = "1.0";
-    protected static final String UNCERTIFIED_VERSION = "0.2";
-    protected static final String COMPONNET_ID = "myUniqueId";
-    protected static final String GENERIC_SERVICE_NAME = "org.openecomp.resource.abstract.nodes.service";
-
-    protected static final String SERVICE_ROLE = JsonPresentationFields.SERVICE_ROLE.getPresentation();
-    protected static final String SERVICE_TYPE = JsonPresentationFields.SERVICE_TYPE.getPresentation();
-    protected static final String SERVICE_FUNCTION = JsonPresentationFields.SERVICE_FUNCTION.getPresentation();
+    IElementOperation mockElementDao = new ElementOperationMock();
+    protected ServiceCategoryValidator serviceCategoryValidator = new ServiceCategoryValidator(componentsUtils, mockElementDao);
+    protected ServiceValidator serviceValidator = createServiceValidator();
+    DistributionEngine distributionEngine = Mockito.mock(DistributionEngine.class);
+    ServiceDistributionValidation serviceDistributionValidation = Mockito.mock(ServiceDistributionValidation.class);
+    ComponentInstanceBusinessLogic componentInstanceBusinessLogic = Mockito.mock(ComponentInstanceBusinessLogic.class);
+    ForwardingPathValidator forwardingPathValidator = Mockito.mock(ForwardingPathValidator.class);
+    UiComponentDataConverter uiComponentDataConverter = Mockito.mock(UiComponentDataConverter.class);
 
     public ServiceBusinessLogicBaseTestSetup() {
 
 
     public ServiceBusinessLogicBaseTestSetup() {
 
@@ -150,19 +147,17 @@ class ServiceBusinessLogicBaseTestSetup extends BaseBusinessLogicMock {
 
     protected ServiceValidator createServiceValidator() {
         List<ComponentFieldValidator> componentFieldValidators = Arrays.asList(componentContactIdValidator,
 
     protected ServiceValidator createServiceValidator() {
         List<ComponentFieldValidator> componentFieldValidators = Arrays.asList(componentContactIdValidator,
-                componentDescriptionValidator,
-                componentIconValidator, componentNameValidator,
-                new ComponentProjectCodeValidator(componentsUtils),
-                componentTagsValidator);
+            componentDescriptionValidator,
+            componentIconValidator, componentNameValidator,
+            new ComponentProjectCodeValidator(componentsUtils),
+            componentTagsValidator);
 
         List<ServiceFieldValidator> serviceFieldValidators = Arrays.asList(serviceCategoryValidator, new ServiceEnvironmentContextValidator(),
 
         List<ServiceFieldValidator> serviceFieldValidators = Arrays.asList(serviceCategoryValidator, new ServiceEnvironmentContextValidator(),
-                serviceInstantiationTypeValidator, new ServiceNamingPolicyValidator(componentsUtils),
-                serviceRoleValidator, serviceTypeValidator);
+            serviceInstantiationTypeValidator, new ServiceNamingPolicyValidator(componentsUtils),
+            serviceRoleValidator, serviceTypeValidator);
         return new ServiceValidator(componentsUtils, componentFieldValidators, serviceFieldValidators);
     }
 
         return new ServiceValidator(componentsUtils, componentFieldValidators, serviceFieldValidators);
     }
 
-
-
     @BeforeEach
     public void setup() {
 
     @BeforeEach
     public void setup() {
 
@@ -188,7 +183,8 @@ class ServiceBusinessLogicBaseTestSetup extends BaseBusinessLogicMock {
         when(catalogOperation.updateCatalog(Mockito.any(), Mockito.any())).thenReturn(ActionStatus.OK);
         // artifact bussinesslogic
         ArtifactDefinition artifactDef = new ArtifactDefinition();
         when(catalogOperation.updateCatalog(Mockito.any(), Mockito.any())).thenReturn(ActionStatus.OK);
         // artifact bussinesslogic
         ArtifactDefinition artifactDef = new ArtifactDefinition();
-        when(artifactBl.createArtifactPlaceHolderInfo(Mockito.any(), Mockito.anyString(), Mockito.anyMap(), Mockito.any(User.class), Mockito.any(ArtifactGroupTypeEnum.class))).thenReturn(artifactDef);
+        when(artifactBl.createArtifactPlaceHolderInfo(Mockito.any(), Mockito.anyString(), Mockito.anyMap(), Mockito.any(User.class),
+            Mockito.any(ArtifactGroupTypeEnum.class))).thenReturn(artifactDef);
 
         // createService
         Service serviceResponse = createServiceObject(true);
 
         // createService
         Service serviceResponse = createServiceObject(true);
@@ -204,27 +200,22 @@ class ServiceBusinessLogicBaseTestSetup extends BaseBusinessLogicMock {
         Either<Resource, StorageOperationStatus> findLatestGeneric = Either.left(genericService);
         when(toscaOperationFacade.getLatestCertifiedNodeTypeByToscaResourceName(GENERIC_SERVICE_NAME)).thenReturn(findLatestGeneric);
 
         Either<Resource, StorageOperationStatus> findLatestGeneric = Either.left(genericService);
         when(toscaOperationFacade.getLatestCertifiedNodeTypeByToscaResourceName(GENERIC_SERVICE_NAME)).thenReturn(findLatestGeneric);
 
-
-        bl = new ServiceBusinessLogic(elementDao, groupOperation, groupInstanceOperation,
-                groupTypeOperation, groupBusinessLogic, interfaceOperation, interfaceLifecycleTypeOperation,
-                artifactBl, distributionEngine, componentInstanceBusinessLogic,
-                serviceDistributionValidation, forwardingPathValidator, uiComponentDataConverter,
-                artifactToscaOperation, componentContactIdValidator,
-                componentNameValidator, componentTagsValidator, componentValidator,
-                componentIconValidator, componentProjectCodeValidator, componentDescriptionValidator, modelOperation);
+        bl = new ServiceBusinessLogic(elementDao, groupOperation, groupInstanceOperation, groupTypeOperation, groupBusinessLogic, interfaceOperation,
+            interfaceLifecycleTypeOperation, artifactBl, distributionEngine, componentInstanceBusinessLogic, serviceDistributionValidation,
+            forwardingPathValidator, uiComponentDataConverter, artifactToscaOperation, componentContactIdValidator, componentNameValidator,
+            componentTagsValidator, componentValidator, componentIconValidator, componentProjectCodeValidator, componentDescriptionValidator,
+            modelOperation, serviceRoleValidator, serviceInstantiationTypeValidator, serviceCategoryValidator, serviceValidator, null);
         bl.setComponentContactIdValidator(componentContactIdValidator);
         bl.setComponentIconValidator(componentIconValidator);
         bl.setComponentTagsValidator(componentTagsValidator);
         bl.setComponentNameValidator(componentNameValidator);
         bl.setComponentDescriptionValidator(componentDescriptionValidator);
         bl.setComponentProjectCodeValidator(componentProjectCodeValidator);
         bl.setComponentContactIdValidator(componentContactIdValidator);
         bl.setComponentIconValidator(componentIconValidator);
         bl.setComponentTagsValidator(componentTagsValidator);
         bl.setComponentNameValidator(componentNameValidator);
         bl.setComponentDescriptionValidator(componentDescriptionValidator);
         bl.setComponentProjectCodeValidator(componentProjectCodeValidator);
-        bl.setServiceCategoryValidator(serviceCategoryValidator);
         bl.setServiceTypeValidator(serviceTypeValidator);
         bl.setServiceFunctionValidator(serviceFunctionValidator);
         bl.setElementDao(mockElementDao);
         bl.setUserAdmin(mockUserAdmin);
         bl.setArtifactBl(artifactBl);
         bl.setServiceTypeValidator(serviceTypeValidator);
         bl.setServiceFunctionValidator(serviceFunctionValidator);
         bl.setElementDao(mockElementDao);
         bl.setUserAdmin(mockUserAdmin);
         bl.setArtifactBl(artifactBl);
-        bl.setServiceValidator(createServiceValidator());
         bl.setGraphLockOperation(graphLockOperation);
         bl.setJanusGraphDao(mockJanusGraphDao);
         bl.setToscaOperationFacade(toscaOperationFacade);
         bl.setGraphLockOperation(graphLockOperation);
         bl.setJanusGraphDao(mockJanusGraphDao);
         bl.setToscaOperationFacade(toscaOperationFacade);
@@ -241,7 +232,7 @@ class ServiceBusinessLogicBaseTestSetup extends BaseBusinessLogicMock {
 
     }
 
 
     }
 
-    protected Resource setupGenericServiceMock(){
+    protected Resource setupGenericServiceMock() {
         Resource genericService = new Resource();
         genericService.setVersion("1.0");
         genericService.setToscaResourceName(GENERIC_SERVICE_NAME);
         Resource genericService = new Resource();
         genericService.setVersion("1.0");
         genericService.setToscaResourceName(GENERIC_SERVICE_NAME);
@@ -377,7 +368,8 @@ class ServiceBusinessLogicBaseTestSetup extends BaseBusinessLogicMock {
         Mockito.when(toscaOperationFacade.getToscaElement(Mockito.anyString())).thenReturn(eitherService);
 
         Either<List<DistributionDeployEvent>, ActionStatus> emptyEventList = Either.left(Collections.emptyList());
         Mockito.when(toscaOperationFacade.getToscaElement(Mockito.anyString())).thenReturn(eitherService);
 
         Either<List<DistributionDeployEvent>, ActionStatus> emptyEventList = Either.left(Collections.emptyList());
-        Mockito.when(auditingDao.getDistributionDeployByStatus(Mockito.anyString(), Mockito.eq("DResult"), Mockito.anyString())).thenReturn(emptyEventList);
+        Mockito.when(auditingDao.getDistributionDeployByStatus(Mockito.anyString(), Mockito.eq("DResult"), Mockito.anyString()))
+            .thenReturn(emptyEventList);
     }
 
     private void assertResponse(Either<Service, ResponseFormat> createResponse, ActionStatus expectedStatus, String... variables) {
     }
 
     private void assertResponse(Either<Service, ResponseFormat> createResponse, ActionStatus expectedStatus, String... variables) {
@@ -386,7 +378,7 @@ class ServiceBusinessLogicBaseTestSetup extends BaseBusinessLogicMock {
 
     protected void assertComponentException(ComponentException e, ActionStatus expectedStatus, String... variables) {
         ResponseFormat actualResponse = e.getResponseFormat() != null ?
 
     protected void assertComponentException(ComponentException e, ActionStatus expectedStatus, String... variables) {
         ResponseFormat actualResponse = e.getResponseFormat() != null ?
-                e.getResponseFormat() : componentsUtils.getResponseFormat(e.getActionStatus(), e.getParams());
+            e.getResponseFormat() : componentsUtils.getResponseFormat(e.getActionStatus(), e.getParams());
         assertResponse(actualResponse, expectedStatus, variables);
     }
 
         assertResponse(actualResponse, expectedStatus, variables);
     }
 
index ac73a0d..1d6a3ff 100644 (file)
@@ -19,15 +19,15 @@ package org.openecomp.sdc.be.components.impl;
 import static org.assertj.core.api.Java6Assertions.assertThat;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.assertj.core.api.Java6Assertions.assertThat;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.mockito.Mockito.any;
 import static org.mockito.Mockito.anyBoolean;
 import static org.mockito.Mockito.anyList;
 import static org.mockito.Mockito.anyMap;
 import static org.mockito.Mockito.anyString;
 import static org.mockito.Mockito.any;
 import static org.mockito.Mockito.anyBoolean;
 import static org.mockito.Mockito.anyList;
 import static org.mockito.Mockito.anyMap;
 import static org.mockito.Mockito.anyString;
+import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.eq;
 import static org.mockito.Mockito.eq;
-import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 import static org.mockito.Mockito.when;
+import static org.openecomp.sdc.be.components.impl.ServiceImportBusinessLogic.CREATE_RESOURCE;
 
 import fj.data.Either;
 import java.io.IOException;
 
 import fj.data.Either;
 import java.io.IOException;
@@ -50,8 +50,8 @@ import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.mockito.InjectMocks;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.mockito.InjectMocks;
+import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.mockito.MockitoAnnotations;
-import org.openecomp.sdc.be.components.csar.CsarBusinessLogic;
 import org.openecomp.sdc.be.components.csar.CsarInfo;
 import org.openecomp.sdc.be.components.impl.artifact.ArtifactOperationInfo;
 import org.openecomp.sdc.be.components.impl.exceptions.ComponentException;
 import org.openecomp.sdc.be.components.csar.CsarInfo;
 import org.openecomp.sdc.be.components.impl.artifact.ArtifactOperationInfo;
 import org.openecomp.sdc.be.components.impl.exceptions.ComponentException;
@@ -61,9 +61,9 @@ import org.openecomp.sdc.be.dao.janusgraph.JanusGraphOperationStatus;
 import org.openecomp.sdc.be.datatypes.components.ResourceMetadataDataDefinition;
 import org.openecomp.sdc.be.datatypes.elements.GetInputValueDataDefinition;
 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
 import org.openecomp.sdc.be.datatypes.components.ResourceMetadataDataDefinition;
 import org.openecomp.sdc.be.datatypes.elements.GetInputValueDataDefinition;
 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
+import org.openecomp.sdc.be.datatypes.enums.NodeTypeEnum;
 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
 import org.openecomp.sdc.be.externalapi.servlet.ArtifactExternalServlet;
 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
 import org.openecomp.sdc.be.externalapi.servlet.ArtifactExternalServlet;
-import org.openecomp.sdc.be.impl.ComponentsUtils;
 import org.openecomp.sdc.be.impl.ServletUtils;
 import org.openecomp.sdc.be.info.NodeTypeInfoToUpdateArtifacts;
 import org.openecomp.sdc.be.model.ArtifactDefinition;
 import org.openecomp.sdc.be.impl.ServletUtils;
 import org.openecomp.sdc.be.info.NodeTypeInfoToUpdateArtifacts;
 import org.openecomp.sdc.be.model.ArtifactDefinition;
@@ -96,13 +96,11 @@ import org.openecomp.sdc.be.model.UploadPropInfo;
 import org.openecomp.sdc.be.model.UploadReqInfo;
 import org.openecomp.sdc.be.model.UploadResourceInfo;
 import org.openecomp.sdc.be.model.User;
 import org.openecomp.sdc.be.model.UploadReqInfo;
 import org.openecomp.sdc.be.model.UploadResourceInfo;
 import org.openecomp.sdc.be.model.User;
-import org.openecomp.sdc.be.model.jsonjanusgraph.operations.ToscaOperationFacade;
 import org.openecomp.sdc.be.model.operations.api.ICapabilityTypeOperation;
 import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
 import org.openecomp.sdc.be.resources.data.auditing.AuditingActionEnum;
 import org.openecomp.sdc.be.servlets.AbstractValidationsServlet;
 import org.openecomp.sdc.be.tosca.CsarUtils;
 import org.openecomp.sdc.be.model.operations.api.ICapabilityTypeOperation;
 import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
 import org.openecomp.sdc.be.resources.data.auditing.AuditingActionEnum;
 import org.openecomp.sdc.be.servlets.AbstractValidationsServlet;
 import org.openecomp.sdc.be.tosca.CsarUtils;
-import org.openecomp.sdc.be.user.UserBusinessLogic;
 import org.openecomp.sdc.common.api.ArtifactGroupTypeEnum;
 import org.openecomp.sdc.common.api.ArtifactTypeEnum;
 import org.openecomp.sdc.common.api.Constants;
 import org.openecomp.sdc.common.api.ArtifactGroupTypeEnum;
 import org.openecomp.sdc.common.api.ArtifactTypeEnum;
 import org.openecomp.sdc.common.api.Constants;
@@ -111,19 +109,14 @@ import org.openecomp.sdc.exception.ResponseFormat;
 class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTestSetup {
 
     @InjectMocks
 class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTestSetup {
 
     @InjectMocks
-    private static ServiceImportBusinessLogic serviceImportBusinessLogic;
-
-    private ServiceBusinessLogic serviceBusinessLogic = mock(ServiceBusinessLogic.class);
-    private CsarBusinessLogic csarBusinessLogic = mock(CsarBusinessLogic.class);
-    private ToscaOperationFacade toscaOperationFacade = mock(ToscaOperationFacade.class);
-    private ServiceImportParseLogic serviceImportParseLogic = mock(ServiceImportParseLogic.class);
-    private ArtifactDefinition artifactDefinition = mock(ArtifactDefinition.class);
-    private UserBusinessLogic userBusinessLogic = mock(UserBusinessLogic.class);
-    private ComponentInstanceBusinessLogic componentInstanceBusinessLogic = mock(ComponentInstanceBusinessLogic.class);
-    private ComponentsUtils componentsUtils = mock(ComponentsUtils.class);
-    private ServletUtils servletUtils = mock(ServletUtils.class);
-    private ResourceImportManager resourceImportManager = mock(ResourceImportManager.class);
-    private ArtifactsBusinessLogic artifactsBusinessLogic = mock(ArtifactsBusinessLogic.class);
+    private ServiceImportBusinessLogic sIBL;
+
+    @Mock
+    private ArtifactDefinition artifactDefinition;
+    @Mock
+    private ServletUtils servletUtils;
+    @Mock
+    private ResourceImportManager resourceImportManager;
 
     private AbstractValidationsServlet servlet = new ArtifactExternalServlet(userBusinessLogic,
         componentInstanceBusinessLogic, componentsUtils, servletUtils, resourceImportManager, artifactsBusinessLogic);
 
     private AbstractValidationsServlet servlet = new ArtifactExternalServlet(userBusinessLogic,
         componentInstanceBusinessLogic, componentsUtils, servletUtils, resourceImportManager, artifactsBusinessLogic);
@@ -145,28 +138,69 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         when(artifactDefinition.getMandatory()).thenReturn(true);
         when(artifactDefinition.getArtifactName()).thenReturn("creatorFullName");
         when(artifactDefinition.getArtifactType()).thenReturn("TOSCA_CSAR");
         when(artifactDefinition.getMandatory()).thenReturn(true);
         when(artifactDefinition.getArtifactName()).thenReturn("creatorFullName");
         when(artifactDefinition.getArtifactType()).thenReturn("TOSCA_CSAR");
-
-        sIB1.setServiceBusinessLogic(serviceBusinessLogic);
-        sIB1.setCsarBusinessLogic(csarBusinessLogic);
-        sIB1.setServiceImportParseLogic(serviceImportParseLogic);
-        sIB1.setToscaOperationFacade(toscaOperationFacade);
-        sIB1.setComponentsUtils(componentsUtils);
-        sIB1.setCsarArtifactsAndGroupsBusinessLogic(csarArtifactsAndGroupsBusinessLogic);
-
     }
 
     @Test
     }
 
     @Test
-    void testGetComponentsUtils() {
-        assertNotNull(serviceImportBusinessLogic.getComponentsUtils());
-    }
+    void testCreateService_OK() {
+        Service oldService = createServiceObject(true);
+        String payloadName = "valid_vf";
+        Map<String, byte[]> payload = crateCsarFromPayload();
+        Service newService = createServiceObject(true);
+        newService.setComponentInstances(creatComponentInstances());
 
 
-    @Test
-    void testSetComponentsUtils() {
-        assertNotNull(serviceImportBusinessLogic);
+        when(serviceBusinessLogic.validateServiceBeforeCreate(eq(newService), any(User.class), any(AuditingActionEnum.class)))
+            .thenReturn(Either.left(newService));
+        when(toscaOperationFacade.validateCsarUuidUniqueness(anyString())).thenReturn(StorageOperationStatus.OK);
+        CsarInfo csarInfo = getCsarInfo();
+        when(csarBusinessLogic.getCsarInfo(any(Service.class), any(), any(User.class), any(Map.class), anyString())).thenReturn(csarInfo);
+        when(serviceImportParseLogic.findNodeTypesArtifactsToHandle(any(Map.class), any(CsarInfo.class), any(Service.class)))
+            .thenReturn(Either.left(new HashMap<String, EnumMap<ArtifactsBusinessLogic.ArtifactOperationEnum, List<ArtifactDefinition>>>()));
+        when(csarBusinessLogic.getParsedToscaYamlInfo(anyString(), anyString(), any(), any(CsarInfo.class), any(), any(Service.class)))
+            .thenReturn(getParsedToscaYamlInfo());
+        when(serviceBusinessLogic.lockComponentByName(newService.getSystemName(), oldService, CREATE_RESOURCE)).thenReturn(Either.left(true));
+        when(toscaOperationFacade.getLatestResourceByToscaResourceName(anyString())).thenReturn(Either.left(createOldResource()));
+        when(serviceImportParseLogic.createServiceTransaction(oldService, csarInfo.getModifier(), false)).thenReturn(newService);
+        when(serviceImportParseLogic.createInputsOnService(eq(oldService), anyMap())).thenReturn(newService);
+        Assertions.assertDoesNotThrow(() -> {
+            when(serviceImportParseLogic.createSubstitutionFilterOnService(eq(oldService), any())).thenReturn(newService);
+        });
+        when(serviceImportParseLogic.getNodeTypesFromTemplate(anyMap())).thenReturn(getNodeTypes());
+        when(serviceImportParseLogic.createNodeTypeResourceFromYaml(anyString(), any(Map.Entry.class), any(User.class), anyMap(), any(Service.class),
+            anyBoolean(), any(), anyList(), anyBoolean(), any(CsarInfo.class), anyBoolean())).thenReturn(
+            new ImmutablePair<>(new Resource(), ActionStatus.OK));
+        when(serviceImportParseLogic.getComponentWithInstancesFilter()).thenReturn(new ComponentParametersView());
+        when(toscaOperationFacade.getToscaElement(anyString(), any(ComponentParametersView.class))).thenReturn(Either.left(newService));
+        when(serviceImportParseLogic.getComponentFilterAfterCreateRelations()).thenReturn(new ComponentParametersView());
+        when(toscaOperationFacade.getToscaElement(anyString(), any(ComponentParametersView.class))).thenReturn(Either.left(newService));
+        when(serviceImportParseLogic.findAvailableRequirement(anyString(), anyString(), any(UploadComponentInstanceInfo.class),
+            any(ComponentInstance.class), anyString())).thenReturn(Either.left(new RequirementDefinition()));
+        when(serviceImportParseLogic.findAvailableCapabilityByTypeOrName(any(RequirementDefinition.class), any(ComponentInstance.class),
+            any(UploadReqInfo.class))).thenReturn(new CapabilityDefinition());
+        when(componentsUtils.getResponseFormat(eq(ActionStatus.OK), anyString())).thenReturn(new ResponseFormat(200));
+        when(toscaOperationFacade.getToscaElement(anyString())).thenReturn(Either.left(newService));
+        doNothing().when(compositionBusinessLogic).setPositionsForComponentInstances(any(Service.class), anyString());
+        when(groupBusinessLogic.validateUpdateVfGroupNames(anyMap(), anyString())).thenReturn(Either.left(new HashMap<>()));
+        when(csarArtifactsAndGroupsBusinessLogic.deleteVFModules(any(Service.class), any(CsarInfo.class), anyBoolean(), anyBoolean()))
+            .thenReturn(Either.left(newService));
+        when(serviceImportParseLogic.getServiceWithGroups(anyString())).thenReturn(newService);
+        when(mockJanusGraphDao.commit()).thenReturn(JanusGraphOperationStatus.OK);
+        when(graphLockOperation.unlockComponentByName(anyString(), anyString(), any(NodeTypeEnum.class))).thenReturn(StorageOperationStatus.OK);
+
+        Service result = sIBL.createService(oldService, AuditingActionEnum.CREATE_RESOURCE, user, payload, payloadName);
+        assertNotNull(result);
+        assertNotNull(result.getComponentInstances());
+        assertEquals(1, result.getComponentInstances().size());
+        assertNotNull(result.getComponentInstances().get(0));
+        assertNotNull(result.getComponentInstances().get(0).getCapabilities());
+        assertEquals(1, result.getComponentInstances().get(0).getCapabilities().size());
+        assertNotNull(result.getComponentInstances().get(0).getRequirements());
+        assertEquals(1, result.getComponentInstances().get(0).getRequirements().size());
+        assertNotNull(result.getCategories());
+        assertEquals(1, result.getCategories().size());
     }
 
     @Test
     }
 
     @Test
-    void testCreateService() {
+    void testCreateService_Fail_NotFoundNodeTypesArtifacts() {
         Service oldService = createServiceObject(true);
         String payloadName = "valid_vf";
         Map<String, byte[]> payload = crateCsarFromPayload();
         Service oldService = createServiceObject(true);
         String payloadName = "valid_vf";
         Map<String, byte[]> payload = crateCsarFromPayload();
@@ -175,16 +209,14 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         when(serviceBusinessLogic.validateServiceBeforeCreate(any(Service.class), any(User.class), any(AuditingActionEnum.class)))
             .thenReturn(Either.left(newService));
         when(toscaOperationFacade.validateCsarUuidUniqueness(anyString())).thenReturn(StorageOperationStatus.OK);
         when(serviceBusinessLogic.validateServiceBeforeCreate(any(Service.class), any(User.class), any(AuditingActionEnum.class)))
             .thenReturn(Either.left(newService));
         when(toscaOperationFacade.validateCsarUuidUniqueness(anyString())).thenReturn(StorageOperationStatus.OK);
-        when(csarBusinessLogic.getCsarInfo(any(Service.class), any(),
-            any(User.class), any(Map.class), anyString())).thenReturn(getCsarInfo());
-        when(serviceImportParseLogic.findNodeTypesArtifactsToHandle(any(Map.class), any(CsarInfo.class),
-            any(Service.class))).thenReturn(Either.right(ActionStatus.GENERAL_ERROR));
-        when(csarBusinessLogic.getParsedToscaYamlInfo(anyString(), anyString(), any(),
-            any(CsarInfo.class), anyString(), any(Service.class))).thenReturn(getParsedToscaYamlInfo());
-
-        Assertions.assertThrows(ComponentException.class, () -> sIB1.createService(oldService,
-            AuditingActionEnum.CREATE_RESOURCE, user, payload, payloadName));
+        when(csarBusinessLogic.getCsarInfo(any(Service.class), any(), any(User.class), any(Map.class), anyString())).thenReturn(getCsarInfo());
+        when(serviceImportParseLogic.findNodeTypesArtifactsToHandle(any(Map.class), any(CsarInfo.class), any(Service.class)))
+            .thenReturn(Either.right(ActionStatus.GENERAL_ERROR));
+        when(csarBusinessLogic.getParsedToscaYamlInfo(anyString(), anyString(), any(), any(CsarInfo.class), anyString(),
+            any(Service.class))).thenReturn(getParsedToscaYamlInfo());
 
 
+        Assertions.assertThrows(ComponentException.class,
+            () -> sIBL.createService(oldService, AuditingActionEnum.CREATE_RESOURCE, user, payload, payloadName));
     }
 
     @Test
     }
 
     @Test
@@ -200,7 +232,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
             any(Map.class), anyString())).thenReturn(csarInfo);
         when(serviceImportParseLogic.findNodeTypesArtifactsToHandle(any(Map.class), any(CsarInfo.class),
             any(Service.class))).thenReturn(Either.left(map));
             any(Map.class), anyString())).thenReturn(csarInfo);
         when(serviceImportParseLogic.findNodeTypesArtifactsToHandle(any(Map.class), any(CsarInfo.class),
             any(Service.class))).thenReturn(Either.left(map));
-        Assertions.assertThrows(ComponentException.class, () -> sIB1.createServiceFromCsar(oldService,
+        Assertions.assertThrows(ComponentException.class, () -> sIBL.createServiceFromCsar(oldService,
             user, payload, csarUUID));
     }
 
             user, payload, csarUUID));
     }
 
@@ -219,14 +251,13 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         map.put("tosca_definitions_version", "123");
         nodeTypesInfo.get(nodeName).setMappedToscaTemplate(map);
         ParsedToscaYamlInfo parsedToscaYamlInfo = getParsedToscaYamlInfo();
         map.put("tosca_definitions_version", "123");
         nodeTypesInfo.get(nodeName).setMappedToscaTemplate(map);
         ParsedToscaYamlInfo parsedToscaYamlInfo = getParsedToscaYamlInfo();
-        when(toscaOperationFacade.getLatestResourceByToscaResourceName(anyString()))
-            .thenReturn(Either.left(resource));
+        when(toscaOperationFacade.getLatestResourceByToscaResourceName(anyString())).thenReturn(Either.left(resource));
         when(csarBusinessLogic.getParsedToscaYamlInfo(anyString(), anyString(), any(Map.class),
             eq(csarInfo), anyString(), any(Component.class))).thenReturn(parsedToscaYamlInfo);
         when(serviceBusinessLogic.lockComponentByName(anyString(), any(Service.class), anyString()))
             .thenReturn(Either.left(true));
 
         when(csarBusinessLogic.getParsedToscaYamlInfo(anyString(), anyString(), any(Map.class),
             eq(csarInfo), anyString(), any(Component.class))).thenReturn(parsedToscaYamlInfo);
         when(serviceBusinessLogic.lockComponentByName(anyString(), any(Service.class), anyString()))
             .thenReturn(Either.left(true));
 
-        Assertions.assertThrows(ComponentException.class, () -> sIB1.createServiceFromYaml(oldService,
+        Assertions.assertThrows(ComponentException.class, () -> sIBL.createServiceFromYaml(oldService,
             topologyTemplateYaml, yamlName, nodeTypesInfo, csarInfo,
             nodeTypesArtifactsToCreate, false, true, nodeName));
     }
             topologyTemplateYaml, yamlName, nodeTypesInfo, csarInfo,
             nodeTypesArtifactsToCreate, false, true, nodeName));
     }
@@ -245,9 +276,8 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         ParsedToscaYamlInfo parsedToscaYamlInfo = getParsedToscaYamlInfo();
         csfyp.setNodeTypesInfo(nodeTypesInfo);
         csfyp.setParsedToscaYamlInfo(parsedToscaYamlInfo);
         ParsedToscaYamlInfo parsedToscaYamlInfo = getParsedToscaYamlInfo();
         csfyp.setNodeTypesInfo(nodeTypesInfo);
         csfyp.setParsedToscaYamlInfo(parsedToscaYamlInfo);
-        when(toscaOperationFacade.getLatestResourceByToscaResourceName(anyString()))
-            .thenReturn(Either.left(resource));
-        Assertions.assertThrows(ComponentException.class, () -> sIB1.createServiceAndRIsFromYaml(oldService,
+        when(toscaOperationFacade.getLatestResourceByToscaResourceName(anyString())).thenReturn(Either.left(resource));
+        Assertions.assertThrows(ComponentException.class, () -> sIBL.createServiceAndRIsFromYaml(oldService,
             false, nodeTypesArtifactsToCreate, false, true, csfyp));
     }
 
             false, nodeTypesArtifactsToCreate, false, true, csfyp));
     }
 
@@ -265,9 +295,8 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         ParsedToscaYamlInfo parsedToscaYamlInfo = getParsedToscaYamlInfo();
         csfyp.setNodeTypesInfo(nodeTypesInfo);
         csfyp.setParsedToscaYamlInfo(parsedToscaYamlInfo);
         ParsedToscaYamlInfo parsedToscaYamlInfo = getParsedToscaYamlInfo();
         csfyp.setNodeTypesInfo(nodeTypesInfo);
         csfyp.setParsedToscaYamlInfo(parsedToscaYamlInfo);
-        when(toscaOperationFacade.getLatestResourceByToscaResourceName(anyString()))
-            .thenReturn(Either.left(resource));
-        Assertions.assertThrows(ComponentException.class, () -> sIB1.createServiceAndRIsFromYaml(oldService,
+        when(toscaOperationFacade.getLatestResourceByToscaResourceName(anyString())).thenReturn(Either.left(resource));
+        Assertions.assertThrows(ComponentException.class, () -> sIBL.createServiceAndRIsFromYaml(oldService,
             false, nodeTypesArtifactsToCreate, false, true, csfyp));
     }
 
             false, nodeTypesArtifactsToCreate, false, true, csfyp));
     }
 
@@ -295,11 +324,9 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         nodeTypeInfoToUpdateArtifacts.setNodeTypesArtifactsToHandle(nodeTypesArtifactsToHandle);
 
         Assertions.assertNotNull(
         nodeTypeInfoToUpdateArtifacts.setNodeTypesArtifactsToHandle(nodeTypesArtifactsToHandle);
 
         Assertions.assertNotNull(
-            sIB1.createOrUpdateArtifacts(operation, createdArtifacts, yamlFileName, csarInfo,
+            sIBL.createOrUpdateArtifacts(operation, createdArtifacts, yamlFileName, csarInfo,
                 preparedResource, nodeTypeInfoToUpdateArtifacts, true, true)
         );
                 preparedResource, nodeTypeInfoToUpdateArtifacts, true, true)
         );
-
-
     }
 
     @Test
     }
 
     @Test
@@ -324,7 +351,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
             .createResourceArtifactsFromCsar(any(CsarInfo.class), any(Resource.class), anyString(), anyString(),
                 anyList())).thenReturn(Either.left(resource));
         Assertions.assertNotNull(
             .createResourceArtifactsFromCsar(any(CsarInfo.class), any(Resource.class), anyString(), anyString(),
                 anyList())).thenReturn(Either.left(resource));
         Assertions.assertNotNull(
-            sIB1.handleVfCsarArtifacts(resource,
+            sIBL.handleVfCsarArtifacts(resource,
                 csarInfo, createdArtifacts, artifactOperation, true, true));
     }
 
                 csarInfo, createdArtifacts, artifactOperation, true, true));
     }
 
@@ -350,7 +377,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
             .createResourceArtifactsFromCsar(any(CsarInfo.class), any(Resource.class), anyString(), anyString(),
                 anyList())).thenReturn(Either.left(resource));
         Assertions.assertNotNull(
             .createResourceArtifactsFromCsar(any(CsarInfo.class), any(Resource.class), anyString(), anyString(),
                 anyList())).thenReturn(Either.left(resource));
         Assertions.assertNotNull(
-            sIB1.handleVfCsarArtifacts(resource,
+            sIBL.handleVfCsarArtifacts(resource,
                 csarInfo, createdArtifacts, artifactOperation, true, true));
     }
 
                 csarInfo, createdArtifacts, artifactOperation, true, true));
     }
 
@@ -366,7 +393,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         resource.setDeploymentArtifacts(deploymentArtifacts);
         Assertions.assertNotNull(resource);
         Assertions.assertNotNull(csarInfo);
         resource.setDeploymentArtifacts(deploymentArtifacts);
         Assertions.assertNotNull(resource);
         Assertions.assertNotNull(csarInfo);
-        sIB1.createOrUpdateSingleNonMetaArtifactToComstants(resource, csarInfo, artifactOperation, true, true);
+        sIBL.createOrUpdateSingleNonMetaArtifactToComstants(resource, csarInfo, artifactOperation, true, true);
 
     }
 
 
     }
 
@@ -377,7 +404,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         List<ArtifactDefinition> createdArtifacts = new ArrayList<>();
         ArtifactOperationInfo artifactOperation = new ArtifactOperationInfo(true, true, ArtifactsBusinessLogic.ArtifactOperationEnum.UPDATE);
 
         List<ArtifactDefinition> createdArtifacts = new ArrayList<>();
         ArtifactOperationInfo artifactOperation = new ArtifactOperationInfo(true, true, ArtifactsBusinessLogic.ArtifactOperationEnum.UPDATE);
 
-        Either<Resource, ResponseFormat> result = sIB1.createOrUpdateNonMetaArtifacts(csarInfo, resource,
+        Either<Resource, ResponseFormat> result = sIBL.createOrUpdateNonMetaArtifacts(csarInfo, resource,
             createdArtifacts, true, true, artifactOperation);
         assertEquals(result.left().value(), resource);
     }
             createdArtifacts, true, true, artifactOperation);
         assertEquals(result.left().value(), resource);
     }
@@ -402,22 +429,10 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         List<CsarUtils.NonMetaArtifactInfo> artifactPathAndNameList = new ArrayList<>();
 
         Either<EnumMap<ArtifactsBusinessLogic.ArtifactOperationEnum, List<CsarUtils.NonMetaArtifactInfo>>,
         List<CsarUtils.NonMetaArtifactInfo> artifactPathAndNameList = new ArrayList<>();
 
         Either<EnumMap<ArtifactsBusinessLogic.ArtifactOperationEnum, List<CsarUtils.NonMetaArtifactInfo>>,
-            ResponseFormat> result = sIB1.findVfCsarArtifactsToHandle(resource, artifactPathAndNameList, user);
+            ResponseFormat> result = sIBL.findVfCsarArtifactsToHandle(resource, artifactPathAndNameList, user);
         assertNotNull(result.left().value());
     }
 
         assertNotNull(result.left().value());
     }
 
-    @Test
-    void testIsNonMetaArtifact() {
-        ArtifactDefinition artifactDefinition = new ArtifactDefinition();
-        artifactDefinition.setMandatory(false);
-        artifactDefinition.setArtifactName("creatorFullName");
-        artifactDefinition.setArtifactType("TOSCA_CSAR");
-
-        boolean nonMetaArtifact = sIB1.isNonMetaArtifact(artifactDefinition);
-        assertTrue(nonMetaArtifact);
-
-    }
-
     @Test
     void testOrganizeVfCsarArtifactsByArtifactOperation() {
         List<CsarUtils.NonMetaArtifactInfo> artifactPathAndNameList = new ArrayList<>();
     @Test
     void testOrganizeVfCsarArtifactsByArtifactOperation() {
         List<CsarUtils.NonMetaArtifactInfo> artifactPathAndNameList = new ArrayList<>();
@@ -431,7 +446,8 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         Resource resource = createParseResourceObject(false);
 
         Either<EnumMap<ArtifactsBusinessLogic.ArtifactOperationEnum, List<CsarUtils.NonMetaArtifactInfo>>, ResponseFormat>
         Resource resource = createParseResourceObject(false);
 
         Either<EnumMap<ArtifactsBusinessLogic.ArtifactOperationEnum, List<CsarUtils.NonMetaArtifactInfo>>, ResponseFormat>
-            enumMapResponseFormatEither = sIB1.organizeVfCsarArtifactsByArtifactOperation(artifactPathAndNameList, existingArtifactsToHandle,
+            enumMapResponseFormatEither = sIBL.organizeVfCsarArtifactsByArtifactOperation(artifactPathAndNameList,
+            existingArtifactsToHandle,
             resource, user);
         assertNotNull(enumMapResponseFormatEither.left().value());
     }
             resource, user);
         assertNotNull(enumMapResponseFormatEither.left().value());
     }
@@ -448,8 +464,8 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         existingArtifactsToHandle.add(artifactDefinition);
         Resource resource = createParseResourceObject(false);
         Assertions.assertNotNull(
         existingArtifactsToHandle.add(artifactDefinition);
         Resource resource = createParseResourceObject(false);
         Assertions.assertNotNull(
-            sIB1.organizeVfCsarArtifactsByArtifactOperation(artifactPathAndNameList, existingArtifactsToHandle, resource, user));
-
+            sIBL.organizeVfCsarArtifactsByArtifactOperation(artifactPathAndNameList, existingArtifactsToHandle, resource,
+                user));
     }
 
     @Test
     }
 
     @Test
@@ -464,9 +480,8 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
             EnumMap<>(ArtifactsBusinessLogic.ArtifactOperationEnum.class);
         vfCsarArtifactsToHandle.put(ArtifactsBusinessLogic.ArtifactOperationEnum.CREATE, artifactPathAndNameList);
         Assertions.assertNotNull(
             EnumMap<>(ArtifactsBusinessLogic.ArtifactOperationEnum.class);
         vfCsarArtifactsToHandle.put(ArtifactsBusinessLogic.ArtifactOperationEnum.CREATE, artifactPathAndNameList);
         Assertions.assertNotNull(
-            sIB1.processCsarArtifacts(csarInfo,
+            sIBL.processCsarArtifacts(csarInfo,
                 resource, createdArtifacts, true, true, resStatus, vfCsarArtifactsToHandle));
                 resource, createdArtifacts, true, true, resStatus, vfCsarArtifactsToHandle));
-
     }
 
     @Test
     }
 
     @Test
@@ -494,30 +509,15 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         Either<ArtifactDefinition, Operation> artifactDefinitionOperationEither = Either.left(artifactDefinition);
         when(csarArtifactsAndGroupsBusinessLogic.createOrUpdateCsarArtifactFromJson(any(Resource.class), any(User.class),
             any(Map.class), any(ArtifactOperationInfo.class))).thenReturn(Either.left(artifactDefinitionOperationEither));
         Either<ArtifactDefinition, Operation> artifactDefinitionOperationEither = Either.left(artifactDefinition);
         when(csarArtifactsAndGroupsBusinessLogic.createOrUpdateCsarArtifactFromJson(any(Resource.class), any(User.class),
             any(Map.class), any(ArtifactOperationInfo.class))).thenReturn(Either.left(artifactDefinitionOperationEither));
+        when(artifactsBusinessLogic.handleDelete(anyString(), anyString(), any(User.class), any(Component.class), anyBoolean(), anyBoolean()))
+            .thenReturn(Either.left(artifactDefinition));
         Assertions.assertNotNull(
         Assertions.assertNotNull(
-            sIB1.createOrUpdateSingleNonMetaArtifact(resource, csarInfo, artifactPath,
+            sIBL.createOrUpdateSingleNonMetaArtifact(resource, csarInfo, artifactPath,
                 artifactFileName, artifactType, artifactGroupType, artifactLabel,
                 artifactDisplayName, artifactDescription, artifactId, artifactOperation,
                 createdArtifacts, true, true, true));
     }
 
                 artifactFileName, artifactType, artifactGroupType, artifactLabel,
                 artifactDisplayName, artifactDescription, artifactId, artifactOperation,
                 createdArtifacts, true, true, true));
     }
 
-    @Test
-    void testHandleNodeTypeArtifacts() {
-        Resource nodeTypeResource = createParseResourceObject(true);
-        nodeTypeResource.setLifecycleState(LifecycleStateEnum.CERTIFIED);
-        Map<ArtifactsBusinessLogic.ArtifactOperationEnum, List<ArtifactDefinition>> nodeTypeArtifactsToHandle = new HashMap<>();
-        List<ArtifactDefinition> artifactDefinitions = new ArrayList<>();
-        ArtifactDefinition artifactDefinition = new ArtifactDefinition();
-        artifactDefinition.setArtifactName("artifactName");
-        artifactDefinitions.add(artifactDefinition);
-        nodeTypeArtifactsToHandle.put(ArtifactsBusinessLogic.ArtifactOperationEnum.CREATE,
-            artifactDefinitions);
-        List<ArtifactDefinition> createdArtifacts = new ArrayList<>();
-        Assertions.assertNotNull(
-            sIB1.handleNodeTypeArtifacts(nodeTypeResource, nodeTypeArtifactsToHandle,
-                createdArtifacts, user, true, true));
-    }
-
     @Test
     void testCreateOrUpdateServiceArtifacts() throws IOException {
         ArtifactsBusinessLogic.ArtifactOperationEnum operation = ArtifactsBusinessLogic.ArtifactOperationEnum.UPDATE;
     @Test
     void testCreateOrUpdateServiceArtifacts() throws IOException {
         ArtifactsBusinessLogic.ArtifactOperationEnum operation = ArtifactsBusinessLogic.ArtifactOperationEnum.UPDATE;
@@ -543,7 +543,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         when(csarArtifactsAndGroupsBusinessLogic.updateResourceArtifactsFromCsar(any(CsarInfo.class), any(Service.class),
             anyString(), anyString(), anyList(), anyBoolean(), anyBoolean())).thenReturn(Either.left(preparedService));
         Assertions.assertNotNull(
         when(csarArtifactsAndGroupsBusinessLogic.updateResourceArtifactsFromCsar(any(CsarInfo.class), any(Service.class),
             anyString(), anyString(), anyList(), anyBoolean(), anyBoolean())).thenReturn(Either.left(preparedService));
         Assertions.assertNotNull(
-            sIB1.createOrUpdateArtifacts(operation, createdArtifacts, yamlFileName, csarInfo,
+            sIBL.createOrUpdateArtifacts(operation, createdArtifacts, yamlFileName, csarInfo,
                 preparedService, nodeTypeInfoToUpdateArtifacts, true, true));
     }
 
                 preparedService, nodeTypeInfoToUpdateArtifacts, true, true));
     }
 
@@ -563,8 +563,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         when(csarArtifactsAndGroupsBusinessLogic.deleteVFModules(any(Service.class), any(CsarInfo.class), anyBoolean(), anyBoolean())).thenReturn(
             Either.left(service));
         Assertions.assertNotNull(
         when(csarArtifactsAndGroupsBusinessLogic.deleteVFModules(any(Service.class), any(CsarInfo.class), anyBoolean(), anyBoolean())).thenReturn(
             Either.left(service));
         Assertions.assertNotNull(
-            sIB1.handleVfCsarArtifacts(service, csarInfo, createdArtifacts, artifactOperation, true, true));
-
+            sIBL.handleVfCsarArtifacts(service, csarInfo, createdArtifacts, artifactOperation, true, true));
     }
 
     @Test
     }
 
     @Test
@@ -588,7 +587,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         when(csarArtifactsAndGroupsBusinessLogic.createResourceArtifactsFromCsar(any(CsarInfo.class), any(Service.class),
             anyString(), anyString(), anyList())).thenReturn(Either.left(service));
         Assertions.assertNotNull(
         when(csarArtifactsAndGroupsBusinessLogic.createResourceArtifactsFromCsar(any(CsarInfo.class), any(Service.class),
             anyString(), anyString(), anyList())).thenReturn(Either.left(service));
         Assertions.assertNotNull(
-            sIB1.handleVfCsarArtifacts(service,
+            sIBL.handleVfCsarArtifacts(service,
                 csarInfo, createdArtifacts, artifactOperation, true, true));
     }
 
                 csarInfo, createdArtifacts, artifactOperation, true, true));
     }
 
@@ -599,7 +598,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         List<ArtifactDefinition> createdArtifacts = new ArrayList<>();
         ArtifactOperationInfo artifactOperation = new ArtifactOperationInfo(true, true, ArtifactsBusinessLogic.ArtifactOperationEnum.CREATE);
 
         List<ArtifactDefinition> createdArtifacts = new ArrayList<>();
         ArtifactOperationInfo artifactOperation = new ArtifactOperationInfo(true, true, ArtifactsBusinessLogic.ArtifactOperationEnum.CREATE);
 
-        Either<Service, ResponseFormat> result = sIB1.createOrUpdateNonMetaArtifacts(csarInfo,
+        Either<Service, ResponseFormat> result = sIBL.createOrUpdateNonMetaArtifacts(csarInfo,
             service, createdArtifacts, true, true, artifactOperation);
         assertEquals(result.left().value(), service);
     }
             service, createdArtifacts, true, true, artifactOperation);
         assertEquals(result.left().value(), service);
     }
@@ -624,7 +623,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         List<CsarUtils.NonMetaArtifactInfo> artifactPathAndNameList = new ArrayList<>();
 
         Either<EnumMap<ArtifactsBusinessLogic.ArtifactOperationEnum, List<CsarUtils.NonMetaArtifactInfo>>,
         List<CsarUtils.NonMetaArtifactInfo> artifactPathAndNameList = new ArrayList<>();
 
         Either<EnumMap<ArtifactsBusinessLogic.ArtifactOperationEnum, List<CsarUtils.NonMetaArtifactInfo>>,
-            ResponseFormat> result = sIB1.findVfCsarArtifactsToHandle(service, artifactPathAndNameList, user);
+            ResponseFormat> result = sIBL.findVfCsarArtifactsToHandle(service, artifactPathAndNameList, user);
         assertNotNull(result.left().value());
     }
 
         assertNotNull(result.left().value());
     }
 
@@ -641,7 +640,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         Service service = createServiceObject(true);
 
         Either<EnumMap<ArtifactsBusinessLogic.ArtifactOperationEnum, List<CsarUtils.NonMetaArtifactInfo>>, ResponseFormat>
         Service service = createServiceObject(true);
 
         Either<EnumMap<ArtifactsBusinessLogic.ArtifactOperationEnum, List<CsarUtils.NonMetaArtifactInfo>>, ResponseFormat>
-            enumMapResponseFormatEither = sIB1.organizeVfCsarArtifactsByArtifactOperation(artifactPathAndNameList,
+            enumMapResponseFormatEither = sIBL.organizeVfCsarArtifactsByArtifactOperation(artifactPathAndNameList,
             existingArtifactsToHandle, service, user);
         assertNotNull(enumMapResponseFormatEither.left().value());
     }
             existingArtifactsToHandle, service, user);
         assertNotNull(enumMapResponseFormatEither.left().value());
     }
@@ -658,7 +657,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         existingArtifactsToHandle.add(artifactDefinition);
         Service service = createServiceObject(true);
         Assertions.assertNotNull(
         existingArtifactsToHandle.add(artifactDefinition);
         Service service = createServiceObject(true);
         Assertions.assertNotNull(
-            sIB1.organizeVfCsarArtifactsByArtifactOperation(artifactPathAndNameList, existingArtifactsToHandle, service, user));
+            sIBL.organizeVfCsarArtifactsByArtifactOperation(artifactPathAndNameList, existingArtifactsToHandle, service, user));
 
     }
 
 
     }
 
@@ -674,16 +673,15 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         objects.add(getNonMetaArtifactInfo());
         vfCsarArtifactsToHandle.put(ArtifactsBusinessLogic.ArtifactOperationEnum.CREATE, objects);
         Assertions.assertNotNull(
         objects.add(getNonMetaArtifactInfo());
         vfCsarArtifactsToHandle.put(ArtifactsBusinessLogic.ArtifactOperationEnum.CREATE, objects);
         Assertions.assertNotNull(
-            sIB1.processCsarArtifacts(csarInfo,
-                service, createdArtifacts, true, true, resStatus, vfCsarArtifactsToHandle));
-
+            sIBL.processCsarArtifacts(csarInfo, service, createdArtifacts, true, true, resStatus, vfCsarArtifactsToHandle));
     }
 
     @Test
     void testGetValidArtifactNames() {
         CsarInfo csarInfo = getCsarInfo();
         Map<String, Set<List<String>>> collectedWarningMessages = new HashMap<>();
     }
 
     @Test
     void testGetValidArtifactNames() {
         CsarInfo csarInfo = getCsarInfo();
         Map<String, Set<List<String>>> collectedWarningMessages = new HashMap<>();
-        Either<List<CsarUtils.NonMetaArtifactInfo>, String> result = sIB1.getValidArtifactNames(csarInfo, collectedWarningMessages);
+        Either<List<CsarUtils.NonMetaArtifactInfo>, String> result = sIBL.getValidArtifactNames(csarInfo,
+            collectedWarningMessages);
         assertNotNull(result.left().value());
     }
 
         assertNotNull(result.left().value());
     }
 
@@ -713,8 +711,10 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         Either<ArtifactDefinition, Operation> artifactDefinitionOperationEither = Either.left(artifactDefinition);
         when(csarArtifactsAndGroupsBusinessLogic.createOrUpdateCsarArtifactFromJson(any(Service.class), any(User.class),
             anyMap(), any(ArtifactOperationInfo.class))).thenReturn(Either.left(artifactDefinitionOperationEither));
         Either<ArtifactDefinition, Operation> artifactDefinitionOperationEither = Either.left(artifactDefinition);
         when(csarArtifactsAndGroupsBusinessLogic.createOrUpdateCsarArtifactFromJson(any(Service.class), any(User.class),
             anyMap(), any(ArtifactOperationInfo.class))).thenReturn(Either.left(artifactDefinitionOperationEither));
+        when(artifactsBusinessLogic.handleDelete(anyString(), anyString(), any(User.class), any(Component.class), anyBoolean(), anyBoolean()))
+            .thenReturn(Either.left(artifactDefinition));
         Assertions.assertNotNull(
         Assertions.assertNotNull(
-            sIB1.createOrUpdateSingleNonMetaArtifact(service, csarInfo, artifactPath, artifactFileName,
+            sIBL.createOrUpdateSingleNonMetaArtifact(service, csarInfo, artifactPath, artifactFileName,
                 artifactType, artifactGroupType, artifactLabel, artifactDisplayName,
                 artifactDescription, artifactId, artifactOperation, createdArtifacts,
                 true, true, true));
                 artifactType, artifactGroupType, artifactLabel, artifactDisplayName,
                 artifactDescription, artifactId, artifactOperation, createdArtifacts,
                 true, true, true));
@@ -729,8 +729,10 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         String artifactLabel = "", artifactDisplayName = "", artifactDescription = "", artifactId = "artifactId";
         ArtifactOperationInfo artifactOperation = new ArtifactOperationInfo(true, true, ArtifactsBusinessLogic.ArtifactOperationEnum.UPDATE);
         List<ArtifactDefinition> createdArtifacts = new ArrayList<>();
         String artifactLabel = "", artifactDisplayName = "", artifactDescription = "", artifactId = "artifactId";
         ArtifactOperationInfo artifactOperation = new ArtifactOperationInfo(true, true, ArtifactsBusinessLogic.ArtifactOperationEnum.UPDATE);
         List<ArtifactDefinition> createdArtifacts = new ArrayList<>();
+        when(artifactsBusinessLogic.handleDelete(anyString(), anyString(), any(User.class), any(Component.class), anyBoolean(), anyBoolean()))
+            .thenReturn(Either.left(artifactDefinition));
         Assertions.assertNotNull(
         Assertions.assertNotNull(
-            sIB1.createOrUpdateSingleNonMetaArtifact(service, csarInfo, artifactPath, artifactFileName,
+            sIBL.createOrUpdateSingleNonMetaArtifact(service, csarInfo, artifactPath, artifactFileName,
                 artifactType, artifactGroupType, artifactLabel, artifactDisplayName,
                 artifactDescription, artifactId, artifactOperation, createdArtifacts,
                 true, true, true));
                 artifactType, artifactGroupType, artifactLabel, artifactDisplayName,
                 artifactDescription, artifactId, artifactOperation, createdArtifacts,
                 true, true, true));
@@ -740,29 +742,28 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
     void testCreateGroupsOnResource() {
         Service service = createServiceObject(true);
         Map<String, GroupDefinition> groups = new HashMap<>();
     void testCreateGroupsOnResource() {
         Service service = createServiceObject(true);
         Map<String, GroupDefinition> groups = new HashMap<>();
-        Assertions.assertNotNull(
-            sIB1.createGroupsOnResource(service, groups));
+        Assertions.assertNotNull(sIBL.createGroupsOnResource(service, groups));
     }
 
     @Test
     void testCreateGroupsOnResourceNull() {
         Service service = createServiceObject(true);
         Map<String, GroupDefinition> groups = new HashMap<>();
     }
 
     @Test
     void testCreateGroupsOnResourceNull() {
         Service service = createServiceObject(true);
         Map<String, GroupDefinition> groups = new HashMap<>();
-        Assertions.assertNotNull(sIB1.createGroupsOnResource(service, groups));
+        Assertions.assertNotNull(sIBL.createGroupsOnResource(service, groups));
     }
 
     @Test
     void testUpdateGroupsMembersUsingResource() {
         Service service = createServiceObject(true);
         Map<String, GroupDefinition> groups = getGroups();
     }
 
     @Test
     void testUpdateGroupsMembersUsingResource() {
         Service service = createServiceObject(true);
         Map<String, GroupDefinition> groups = getGroups();
-        Assertions.assertNotNull(sIB1.updateGroupsMembersUsingResource(groups, service));
+        Assertions.assertNotNull(sIBL.updateGroupsMembersUsingResource(groups, service));
     }
 
     @Test
     void testUpdateGroupsMembersUsingResource_left() {
         Service service = createServiceObject(true);
         Map<String, GroupDefinition> groups = getGroups();
     }
 
     @Test
     void testUpdateGroupsMembersUsingResource_left() {
         Service service = createServiceObject(true);
         Map<String, GroupDefinition> groups = getGroups();
-        Assertions.assertNotNull(sIB1.updateGroupsMembersUsingResource(groups, service));
+        Assertions.assertNotNull(sIBL.updateGroupsMembersUsingResource(groups, service));
     }
 
     @Test
     }
 
     @Test
@@ -782,7 +783,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         CsarInfo csarInfo = getCsarInfo();
         Map<String, EnumMap<ArtifactsBusinessLogic.ArtifactOperationEnum, List<ArtifactDefinition>>> nodeTypesArtifactsToCreate = new HashMap<>();
 
         CsarInfo csarInfo = getCsarInfo();
         Map<String, EnumMap<ArtifactsBusinessLogic.ArtifactOperationEnum, List<ArtifactDefinition>>> nodeTypesArtifactsToCreate = new HashMap<>();
 
-        Assertions.assertThrows(ComponentException.class, () -> sIB1
+        Assertions.assertThrows(ComponentException.class, () -> sIBL
             .createRIAndRelationsFromYaml(yamlName, resource, uploadComponentInstanceInfoMap,
                 topologyTemplateYaml, nodeTypesNewCreatedArtifacts, nodeTypesInfo,
                 csarInfo, nodeTypesArtifactsToCreate, nodeName));
             .createRIAndRelationsFromYaml(yamlName, resource, uploadComponentInstanceInfoMap,
                 topologyTemplateYaml, nodeTypesNewCreatedArtifacts, nodeTypesInfo,
                 csarInfo, nodeTypesArtifactsToCreate, nodeName));
@@ -795,10 +796,10 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         resource.setComponentInstances(creatComponentInstances());
         resource.setResourceType(ResourceTypeEnum.VF);
         Map<String, UploadComponentInstanceInfo> uploadResInstancesMap = new HashMap<>();
         resource.setComponentInstances(creatComponentInstances());
         resource.setResourceType(ResourceTypeEnum.VF);
         Map<String, UploadComponentInstanceInfo> uploadResInstancesMap = new HashMap<>();
-        uploadResInstancesMap.put("uploadResInstancesMap", getuploadComponentInstanceInfo());
+        uploadResInstancesMap.put("uploadResInstancesMap", getUploadComponentInstanceInfo());
         when(serviceImportParseLogic.getResourceAfterCreateRelations(any(Resource.class))).thenReturn(resource);
         when(toscaOperationFacade.getToscaFullElement(anyString())).thenReturn(Either.left(resource));
         when(serviceImportParseLogic.getResourceAfterCreateRelations(any(Resource.class))).thenReturn(resource);
         when(toscaOperationFacade.getToscaFullElement(anyString())).thenReturn(Either.left(resource));
-        Assertions.assertThrows(ComponentException.class, () -> sIB1
+        Assertions.assertThrows(ComponentException.class, () -> sIBL
             .createResourceInstancesRelations(user, yamlName, resource, uploadResInstancesMap));
     }
 
             .createResourceInstancesRelations(user, yamlName, resource, uploadResInstancesMap));
     }
 
@@ -809,10 +810,10 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         resource.setComponentInstances(creatComponentInstances());
         resource.setResourceType(ResourceTypeEnum.VF);
         Map<String, UploadComponentInstanceInfo> uploadResInstancesMap = new HashMap<>();
         resource.setComponentInstances(creatComponentInstances());
         resource.setResourceType(ResourceTypeEnum.VF);
         Map<String, UploadComponentInstanceInfo> uploadResInstancesMap = new HashMap<>();
-        uploadResInstancesMap.put("uploadResInstancesMap", getuploadComponentInstanceInfo());
+        uploadResInstancesMap.put("uploadResInstancesMap", getUploadComponentInstanceInfo());
         when(serviceImportParseLogic.getResourceAfterCreateRelations(any(Resource.class))).thenReturn(resource);
         when(toscaOperationFacade.getToscaFullElement(anyString())).thenReturn(Either.left(resource));
         when(serviceImportParseLogic.getResourceAfterCreateRelations(any(Resource.class))).thenReturn(resource);
         when(toscaOperationFacade.getToscaFullElement(anyString())).thenReturn(Either.left(resource));
-        Assertions.assertThrows(ComponentException.class, () -> sIB1
+        Assertions.assertThrows(ComponentException.class, () -> sIBL
             .createResourceInstancesRelations(user, yamlName, resource, uploadResInstancesMap));
     }
 
             .createResourceInstancesRelations(user, yamlName, resource, uploadResInstancesMap));
     }
 
@@ -842,7 +843,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         uploadComponentInstanceInfo.setName("zxjTestImportServiceAb");
         Assertions.assertNotNull(resource);
         Assertions.assertNotNull(yamlName);
         uploadComponentInstanceInfo.setName("zxjTestImportServiceAb");
         Assertions.assertNotNull(resource);
         Assertions.assertNotNull(yamlName);
-        sIB1.processComponentInstance(yamlName, resource, componentInstancesList, allDataTypes.left().value(), instProperties,
+        sIBL.processComponentInstance(yamlName, resource, componentInstancesList, allDataTypes.left().value(), instProperties,
             instCapabilties, instRequirements, instDeploymentArtifacts, instArtifacts, instAttributes,
             originCompMap, instInputs, instNodeFilter, uploadComponentInstanceInfo);
     }
             instCapabilties, instRequirements, instDeploymentArtifacts, instArtifacts, instAttributes,
             originCompMap, instInputs, instNodeFilter, uploadComponentInstanceInfo);
     }
@@ -867,7 +868,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         UploadComponentInstanceInfo uploadComponentInstanceInfo = new UploadComponentInstanceInfo();
         uploadComponentInstanceInfo.setName("zxjTestImportServiceAb0");
 
         UploadComponentInstanceInfo uploadComponentInstanceInfo = new UploadComponentInstanceInfo();
         uploadComponentInstanceInfo.setName("zxjTestImportServiceAb0");
 
-        Assertions.assertThrows(ComponentException.class, () -> sIB1.processComponentInstance(yamlName,
+        Assertions.assertThrows(ComponentException.class, () -> sIBL.processComponentInstance(yamlName,
             resource, componentInstancesList, null, instProperties, instCapabilties,
             instRequirements, instDeploymentArtifacts, instArtifacts, instAttributes, originCompMap,
             instInputs, instNodeFilter, uploadComponentInstanceInfo));
             resource, componentInstancesList, null, instProperties, instCapabilties,
             instRequirements, instDeploymentArtifacts, instArtifacts, instAttributes, originCompMap,
             instInputs, instNodeFilter, uploadComponentInstanceInfo));
@@ -896,7 +897,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         dataTypeDefinition.setName("dataTypeDefinitionName");
         allDataTypes.put("dataTypeDefinitionMap", dataTypeDefinition);
 
         dataTypeDefinition.setName("dataTypeDefinitionName");
         allDataTypes.put("dataTypeDefinitionMap", dataTypeDefinition);
 
-        Assertions.assertThrows(ComponentException.class, () -> sIB1
+        Assertions.assertThrows(ComponentException.class, () -> sIBL
             .addInputsValuesToRi(uploadComponentInstanceInfo, resource, originResource,
                 currentCompInstance, instInputs, allDataTypes));
     }
             .addInputsValuesToRi(uploadComponentInstanceInfo, resource, originResource,
                 currentCompInstance, instInputs, allDataTypes));
     }
@@ -919,7 +920,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         List<UploadPropInfo> propertyList = getPropertyList();
         Assertions.assertNotNull(resource);
         Assertions.assertNotNull(currPropertiesMap);
         List<UploadPropInfo> propertyList = getPropertyList();
         Assertions.assertNotNull(resource);
         Assertions.assertNotNull(currPropertiesMap);
-        sIB1.processProperty(resource, currentCompInstance, allDataTypes, currPropertiesMap, instPropList, propertyList);
+        sIBL.processProperty(resource, currentCompInstance, allDataTypes, currPropertiesMap, instPropList, propertyList);
     }
 
     @Test
     }
 
     @Test
@@ -930,8 +931,8 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         when(toscaOperationFacade.getToscaFullElement(anyString()))
             .thenReturn(Either.right(StorageOperationStatus.BAD_REQUEST));
 
         when(toscaOperationFacade.getToscaFullElement(anyString()))
             .thenReturn(Either.right(StorageOperationStatus.BAD_REQUEST));
 
-        Assertions.assertThrows(ComponentException.class, () -> sIB1
-            .handleSubstitutionMappings(resource, uploadResInstancesMap));
+        Assertions.assertThrows(ComponentException.class,
+            () -> sIBL.handleSubstitutionMappings(resource, uploadResInstancesMap));
     }
 
     @Test
     }
 
     @Test
@@ -942,8 +943,8 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         when(toscaOperationFacade.getToscaFullElement(anyString()))
             .thenReturn(Either.left(resource));
 
         when(toscaOperationFacade.getToscaFullElement(anyString()))
             .thenReturn(Either.left(resource));
 
-        Assertions.assertThrows(ComponentException.class, () -> sIB1
-            .handleSubstitutionMappings(resource, uploadResInstancesMap));
+        Assertions.assertThrows(ComponentException.class,
+            () -> sIBL.handleSubstitutionMappings(resource, uploadResInstancesMap));
     }
 
     @Test
     }
 
     @Test
@@ -959,8 +960,8 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         Map<String, Resource> nodeNamespaceMap = new HashMap<>();
         nodeNamespaceMap.put("resources", originResource);
 
         Map<String, Resource> nodeNamespaceMap = new HashMap<>();
         nodeNamespaceMap.put("resources", originResource);
 
-        Assertions.assertThrows(ComponentException.class, () -> sIB1
-            .createResourceInstances(yamlName, resource, uploadResInstancesMap, nodeNamespaceMap));
+        Assertions.assertThrows(ComponentException.class,
+            () -> sIBL.createResourceInstances(yamlName, resource, uploadResInstancesMap, nodeNamespaceMap));
     }
 
     @Test
     }
 
     @Test
@@ -980,7 +981,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         CsarInfo csarInfo = getCsarInfo();
         Assertions.assertNotNull(resource);
 
         CsarInfo csarInfo = getCsarInfo();
         Assertions.assertNotNull(resource);
 
-        sIB1.handleNodeTypes(yamlName, resource, topologyTemplateYaml, needLock, nodeTypesArtifactsToHandle,
+        sIBL.handleNodeTypes(yamlName, resource, topologyTemplateYaml, needLock, nodeTypesArtifactsToHandle,
             nodeTypesNewCreatedArtifacts, nodeTypesInfo, csarInfo, nodeName);
     }
 
             nodeTypesNewCreatedArtifacts, nodeTypesInfo, csarInfo, nodeName);
     }
 
@@ -997,7 +998,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         nodesInfo.put(nodeName, nodeTypeInfo);
         CsarInfo csarInfo = getCsarInfo();
 
         nodesInfo.put(nodeName, nodeTypeInfo);
         CsarInfo csarInfo = getCsarInfo();
 
-        Assertions.assertThrows(ComponentException.class, () -> sIB1.handleNestedVfc(resource,
+        Assertions.assertThrows(ComponentException.class, () -> sIBL.handleNestedVfc(resource,
             nodeTypesArtifactsToHandle, createdArtifacts, nodesInfo, csarInfo, nodeName));
     }
 
             nodeTypesArtifactsToHandle, createdArtifacts, nodesInfo, csarInfo, nodeName));
     }
 
@@ -1017,27 +1018,10 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         when(serviceImportParseLogic.validateNestedDerivedFromDuringUpdate(any(Resource.class), any(Resource.class),
             anyBoolean())).thenReturn(Either.left(true));
 
         when(serviceImportParseLogic.validateNestedDerivedFromDuringUpdate(any(Resource.class), any(Resource.class),
             anyBoolean())).thenReturn(Either.left(true));
 
-        Assertions.assertThrows(ComponentException.class, () -> sIB1.handleComplexVfc(resource,
+        Assertions.assertThrows(ComponentException.class, () -> sIBL.handleComplexVfc(resource,
             nodeTypesArtifactsToHandle, createdArtifacts, nodesInfo, csarInfo, nodeName, yamlName));
     }
 
             nodeTypesArtifactsToHandle, createdArtifacts, nodesInfo, csarInfo, nodeName, yamlName));
     }
 
-    @Test
-    void testCreateResourcesFromYamlNodeTypesList1() {
-        String yamlName = "group.yml";
-        Resource resource = createParseResourceObject(false);
-        Map<String, Object> mappedToscaTemplate = new HashMap<>();
-        boolean needLock = true;
-        Map<String, EnumMap<ArtifactsBusinessLogic.ArtifactOperationEnum, List<ArtifactDefinition>>> nodeTypesArtifactsToHandle = new HashMap<>();
-        List<ArtifactDefinition> nodeTypesNewCreatedArtifacts = new ArrayList<>();
-        Map<String, NodeTypeInfo> nodeTypesInfo = new HashMap<>();
-        CsarInfo csarInfo = getCsarInfo();
-
-        Assertions.assertThrows(ComponentException.class, () -> sIB1
-            .createResourcesFromYamlNodeTypesList(yamlName, resource, mappedToscaTemplate, needLock,
-                nodeTypesArtifactsToHandle, nodeTypesNewCreatedArtifacts, nodeTypesInfo, csarInfo));
-
-    }
-
     @Test
     void testCreateNodeTypes1() {
         String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test";
     @Test
     void testCreateNodeTypes1() {
         String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test";
@@ -1067,7 +1051,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         nodeTypes.put(nodeName, "");
         Assertions.assertNotNull(resource);
 
         nodeTypes.put(nodeName, "");
         Assertions.assertNotNull(resource);
 
-        sIB1.createNodeTypes(yamlName,
+        sIBL.createNodeTypes(yamlName,
             resource, needLock, nodeTypesArtifactsToHandle, nodeTypesNewCreatedArtifacts,
             nodeTypesInfo, csarInfo, mapToConvert, nodeTypes);
     }
             resource, needLock, nodeTypesArtifactsToHandle, nodeTypesNewCreatedArtifacts,
             nodeTypesInfo, csarInfo, mapToConvert, nodeTypes);
     }
@@ -1101,7 +1085,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
             anyMap(), anyList(), anyBoolean(), any(CsarInfo.class),
             anyString(), anyBoolean())).thenReturn(immutablePair);
         Assertions.assertNotNull(
             anyMap(), anyList(), anyBoolean(), any(CsarInfo.class),
             anyString(), anyBoolean())).thenReturn(immutablePair);
         Assertions.assertNotNull(
-            sIB1.createNodeTypeResourceFromYaml(yamlName, nodeNameValue, user, mapToConvert,
+            sIBL.createNodeTypeResourceFromYaml(yamlName, nodeNameValue, user, mapToConvert,
                 resourceVf, needLock, nodeTypeArtifactsToHandle, nodeTypesNewCreatedArtifacts,
                 forceCertificationAllowed, csarInfo, isNested));
     }
                 resourceVf, needLock, nodeTypeArtifactsToHandle, nodeTypesNewCreatedArtifacts,
                 forceCertificationAllowed, csarInfo, isNested));
     }
@@ -1119,7 +1103,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         Map<String, EnumMap<ArtifactsBusinessLogic.ArtifactOperationEnum, List<ArtifactDefinition>>> nodeTypesArtifactsToCreate = new HashMap<>();
         String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test";
 
         Map<String, EnumMap<ArtifactsBusinessLogic.ArtifactOperationEnum, List<ArtifactDefinition>>> nodeTypesArtifactsToCreate = new HashMap<>();
         String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test";
 
-        Assertions.assertNotNull(sIB1
+        Assertions.assertNotNull(sIBL
             .createRIAndRelationsFromYaml(yamlName, service, uploadComponentInstanceInfoMap,
                 topologyTemplateYaml, nodeTypesNewCreatedArtifacts, nodeTypesInfo,
                 csarInfo, nodeTypesArtifactsToCreate, nodeName));
             .createRIAndRelationsFromYaml(yamlName, service, uploadComponentInstanceInfoMap,
                 topologyTemplateYaml, nodeTypesNewCreatedArtifacts, nodeTypesInfo,
                 csarInfo, nodeTypesArtifactsToCreate, nodeName));
@@ -1150,8 +1134,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
             any(ComponentInstance.class), any(UploadReqInfo.class))).thenReturn(capabilityDefinition);
         when(componentsUtils.getResponseFormat(any(ActionStatus.class), anyString())).thenReturn(responseFormat);
         when(toscaOperationFacade.getToscaElement(anyString())).thenReturn(Either.left(service));
             any(ComponentInstance.class), any(UploadReqInfo.class))).thenReturn(capabilityDefinition);
         when(componentsUtils.getResponseFormat(any(ActionStatus.class), anyString())).thenReturn(responseFormat);
         when(toscaOperationFacade.getToscaElement(anyString())).thenReturn(Either.left(service));
-        Assertions.assertNotNull(sIB1
-            .createServiceInstancesRelations(user, yamlName, service, uploadResInstancesMap));
+        Assertions.assertNotNull(sIBL.createServiceInstancesRelations(user, yamlName, service, uploadResInstancesMap));
     }
 
     @Test
     }
 
     @Test
@@ -1161,8 +1144,8 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         service.setComponentInstances(creatComponentInstances());
         Map<String, UploadComponentInstanceInfo> uploadResInstancesMap = new HashMap<>();
 
         service.setComponentInstances(creatComponentInstances());
         Map<String, UploadComponentInstanceInfo> uploadResInstancesMap = new HashMap<>();
 
-        Assertions.assertThrows(ComponentException.class, () -> sIB1
-            .createServiceInstancesRelations(user, yamlName, service, uploadResInstancesMap));
+        Assertions.assertThrows(ComponentException.class,
+            () -> sIBL.createServiceInstancesRelations(user, yamlName, service, uploadResInstancesMap));
     }
 
     @Test
     }
 
     @Test
@@ -1191,7 +1174,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         uploadComponentInstanceInfo.setName("zxjTestImportServiceAb");
         Assertions.assertNotNull(service);
 
         uploadComponentInstanceInfo.setName("zxjTestImportServiceAb");
         Assertions.assertNotNull(service);
 
-        sIB1.processComponentInstance(yamlName, service, componentInstancesList, allDataTypes.left().value(),
+        sIBL.processComponentInstance(yamlName, service, componentInstancesList, allDataTypes.left().value(),
             instProperties, instCapabilties, instRequirements, instDeploymentArtifacts,
             instArtifacts, instAttributes, originCompMap, instInputs, instNodeFilter,
             uploadComponentInstanceInfo);
             instProperties, instCapabilties, instRequirements, instDeploymentArtifacts,
             instArtifacts, instAttributes, originCompMap, instInputs, instNodeFilter,
             uploadComponentInstanceInfo);
@@ -1217,7 +1200,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         UploadComponentInstanceInfo uploadComponentInstanceInfo = new UploadComponentInstanceInfo();
         uploadComponentInstanceInfo.setName("zxjTestImportServiceAb0");
 
         UploadComponentInstanceInfo uploadComponentInstanceInfo = new UploadComponentInstanceInfo();
         uploadComponentInstanceInfo.setName("zxjTestImportServiceAb0");
 
-        Assertions.assertThrows(ComponentException.class, () -> sIB1.processComponentInstance(yamlName,
+        Assertions.assertThrows(ComponentException.class, () -> sIBL.processComponentInstance(yamlName,
             service, componentInstancesList, null, instProperties, instCapabilties,
             instRequirements, instDeploymentArtifacts, instArtifacts, instAttributes, originCompMap,
             instInputs, instNodeFilter, uploadComponentInstanceInfo));
             service, componentInstancesList, null, instProperties, instCapabilties,
             instRequirements, instDeploymentArtifacts, instArtifacts, instAttributes, originCompMap,
             instInputs, instNodeFilter, uploadComponentInstanceInfo));
@@ -1245,7 +1228,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         Map<String, List<ComponentInstanceInput>> instInputs = new HashMap<>();
         Map<String, DataTypeDefinition> allDataTypes = new HashMap<>();
 
         Map<String, List<ComponentInstanceInput>> instInputs = new HashMap<>();
         Map<String, DataTypeDefinition> allDataTypes = new HashMap<>();
 
-        Assertions.assertThrows(ComponentException.class, () -> sIB1
+        Assertions.assertThrows(ComponentException.class, () -> sIBL
             .addInputsValuesToRi(uploadComponentInstanceInfo, resource, originResource,
                 currentCompInstance, instInputs, allDataTypes));
     }
             .addInputsValuesToRi(uploadComponentInstanceInfo, resource, originResource,
                 currentCompInstance, instInputs, allDataTypes));
     }
@@ -1277,7 +1260,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         propertyList.add(propertyInfo);
         Assertions.assertNotNull(resource);
 
         propertyList.add(propertyInfo);
         Assertions.assertNotNull(resource);
 
-        sIB1.processProperty(resource, currentCompInstance, allDataTypes, currPropertiesMap, instPropList, propertyList);
+        sIBL.processProperty(resource, currentCompInstance, allDataTypes, currPropertiesMap, instPropList, propertyList);
     }
 
     @Test
     }
 
     @Test
@@ -1286,8 +1269,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         List<InputDefinition> inputs = new ArrayList<>();
         GetInputValueDataDefinition getInputIndex = new GetInputValueDataDefinition();
 
         List<InputDefinition> inputs = new ArrayList<>();
         GetInputValueDataDefinition getInputIndex = new GetInputValueDataDefinition();
 
-        Assertions.assertThrows(ComponentException.class, () -> sIB1.processGetInput(getInputValues,
-            inputs, getInputIndex));
+        Assertions.assertThrows(ComponentException.class, () -> sIBL.processGetInput(getInputValues, inputs, getInputIndex));
     }
 
     @Test
     }
 
     @Test
@@ -1302,7 +1284,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         getInputIndex.setInputName("InputName");
         Assertions.assertNotNull(inputs);
 
         getInputIndex.setInputName("InputName");
         Assertions.assertNotNull(inputs);
 
-        sIB1.processGetInput(getInputValues, inputs, getInputIndex);
+        sIBL.processGetInput(getInputValues, inputs, getInputIndex);
     }
 
     @Test
     }
 
     @Test
@@ -1323,11 +1305,11 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         Map<String, List<ComponentInstanceProperty>> instProperties = new HashMap<>();
         Map<String, DataTypeDefinition> allDataTypes = new HashMap<>();
         ResponseFormat responseFormat = new ResponseFormat();
         Map<String, List<ComponentInstanceProperty>> instProperties = new HashMap<>();
         Map<String, DataTypeDefinition> allDataTypes = new HashMap<>();
         ResponseFormat responseFormat = new ResponseFormat();
-        when(serviceImportParseLogic.findInputByName(anyList(), any(GetInputValueDataDefinition.class)))
+        when(serviceImportParseLogic.findInputByName(eq(inputs), any(GetInputValueDataDefinition.class)))
             .thenReturn(inputDefinition);
         when(componentsUtils.getResponseFormat(any(ActionStatus.class))).thenReturn(responseFormat);
         Assertions.assertNotNull(
             .thenReturn(inputDefinition);
         when(componentsUtils.getResponseFormat(any(ActionStatus.class))).thenReturn(responseFormat);
         Assertions.assertNotNull(
-            sIB1.addPropertyValuesToRi(uploadComponentInstanceInfo, resource, originResource,
+            sIBL.addPropertyValuesToRi(uploadComponentInstanceInfo, resource, originResource,
                 currentCompInstance, instProperties, allDataTypes));
     }
 
                 currentCompInstance, instProperties, allDataTypes));
     }
 
@@ -1343,9 +1325,8 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         ResponseFormat responseFormat = new ResponseFormat();
         when(componentsUtils.getResponseFormat(any(ActionStatus.class))).thenReturn(responseFormat);
         Assertions.assertNotNull(
         ResponseFormat responseFormat = new ResponseFormat();
         when(componentsUtils.getResponseFormat(any(ActionStatus.class))).thenReturn(responseFormat);
         Assertions.assertNotNull(
-            sIB1.addPropertyValuesToRi(uploadComponentInstanceInfo, resource, originResource, currentCompInstance,
+            sIBL.addPropertyValuesToRi(uploadComponentInstanceInfo, resource, originResource, currentCompInstance,
                 instProperties, allDataTypes));
                 instProperties, allDataTypes));
-
     }
 
     @Test
     }
 
     @Test
@@ -1370,7 +1351,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         when(serviceImportParseLogic.findInputByName(anyList(), any(GetInputValueDataDefinition.class)))
             .thenReturn(inputDefinition);
         Assertions.assertNotNull(
         when(serviceImportParseLogic.findInputByName(anyList(), any(GetInputValueDataDefinition.class)))
             .thenReturn(inputDefinition);
         Assertions.assertNotNull(
-            sIB1.addPropertyValuesToRi(uploadComponentInstanceInfo, service, originResource,
+            sIBL.addPropertyValuesToRi(uploadComponentInstanceInfo, service, originResource,
                 currentCompInstance, instProperties, allDataTypes));
     }
 
                 currentCompInstance, instProperties, allDataTypes));
     }
 
@@ -1386,7 +1367,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         ResponseFormat responseFormat = new ResponseFormat();
         when(componentsUtils.getResponseFormat(any(ActionStatus.class))).thenReturn(responseFormat);
         Assertions.assertNotNull(
         ResponseFormat responseFormat = new ResponseFormat();
         when(componentsUtils.getResponseFormat(any(ActionStatus.class))).thenReturn(responseFormat);
         Assertions.assertNotNull(
-            sIB1.addPropertyValuesToRi(uploadComponentInstanceInfo, service, originResource, currentCompInstance,
+            sIBL.addPropertyValuesToRi(uploadComponentInstanceInfo, service, originResource, currentCompInstance,
                 instProperties, allDataTypes));
     }
 
                 instProperties, allDataTypes));
     }
 
@@ -1399,8 +1380,8 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         ComponentInstance currentCompInstance = new ComponentInstance();
         Resource originResource = createParseResourceObject(false);
         Assertions.assertNotNull(originResource);
         ComponentInstance currentCompInstance = new ComponentInstance();
         Resource originResource = createParseResourceObject(false);
         Assertions.assertNotNull(originResource);
-        sIB1.processComponentInstanceCapabilities(null, instCapabilties,
-            uploadComponentInstanceInfo, currentCompInstance, originResource);
+        sIBL.processComponentInstanceCapabilities(null, instCapabilties, uploadComponentInstanceInfo, currentCompInstance,
+            originResource);
     }
 
     @Test
     }
 
     @Test
@@ -1412,8 +1393,8 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         Resource originResource = createParseResourceObject(false);
         Assertions.assertNotNull(originResource);
 
         Resource originResource = createParseResourceObject(false);
         Assertions.assertNotNull(originResource);
 
-        sIB1.processComponentInstanceCapabilities(null, instCapabilties, uploadComponentInstanceInfo,
-            currentCompInstance, originResource);
+        sIBL.processComponentInstanceCapabilities(null, instCapabilties, uploadComponentInstanceInfo, currentCompInstance,
+            originResource);
     }
 
     @Test
     }
 
     @Test
@@ -1422,7 +1403,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         Map<String, List<CapabilityDefinition>> originCapabilities = new HashMap<>();
         Map<String, Map<String, UploadPropInfo>> newPropertiesMap = new HashMap<>();
         Assertions.assertNull(allDataTypes);
         Map<String, List<CapabilityDefinition>> originCapabilities = new HashMap<>();
         Map<String, Map<String, UploadPropInfo>> newPropertiesMap = new HashMap<>();
         Assertions.assertNull(allDataTypes);
-        sIB1.updateCapabilityPropertiesValues(null, originCapabilities, newPropertiesMap, null);
+        sIBL.updateCapabilityPropertiesValues(null, originCapabilities, newPropertiesMap);
     }
 
     @Test
     }
 
     @Test
@@ -1431,7 +1412,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         Map<String, UploadPropInfo> newProperties = new HashMap<>();
         Map<String, DataTypeDefinition> allDataTypes = new HashMap<>();
         Assertions.assertNotNull(allDataTypes);
         Map<String, UploadPropInfo> newProperties = new HashMap<>();
         Map<String, DataTypeDefinition> allDataTypes = new HashMap<>();
         Assertions.assertNotNull(allDataTypes);
-        sIB1.updatePropertyValues(properties, newProperties, allDataTypes);
+        sIBL.updatePropertyValues(properties, newProperties, allDataTypes);
     }
 
     @Test
     }
 
     @Test
@@ -1443,8 +1424,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         Map<String, DataTypeDefinition> allDataTypes = new HashMap<>();
         when(serviceBusinessLogic.validatePropValueBeforeCreate(any(IPropertyInputCommon.class), anyString(), anyBoolean(), anyMap())).thenReturn(
             "qw");
         Map<String, DataTypeDefinition> allDataTypes = new HashMap<>();
         when(serviceBusinessLogic.validatePropValueBeforeCreate(any(IPropertyInputCommon.class), anyString(), anyBoolean(), anyMap())).thenReturn(
             "qw");
-        Assertions.assertNotNull(
-            sIB1.updatePropertyValue(property, propertyInfo, allDataTypes));
+        Assertions.assertNotNull(sIBL.updatePropertyValue(property, propertyInfo, allDataTypes));
     }
 
     @Test
     }
 
     @Test
@@ -1455,17 +1435,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         currentCompInstance.setComponentUid("currentCompInstance");
         when(toscaOperationFacade.getToscaFullElement(anyString()))
             .thenReturn(Either.left(createParseResourceObject(true)));
         currentCompInstance.setComponentUid("currentCompInstance");
         when(toscaOperationFacade.getToscaFullElement(anyString()))
             .thenReturn(Either.left(createParseResourceObject(true)));
-        Assertions.assertNotNull(
-            sIB1.getOriginResource(yamlName, originCompMap, currentCompInstance));
-    }
-
-    @Test
-    void testHandleSubstitutionMappings2() {
-        Service service = createServiceObject(true);
-        Map<String, UploadComponentInstanceInfo> uploadResInstancesMap = new HashMap<>();
-        Assertions.assertNotNull(service);
-
-        sIB1.handleSubstitutionMappings(service, uploadResInstancesMap);
+        Assertions.assertNotNull(sIBL.getOriginResource(yamlName, originCompMap, currentCompInstance));
     }
 
     @Test
     }
 
     @Test
@@ -1475,8 +1445,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         Map<String, UploadComponentInstanceInfo> uploadResInstancesMap = getUploadResInstancesMap();
 
         when(toscaOperationFacade.deleteAllCalculatedCapabilitiesRequirements(any())).thenReturn(StorageOperationStatus.OK);
         Map<String, UploadComponentInstanceInfo> uploadResInstancesMap = getUploadResInstancesMap();
 
         when(toscaOperationFacade.deleteAllCalculatedCapabilitiesRequirements(any())).thenReturn(StorageOperationStatus.OK);
-        Assertions.assertNotNull(
-            sIB1.updateCalculatedCapReqWithSubstitutionMappings(resource, uploadResInstancesMap));
+        Assertions.assertNotNull(sIBL.updateCalculatedCapReqWithSubstitutionMappings(resource, uploadResInstancesMap));
     }
 
     @Test
     }
 
     @Test
@@ -1487,7 +1456,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         Map<ComponentInstance, Map<String, List<RequirementDefinition>>> updatedInstRequirement = new HashMap<>();
         Assertions.assertNotNull(componentInstances);
 
         Map<ComponentInstance, Map<String, List<RequirementDefinition>>> updatedInstRequirement = new HashMap<>();
         Assertions.assertNotNull(componentInstances);
 
-        sIB1.fillUpdatedInstCapabilitiesRequirements(componentInstances, uploadResInstancesMap,
+        sIBL.fillUpdatedInstCapabilitiesRequirements(componentInstances, uploadResInstancesMap,
             updatedInstCapabilities, updatedInstRequirement);
     }
 
             updatedInstCapabilities, updatedInstRequirement);
     }
 
@@ -1506,7 +1475,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         capabilitiesNamesToUpdate.put("mme_ipu_vdu.feature", "capabilitiesNamesToUpdate");
         Assertions.assertNotNull(instance);
 
         capabilitiesNamesToUpdate.put("mme_ipu_vdu.feature", "capabilitiesNamesToUpdate");
         Assertions.assertNotNull(instance);
 
-        sIB1.fillUpdatedInstCapabilities(updatedInstCapabilties, instance, capabilitiesNamesToUpdate);
+        sIBL.fillUpdatedInstCapabilities(updatedInstCapabilties, instance, capabilitiesNamesToUpdate);
     }
 
     @Test
     }
 
     @Test
@@ -1526,7 +1495,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
             "requirementsNamesToUpdate");
         Assertions.assertNotNull(instance);
 
             "requirementsNamesToUpdate");
         Assertions.assertNotNull(instance);
 
-        sIB1.fillUpdatedInstRequirements(updatedInstRequirements, instance, requirementsNamesToUpdate);
+        sIBL.fillUpdatedInstRequirements(updatedInstRequirements, instance, requirementsNamesToUpdate);
     }
 
     @Test
     }
 
     @Test
@@ -1535,7 +1504,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         Service service = createServiceObject(true);
 
         Map<String, UploadComponentInstanceInfo> uploadResInstancesMap = new HashMap<>();
         Service service = createServiceObject(true);
 
         Map<String, UploadComponentInstanceInfo> uploadResInstancesMap = new HashMap<>();
-        UploadComponentInstanceInfo nodesInfoValue = getuploadComponentInstanceInfo();
+        UploadComponentInstanceInfo nodesInfoValue = getUploadComponentInstanceInfo();
         uploadResInstancesMap.put("uploadComponentInstanceInfo", nodesInfoValue);
         List<ComponentInstance> componentInstancesList = creatComponentInstances();
         ComponentInstance componentInstance = new ComponentInstance();
         uploadResInstancesMap.put("uploadComponentInstanceInfo", nodesInfoValue);
         List<ComponentInstance> componentInstancesList = creatComponentInstances();
         ComponentInstance componentInstance = new ComponentInstance();
@@ -1561,7 +1530,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         when(componentsUtils.getResponseFormat(any(ActionStatus.class), anyString())).thenReturn(responseFormat);
         Assertions.assertNotNull(service);
 
         when(componentsUtils.getResponseFormat(any(ActionStatus.class), anyString())).thenReturn(responseFormat);
         Assertions.assertNotNull(service);
 
-        sIB1.addRelationsToRI(yamlName, service, uploadResInstancesMap, componentInstancesList, relations);
+        sIBL.addRelationsToRI(yamlName, service, uploadResInstancesMap, componentInstancesList, relations);
     }
 
     @Test
     }
 
     @Test
@@ -1569,12 +1538,12 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         String yamlName = "group.yml";
         Service service = createServiceObject(true);
         Map<String, UploadComponentInstanceInfo> uploadResInstancesMap = new HashMap<>();
         String yamlName = "group.yml";
         Service service = createServiceObject(true);
         Map<String, UploadComponentInstanceInfo> uploadResInstancesMap = new HashMap<>();
-        UploadComponentInstanceInfo nodesInfoValue = getuploadComponentInstanceInfo();
+        UploadComponentInstanceInfo nodesInfoValue = getUploadComponentInstanceInfo();
         uploadResInstancesMap.put("uploadComponentInstanceInfo", nodesInfoValue);
         List<ComponentInstance> componentInstancesList = new ArrayList<>();
         List<RequirementCapabilityRelDef> relations = new ArrayList<>();
 
         uploadResInstancesMap.put("uploadComponentInstanceInfo", nodesInfoValue);
         List<ComponentInstance> componentInstancesList = new ArrayList<>();
         List<RequirementCapabilityRelDef> relations = new ArrayList<>();
 
-        Assertions.assertThrows(ComponentException.class, () -> sIB1.addRelationsToRI(yamlName,
+        Assertions.assertThrows(ComponentException.class, () -> sIBL.addRelationsToRI(yamlName,
             service, uploadResInstancesMap, componentInstancesList, relations));
     }
 
             service, uploadResInstancesMap, componentInstancesList, relations));
     }
 
@@ -1584,7 +1553,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         Service service = createServiceObject(true);
         service.setComponentInstances(creatComponentInstances());
 
         Service service = createServiceObject(true);
         service.setComponentInstances(creatComponentInstances());
 
-        UploadComponentInstanceInfo nodesInfoValue = getuploadComponentInstanceInfo();
+        UploadComponentInstanceInfo nodesInfoValue = getUploadComponentInstanceInfo();
         List<RequirementCapabilityRelDef> relations = new ArrayList<>();
         RequirementDefinition requirementDefinition = new RequirementDefinition();
         requirementDefinition.setName("zxjtestimportserviceab0.mme_ipu_vdu.dependency.test");
         List<RequirementCapabilityRelDef> relations = new ArrayList<>();
         RequirementDefinition requirementDefinition = new RequirementDefinition();
         requirementDefinition.setName("zxjtestimportserviceab0.mme_ipu_vdu.dependency.test");
@@ -1598,8 +1567,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         when(serviceImportParseLogic.findAvailableCapabilityByTypeOrName(any(RequirementDefinition.class),
             any(ComponentInstance.class), any(UploadReqInfo.class))).thenReturn(capabilityDefinition);
         when(componentsUtils.getResponseFormat(any(ActionStatus.class), anyString())).thenReturn(responseFormat);
         when(serviceImportParseLogic.findAvailableCapabilityByTypeOrName(any(RequirementDefinition.class),
             any(ComponentInstance.class), any(UploadReqInfo.class))).thenReturn(capabilityDefinition);
         when(componentsUtils.getResponseFormat(any(ActionStatus.class), anyString())).thenReturn(responseFormat);
-        Assertions.assertNotNull(
-            sIB1.addRelationToRI(yamlName, service, nodesInfoValue, relations));
+        Assertions.assertNotNull(sIBL.addRelationToRI(yamlName, service, nodesInfoValue, relations));
     }
 
     @Test
     }
 
     @Test
@@ -1609,11 +1577,10 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         List<ComponentInstance> componentInstancesList = new ArrayList<>();
         service.setComponentInstances(componentInstancesList);
         ResponseFormat responseFormat = new ResponseFormat();
         List<ComponentInstance> componentInstancesList = new ArrayList<>();
         service.setComponentInstances(componentInstancesList);
         ResponseFormat responseFormat = new ResponseFormat();
-        UploadComponentInstanceInfo nodesInfoValue = getuploadComponentInstanceInfo();
+        UploadComponentInstanceInfo nodesInfoValue = getUploadComponentInstanceInfo();
         List<RequirementCapabilityRelDef> relations = new ArrayList<>();
         when(componentsUtils.getResponseFormat(any(ActionStatus.class), anyString())).thenReturn(responseFormat);
         List<RequirementCapabilityRelDef> relations = new ArrayList<>();
         when(componentsUtils.getResponseFormat(any(ActionStatus.class), anyString())).thenReturn(responseFormat);
-        Assertions.assertNotNull(
-            sIB1.addRelationToRI(yamlName, service, nodesInfoValue, relations));
+        Assertions.assertNotNull(sIBL.addRelationToRI(yamlName, service, nodesInfoValue, relations));
 
     }
 
 
     }
 
@@ -1624,8 +1591,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         when(serviceImportParseLogic.getComponentFilterAfterCreateRelations()).thenReturn(componentParametersView);
         when(toscaOperationFacade.getToscaElement(anyString(), any(ComponentParametersView.class)))
             .thenReturn(Either.left(createServiceObject(true)));
         when(serviceImportParseLogic.getComponentFilterAfterCreateRelations()).thenReturn(componentParametersView);
         when(toscaOperationFacade.getToscaElement(anyString(), any(ComponentParametersView.class)))
             .thenReturn(Either.left(createServiceObject(true)));
-        Assertions.assertNotNull(
-            sIB1.getResourceAfterCreateRelations(service));
+        Assertions.assertNotNull(sIBL.getResourceAfterCreateRelations(service));
     }
 
     @Test
     }
 
     @Test
@@ -1633,20 +1599,20 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         String yamlName = "group.yml";
         Service service = createServiceObject(true);
         Map<String, UploadComponentInstanceInfo> uploadResInstancesMap = new HashMap<>();
         String yamlName = "group.yml";
         Service service = createServiceObject(true);
         Map<String, UploadComponentInstanceInfo> uploadResInstancesMap = new HashMap<>();
-        UploadComponentInstanceInfo nodesInfoValue = getuploadComponentInstanceInfo();
+        UploadComponentInstanceInfo nodesInfoValue = getUploadComponentInstanceInfo();
         uploadResInstancesMap.put("uploadResInstancesMap", nodesInfoValue);
         Map<String, Resource> nodeNamespaceMap = new HashMap<>();
         Resource resource = createParseResourceObject(true);
         resource.setToscaResourceName("toscaResourceName");
         nodeNamespaceMap.put("nodeNamespaceMap", resource);
 
         uploadResInstancesMap.put("uploadResInstancesMap", nodesInfoValue);
         Map<String, Resource> nodeNamespaceMap = new HashMap<>();
         Resource resource = createParseResourceObject(true);
         resource.setToscaResourceName("toscaResourceName");
         nodeNamespaceMap.put("nodeNamespaceMap", resource);
 
-        Assertions.assertThrows(ComponentException.class, () -> sIB1
-            .createServiceInstances(yamlName, service, uploadResInstancesMap, nodeNamespaceMap));
+        Assertions.assertThrows(ComponentException.class,
+            () -> sIBL.createServiceInstances(yamlName, service, uploadResInstancesMap, nodeNamespaceMap));
     }
 
     @Test
     void testCreateAndAddResourceInstance() {
     }
 
     @Test
     void testCreateAndAddResourceInstance() {
-        UploadComponentInstanceInfo uploadComponentInstanceInfo = getuploadComponentInstanceInfo();
+        UploadComponentInstanceInfo uploadComponentInstanceInfo = getUploadComponentInstanceInfo();
         String yamlName = "group.yml";
         Resource resource = createParseResourceObject(false);
         Resource originResource = createParseResourceObject(true);
         String yamlName = "group.yml";
         Resource resource = createParseResourceObject(false);
         Resource originResource = createParseResourceObject(true);
@@ -1656,14 +1622,14 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         Map<String, Resource> existingnodeTypeMap = new HashMap<>();
         Map<ComponentInstance, Resource> resourcesInstancesMap = new HashMap<>();
 
         Map<String, Resource> existingnodeTypeMap = new HashMap<>();
         Map<ComponentInstance, Resource> resourcesInstancesMap = new HashMap<>();
 
-        Assertions.assertThrows(ComponentException.class, () -> sIB1
+        Assertions.assertThrows(ComponentException.class, () -> sIBL
             .createAndAddResourceInstance(uploadComponentInstanceInfo, yamlName, resource,
                 nodeNamespaceMap, existingnodeTypeMap, resourcesInstancesMap));
     }
 
     @Test
     void testCreateAndAddResourceInstances() {
             .createAndAddResourceInstance(uploadComponentInstanceInfo, yamlName, resource,
                 nodeNamespaceMap, existingnodeTypeMap, resourcesInstancesMap));
     }
 
     @Test
     void testCreateAndAddResourceInstances() {
-        UploadComponentInstanceInfo uploadComponentInstanceInfo = getuploadComponentInstanceInfo();
+        UploadComponentInstanceInfo uploadComponentInstanceInfo = getUploadComponentInstanceInfo();
         String yamlName = "group.yml";
         Service service = createServiceObject(true);
         service.setServiceType("services");
         String yamlName = "group.yml";
         Service service = createServiceObject(true);
         service.setServiceType("services");
@@ -1674,7 +1640,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         Map<String, Resource> existingnodeTypeMap = new HashMap<>();
         Map<ComponentInstance, Resource> resourcesInstancesMap = new HashMap<>();
 
         Map<String, Resource> existingnodeTypeMap = new HashMap<>();
         Map<ComponentInstance, Resource> resourcesInstancesMap = new HashMap<>();
 
-        Assertions.assertThrows(ComponentException.class, () -> sIB1
+        Assertions.assertThrows(ComponentException.class, () -> sIBL
             .createAndAddResourceInstance(uploadComponentInstanceInfo, yamlName, service,
                 nodeNamespaceMap, existingnodeTypeMap, resourcesInstancesMap));
     }
             .createAndAddResourceInstance(uploadComponentInstanceInfo, yamlName, service,
                 nodeNamespaceMap, existingnodeTypeMap, resourcesInstancesMap));
     }
@@ -1682,7 +1648,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
     @Test
     void testValidateResourceInstanceBeforeCreate() {
         String yamlName = "group.yml";
     @Test
     void testValidateResourceInstanceBeforeCreate() {
         String yamlName = "group.yml";
-        UploadComponentInstanceInfo uploadComponentInstanceInfo = getuploadComponentInstanceInfo();
+        UploadComponentInstanceInfo uploadComponentInstanceInfo = getUploadComponentInstanceInfo();
         Resource originResource = createParseResourceObject(true);
         ResourceMetadataDataDefinition componentMetadataDataDefinition = new ResourceMetadataDataDefinition();
         componentMetadataDataDefinition.setState(LifecycleStateEnum.CERTIFIED.name());
         Resource originResource = createParseResourceObject(true);
         ResourceMetadataDataDefinition componentMetadataDataDefinition = new ResourceMetadataDataDefinition();
         componentMetadataDataDefinition.setState(LifecycleStateEnum.CERTIFIED.name());
@@ -1694,10 +1660,9 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         originResource.setResourceType(ResourceTypeEnum.VF);
         Map<String, Resource> nodeNamespaceMap = new HashMap<>();
         nodeNamespaceMap.put("resources", originResource);
         originResource.setResourceType(ResourceTypeEnum.VF);
         Map<String, Resource> nodeNamespaceMap = new HashMap<>();
         nodeNamespaceMap.put("resources", originResource);
-        when(toscaOperationFacade.getLatestResourceByToscaResourceName(anyString()))
-            .thenReturn(Either.left(originResource));
+        when(toscaOperationFacade.getLatestResourceByToscaResourceName(anyString())).thenReturn(Either.left(originResource));
         Assertions.assertNotNull(
         Assertions.assertNotNull(
-            sIB1.validateResourceInstanceBeforeCreate(yamlName, uploadComponentInstanceInfo, nodeNamespaceMap));
+            sIBL.validateResourceInstanceBeforeCreate(yamlName, uploadComponentInstanceInfo, nodeNamespaceMap));
     }
 
     @Test
     }
 
     @Test
@@ -1712,20 +1677,19 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         Map<String, NodeTypeInfo> nodeTypesInfo = getNodeTypesInfo();
         CsarInfo csarInfo = getCsarInfo();
         String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test";
         Map<String, NodeTypeInfo> nodeTypesInfo = getNodeTypesInfo();
         CsarInfo csarInfo = getCsarInfo();
         String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test";
-        when(toscaOperationFacade.getLatestResourceByToscaResourceName(anyString()))
-            .thenReturn(Either.left(createOldResource()));
+        when(toscaOperationFacade.getLatestResourceByToscaResourceName(anyString())).thenReturn(Either.left(createOldResource()));
         Assertions.assertNotNull(service);
 
         Assertions.assertNotNull(service);
 
-        sIB1.handleServiceNodeTypes(yamlName, service, topologyTemplateYaml, needLock,
-            nodeTypesArtifactsToHandle, nodeTypesNewCreatedArtifacts, nodeTypesInfo,
-            csarInfo, nodeName);
+        sIBL.handleServiceNodeTypes(yamlName, service, topologyTemplateYaml, needLock, nodeTypesArtifactsToHandle,
+            nodeTypesNewCreatedArtifacts,
+            nodeTypesInfo, csarInfo, nodeName);
     }
 
     @Test
     void testValidateResourceNotExisted() {
         String type = "org.openecomp.resource.vf";
 
     }
 
     @Test
     void testValidateResourceNotExisted() {
         String type = "org.openecomp.resource.vf";
 
-        Assertions.assertThrows(ComponentException.class, () -> sIB1.validateResourceNotExisted(type));
+        Assertions.assertThrows(ComponentException.class, () -> sIBL.validateResourceNotExisted(type));
     }
 
     @Test
     }
 
     @Test
@@ -1737,7 +1701,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         CsarInfo csarInfo = getCsarInfo();
         String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test";
 
         CsarInfo csarInfo = getCsarInfo();
         String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test";
 
-        Assertions.assertThrows(ComponentException.class, () -> sIB1.handleNestedVF(service,
+        Assertions.assertThrows(ComponentException.class, () -> sIBL.handleNestedVF(service,
             nodeTypesArtifactsToHandle, createdArtifacts, nodesInfo, csarInfo, nodeName));
     }
 
             nodeTypesArtifactsToHandle, createdArtifacts, nodesInfo, csarInfo, nodeName));
     }
 
@@ -1750,7 +1714,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         CsarInfo csarInfo = getCsarInfo();
         String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test";
 
         CsarInfo csarInfo = getCsarInfo();
         String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test";
 
-        Assertions.assertThrows(ComponentException.class, () -> sIB1.handleNestedVfc(service,
+        Assertions.assertThrows(ComponentException.class, () -> sIBL.handleNestedVfc(service,
             nodeTypesArtifactsToHandle, createdArtifacts, nodesInfo, csarInfo, nodeName));
     }
 
             nodeTypesArtifactsToHandle, createdArtifacts, nodesInfo, csarInfo, nodeName));
     }
 
@@ -1769,7 +1733,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         when(serviceImportParseLogic.validateNestedDerivedFromDuringUpdate(any(Resource.class), any(Resource.class), anyBoolean()))
             .thenReturn(Either.left(true));
 
         when(serviceImportParseLogic.validateNestedDerivedFromDuringUpdate(any(Resource.class), any(Resource.class), anyBoolean()))
             .thenReturn(Either.left(true));
 
-        Assertions.assertThrows(ComponentException.class, () -> sIB1
+        Assertions.assertThrows(ComponentException.class, () -> sIBL
             .handleComplexVfc(nodeTypesArtifactsToHandle, createdArtifacts, nodesInfo,
                 csarInfo, nodeName, yamlName));
     }
             .handleComplexVfc(nodeTypesArtifactsToHandle, createdArtifacts, nodesInfo,
                 csarInfo, nodeName, yamlName));
     }
@@ -1787,7 +1751,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         when(toscaOperationFacade.getFullLatestComponentByToscaResourceName(anyString()))
             .thenReturn(Either.right(StorageOperationStatus.NOT_FOUND));
 
         when(toscaOperationFacade.getFullLatestComponentByToscaResourceName(anyString()))
             .thenReturn(Either.right(StorageOperationStatus.NOT_FOUND));
 
-        Assertions.assertThrows(ComponentException.class, () -> sIB1
+        Assertions.assertThrows(ComponentException.class, () -> sIBL
             .handleComplexVfc(nodeTypesArtifactsToHandle, createdArtifacts, nodesInfo,
                 csarInfo, nodeName, yamlName));
     }
             .handleComplexVfc(nodeTypesArtifactsToHandle, createdArtifacts, nodesInfo,
                 csarInfo, nodeName, yamlName));
     }
@@ -1806,7 +1770,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         Resource oldComplexVfc = createParseResourceObject(false);
         Resource newComplexVfc = createParseResourceObject(true);
 
         Resource oldComplexVfc = createParseResourceObject(false);
         Resource newComplexVfc = createParseResourceObject(true);
 
-        Assertions.assertThrows(ComponentException.class, () -> sIB1
+        Assertions.assertThrows(ComponentException.class, () -> sIBL
             .handleComplexVfc(nodeTypesArtifactsToHandle, createdArtifacts, nodesInfo,
                 csarInfo, nodeName, yamlName, oldComplexVfc, newComplexVfc));
     }
             .handleComplexVfc(nodeTypesArtifactsToHandle, createdArtifacts, nodesInfo,
                 csarInfo, nodeName, yamlName, oldComplexVfc, newComplexVfc));
     }
@@ -1836,7 +1800,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
             any(Resource.class), any(AuditingActionEnum.class), anyBoolean())).thenReturn(Either.left(true));
         when(toscaOperationFacade.overrideComponent(any(Resource.class), any(Resource.class)))
             .thenReturn(Either.left(newResource));
             any(Resource.class), any(AuditingActionEnum.class), anyBoolean())).thenReturn(Either.left(true));
         when(toscaOperationFacade.overrideComponent(any(Resource.class), any(Resource.class)))
             .thenReturn(Either.left(newResource));
-        Assertions.assertThrows(ComponentException.class, () -> sIB1
+        Assertions.assertThrows(ComponentException.class, () -> sIBL
             .updateResourceFromYaml(oldResource, newResource, actionEnum, createdArtifacts,
                 yamlFileName, yamlFileContent, csarInfo, nodeTypesInfo,
                 nodeTypesArtifactsToHandle, nodeName, isNested));
             .updateResourceFromYaml(oldResource, newResource, actionEnum, createdArtifacts,
                 yamlFileName, yamlFileContent, csarInfo, nodeTypesInfo,
                 nodeTypesArtifactsToHandle, nodeName, isNested));
@@ -1861,14 +1825,13 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
 
         when(csarBusinessLogic.getParsedToscaYamlInfo(anyString(), anyString(), anyMap(), any(CsarInfo.class),
             anyString(), any(Component.class))).thenReturn(getParsedToscaYamlInfo());
 
         when(csarBusinessLogic.getParsedToscaYamlInfo(anyString(), anyString(), anyMap(), any(CsarInfo.class),
             anyString(), any(Component.class))).thenReturn(getParsedToscaYamlInfo());
-        when(serviceBusinessLogic.fetchAndSetDerivedFromGenericType(any(Resource.class))).thenReturn(resource);
-        when(toscaOperationFacade.validateComponentNameExists(anyString(), any(ResourceTypeEnum.class)
-            , any(ComponentTypeEnum.class))).thenReturn(Either.left(false));
+        when(serviceBusinessLogic.fetchAndSetDerivedFromGenericType(any(Component.class))).thenReturn(resource);
+        when(toscaOperationFacade.validateComponentNameExists(anyString(), any(ResourceTypeEnum.class), any(ComponentTypeEnum.class)))
+            .thenReturn(Either.left(false));
         when(toscaOperationFacade.createToscaComponent(any(Resource.class))).thenReturn(Either.left(resource));
         when(toscaOperationFacade.createToscaComponent(any(Resource.class))).thenReturn(Either.left(resource));
-        Assertions.assertThrows(ComponentException.class, () -> sIB1.createResourceFromYaml(resource,
+        Assertions.assertThrows(ComponentException.class, () -> sIBL.createResourceFromYaml(resource,
             topologyTemplateYaml, yamlName, nodeTypesInfo, csarInfo,
             nodeTypesArtifactsToCreate, shouldLock, inTransaction, nodeName));
             topologyTemplateYaml, yamlName, nodeTypesInfo, csarInfo,
             nodeTypesArtifactsToCreate, shouldLock, inTransaction, nodeName));
-
     }
 
     @Test
     }
 
     @Test
@@ -1898,12 +1861,12 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         when(serviceBusinessLogic.lockComponentByName(anyString(), any(), anyString()))
             .thenReturn(Either.left(true));
 
         when(serviceBusinessLogic.lockComponentByName(anyString(), any(), anyString()))
             .thenReturn(Either.left(true));
 
-        when(toscaOperationFacade.validateComponentNameExists(anyString(), any(ResourceTypeEnum.class)
-            , any(ComponentTypeEnum.class))).thenReturn(Either.left(false));
+        when(toscaOperationFacade.validateComponentNameExists(anyString(), any(ResourceTypeEnum.class), any(ComponentTypeEnum.class)))
+            .thenReturn(Either.left(false));
 
         when(toscaOperationFacade.createToscaComponent(any(Resource.class))).thenReturn(Either.left(resource));
 
 
         when(toscaOperationFacade.createToscaComponent(any(Resource.class))).thenReturn(Either.left(resource));
 
-        Assertions.assertThrows(ComponentException.class, () -> sIB1
+        Assertions.assertThrows(ComponentException.class, () -> sIBL
             .createResourceAndRIsFromYaml(yamlName, resource, parsedToscaYamlInfo, actionEnum,
                 isNormative, createdArtifacts, topologyTemplateYaml, nodeTypesInfo, csarInfo,
                 nodeTypesArtifactsToCreate, shouldLock, inTransaction, nodeName));
             .createResourceAndRIsFromYaml(yamlName, resource, parsedToscaYamlInfo, actionEnum,
                 isNormative, createdArtifacts, topologyTemplateYaml, nodeTypesInfo, csarInfo,
                 nodeTypesArtifactsToCreate, shouldLock, inTransaction, nodeName));
@@ -1918,7 +1881,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         groupDefinition.setUniqueId("groupDefinitionUniqueId");
         groupDefinition.setName("groupDefinition");
         groupDefinitionList.add(groupDefinition);
         groupDefinition.setUniqueId("groupDefinitionUniqueId");
         groupDefinition.setName("groupDefinition");
         groupDefinitionList.add(groupDefinition);
-        Assertions.assertNotNull(sIB1.createGroupsOnResource(resource, groups));
+        Assertions.assertNotNull(sIBL.createGroupsOnResource(resource, groups));
     }
 
     @Test
     }
 
     @Test
@@ -1926,7 +1889,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         Resource resource = createParseResourceObject(false);
         Map<String, GroupDefinition> groups = null;
 
         Resource resource = createParseResourceObject(false);
         Map<String, GroupDefinition> groups = null;
 
-        Either<Resource, ResponseFormat> result = sIB1.createGroupsOnResource(resource, groups);
+        Either<Resource, ResponseFormat> result = sIBL.createGroupsOnResource(resource, groups);
         assertEquals(result.left().value(), resource);
     }
 
         assertEquals(result.left().value(), resource);
     }
 
@@ -1934,14 +1897,14 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
     void testUpdateGroupsMembersUsingResource2() {
         Resource resource = createParseResourceObject(true);
         Map<String, GroupDefinition> groups = getGroups();
     void testUpdateGroupsMembersUsingResource2() {
         Resource resource = createParseResourceObject(true);
         Map<String, GroupDefinition> groups = getGroups();
-        Assertions.assertNotNull(sIB1.updateGroupsMembersUsingResource(groups, resource));
+        Assertions.assertNotNull(sIBL.updateGroupsMembersUsingResource(groups, resource));
     }
 
     @Test
     void testUpdateGroupsMembersUsingResource_left2() {
         Resource resource = createParseResourceObject(true);
         Map<String, GroupDefinition> groups = getGroups();
     }
 
     @Test
     void testUpdateGroupsMembersUsingResource_left2() {
         Resource resource = createParseResourceObject(true);
         Map<String, GroupDefinition> groups = getGroups();
-        Assertions.assertNotNull(sIB1.updateGroupsMembersUsingResource(groups, resource));
+        Assertions.assertNotNull(sIBL.updateGroupsMembersUsingResource(groups, resource));
     }
 
     @Test
     }
 
     @Test
@@ -1955,7 +1918,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         members.put("zxjTestImportServiceAb", getGroupsYaml());
         Assertions.assertNotNull(component);
 
         members.put("zxjTestImportServiceAb", getGroupsYaml());
         Assertions.assertNotNull(component);
 
-        sIB1.updateGroupMembers(groups, updatedGroupDefinition, component, componentInstances, groupName, members);
+        sIBL.updateGroupMembers(groups, updatedGroupDefinition, component, componentInstances, groupName, members);
     }
 
     @Test
     }
 
     @Test
@@ -1968,7 +1931,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         Map<String, String> members = new HashMap<>();
         members.put("zxjTestImportServiceAb", getGroupsYaml());
 
         Map<String, String> members = new HashMap<>();
         members.put("zxjTestImportServiceAb", getGroupsYaml());
 
-        Assertions.assertThrows(ComponentException.class, () -> sIB1.updateGroupMembers(groups,
+        Assertions.assertThrows(ComponentException.class, () -> sIBL.updateGroupMembers(groups,
             updatedGroupDefinition, component, componentInstances, groupName, members));
     }
 
             updatedGroupDefinition, component, componentInstances, groupName, members));
     }
 
@@ -1977,11 +1940,10 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         Resource resource = createParseResourceObject(false);
         resource.setComponentType(ComponentTypeEnum.RESOURCE);
         boolean isNormative = true;
         Resource resource = createParseResourceObject(false);
         resource.setComponentType(ComponentTypeEnum.RESOURCE);
         boolean isNormative = true;
-        when(toscaOperationFacade.validateComponentNameExists(anyString(), any(), any()))
+        when(toscaOperationFacade.validateComponentNameExists(anyString(), any(ResourceTypeEnum.class), any(ComponentTypeEnum.class)))
             .thenReturn(Either.right(StorageOperationStatus.BAD_REQUEST));
 
             .thenReturn(Either.right(StorageOperationStatus.BAD_REQUEST));
 
-        Assertions.assertThrows(ComponentException.class, () -> sIB1.createResourceTransaction(resource,
-            user, isNormative));
+        Assertions.assertThrows(ComponentException.class, () -> sIBL.createResourceTransaction(resource, user, isNormative));
     }
 
     @Test
     }
 
     @Test
@@ -1989,22 +1951,18 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         Resource resource = createParseResourceObject(false);
         resource.setComponentType(ComponentTypeEnum.RESOURCE);
         boolean isNormative = true;
         Resource resource = createParseResourceObject(false);
         resource.setComponentType(ComponentTypeEnum.RESOURCE);
         boolean isNormative = true;
-        when(toscaOperationFacade.validateComponentNameExists(anyString(), any(), any()))
-            .thenReturn(Either.left(true));
+        when(toscaOperationFacade.validateComponentNameExists(anyString(), any(), any())).thenReturn(Either.left(true));
 
 
-        Assertions.assertThrows(ComponentException.class, () -> sIB1
-            .createResourceTransaction(resource, user, isNormative));
+        Assertions.assertThrows(ComponentException.class, () -> sIBL.createResourceTransaction(resource, user, isNormative));
     }
 
     @Test
     void setCreateResourceTransaction_Left() {
         Resource resource = createParseResourceObject(false);
         resource.setComponentType(ComponentTypeEnum.RESOURCE);
     }
 
     @Test
     void setCreateResourceTransaction_Left() {
         Resource resource = createParseResourceObject(false);
         resource.setComponentType(ComponentTypeEnum.RESOURCE);
-        when(toscaOperationFacade.validateComponentNameExists(anyString(), any(), any()))
-            .thenReturn(Either.left(false));
+        when(toscaOperationFacade.validateComponentNameExists(anyString(), any(), any())).thenReturn(Either.left(false));
         when(toscaOperationFacade.createToscaComponent(any(Resource.class))).thenReturn(Either.left(resource));
         when(toscaOperationFacade.createToscaComponent(any(Resource.class))).thenReturn(Either.left(resource));
-        Assertions.assertNotNull(
-            sIB1.createResourceTransaction(resource, user, false));
+        Assertions.assertNotNull(sIBL.createResourceTransaction(resource, user, false));
     }
 
     @Test
     }
 
     @Test
@@ -2017,9 +1975,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
             any(Resource.class), any(AuditingActionEnum.class), anyBoolean())).thenReturn(Either.left(true));
         when(toscaOperationFacade.overrideComponent(any(Resource.class), any(Resource.class)))
             .thenReturn(Either.left(newResource));
             any(Resource.class), any(AuditingActionEnum.class), anyBoolean())).thenReturn(Either.left(true));
         when(toscaOperationFacade.overrideComponent(any(Resource.class), any(Resource.class)))
             .thenReturn(Either.left(newResource));
-        Assertions.assertNotNull(
-            sIB1.updateExistingResourceByImport(newResource, oldResource, user,
-                true, false, true));
+        Assertions.assertNotNull(sIBL.updateExistingResourceByImport(newResource, oldResource, user, true, false, true));
     }
 
     @Test
     }
 
     @Test
@@ -2027,7 +1983,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         Resource newResource = createNewResource();
         Resource oldResource = createOldResource();
 
         Resource newResource = createNewResource();
         Resource oldResource = createOldResource();
 
-        sIB1.createNewResourceToOldResource(newResource, oldResource, user);
+        sIBL.createNewResourceToOldResource(newResource, oldResource, user);
         assertEquals(newResource.getSystemName(), oldResource.getSystemName());
     }
 
         assertEquals(newResource.getSystemName(), oldResource.getSystemName());
     }
 
@@ -2042,7 +1998,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         Map<String, NodeTypeInfo> nodeTypesInfo = new HashMap<>();
         CsarInfo csarInfo = getCsarInfo();
 
         Map<String, NodeTypeInfo> nodeTypesInfo = new HashMap<>();
         CsarInfo csarInfo = getCsarInfo();
 
-        Assertions.assertThrows(ComponentException.class, () -> sIB1
+        Assertions.assertThrows(ComponentException.class, () -> sIBL
             .createResourcesFromYamlNodeTypesList(yamlName, service, mappedToscaTemplate, needLock,
                 nodeTypesArtifactsToHandle, nodeTypesNewCreatedArtifacts, nodeTypesInfo, csarInfo));
     }
             .createResourcesFromYamlNodeTypesList(yamlName, service, mappedToscaTemplate, needLock,
                 nodeTypesArtifactsToHandle, nodeTypesNewCreatedArtifacts, nodeTypesInfo, csarInfo));
     }
@@ -2072,7 +2028,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         nodeTypes.put("org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test",
             nodeTypeInfo);
 
         nodeTypes.put("org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test",
             nodeTypeInfo);
 
-        Assertions.assertThrows(ComponentException.class, () -> sIB1.createNodeTypes(yamlName,
+        Assertions.assertThrows(ComponentException.class, () -> sIBL.createNodeTypes(yamlName,
             service, needLock, nodeTypesArtifactsToHandle, nodeTypesNewCreatedArtifacts,
             nodeTypesInfo, csarInfo, mapToConvert, nodeTypes));
     }
             service, needLock, nodeTypesArtifactsToHandle, nodeTypesNewCreatedArtifacts,
             nodeTypesInfo, csarInfo, mapToConvert, nodeTypes));
     }
@@ -2111,10 +2067,9 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
             anyBoolean())).thenReturn(getResourceCreated());
         Assertions.assertNotNull(service);
 
             anyBoolean())).thenReturn(getResourceCreated());
         Assertions.assertNotNull(service);
 
-        sIB1.createNodeTypes(yamlName,
+        sIBL.createNodeTypes(yamlName,
             service, needLock, nodeTypesArtifactsToHandle, nodeTypesNewCreatedArtifacts,
             nodeTypesInfo, csarInfo, mapToConvert, nodeTypes);
             service, needLock, nodeTypesArtifactsToHandle, nodeTypesNewCreatedArtifacts,
             nodeTypesInfo, csarInfo, mapToConvert, nodeTypes);
-
     }
 
     protected ImmutablePair<Resource, ActionStatus> getResourceCreated() {
     }
 
     protected ImmutablePair<Resource, ActionStatus> getResourceCreated() {
@@ -2206,7 +2161,7 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         return propertyList;
     }
 
         return propertyList;
     }
 
-    protected Map<String, NodeTypeInfo> getNodeTypesInfo() {
+    private Map<String, NodeTypeInfo> getNodeTypesInfo() {
         Map<String, NodeTypeInfo> nodeTypesInfo = new HashMap<>();
         NodeTypeInfo nodeTypeInfo = new NodeTypeInfo();
         Map<String, Object> mappedToscaTemplate = new HashMap<>();
         Map<String, NodeTypeInfo> nodeTypesInfo = new HashMap<>();
         NodeTypeInfo nodeTypeInfo = new NodeTypeInfo();
         Map<String, Object> mappedToscaTemplate = new HashMap<>();
@@ -2218,9 +2173,21 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         return nodeTypesInfo;
     }
 
         return nodeTypesInfo;
     }
 
-    protected Map<String, UploadComponentInstanceInfo> getUploadResInstancesMap() {
+    private Map<String, Object> getNodeTypes() {
+        Map<String, Object> nodeTypesInfo = new HashMap<>();
+        NodeTypeInfo nodeTypeInfo = new NodeTypeInfo();
+        Map<String, Object> mappedToscaTemplate = new HashMap<>();
+        nodeTypeInfo.setNested(true);
+        nodeTypeInfo.setTemplateFileName("templateFileName");
+        nodeTypeInfo.setMappedToscaTemplate(mappedToscaTemplate);
+        String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test";
+        nodeTypesInfo.put(nodeName, nodeTypeInfo);
+        return nodeTypesInfo;
+    }
+
+    private Map<String, UploadComponentInstanceInfo> getUploadResInstancesMap() {
         Map<String, UploadComponentInstanceInfo> uploadResInstancesMap = new HashMap<>();
         Map<String, UploadComponentInstanceInfo> uploadResInstancesMap = new HashMap<>();
-        UploadComponentInstanceInfo uploadComponentInstanceInfo = getuploadComponentInstanceInfo();
+        UploadComponentInstanceInfo uploadComponentInstanceInfo = getUploadComponentInstanceInfo();
         Map<String, String> capabilitiesNamesToUpdate = new HashMap<>();
         capabilitiesNamesToUpdate.put("mme_ipu_vdu.feature", "capabilitiesNamesToUpdate");
         Map<String, String> requirementsNamesToUpdate = new HashMap<>();
         Map<String, String> capabilitiesNamesToUpdate = new HashMap<>();
         capabilitiesNamesToUpdate.put("mme_ipu_vdu.feature", "capabilitiesNamesToUpdate");
         Map<String, String> requirementsNamesToUpdate = new HashMap<>();
@@ -2324,10 +2291,10 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         return componentInstances;
     }
 
         return componentInstances;
     }
 
-    protected CreateServiceFromYamlParameter getCsfyp() {
+    private CreateServiceFromYamlParameter getCsfyp() {
         CreateServiceFromYamlParameter csfyp = new CreateServiceFromYamlParameter();
         List<ArtifactDefinition> createdArtifacts = new ArrayList<>();
         CreateServiceFromYamlParameter csfyp = new CreateServiceFromYamlParameter();
         List<ArtifactDefinition> createdArtifacts = new ArrayList<>();
-        Map<String, NodeTypeInfo> nodeTypesInfo = new HashedMap();
+        Map<String, NodeTypeInfo> nodeTypesInfo = getNodeTypesInfo();
 
         csfyp.setNodeName("org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test");
         csfyp.setTopologyTemplateYaml(getMainTemplateContent("service_import_template.yml"));
 
         csfyp.setNodeName("org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test");
         csfyp.setTopologyTemplateYaml(getMainTemplateContent("service_import_template.yml"));
@@ -2341,12 +2308,11 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
         return csfyp;
     }
 
         return csfyp;
     }
 
-    protected ParsedToscaYamlInfo getParsedToscaYamlInfo() {
+    private ParsedToscaYamlInfo getParsedToscaYamlInfo() {
         ParsedToscaYamlInfo parsedToscaYamlInfo = new ParsedToscaYamlInfo();
         Map<String, InputDefinition> inputs = new HashMap<>();
         Map<String, UploadComponentInstanceInfo> instances = new HashMap<>();
         ParsedToscaYamlInfo parsedToscaYamlInfo = new ParsedToscaYamlInfo();
         Map<String, InputDefinition> inputs = new HashMap<>();
         Map<String, UploadComponentInstanceInfo> instances = new HashMap<>();
-        UploadComponentInstanceInfo uploadComponentInstanceInfo = new UploadComponentInstanceInfo();
-        uploadComponentInstanceInfo.setName("uploadComponentInstanceInfo");
+        UploadComponentInstanceInfo uploadComponentInstanceInfo = getUploadComponentInstanceInfo();
         instances.put("instances", uploadComponentInstanceInfo);
         Map<String, GroupDefinition> groups = new HashMap<>();
         Map<String, PolicyDefinition> policies = new HashMap<>();
         instances.put("instances", uploadComponentInstanceInfo);
         Map<String, GroupDefinition> groups = new HashMap<>();
         Map<String, PolicyDefinition> policies = new HashMap<>();
@@ -2369,13 +2335,12 @@ class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTest
 
     protected CsarInfo getCsarInfo() {
         String csarUuid = "0010";
 
     protected CsarInfo getCsarInfo() {
         String csarUuid = "0010";
-        User user = new User();
+        User user = new User("jh0003");
         Map<String, byte[]> csar = crateCsarFromPayload();
         String vfReousrceName = "resouceName";
         String mainTemplateName = "mainTemplateName";
         String mainTemplateContent = getMainTemplateContent("service_import_template.yml");
         Map<String, byte[]> csar = crateCsarFromPayload();
         String vfReousrceName = "resouceName";
         String mainTemplateName = "mainTemplateName";
         String mainTemplateContent = getMainTemplateContent("service_import_template.yml");
-        CsarInfo csarInfo = new CsarInfo(user, csarUuid, csar, vfReousrceName, mainTemplateName, mainTemplateContent, false);
-        return csarInfo;
+        return new CsarInfo(user, csarUuid, csar, vfReousrceName, mainTemplateName, mainTemplateContent, false);
     }
 
     protected CsarUtils.NonMetaArtifactInfo getNonMetaArtifactInfo() {
     }
 
     protected CsarUtils.NonMetaArtifactInfo getNonMetaArtifactInfo() {
index 5dfa287..8ff8163 100644 (file)
@@ -37,15 +37,18 @@ import java.util.List;
 import java.util.Map;
 import javax.servlet.ServletContext;
 import org.junit.jupiter.api.BeforeEach;
 import java.util.Map;
 import javax.servlet.ServletContext;
 import org.junit.jupiter.api.BeforeEach;
+import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.openecomp.sdc.ElementOperationMock;
 import org.mockito.Mockito;
 import org.openecomp.sdc.ElementOperationMock;
-import org.openecomp.sdc.be.auditing.impl.AuditingManager;
 import org.openecomp.sdc.be.components.csar.CsarArtifactsAndGroupsBusinessLogic;
 import org.openecomp.sdc.be.components.csar.CsarArtifactsAndGroupsBusinessLogic;
+import org.openecomp.sdc.be.components.csar.CsarBusinessLogic;
 import org.openecomp.sdc.be.components.csar.CsarInfo;
 import org.openecomp.sdc.be.components.distribution.engine.DistributionEngine;
 import org.openecomp.sdc.be.components.impl.exceptions.ComponentException;
 import org.openecomp.sdc.be.components.impl.generic.GenericTypeBusinessLogic;
 import org.openecomp.sdc.be.components.impl.utils.CreateServiceFromYamlParameter;
 import org.openecomp.sdc.be.components.csar.CsarInfo;
 import org.openecomp.sdc.be.components.distribution.engine.DistributionEngine;
 import org.openecomp.sdc.be.components.impl.exceptions.ComponentException;
 import org.openecomp.sdc.be.components.impl.generic.GenericTypeBusinessLogic;
 import org.openecomp.sdc.be.components.impl.utils.CreateServiceFromYamlParameter;
+import org.openecomp.sdc.be.components.lifecycle.LifecycleBusinessLogic;
+import org.openecomp.sdc.be.components.merge.resource.ResourceDataMergeBusinessLogic;
 import org.openecomp.sdc.be.components.path.ForwardingPathValidator;
 import org.openecomp.sdc.be.components.validation.NodeFilterValidator;
 import org.openecomp.sdc.be.components.validation.ServiceDistributionValidation;
 import org.openecomp.sdc.be.components.path.ForwardingPathValidator;
 import org.openecomp.sdc.be.components.validation.NodeFilterValidator;
 import org.openecomp.sdc.be.components.validation.ServiceDistributionValidation;
@@ -107,7 +110,6 @@ import org.openecomp.sdc.be.model.jsonjanusgraph.operations.ToscaOperationFacade
 import org.openecomp.sdc.be.model.operations.api.IElementOperation;
 import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
 import org.openecomp.sdc.be.model.operations.impl.GraphLockOperation;
 import org.openecomp.sdc.be.model.operations.api.IElementOperation;
 import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
 import org.openecomp.sdc.be.model.operations.impl.GraphLockOperation;
-import org.openecomp.sdc.be.resources.data.auditing.ResourceAdminEvent;
 import org.openecomp.sdc.be.user.Role;
 import org.openecomp.sdc.be.user.UserBusinessLogic;
 import org.openecomp.sdc.common.api.ArtifactGroupTypeEnum;
 import org.openecomp.sdc.be.user.Role;
 import org.openecomp.sdc.be.user.UserBusinessLogic;
 import org.openecomp.sdc.common.api.ArtifactGroupTypeEnum;
@@ -133,24 +135,33 @@ public class ServiceImportBussinessLogicBaseTestSetup extends BaseBusinessLogicM
     private static final String RESOURCE_SUBCATEGORY = "Router";
     protected final ServletContext servletContext = Mockito.mock(ServletContext.class);
     protected final ComponentValidator componentValidator = Mockito.mock(ComponentValidator.class);
     private static final String RESOURCE_SUBCATEGORY = "Router";
     protected final ServletContext servletContext = Mockito.mock(ServletContext.class);
     protected final ComponentValidator componentValidator = Mockito.mock(ComponentValidator.class);
-    protected ServiceImportBusinessLogic sIB1;
-    protected UserBusinessLogic mockUserAdmin = Mockito.mock(UserBusinessLogic.class);
+    final DistributionEngine distributionEngine = Mockito.mock(DistributionEngine.class);
+    final ServiceDistributionValidation serviceDistributionValidation = Mockito.mock(ServiceDistributionValidation.class);
+    final ComponentInstanceBusinessLogic componentInstanceBusinessLogic = Mockito.mock(ComponentInstanceBusinessLogic.class);
+    final ForwardingPathValidator forwardingPathValidator = Mockito.mock(ForwardingPathValidator.class);
+    final UiComponentDataConverter uiComponentDataConverter = Mockito.mock(UiComponentDataConverter.class);
+    final NodeFilterOperation serviceFilterOperation = Mockito.mock(NodeFilterOperation.class);
+    final NodeFilterValidator serviceFilterValidator = Mockito.mock(NodeFilterValidator.class);
+    //    final ServiceBusinessLogic serviceBusinessLogic = Mockito.mock(ServiceBusinessLogic.class);
+    final CsarBusinessLogic csarBusinessLogic = Mockito.mock(CsarBusinessLogic.class);
+    final LifecycleBusinessLogic lifecycleBusinessLogic = Mockito.mock(LifecycleBusinessLogic.class);
+    final CompositionBusinessLogic compositionBusinessLogic = Mockito.mock(CompositionBusinessLogic.class);
+    final ResourceDataMergeBusinessLogic resourceDataMergeBusinessLogic = Mockito.mock(ResourceDataMergeBusinessLogic.class);
+    final ComponentNodeFilterBusinessLogic componentNodeFilterBusinessLogic = Mockito.mock(ComponentNodeFilterBusinessLogic.class);
+    protected UserBusinessLogic userBusinessLogic = Mockito.mock(UserBusinessLogic.class);
     protected WebAppContextWrapper webAppContextWrapper = Mockito.mock(WebAppContextWrapper.class);
     protected WebApplicationContext webAppContext = Mockito.mock(WebApplicationContext.class);
     protected ResponseFormatManager responseManager = null;
     protected WebAppContextWrapper webAppContextWrapper = Mockito.mock(WebAppContextWrapper.class);
     protected WebApplicationContext webAppContext = Mockito.mock(WebApplicationContext.class);
     protected ResponseFormatManager responseManager = null;
-    protected ComponentsUtils componentsUtils = new ComponentsUtils(Mockito.mock(AuditingManager.class));
+    protected ComponentsUtils componentsUtils = Mockito.mock(ComponentsUtils.class);
     protected AuditCassandraDao auditingDao = Mockito.mock(AuditCassandraDao.class);
     protected AuditCassandraDao auditingDao = Mockito.mock(AuditCassandraDao.class);
-    protected ArtifactsBusinessLogic artifactBl = Mockito.mock(ArtifactsBusinessLogic.class);
+    protected ArtifactsBusinessLogic artifactsBusinessLogic = Mockito.mock(ArtifactsBusinessLogic.class);
     protected GraphLockOperation graphLockOperation = Mockito.mock(GraphLockOperation.class);
     protected JanusGraphDao mockJanusGraphDao = Mockito.mock(JanusGraphDao.class);
     protected ToscaOperationFacade toscaOperationFacade = Mockito.mock(ToscaOperationFacade.class);
     protected CsarArtifactsAndGroupsBusinessLogic csarArtifactsAndGroupsBusinessLogic = Mockito.mock(CsarArtifactsAndGroupsBusinessLogic.class);
     protected GenericTypeBusinessLogic genericTypeBusinessLogic = Mockito.mock(GenericTypeBusinessLogic.class);
     protected UserValidations userValidations = Mockito.mock(UserValidations.class);
     protected GraphLockOperation graphLockOperation = Mockito.mock(GraphLockOperation.class);
     protected JanusGraphDao mockJanusGraphDao = Mockito.mock(JanusGraphDao.class);
     protected ToscaOperationFacade toscaOperationFacade = Mockito.mock(ToscaOperationFacade.class);
     protected CsarArtifactsAndGroupsBusinessLogic csarArtifactsAndGroupsBusinessLogic = Mockito.mock(CsarArtifactsAndGroupsBusinessLogic.class);
     protected GenericTypeBusinessLogic genericTypeBusinessLogic = Mockito.mock(GenericTypeBusinessLogic.class);
     protected UserValidations userValidations = Mockito.mock(UserValidations.class);
-    protected ResourceAdminEvent auditArchive1 = Mockito.mock(ResourceAdminEvent.class);
     protected CatalogOperation catalogOperation = Mockito.mock(CatalogOperation.class);
     protected CatalogOperation catalogOperation = Mockito.mock(CatalogOperation.class);
-    protected ResourceAdminEvent auditArchive2 = Mockito.mock(ResourceAdminEvent.class);
-    protected ResourceAdminEvent auditRestore = Mockito.mock(ResourceAdminEvent.class);
     protected ServiceImportParseLogic serviceImportParseLogic = Mockito.mock(ServiceImportParseLogic.class);
     protected ServiceTypeValidator serviceTypeValidator = new ServiceTypeValidator(componentsUtils);
     protected ServiceRoleValidator serviceRoleValidator = new ServiceRoleValidator(componentsUtils);
     protected ServiceImportParseLogic serviceImportParseLogic = Mockito.mock(ServiceImportParseLogic.class);
     protected ServiceTypeValidator serviceTypeValidator = new ServiceTypeValidator(componentsUtils);
     protected ServiceRoleValidator serviceRoleValidator = new ServiceRoleValidator(componentsUtils);
@@ -164,16 +175,11 @@ public class ServiceImportBussinessLogicBaseTestSetup extends BaseBusinessLogicM
     protected ComponentNameValidator componentNameValidator = new ComponentNameValidator(componentsUtils, toscaOperationFacade);
     protected User user = null;
     protected Resource genericService = null;
     protected ComponentNameValidator componentNameValidator = new ComponentNameValidator(componentsUtils, toscaOperationFacade);
     protected User user = null;
     protected Resource genericService = null;
+    @Mock
+    protected ServiceBusinessLogic serviceBusinessLogic;
     IElementOperation mockElementDao = new ElementOperationMock();
     protected ServiceCategoryValidator serviceCategoryValidator = new ServiceCategoryValidator(componentsUtils, mockElementDao);
     protected ServiceValidator serviceValidator = createServiceValidator();
     IElementOperation mockElementDao = new ElementOperationMock();
     protected ServiceCategoryValidator serviceCategoryValidator = new ServiceCategoryValidator(componentsUtils, mockElementDao);
     protected ServiceValidator serviceValidator = createServiceValidator();
-    DistributionEngine distributionEngine = Mockito.mock(DistributionEngine.class);
-    ServiceDistributionValidation serviceDistributionValidation = Mockito.mock(ServiceDistributionValidation.class);
-    ComponentInstanceBusinessLogic componentInstanceBusinessLogic = Mockito.mock(ComponentInstanceBusinessLogic.class);
-    ForwardingPathValidator forwardingPathValidator = Mockito.mock(ForwardingPathValidator.class);
-    UiComponentDataConverter uiComponentDataConverter = Mockito.mock(UiComponentDataConverter.class);
-    NodeFilterOperation serviceFilterOperation = Mockito.mock(NodeFilterOperation.class);
-    NodeFilterValidator serviceFilterValidator = Mockito.mock(NodeFilterValidator.class);
 
     public ServiceImportBussinessLogicBaseTestSetup() {
 
 
     public ServiceImportBussinessLogicBaseTestSetup() {
 
@@ -205,7 +211,7 @@ public class ServiceImportBussinessLogicBaseTestSetup extends BaseBusinessLogicM
         user.setLastName("Hendrix");
         user.setRole(Role.ADMIN.name());
 
         user.setLastName("Hendrix");
         user.setRole(Role.ADMIN.name());
 
-        when(mockUserAdmin.getUser("jh0003", false)).thenReturn(user);
+        when(userBusinessLogic.getUser("jh0003", false)).thenReturn(user);
         when(userValidations.validateUserExists("jh0003")).thenReturn(user);
         when(userValidations.validateUserNotEmpty(eq(user), anyString())).thenReturn(user);
         // Servlet Context attributes
         when(userValidations.validateUserExists("jh0003")).thenReturn(user);
         when(userValidations.validateUserNotEmpty(eq(user), anyString())).thenReturn(user);
         // Servlet Context attributes
@@ -218,7 +224,7 @@ public class ServiceImportBussinessLogicBaseTestSetup extends BaseBusinessLogicM
         when(catalogOperation.updateCatalog(Mockito.any(), Mockito.any())).thenReturn(ActionStatus.OK);
         // artifact bussinesslogic
         ArtifactDefinition artifactDef = new ArtifactDefinition();
         when(catalogOperation.updateCatalog(Mockito.any(), Mockito.any())).thenReturn(ActionStatus.OK);
         // artifact bussinesslogic
         ArtifactDefinition artifactDef = new ArtifactDefinition();
-        when(artifactBl.createArtifactPlaceHolderInfo(Mockito.any(), Mockito.anyString(), Mockito.anyMap(), Mockito.any(User.class),
+        when(artifactsBusinessLogic.createArtifactPlaceHolderInfo(Mockito.any(), Mockito.anyString(), Mockito.anyMap(), Mockito.any(User.class),
             Mockito.any(ArtifactGroupTypeEnum.class))).thenReturn(artifactDef);
 
         // createService
             Mockito.any(ArtifactGroupTypeEnum.class))).thenReturn(artifactDef);
 
         // createService
@@ -250,14 +256,6 @@ public class ServiceImportBussinessLogicBaseTestSetup extends BaseBusinessLogicM
 
         when(serviceImportParseLogic.isArtifactDeletionRequired(anyString(), any(), anyBoolean())).thenReturn(true);
 
 
         when(serviceImportParseLogic.isArtifactDeletionRequired(anyString(), any(), anyBoolean())).thenReturn(true);
 
-        sIB1 = new ServiceImportBusinessLogic(elementDao, groupOperation, groupInstanceOperation,
-            groupTypeOperation, groupBusinessLogic, interfaceOperation, interfaceLifecycleTypeOperation,
-            artifactBl, distributionEngine, componentInstanceBusinessLogic,
-            serviceDistributionValidation, forwardingPathValidator, uiComponentDataConverter, serviceFilterOperation,
-            serviceFilterValidator, artifactToscaOperation, componentContactIdValidator,
-            componentNameValidator, componentTagsValidator, componentValidator,
-            componentIconValidator, componentProjectCodeValidator, componentDescriptionValidator);
-
         mockAbstract();
 
         responseManager = ResponseFormatManager.getInstance();
         mockAbstract();
 
         responseManager = ResponseFormatManager.getInstance();
@@ -267,6 +265,7 @@ public class ServiceImportBussinessLogicBaseTestSetup extends BaseBusinessLogicM
         Service service = new Service();
         service.setUniqueId("sid");
         service.setName("Service");
         Service service = new Service();
         service.setUniqueId("sid");
         service.setName("Service");
+        service.setSystemName("SystemName");
         CategoryDefinition category = new CategoryDefinition();
         category.setName(SERVICE_CATEGORY);
         category.setIcons(Collections.singletonList("defaulticon"));
         CategoryDefinition category = new CategoryDefinition();
         category.setName(SERVICE_CATEGORY);
         category.setIcons(Collections.singletonList("defaulticon"));
@@ -323,6 +322,7 @@ public class ServiceImportBussinessLogicBaseTestSetup extends BaseBusinessLogicM
 
     protected Resource createParseResourceObject(boolean afterCreate) {
         Resource resource = new Resource();
 
     protected Resource createParseResourceObject(boolean afterCreate) {
         Resource resource = new Resource();
+        resource.setUniqueId(COMPONNET_ID);
         resource.setName(RESOURCE_NAME);
         resource.setToscaResourceName(RESOURCE_TOSCA_NAME);
         resource.addCategory(RESOURCE_CATEGORY1, RESOURCE_SUBCATEGORY);
         resource.setName(RESOURCE_NAME);
         resource.setToscaResourceName(RESOURCE_TOSCA_NAME);
         resource.addCategory(RESOURCE_CATEGORY1, RESOURCE_SUBCATEGORY);
@@ -371,9 +371,9 @@ public class ServiceImportBussinessLogicBaseTestSetup extends BaseBusinessLogicM
         return groups;
     }
 
         return groups;
     }
 
-    protected UploadComponentInstanceInfo getuploadComponentInstanceInfo() {
+    protected UploadComponentInstanceInfo getUploadComponentInstanceInfo() {
         UploadComponentInstanceInfo uploadComponentInstanceInfo = new UploadComponentInstanceInfo();
         UploadComponentInstanceInfo uploadComponentInstanceInfo = new UploadComponentInstanceInfo();
-        uploadComponentInstanceInfo.setType("resources");
+        uploadComponentInstanceInfo.setType("My-Resource_Tosca_Name");
         Collection<String> directives = new Collection<String>() {
             @Override
             public int size() {
         Collection<String> directives = new Collection<String>() {
             @Override
             public int size() {
index f723a15..1b5b7d8 100644 (file)
@@ -18,6 +18,9 @@
 package org.openecomp.sdc.be.components.impl;
 
 
 package org.openecomp.sdc.be.components.impl;
 
 
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
@@ -27,17 +30,13 @@ import org.mockito.junit.jupiter.MockitoExtension;
 import org.openecomp.sdc.be.model.Service;
 import org.openecomp.sdc.be.model.UploadServiceInfo;
 
 import org.openecomp.sdc.be.model.Service;
 import org.openecomp.sdc.be.model.UploadServiceInfo;
 
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertNull;
-
 @ExtendWith(MockitoExtension.class)
 class ServiceImportManagerTest {
 
 @ExtendWith(MockitoExtension.class)
 class ServiceImportManagerTest {
 
+    private final ServiceBusinessLogic serviceBusinessLogic = Mockito.mock(ServiceBusinessLogic.class);
     @InjectMocks
     private ServiceImportManager serviceImportManager;
 
     @InjectMocks
     private ServiceImportManager serviceImportManager;
 
-    public static final ServiceBusinessLogic serviceBusinessLogic = Mockito.mock(ServiceBusinessLogic.class);
-
     @BeforeEach
     public void setup() {
         serviceImportManager = new ServiceImportManager();
     @BeforeEach
     public void setup() {
         serviceImportManager = new ServiceImportManager();
index d16dc23..0306ce0 100644 (file)
@@ -126,7 +126,9 @@ class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBaseTestSet
     private ServiceImportParseLogic testSubject;
 
     private ServiceImportParseLogic createTestSubject() {
     private ServiceImportParseLogic testSubject;
 
     private ServiceImportParseLogic createTestSubject() {
-        return new ServiceImportParseLogic();
+        return new ServiceImportParseLogic(serviceBusinessLogic, componentsUtils, toscaOperationFacade, lifecycleBusinessLogic, inputsBusinessLogic,
+            null, null, interfaceTypeOperation, capabilityTypeOperation, componentNodeFilterBusinessLogic,
+            groupBusinessLogic);
     }
 
     @BeforeEach
     }
 
     @BeforeEach
@@ -145,15 +147,7 @@ class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBaseTestSet
         responseManager = ResponseFormatManager.getInstance();
 
         testSubject = createTestSubject();
         responseManager = ResponseFormatManager.getInstance();
 
         testSubject = createTestSubject();
-        testSubject.setComponentsUtils(componentsUtils);
-        testSubject.setToscaOperationFacade(toscaOperationFacade);
         serviceBusinessLogic.setElementDao(elementDao);
         serviceBusinessLogic.setElementDao(elementDao);
-        testSubject.setServiceBusinessLogic(serviceBusinessLogic);
-        testSubject.setCapabilityTypeOperation(capabilityTypeOperation);
-        testSubject.setInterfaceTypeOperation(interfaceTypeOperation);
-        testSubject.setInputsBusinessLogic(inputsBusinessLogic);
-        testSubject.setLifecycleBusinessLogic(lifecycleBusinessLogic);
-        testSubject.setComponentNodeFilterBusinessLogic(componentNodeFilterBusinessLogic);
     }
 
     @Test
     }
 
     @Test
@@ -1865,7 +1859,7 @@ class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBaseTestSet
         Resource resource = createResourceObject(false);
 
         Map<String, UploadComponentInstanceInfo> uploadResInstancesMap = new HashMap<>();
         Resource resource = createResourceObject(false);
 
         Map<String, UploadComponentInstanceInfo> uploadResInstancesMap = new HashMap<>();
-        UploadComponentInstanceInfo nodesInfoValue = getuploadComponentInstanceInfo();
+        UploadComponentInstanceInfo nodesInfoValue = getUploadComponentInstanceInfo();
         nodesInfoValue.getRequirements().get("requirements").get(0).setName("zxjtestimportserviceab0.mme_ipu_vdu.dependency.test");
         uploadResInstancesMap.put("uploadComponentInstanceInfo", nodesInfoValue);
         List<ComponentInstance> componentInstancesList = creatComponentInstances();
         nodesInfoValue.getRequirements().get("requirements").get(0).setName("zxjtestimportserviceab0.mme_ipu_vdu.dependency.test");
         uploadResInstancesMap.put("uploadComponentInstanceInfo", nodesInfoValue);
         List<ComponentInstance> componentInstancesList = creatComponentInstances();
@@ -1897,7 +1891,7 @@ class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBaseTestSet
         String yamlName = "group.yml";
         Resource resource = createParseResourceObject(true);
         Map<String, UploadComponentInstanceInfo> uploadResInstancesMap = new HashMap<>();
         String yamlName = "group.yml";
         Resource resource = createParseResourceObject(true);
         Map<String, UploadComponentInstanceInfo> uploadResInstancesMap = new HashMap<>();
-        UploadComponentInstanceInfo nodesInfoValue = getuploadComponentInstanceInfo();
+        UploadComponentInstanceInfo nodesInfoValue = getUploadComponentInstanceInfo();
         uploadResInstancesMap.put("uploadComponentInstanceInfo", nodesInfoValue);
         List<ComponentInstance> componentInstancesList = new ArrayList<>();
         List<RequirementCapabilityRelDef> relations = new ArrayList<>();
         uploadResInstancesMap.put("uploadComponentInstanceInfo", nodesInfoValue);
         List<ComponentInstance> componentInstancesList = new ArrayList<>();
         List<RequirementCapabilityRelDef> relations = new ArrayList<>();
@@ -1912,7 +1906,7 @@ class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBaseTestSet
         String yamlName = "yamlName";
         Resource resource = createParseResourceObject(true);
         resource.setComponentInstances(creatComponentInstances());
         String yamlName = "yamlName";
         Resource resource = createParseResourceObject(true);
         resource.setComponentInstances(creatComponentInstances());
-        UploadComponentInstanceInfo nodesInfoValue = getuploadComponentInstanceInfo();
+        UploadComponentInstanceInfo nodesInfoValue = getUploadComponentInstanceInfo();
         List<RequirementCapabilityRelDef> relations = new ArrayList<>();
 
         Assertions.assertNotNull(
         List<RequirementCapabilityRelDef> relations = new ArrayList<>();
 
         Assertions.assertNotNull(
@@ -1925,7 +1919,7 @@ class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBaseTestSet
         Resource resource = createParseResourceObject(false);
         List<ComponentInstance> componentInstancesList = new ArrayList<>();
         resource.setComponentInstances(componentInstancesList);
         Resource resource = createParseResourceObject(false);
         List<ComponentInstance> componentInstancesList = new ArrayList<>();
         resource.setComponentInstances(componentInstancesList);
-        UploadComponentInstanceInfo nodesInfoValue = getuploadComponentInstanceInfo();
+        UploadComponentInstanceInfo nodesInfoValue = getUploadComponentInstanceInfo();
         List<RequirementCapabilityRelDef> relations = new ArrayList<>();
         Assertions.assertNotNull(
             testSubject.addRelationToRI(yamlName, resource, nodesInfoValue, relations));
         List<RequirementCapabilityRelDef> relations = new ArrayList<>();
         Assertions.assertNotNull(
             testSubject.addRelationToRI(yamlName, resource, nodesInfoValue, relations));
index e9c1d40..ab4e638 100644 (file)
@@ -33,7 +33,6 @@ import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
-import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.BeforeEach;
 import org.openecomp.sdc.be.components.BeConfDependentTest;
 import org.openecomp.sdc.be.components.impl.ComponentInstanceBusinessLogic;
 import org.junit.jupiter.api.BeforeEach;
 import org.openecomp.sdc.be.components.BeConfDependentTest;
 import org.openecomp.sdc.be.components.impl.ComponentInstanceBusinessLogic;
@@ -41,7 +40,6 @@ import org.openecomp.sdc.be.components.impl.ServiceBusinessLogic;
 import org.openecomp.sdc.be.components.path.beans.JanusGraphTestSetup;
 import org.openecomp.sdc.be.components.path.utils.GraphTestUtils;
 import org.openecomp.sdc.be.components.validation.service.ServiceValidator;
 import org.openecomp.sdc.be.components.path.beans.JanusGraphTestSetup;
 import org.openecomp.sdc.be.components.path.utils.GraphTestUtils;
 import org.openecomp.sdc.be.components.validation.service.ServiceValidator;
-import org.openecomp.sdc.be.config.ConfigurationManager;
 import org.openecomp.sdc.be.dao.api.ActionStatus;
 import org.openecomp.sdc.be.dao.janusgraph.JanusGraphClient;
 import org.openecomp.sdc.be.dao.janusgraph.JanusGraphDao;
 import org.openecomp.sdc.be.dao.api.ActionStatus;
 import org.openecomp.sdc.be.dao.janusgraph.JanusGraphClient;
 import org.openecomp.sdc.be.dao.janusgraph.JanusGraphDao;
@@ -65,8 +63,6 @@ import org.openecomp.sdc.be.model.operations.impl.UniqueIdBuilder;
 import org.openecomp.sdc.be.tosca.CapabilityRequirementConverter;
 import org.openecomp.sdc.be.user.Role;
 import org.openecomp.sdc.common.datastructure.UserContext;
 import org.openecomp.sdc.be.tosca.CapabilityRequirementConverter;
 import org.openecomp.sdc.be.user.Role;
 import org.openecomp.sdc.common.datastructure.UserContext;
-import org.openecomp.sdc.common.impl.ExternalConfiguration;
-import org.openecomp.sdc.common.impl.FSConfigurationSource;
 import org.openecomp.sdc.common.util.ThreadLocalsHolder;
 import org.openecomp.sdc.common.util.ValidationUtils;
 import org.openecomp.sdc.exception.ResponseFormat;
 import org.openecomp.sdc.common.util.ThreadLocalsHolder;
 import org.openecomp.sdc.common.util.ValidationUtils;
 import org.openecomp.sdc.exception.ResponseFormat;
@@ -123,7 +119,6 @@ public abstract class BaseForwardingPathTest extends BeConfDependentTest impleme
         userRole.add(user.getRole());
         UserContext userContext = new UserContext(user.getUserId(), userRole, user.getFirstName(), user.getLastName());
         ThreadLocalsHolder.setUserContext(userContext);
         userRole.add(user.getRole());
         UserContext userContext = new UserContext(user.getUserId(), userRole, user.getFirstName(), user.getLastName());
         ThreadLocalsHolder.setUserContext(userContext);
-        bl.setServiceValidator(serviceValidator);
     }
 
     private void initGraph() {
     }
 
     private void initGraph() {
@@ -144,7 +139,6 @@ public abstract class BaseForwardingPathTest extends BeConfDependentTest impleme
     private Service createTestService() {
         when(catalogOperation.updateCatalog(any(), any())).thenReturn(ActionStatus.OK);
         bl.setCatalogOperations(catalogOperation);
     private Service createTestService() {
         when(catalogOperation.updateCatalog(any(), any())).thenReturn(ActionStatus.OK);
         bl.setCatalogOperations(catalogOperation);
-        bl.setServiceValidator(serviceValidator);
         createCategory();
         createServiceCategory(CATEGORY_NAME);
         initGraph();
         createCategory();
         createServiceCategory(CATEGORY_NAME);
         initGraph();
index d7f70ae..25c1f76 100644 (file)
@@ -7,9 +7,9 @@
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -22,6 +22,7 @@ package org.openecomp.sdc.be.tosca;
 
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
 
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
+import static org.junit.jupiter.api.Assertions.assertNull;
 import static org.mockito.Mockito.when;
 
 import fj.data.Either;
 import static org.mockito.Mockito.when;
 
 import fj.data.Either;
@@ -30,10 +31,10 @@ import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.Mock;
 import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
 import org.openecomp.sdc.be.components.impl.exceptions.SdcResourceNotFoundException;
 import org.openecomp.sdc.be.datatypes.elements.PolicyTargetType;
 import org.openecomp.sdc.be.model.Component;
 import org.openecomp.sdc.be.components.impl.exceptions.SdcResourceNotFoundException;
 import org.openecomp.sdc.be.datatypes.elements.PolicyTargetType;
 import org.openecomp.sdc.be.model.Component;
@@ -44,140 +45,139 @@ import org.openecomp.sdc.be.model.cache.ApplicationDataTypeCache;
 import org.openecomp.sdc.be.tosca.model.ToscaMetadata;
 import org.openecomp.sdc.be.tosca.model.ToscaPolicyTemplate;
 
 import org.openecomp.sdc.be.tosca.model.ToscaMetadata;
 import org.openecomp.sdc.be.tosca.model.ToscaPolicyTemplate;
 
-@RunWith(MockitoJUnitRunner.class)
-public class PolicyExportParserImplTest {
-
-       private static final String[] POLICY_KEYS = {"policy_key_1","policy_key_2"};
-       private static final String[] VERSIONS = {"version_1","version_1"};
-       private static final String[] POLICY_NAMES = {"name_1","name_2"};
-       private static final String[] POLICY_UUIDS = {"policyUUID_1","policyUUID_2"};
-       private static final String[] INVARIANT_UUIDS = {"invariantUUID_1","invariantUUID_2"};
-       private static final String[] POLICY_TYPE_NAMES = {"policyTypeName_1","policyTypeName_2"};
-       private static final String[] POLICY_COMPONENT_INSTANCES = {"policyComponentInstanceId"};
-       private static final String POLICY_COMPONENT_INSTANCES_NAME = "policyComponentInstanceName";
-       private static final String[] POLICY_GROUPS = {"policyGroupId"};
-       private static final String POLICY_GROUP_NAME = "PolicyGroupName";
-       
-       private PolicyExportParser policiyExportParser;
-    
-       @Mock
-       private ApplicationDataTypeCache applicationDataTypeCache;
-       @Mock
-       private PropertyConvertor propertyConvertor;
-       
-       @Mock
-       private Component component;
-               
-       @Test
-       public void failToGetAllDataTypes() {
-               
-               when(applicationDataTypeCache.getAll(null)).thenReturn(Either.right(null));
-               assertThatExceptionOfType(SdcResourceNotFoundException.class).isThrownBy(() -> policiyExportParser = new PolicyExportParserImpl(
-                       applicationDataTypeCache,
-                propertyConvertor));
-       }
-       
-       @Test
-       public void noPoliciesInComponent() {
-               
-               when(applicationDataTypeCache.getAll(null)).thenReturn(Either.left(null));
-               when(component.getPolicies()).thenReturn(null);
-               policiyExportParser = new PolicyExportParserImpl(applicationDataTypeCache, propertyConvertor);
-               Map<String, ToscaPolicyTemplate> policies = policiyExportParser.getPolicies(component);
-               assertThat(policies).isEqualTo(null);
-       }
-       
-       @Test
-       public void onePoliciesInComponent() {
-               
-               List<Integer> constIndexes = Arrays.asList(new Integer[] {0});
-           testPoliciesInComponent(constIndexes);
-       }
-       
-       @Test
-       public void twoPoliciesInComponent() {
-               
-               List<Integer> constIndexes = Arrays.asList(new Integer[] {0,1});                
-               testPoliciesInComponent(constIndexes);          
-       }
-
-       private void testPoliciesInComponent(List<Integer> constIndexes) {
-               when(applicationDataTypeCache.getAll(null)).thenReturn(Either.left(null));
-               Map<String, PolicyDefinition> policiesToAdd = getPolicies(constIndexes);
-               
-               when(component.getPolicies()).thenReturn(policiesToAdd);
-               when(component.getComponentInstances()).thenReturn(getComponentInstances());
-               when(component.getGroups()).thenReturn(getGroups());
-               policiyExportParser = new PolicyExportParserImpl(applicationDataTypeCache, propertyConvertor);
-               
-               Map<String, ToscaPolicyTemplate> policies = policiyExportParser.getPolicies(component);
-               
-               for(Integer i : constIndexes) {
-                       
-                       
-                       ToscaPolicyTemplate toscaPolicyTemplate = policies.get(POLICY_NAMES[i]);
-                       ToscaMetadata metadata = (ToscaMetadata) toscaPolicyTemplate.getMetadata();
-                       
-                       assertThat(metadata.getInvariantUUID()).isEqualTo(INVARIANT_UUIDS[i]);
-                       assertThat(metadata.getUUID()).isEqualTo(POLICY_UUIDS[i]);
-                       assertThat(metadata.getName()).isEqualTo(POLICY_NAMES[i]);
-                       assertThat(metadata.getVersion()).isEqualTo(VERSIONS[i]);
-                       
-                       String type = toscaPolicyTemplate.getType();
-                       assertThat(type).isEqualTo(POLICY_TYPE_NAMES[i]);
-                       
-                       List<String> targets = toscaPolicyTemplate.getTargets();
-                       assertThat(targets.get(0)).isEqualTo(POLICY_COMPONENT_INSTANCES_NAME);
-                       assertThat(targets.get(1)).isEqualTo(POLICY_GROUP_NAME);                        
-               }               
-       }       
-
-       private List<GroupDefinition> getGroups() {
-               List<GroupDefinition> groups = new ArrayList<>();
-               GroupDefinition groupDefinition = new GroupDefinition();
-               groupDefinition.setUniqueId(POLICY_GROUPS[0]);
-               groupDefinition.setName(POLICY_GROUP_NAME);
-               groups.add(groupDefinition);
-               return groups;
-       }
-
-       private List<ComponentInstance> getComponentInstances() {
-               List<ComponentInstance> componentInstances = new ArrayList<>();
-               ComponentInstance componentInstance = new ComponentInstance();
-               componentInstance.setUniqueId(POLICY_COMPONENT_INSTANCES[0]);
-               componentInstance.setName(POLICY_COMPONENT_INSTANCES_NAME);
-               componentInstances.add(componentInstance);
-               return componentInstances;
-       }
-
-       private Map<String, PolicyDefinition> getPolicies(List<Integer> indexes) {
-               Map<String, PolicyDefinition> policies = new HashMap<>();
-               
-               for (int index : indexes) {
-                       
-                       PolicyDefinition policyDefinition = new PolicyDefinition();
-                       
-                       // Set type
-                       policyDefinition.setPolicyTypeName(POLICY_TYPE_NAMES[index]);
-                       
-                       // Set Metadata
-                       policyDefinition.setInvariantUUID(INVARIANT_UUIDS[index]);
-                       policyDefinition.setPolicyUUID(POLICY_UUIDS[index]);
-                       policyDefinition.setName(POLICY_NAMES[index]);
-                       policyDefinition.setVersion(VERSIONS[index]);
-                       
-                       // Set targets
-                       policyDefinition.setTargets(getTargers());                      
-                       
-                       policies.put(POLICY_KEYS[index],policyDefinition);
-               }               
-               return policies;
-       }
-
-       private Map<PolicyTargetType, List<String>> getTargers() {
-               Map<PolicyTargetType, List<String>> targets = new HashMap<>();
-               targets.put(PolicyTargetType.COMPONENT_INSTANCES, Arrays.asList(POLICY_COMPONENT_INSTANCES));
-               targets.put(PolicyTargetType.GROUPS, Arrays.asList(POLICY_GROUPS));
-               return targets;
-       }       
+@ExtendWith(MockitoExtension.class)
+class PolicyExportParserImplTest {
+
+    private static final String[] POLICY_KEYS = {"policy_key_1", "policy_key_2"};
+    private static final String[] VERSIONS = {"version_1", "version_1"};
+    private static final String[] POLICY_NAMES = {"name_1", "name_2"};
+    private static final String[] POLICY_UUIDS = {"policyUUID_1", "policyUUID_2"};
+    private static final String[] INVARIANT_UUIDS = {"invariantUUID_1", "invariantUUID_2"};
+    private static final String[] POLICY_TYPE_NAMES = {"policyTypeName_1", "policyTypeName_2"};
+    private static final String[] POLICY_COMPONENT_INSTANCES = {"policyComponentInstanceId"};
+    private static final String POLICY_COMPONENT_INSTANCES_NAME = "policyComponentInstanceName";
+    private static final String[] POLICY_GROUPS = {"policyGroupId"};
+    private static final String POLICY_GROUP_NAME = "PolicyGroupName";
+
+    private PolicyExportParser policiyExportParser;
+
+    @Mock
+    private ApplicationDataTypeCache applicationDataTypeCache;
+    @Mock
+    private PropertyConvertor propertyConvertor;
+
+    @Mock
+    private Component component;
+
+    @Test
+    void failToGetAllDataTypes() {
+
+        when(applicationDataTypeCache.getAll(null)).thenReturn(Either.right(null));
+        assertThatExceptionOfType(SdcResourceNotFoundException.class).isThrownBy(() -> policiyExportParser = new PolicyExportParserImpl(
+            applicationDataTypeCache,
+            propertyConvertor));
+    }
+
+    @Test
+    void noPoliciesInComponent() {
+
+        when(applicationDataTypeCache.getAll(null)).thenReturn(Either.left(null));
+        when(component.getPolicies()).thenReturn(null);
+        policiyExportParser = new PolicyExportParserImpl(applicationDataTypeCache, propertyConvertor);
+        Map<String, ToscaPolicyTemplate> policies = policiyExportParser.getPolicies(component);
+        assertNull(policies);
+    }
+
+    @Test
+    void onePoliciesInComponent() {
+
+        List<Integer> constIndexes = Arrays.asList(new Integer[]{0});
+        testPoliciesInComponent(constIndexes);
+    }
+
+    @Test
+    void twoPoliciesInComponent() {
+
+        List<Integer> constIndexes = Arrays.asList(new Integer[]{0, 1});
+        testPoliciesInComponent(constIndexes);
+    }
+
+    private void testPoliciesInComponent(List<Integer> constIndexes) {
+        when(applicationDataTypeCache.getAll(null)).thenReturn(Either.left(null));
+        Map<String, PolicyDefinition> policiesToAdd = getPolicies(constIndexes);
+
+        when(component.getPolicies()).thenReturn(policiesToAdd);
+        when(component.getComponentInstances()).thenReturn(getComponentInstances());
+        when(component.getGroups()).thenReturn(getGroups());
+        policiyExportParser = new PolicyExportParserImpl(applicationDataTypeCache, propertyConvertor);
+
+        Map<String, ToscaPolicyTemplate> policies = policiyExportParser.getPolicies(component);
+
+        for (Integer i : constIndexes) {
+
+            ToscaPolicyTemplate toscaPolicyTemplate = policies.get(POLICY_NAMES[i]);
+            ToscaMetadata metadata = (ToscaMetadata) toscaPolicyTemplate.getMetadata();
+
+            assertThat(metadata.getInvariantUUID()).isEqualTo(INVARIANT_UUIDS[i]);
+            assertThat(metadata.getUUID()).isEqualTo(POLICY_UUIDS[i]);
+            assertThat(metadata.getName()).isEqualTo(POLICY_NAMES[i]);
+            assertThat(metadata.getVersion()).isEqualTo(VERSIONS[i]);
+
+            String type = toscaPolicyTemplate.getType();
+            assertThat(type).isEqualTo(POLICY_TYPE_NAMES[i]);
+
+            List<String> targets = toscaPolicyTemplate.getTargets();
+            assertThat(targets.get(0)).isEqualTo(POLICY_COMPONENT_INSTANCES_NAME);
+            assertThat(targets.get(1)).isEqualTo(POLICY_GROUP_NAME);
+        }
+    }
+
+    private List<GroupDefinition> getGroups() {
+        List<GroupDefinition> groups = new ArrayList<>();
+        GroupDefinition groupDefinition = new GroupDefinition();
+        groupDefinition.setUniqueId(POLICY_GROUPS[0]);
+        groupDefinition.setName(POLICY_GROUP_NAME);
+        groups.add(groupDefinition);
+        return groups;
+    }
+
+    private List<ComponentInstance> getComponentInstances() {
+        List<ComponentInstance> componentInstances = new ArrayList<>();
+        ComponentInstance componentInstance = new ComponentInstance();
+        componentInstance.setUniqueId(POLICY_COMPONENT_INSTANCES[0]);
+        componentInstance.setName(POLICY_COMPONENT_INSTANCES_NAME);
+        componentInstances.add(componentInstance);
+        return componentInstances;
+    }
+
+    private Map<String, PolicyDefinition> getPolicies(List<Integer> indexes) {
+        Map<String, PolicyDefinition> policies = new HashMap<>();
+
+        for (int index : indexes) {
+
+            PolicyDefinition policyDefinition = new PolicyDefinition();
+
+            // Set type
+            policyDefinition.setPolicyTypeName(POLICY_TYPE_NAMES[index]);
+
+            // Set Metadata
+            policyDefinition.setInvariantUUID(INVARIANT_UUIDS[index]);
+            policyDefinition.setPolicyUUID(POLICY_UUIDS[index]);
+            policyDefinition.setName(POLICY_NAMES[index]);
+            policyDefinition.setVersion(VERSIONS[index]);
+
+            // Set targets
+            policyDefinition.setTargets(getTargets());
+
+            policies.put(POLICY_KEYS[index], policyDefinition);
+        }
+        return policies;
+    }
+
+    private Map<PolicyTargetType, List<String>> getTargets() {
+        Map<PolicyTargetType, List<String>> targets = new HashMap<>();
+        targets.put(PolicyTargetType.COMPONENT_INSTANCES, Arrays.asList(POLICY_COMPONENT_INSTANCES));
+        targets.put(PolicyTargetType.GROUPS, Arrays.asList(POLICY_GROUPS));
+        return targets;
+    }
 }
 }