From cc1258877c40690c43349351b4e6bdd5aa278553 Mon Sep 17 00:00:00 2001 From: suzhenyu Date: Thu, 7 Jan 2021 18:45:49 +0800 Subject: Add test code for Test Topology Auto Design Issue-ID: SDC-3297 Change-Id: I63013b88ceeed52938fa206de25c3ba5e58d7daa Signed-off-by: suzhenyu --- .../impl/ServiceImportBusinessLogic.java | 277 +-- .../components/impl/ServiceImportParseLogic.java | 184 +- .../impl/ServiceImportBusinessLogicTest.java | 1798 ++++++++++---------- .../ServiceImportBussinessLogicBaseTestSetup.java | 578 +------ .../components/impl/ServiceImportManagerTest.java | 44 +- .../impl/ServiceImportParseLogicTest.java | 1156 ++++++------- catalog-be/src/test/resources/types/artifacts.yml | 36 + .../src/test/resources/types/fileContent.yml | 131 ++ catalog-be/src/test/resources/types/groups.yml | 40 + .../test/resources/types/mainTemplateContent.yml | 332 ++++ 10 files changed, 2231 insertions(+), 2345 deletions(-) create mode 100644 catalog-be/src/test/resources/types/artifacts.yml create mode 100644 catalog-be/src/test/resources/types/fileContent.yml create mode 100644 catalog-be/src/test/resources/types/groups.yml create mode 100644 catalog-be/src/test/resources/types/mainTemplateContent.yml (limited to 'catalog-be') diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ServiceImportBusinessLogic.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ServiceImportBusinessLogic.java index 507abb5ed6..0ffceda8e8 100644 --- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ServiceImportBusinessLogic.java +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ServiceImportBusinessLogic.java @@ -15,26 +15,7 @@ */ package org.openecomp.sdc.be.components.impl; -import static java.util.stream.Collectors.joining; -import static java.util.stream.Collectors.toList; -import static java.util.stream.Collectors.toMap; -import static org.apache.commons.collections.CollectionUtils.isNotEmpty; -import static org.openecomp.sdc.be.components.impl.ImportUtils.findFirstToscaStringElement; -import static org.openecomp.sdc.be.components.impl.ImportUtils.getPropertyJsonStringValue; -import static org.openecomp.sdc.be.tosca.CsarUtils.VF_NODE_TYPE_ARTIFACTS_PATH_PATTERN; - import fj.data.Either; -import java.util.ArrayList; -import java.util.Collection; -import java.util.EnumMap; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.Set; -import java.util.regex.Pattern; import lombok.Getter; import lombok.Setter; import org.apache.commons.collections.CollectionUtils; @@ -136,6 +117,26 @@ import org.openecomp.sdc.exception.ResponseFormat; import org.springframework.beans.factory.annotation.Autowired; import org.yaml.snakeyaml.Yaml; +import java.util.ArrayList; +import java.util.Collection; +import java.util.EnumMap; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Set; +import java.util.regex.Pattern; + +import static java.util.stream.Collectors.joining; +import static java.util.stream.Collectors.toList; +import static java.util.stream.Collectors.toMap; +import static org.apache.commons.collections.CollectionUtils.isNotEmpty; +import static org.openecomp.sdc.be.components.impl.ImportUtils.findFirstToscaStringElement; +import static org.openecomp.sdc.be.components.impl.ImportUtils.getPropertyJsonStringValue; +import static org.openecomp.sdc.be.tosca.CsarUtils.VF_NODE_TYPE_ARTIFACTS_PATH_PATTERN; + @Getter @Setter @org.springframework.stereotype.Component("serviceImportBusinessLogic") @@ -1042,64 +1043,64 @@ public class ServiceImportBusinessLogic { } protected Resource createResourceInstancesRelations(User user, String yamlName, Resource resource, - Map uploadResInstancesMap) { - log.debug("#createResourceInstancesRelations - Going to create relations "); - List componentInstancesList = resource.getComponentInstances(); - if (((MapUtils.isEmpty(uploadResInstancesMap) || CollectionUtils.isEmpty(componentInstancesList)) && - resource.getResourceType() != ResourceTypeEnum.PNF)) { // PNF can have no resource instances - log.debug("#createResourceInstancesRelations - No instances found in the resource {} is empty, yaml template file name {}, ", - resource.getUniqueId(), yamlName); - BeEcompErrorManager.getInstance() - .logInternalDataError("createResourceInstancesRelations", "No instances found in a resource or nn yaml template. ", - BeEcompErrorManager.ErrorSeverity.ERROR); - throw new ComponentException(componentsUtils.getResponseFormat(ActionStatus.NOT_TOPOLOGY_TOSCA_TEMPLATE, yamlName)); - } - Map> instProperties = new HashMap<>(); - Map>> instCapabilities = new HashMap<>(); - Map>> instRequirements = new HashMap<>(); - Map> instDeploymentArtifacts = new HashMap<>(); - Map> instArtifacts = new HashMap<>(); - Map> instAttributes = new HashMap<>(); - Map originCompMap = new HashMap<>(); - List relations = new ArrayList<>(); - Map> instInputs = new HashMap<>(); - - log.debug("enter ServiceImportBusinessLogic createResourceInstancesRelations#createResourceInstancesRelations - Before get all datatypes. "); - Either, JanusGraphOperationStatus> allDataTypes = serviceBusinessLogic.dataTypeCache.getAll(); - if (allDataTypes.isRight()) { - JanusGraphOperationStatus status = allDataTypes.right().value(); - BeEcompErrorManager.getInstance().logInternalFlowError("UpdatePropertyValueOnComponentInstance", - "Failed to update property value on instance. Status is " + status, BeEcompErrorManager.ErrorSeverity.ERROR); - throw new ComponentException(componentsUtils.getResponseFormat(componentsUtils.convertFromStorageResponse( - DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status)), yamlName)); - } - Resource finalResource = resource; - uploadResInstancesMap - .values() - .forEach(i -> processComponentInstance(yamlName, finalResource, componentInstancesList, allDataTypes, - instProperties, instCapabilities, instRequirements, instDeploymentArtifacts, - instArtifacts, instAttributes, originCompMap, instInputs, i)); - serviceImportParseLogic.associateComponentInstancePropertiesToComponent(yamlName, resource, instProperties); - serviceImportParseLogic.associateComponentInstanceInputsToComponent(yamlName, resource, instInputs); - serviceImportParseLogic - .associateDeploymentArtifactsToInstances(user, yamlName, resource, instDeploymentArtifacts); - serviceImportParseLogic.associateArtifactsToInstances(yamlName, resource, instArtifacts); - serviceImportParseLogic.associateOrAddCalculatedCapReq(yamlName, resource, instCapabilities, instRequirements); - serviceImportParseLogic.associateInstAttributeToComponentToInstances(yamlName, resource, instAttributes); - resource = serviceImportParseLogic.getResourceAfterCreateRelations(resource); - - serviceImportParseLogic - .addRelationsToRI(yamlName, resource, uploadResInstancesMap, componentInstancesList, relations); - serviceImportParseLogic.associateResourceInstances(yamlName, resource, relations); - handleSubstitutionMappings(resource, uploadResInstancesMap); - log.debug("************* in create relations, getResource start"); - Either eitherGetResource = toscaOperationFacade.getToscaElement(resource.getUniqueId()); - log.debug("************* in create relations, getResource end"); - if (eitherGetResource.isRight()) { - throw new ComponentException(componentsUtils.getResponseFormatByResource( - componentsUtils.convertFromStorageResponse(eitherGetResource.right().value()), resource)); - } - return eitherGetResource.left().value(); + Map uploadResInstancesMap) { + log.debug("#createResourceInstancesRelations - Going to create relations "); + + List componentInstancesList = resource.getComponentInstances(); + if (((MapUtils.isEmpty(uploadResInstancesMap) || CollectionUtils.isEmpty(componentInstancesList)) && + resource.getResourceType() != ResourceTypeEnum.PNF)) { // PNF can have no resource instances + log.debug("#createResourceInstancesRelations - No instances found in the resource {} is empty, yaml template file name {}, ", resource.getUniqueId(), yamlName); + BeEcompErrorManager.getInstance().logInternalDataError("createResourceInstancesRelations", "No instances found in a resource or nn yaml template. ", BeEcompErrorManager.ErrorSeverity.ERROR); + throw new ComponentException(componentsUtils.getResponseFormat(ActionStatus.NOT_TOPOLOGY_TOSCA_TEMPLATE, yamlName)); + } + Map> instProperties = new HashMap<>(); + Map>> instCapabilities = new HashMap<>(); + Map>> instRequirements = new HashMap<>(); + Map> instDeploymentArtifacts = new HashMap<>(); + Map> instArtifacts = new HashMap<>(); + Map> instAttributes = new HashMap<>(); + Map originCompMap = new HashMap<>(); + List relations = new ArrayList<>(); + Map> instInputs = new HashMap<>(); + + log.debug("enter ServiceImportBusinessLogic createResourceInstancesRelations#createResourceInstancesRelations - Before get all datatypes. "); + if(serviceBusinessLogic.dataTypeCache!=null){ + Either, JanusGraphOperationStatus> allDataTypes = serviceBusinessLogic.dataTypeCache.getAll(); + if (allDataTypes.isRight()) { + JanusGraphOperationStatus status = allDataTypes.right().value(); + BeEcompErrorManager.getInstance().logInternalFlowError("UpdatePropertyValueOnComponentInstance", + "Failed to update property value on instance. Status is " + status, BeEcompErrorManager.ErrorSeverity.ERROR); + throw new ComponentException(componentsUtils.getResponseFormat(componentsUtils.convertFromStorageResponse( + DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status)), yamlName)); + } + Resource finalResource = resource; + uploadResInstancesMap + .values() + .forEach(i -> processComponentInstance(yamlName, finalResource, componentInstancesList, allDataTypes, + instProperties, instCapabilities, instRequirements, instDeploymentArtifacts, + instArtifacts, instAttributes, originCompMap, instInputs, i)); + } + serviceImportParseLogic.associateComponentInstancePropertiesToComponent(yamlName, resource, instProperties); + serviceImportParseLogic.associateComponentInstanceInputsToComponent(yamlName, resource, instInputs); + serviceImportParseLogic + .associateDeploymentArtifactsToInstances(user, yamlName, resource, instDeploymentArtifacts); + serviceImportParseLogic.associateArtifactsToInstances(yamlName, resource, instArtifacts); + serviceImportParseLogic.associateOrAddCalculatedCapReq(yamlName, resource, instCapabilities, instRequirements); + serviceImportParseLogic.associateInstAttributeToComponentToInstances(yamlName, resource, instAttributes); + resource = serviceImportParseLogic.getResourceAfterCreateRelations(resource); + + serviceImportParseLogic + .addRelationsToRI(yamlName, resource, uploadResInstancesMap, componentInstancesList, relations); + serviceImportParseLogic.associateResourceInstances(yamlName, resource, relations); + handleSubstitutionMappings(resource, uploadResInstancesMap); + log.debug("************* in create relations, getResource start"); + Either eitherGetResource = toscaOperationFacade.getToscaElement(resource.getUniqueId()); + log.debug("************* in create relations, getResource end"); + if (eitherGetResource.isRight()) { + throw new ComponentException(componentsUtils.getResponseFormatByResource( + componentsUtils.convertFromStorageResponse(eitherGetResource.right().value()), resource)); + } + return eitherGetResource.left().value(); } protected void processProperty(Resource resource, ComponentInstance currentCompInstance, Map allDataTypes, @@ -1446,68 +1447,72 @@ public class ServiceImportBusinessLogic { protected Service createServiceInstancesRelations(User user, String yamlName, Service service, Map uploadResInstancesMap) { - log.debug("#createResourceInstancesRelations - Going to create relations "); - List componentInstancesList = service.getComponentInstances(); - if (((MapUtils.isEmpty(uploadResInstancesMap) || CollectionUtils.isEmpty(componentInstancesList)))) { // PNF can have no resource instances - log.debug("#createResourceInstancesRelations - No instances found in the resource {} is empty, yaml template file name {}, ", + + log.debug("#createResourceInstancesRelations - Going to create relations "); + List componentInstancesList = service.getComponentInstances(); + if (((MapUtils.isEmpty(uploadResInstancesMap) || CollectionUtils.isEmpty(componentInstancesList)))) { // PNF can have no resource instances + log.debug("#createResourceInstancesRelations - No instances found in the resource {} is empty, yaml template file name {}, ", service.getUniqueId(), yamlName); - BeEcompErrorManager.getInstance() + BeEcompErrorManager.getInstance() .logInternalDataError("createResourceInstancesRelations", "No instances found in a component or nn yaml template. ", BeEcompErrorManager.ErrorSeverity.ERROR); - throw new ComponentException(componentsUtils.getResponseFormat(ActionStatus.NOT_TOPOLOGY_TOSCA_TEMPLATE, yamlName)); - } - Map> instProperties = new HashMap<>(); - Map>> instCapabilities = new HashMap<>(); - Map>> instRequirements = new HashMap<>(); - Map> instDeploymentArtifacts = new HashMap<>(); - Map> instArtifacts = new HashMap<>(); - Map> instAttributes = new HashMap<>(); - Map originCompMap = new HashMap<>(); - List relations = new ArrayList<>(); - Map> instInputs = new HashMap<>(); - - log.debug("enter ServiceImportBusinessLogic createServiceInstancesRelations#createResourceInstancesRelations - Before get all datatypes. "); - Either, JanusGraphOperationStatus> allDataTypes = serviceBusinessLogic.dataTypeCache.getAll(); - if (allDataTypes.isRight()) { - JanusGraphOperationStatus status = allDataTypes.right().value(); - BeEcompErrorManager.getInstance().logInternalFlowError("UpdatePropertyValueOnComponentInstance", - "Failed to update property value on instance. Status is " + status, BeEcompErrorManager.ErrorSeverity.ERROR); - throw new ComponentException(componentsUtils.getResponseFormat(componentsUtils.convertFromStorageResponse( - DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status)), yamlName)); - } - Service finalResource = service; - uploadResInstancesMap - .values() - .forEach(i -> processComponentInstance(yamlName, finalResource, componentInstancesList, allDataTypes, - instProperties, instCapabilities, instRequirements, instDeploymentArtifacts, - instArtifacts, instAttributes, originCompMap, instInputs, i)); - serviceImportParseLogic.associateComponentInstancePropertiesToComponent(yamlName, service, instProperties); - serviceImportParseLogic.associateComponentInstanceInputsToComponent(yamlName, service, instInputs); - serviceImportParseLogic.associateDeploymentArtifactsToInstances(user, yamlName, service, instDeploymentArtifacts); - serviceImportParseLogic.associateArtifactsToInstances(yamlName, service, instArtifacts); - serviceImportParseLogic.associateOrAddCalculatedCapReq(yamlName, service, instCapabilities, instRequirements); - log.debug("enter createServiceInstancesRelations test,instRequirements:{},instCapabilities:{}", - instRequirements, instCapabilities); - serviceImportParseLogic.associateInstAttributeToComponentToInstances(yamlName, service, instAttributes); - ToscaElement serviceTemplate = ModelConverter.convertToToscaElement(service); - Map capabilities = serviceTemplate.getCapabilities(); - Map requirements = serviceTemplate.getRequirements(); - - serviceImportParseLogic.associateCapabilitiesToService(yamlName, service, capabilities); - serviceImportParseLogic.associateRequirementsToService(yamlName, service, requirements); - 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 eitherGetResource = toscaOperationFacade.getToscaElement(service.getUniqueId()); - log.debug("************* in create relations, getResource end"); - if (eitherGetResource.isRight()) { - throw new ComponentException(componentsUtils.getResponseFormatByComponent( - componentsUtils.convertFromStorageResponse(eitherGetResource.right().value()), service, service.getComponentType())); - } - return eitherGetResource.left().value(); + throw new ComponentException(componentsUtils.getResponseFormat(ActionStatus.NOT_TOPOLOGY_TOSCA_TEMPLATE, yamlName)); + } + Map> instProperties = new HashMap<>(); + Map>> instCapabilities = new HashMap<>(); + Map>> instRequirements = new HashMap<>(); + Map> instDeploymentArtifacts = new HashMap<>(); + Map> instArtifacts = new HashMap<>(); + Map> instAttributes = new HashMap<>(); + Map originCompMap = new HashMap<>(); + List relations = new ArrayList<>(); + Map> instInputs = new HashMap<>(); + + log.debug("enter ServiceImportBusinessLogic createServiceInstancesRelations#createResourceInstancesRelations - Before get all datatypes. "); + if(serviceBusinessLogic.dataTypeCache!=null){ + Either, JanusGraphOperationStatus> allDataTypes = serviceBusinessLogic.dataTypeCache.getAll(); + if (allDataTypes.isRight()) { + JanusGraphOperationStatus status = allDataTypes.right().value(); + BeEcompErrorManager.getInstance().logInternalFlowError("UpdatePropertyValueOnComponentInstance", + "Failed to update property value on instance. Status is " + status, BeEcompErrorManager.ErrorSeverity.ERROR); + throw new ComponentException(componentsUtils.getResponseFormat(componentsUtils.convertFromStorageResponse( + DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status)), yamlName)); + } + Service finalResource = service; + uploadResInstancesMap + .values() + .forEach(i -> processComponentInstance(yamlName, finalResource, componentInstancesList, allDataTypes, + instProperties, instCapabilities, instRequirements, instDeploymentArtifacts, + instArtifacts, instAttributes, originCompMap, instInputs, i)); + + } + serviceImportParseLogic.associateComponentInstancePropertiesToComponent(yamlName, service, instProperties); + serviceImportParseLogic.associateComponentInstanceInputsToComponent(yamlName, service, instInputs); + serviceImportParseLogic.associateDeploymentArtifactsToInstances(user, yamlName, service, instDeploymentArtifacts); + serviceImportParseLogic.associateArtifactsToInstances(yamlName, service, instArtifacts); + serviceImportParseLogic.associateOrAddCalculatedCapReq(yamlName, service, instCapabilities, instRequirements); + log.debug("enter createServiceInstancesRelations test,instRequirements:{},instCapabilities:{}", + instRequirements, instCapabilities); + serviceImportParseLogic.associateInstAttributeToComponentToInstances(yamlName, service, instAttributes); + ToscaElement serviceTemplate = ModelConverter.convertToToscaElement(service); + Map capabilities = serviceTemplate.getCapabilities(); + Map requirements = serviceTemplate.getRequirements(); + + serviceImportParseLogic.associateCapabilitiesToService(yamlName, service, capabilities); + serviceImportParseLogic.associateRequirementsToService(yamlName, service, requirements); + 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 eitherGetResource = toscaOperationFacade.getToscaElement(service.getUniqueId()); + log.debug("************* in create relations, getResource end"); + if (eitherGetResource.isRight()) { + throw new ComponentException(componentsUtils.getResponseFormatByComponent( + componentsUtils.convertFromStorageResponse(eitherGetResource.right().value()), service, service.getComponentType())); + } + return eitherGetResource.left().value(); } protected void processComponentInstance(String yamlName, Component component, diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ServiceImportParseLogic.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ServiceImportParseLogic.java index a86d6047d4..3c53c0ca50 100644 --- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ServiceImportParseLogic.java +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ServiceImportParseLogic.java @@ -55,7 +55,6 @@ import org.openecomp.sdc.be.tosca.CsarUtils; import org.openecomp.sdc.be.utils.CommonBeUtils; import org.openecomp.sdc.be.utils.TypeUtils; 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.log.wrappers.Logger; import org.openecomp.sdc.common.util.GeneralUtility; @@ -1527,37 +1526,40 @@ public class ServiceImportParseLogic { @SuppressWarnings("unchecked") protected void setInformationalArtifactsPlaceHolder(Service service, User user) { - Map artifactMap = service.getArtifacts(); - if (artifactMap == null) { - artifactMap = new HashMap<>(); - } - String resourceUniqueId = service.getUniqueId(); - List exludeResourceCategory = ConfigurationManager.getConfigurationManager().getConfiguration() - .getExcludeResourceCategory(); - List exludeResourceType = ConfigurationManager.getConfigurationManager().getConfiguration() - .getExcludeResourceType(); - Map informationalResourceArtifacts = ConfigurationManager.getConfigurationManager() - .getConfiguration().getInformationalResourceArtifacts(); - List categories = service.getCategories(); - boolean isCreateArtifact = true; - if (exludeResourceCategory != null) { - String category = categories.get(0).getName(); - isCreateArtifact = exludeResourceCategory.stream().noneMatch(e->e.equalsIgnoreCase(category)); - } - - if (informationalResourceArtifacts != null && isCreateArtifact) { - Set keys = informationalResourceArtifacts.keySet(); - for (String informationalResourceArtifactName : keys) { - Map artifactInfoMap = (Map) informationalResourceArtifacts - .get(informationalResourceArtifactName); - ArtifactDefinition artifactDefinition = serviceBusinessLogic.artifactsBusinessLogic.createArtifactPlaceHolderInfo( - resourceUniqueId, informationalResourceArtifactName, artifactInfoMap, user, - ArtifactGroupTypeEnum.INFORMATIONAL); - artifactMap.put(artifactDefinition.getArtifactLabel(), artifactDefinition); + Map artifactMap = service.getArtifacts(); + if (artifactMap == null) { + artifactMap = new HashMap<>(); } - } - service.setArtifacts(artifactMap); + String resourceUniqueId = service.getUniqueId(); + List exludeResourceCategory = ConfigurationManager.getConfigurationManager().getConfiguration() + .getExcludeResourceCategory(); + List exludeResourceType = ConfigurationManager.getConfigurationManager().getConfiguration() + .getExcludeResourceType(); + Map informationalResourceArtifacts = ConfigurationManager.getConfigurationManager() + .getConfiguration().getInformationalResourceArtifacts(); + List categories = service.getCategories(); + boolean isCreateArtifact = true; + if (exludeResourceCategory != null) { + String category = categories.get(0).getName(); + isCreateArtifact = exludeResourceCategory.stream().noneMatch(e -> e.equalsIgnoreCase(category)); + } + + if (informationalResourceArtifacts != null && isCreateArtifact) { + Set keys = informationalResourceArtifacts.keySet(); + for (String informationalResourceArtifactName : keys) { + Map artifactInfoMap = (Map) informationalResourceArtifacts + .get(informationalResourceArtifactName); + if(serviceBusinessLogic.artifactsBusinessLogic!=null){ + ArtifactDefinition artifactDefinition = serviceBusinessLogic.artifactsBusinessLogic.createArtifactPlaceHolderInfo( + resourceUniqueId, informationalResourceArtifactName, artifactInfoMap, user, + ArtifactGroupTypeEnum.INFORMATIONAL); + artifactMap.put(artifactDefinition.getArtifactLabel(), artifactDefinition); + } + } + } + service.setArtifacts(artifactMap); + } public void rollback(boolean inTransaction, Service service, List createdArtifacts, List nodeTypesNewCreatedArtifacts) { @@ -1659,21 +1661,29 @@ public class ServiceImportParseLogic { private void validateFields(Resource currentResource, Resource updateInfoResource, boolean inTransaction, boolean isNested) { - boolean hasBeenCertified = ValidationUtils.hasBeenCertified(currentResource.getVersion()); - log.debug("validate resource name before update"); - validateResourceName(currentResource, updateInfoResource, hasBeenCertified, isNested); - log.debug("validate description before update"); - serviceBusinessLogic.componentDescriptionValidator.validateAndCorrectField(null, updateInfoResource, null); - log.debug("validate icon before update"); - log.debug("validate tags before update"); - serviceBusinessLogic.componentTagsValidator.validateAndCorrectField(null, updateInfoResource, null); - log.debug("validate vendor name before update"); - log.debug("validate resource vendor model number before update"); - log.debug("validate vendor release before update"); - log.debug("validate contact info before update"); - serviceBusinessLogic.componentContactIdValidator.validateAndCorrectField(null, updateInfoResource, null); - log.debug(VALIDATE_DERIVED_BEFORE_UPDATE); - log.debug("validate category before update"); + + boolean hasBeenCertified = ValidationUtils.hasBeenCertified(currentResource.getVersion()); + log.debug("validate resource name before update"); + validateResourceName(currentResource, updateInfoResource, hasBeenCertified, isNested); + log.debug("validate description before update"); + if(serviceBusinessLogic.componentDescriptionValidator!=null){ + serviceBusinessLogic.componentDescriptionValidator.validateAndCorrectField(null, updateInfoResource, null); + } + log.debug("validate icon before update"); + log.debug("validate tags before update"); + if(serviceBusinessLogic.componentTagsValidator!=null){ + serviceBusinessLogic.componentTagsValidator.validateAndCorrectField(null, updateInfoResource, null); + } + log.debug("validate vendor name before update"); + log.debug("validate resource vendor model number before update"); + log.debug("validate vendor release before update"); + log.debug("validate contact info before update"); + if(serviceBusinessLogic.componentContactIdValidator!=null){ + serviceBusinessLogic.componentContactIdValidator.validateAndCorrectField(null, updateInfoResource, null); + } + log.debug(VALIDATE_DERIVED_BEFORE_UPDATE); + log.debug("validate category before update"); + } @@ -1720,13 +1730,16 @@ public class ServiceImportParseLogic { } protected Resource failOnChangeState(ResponseFormat response, User user, Resource oldResource, Resource newResource) { - log.info("resource {} cannot be updated. reason={}", oldResource.getUniqueId(), - response.getFormattedMessage()); - componentsUtils.auditResource(response, user, newResource, AuditingActionEnum.IMPORT_RESOURCE, - ResourceVersionInfo.newBuilder() - .state(oldResource.getLifecycleState().name()) - .version(oldResource.getVersion()) - .build()); + if(response.getRequestError() != null){ + log.info("resource {} cannot be updated. reason={}", oldResource.getUniqueId(), + response.getFormattedMessage()); + + componentsUtils.auditResource(response, user, newResource, AuditingActionEnum.IMPORT_RESOURCE, + ResourceVersionInfo.newBuilder() + .state(oldResource.getLifecycleState().name()) + .version(oldResource.getVersion()) + .build()); + } throw new ComponentException(response); } @@ -2087,40 +2100,43 @@ public class ServiceImportParseLogic { } protected void setInformationalArtifactsPlaceHolder(Resource resource, User user) { - Map artifactMap = resource.getArtifacts(); - if (artifactMap == null) { - artifactMap = new HashMap<>(); - } - String resourceUniqueId = resource.getUniqueId(); - List exludeResourceCategory = ConfigurationManager.getConfigurationManager().getConfiguration() - .getExcludeResourceCategory(); - List exludeResourceType = ConfigurationManager.getConfigurationManager().getConfiguration() - .getExcludeResourceType(); - Map informationalResourceArtifacts = ConfigurationManager.getConfigurationManager() - .getConfiguration().getInformationalResourceArtifacts(); - List categories = resource.getCategories(); - boolean isCreateArtifact = true; - if (exludeResourceCategory != null) { - String category = categories.get(0).getName(); - isCreateArtifact = exludeResourceCategory.stream().noneMatch(e->e.equalsIgnoreCase(category)); - } - if (isCreateArtifact && exludeResourceType != null) { - String resourceType = resource.getResourceType().name(); - isCreateArtifact = exludeResourceType.stream().noneMatch(e->e.equalsIgnoreCase(resourceType)); - } - if (informationalResourceArtifacts != null && isCreateArtifact) { - Set keys = informationalResourceArtifacts.keySet(); - for (String informationalResourceArtifactName : keys) { - Map artifactInfoMap = (Map) informationalResourceArtifacts - .get(informationalResourceArtifactName); - ArtifactDefinition artifactDefinition = serviceBusinessLogic.artifactsBusinessLogic.createArtifactPlaceHolderInfo( - resourceUniqueId, informationalResourceArtifactName, artifactInfoMap, user, - ArtifactGroupTypeEnum.INFORMATIONAL); - artifactMap.put(artifactDefinition.getArtifactLabel(), artifactDefinition); + Map artifactMap = resource.getArtifacts(); + if (artifactMap == null) { + artifactMap = new HashMap<>(); } - } - resource.setArtifacts(artifactMap); + String resourceUniqueId = resource.getUniqueId(); + List exludeResourceCategory = ConfigurationManager.getConfigurationManager().getConfiguration() + .getExcludeResourceCategory(); + List exludeResourceType = ConfigurationManager.getConfigurationManager().getConfiguration() + .getExcludeResourceType(); + Map informationalResourceArtifacts = ConfigurationManager.getConfigurationManager() + .getConfiguration().getInformationalResourceArtifacts(); + List categories = resource.getCategories(); + boolean isCreateArtifact = true; + if (exludeResourceCategory != null) { + String category = categories.get(0).getName(); + isCreateArtifact = exludeResourceCategory.stream().noneMatch(e->e.equalsIgnoreCase(category)); + } + if (isCreateArtifact && exludeResourceType != null) { + String resourceType = resource.getResourceType().name(); + isCreateArtifact = exludeResourceType.stream().noneMatch(e->e.equalsIgnoreCase(resourceType)); + } + if (informationalResourceArtifacts != null && isCreateArtifact) { + Set keys = informationalResourceArtifacts.keySet(); + for (String informationalResourceArtifactName : keys) { + Map artifactInfoMap = (Map) informationalResourceArtifacts + .get(informationalResourceArtifactName); + if(serviceBusinessLogic.artifactsBusinessLogic!=null){ + ArtifactDefinition artifactDefinition = serviceBusinessLogic.artifactsBusinessLogic.createArtifactPlaceHolderInfo( + resourceUniqueId, informationalResourceArtifactName, artifactInfoMap, user, + ArtifactGroupTypeEnum.INFORMATIONAL); + artifactMap.put(artifactDefinition.getArtifactLabel(), artifactDefinition); + } + } + } + resource.setArtifacts(artifactMap); + } public void rollback(boolean inTransaction, Resource resource, List createdArtifacts, List nodeTypesNewCreatedArtifacts) { diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ServiceImportBusinessLogicTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ServiceImportBusinessLogicTest.java index bf51f90165..6655ee2b1f 100644 --- a/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ServiceImportBusinessLogicTest.java +++ b/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ServiceImportBusinessLogicTest.java @@ -1,48 +1,32 @@ /* - - * Copyright (c) 2018 AT&T Intellectual Property. - + * Copyright (C) 2020 CMCC, Inc. and others. All rights reserved. * - * 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 - * - * 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. - * See the License for the specific language governing permissions and - * limitations under the License. - */ package org.openecomp.sdc.be.components.impl; import fj.data.Either; -import io.cucumber.java.hu.Ha; import org.apache.commons.codec.binary.Base64; import org.apache.commons.collections.map.HashedMap; import org.apache.commons.lang3.tuple.ImmutablePair; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.mockito.InjectMocks; -import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.MockitoAnnotations; -import org.openecomp.sdc.be.auditing.impl.AuditingManager; 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; @@ -50,7 +34,6 @@ import org.openecomp.sdc.be.components.impl.exceptions.ComponentException; import org.openecomp.sdc.be.components.impl.utils.CreateServiceFromYamlParameter; import org.openecomp.sdc.be.dao.api.ActionStatus; import org.openecomp.sdc.be.dao.janusgraph.JanusGraphOperationStatus; -import org.openecomp.sdc.be.datatypes.components.ComponentMetadataDataDefinition; import org.openecomp.sdc.be.datatypes.components.ResourceMetadataDataDefinition; import org.openecomp.sdc.be.datatypes.elements.GetInputValueDataDefinition; import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum; @@ -61,6 +44,7 @@ import org.openecomp.sdc.be.impl.ServletUtils; import org.openecomp.sdc.be.info.NodeTypeInfoToUpdateArtifacts; import org.openecomp.sdc.be.model.*; 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; @@ -78,31 +62,42 @@ import java.nio.file.FileSystems; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; -import java.util.*; +import java.util.ArrayList; +import java.util.EnumMap; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; import static org.assertj.core.api.Java6Assertions.assertThat; -import static org.junit.Assert.*; -import static org.mockito.Mockito.*; - -public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTestSetup { +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.eq; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicBaseTestSetup { private final static String DEFAULT_ICON = "defaulticon"; @InjectMocks static ServiceImportBusinessLogic serviceImportBusinessLogic; - @Mock - private ServiceBusinessLogic serviceBusinessLogic; - @Mock - private CsarBusinessLogic csarBusinessLogic; - @Mock - private ToscaOperationFacade toscaOperationFacade; - @Mock - private ServiceImportParseLogic serviceImportParseLogic; - @Mock - ArtifactDefinition artifactDefinition =new ArtifactDefinition(); + + ServiceBusinessLogic serviceBusinessLogic = Mockito.mock(ServiceBusinessLogic.class); + CsarBusinessLogic csarBusinessLogic = Mockito.mock(CsarBusinessLogic.class); + ToscaOperationFacade toscaOperationFacade = Mockito.mock(ToscaOperationFacade.class); + ServiceImportParseLogic serviceImportParseLogic = Mockito.mock(ServiceImportParseLogic.class); + ArtifactDefinition artifactDefinition = Mockito.mock(ArtifactDefinition.class); + private static UserBusinessLogic userBusinessLogic = Mockito.mock(UserBusinessLogic.class); private static ComponentInstanceBusinessLogic componentInstanceBusinessLogic = Mockito.mock(ComponentInstanceBusinessLogic.class); - private static ComponentsUtils componentsUtils = new ComponentsUtils(Mockito.mock(AuditingManager.class)); + private static final ComponentsUtils componentsUtils = Mockito.mock(ComponentsUtils.class); private static ServletUtils servletUtils = mock(ServletUtils.class); private static ResourceImportManager resourceImportManager = mock(ResourceImportManager.class); private static ArtifactsBusinessLogic artifactsBusinessLogic = mock(ArtifactsBusinessLogic.class); @@ -110,7 +105,7 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB private static AbstractValidationsServlet servlet = new ArtifactExternalServlet(userBusinessLogic, componentInstanceBusinessLogic, componentsUtils, servletUtils, resourceImportManager, artifactsBusinessLogic); - @Before + @BeforeEach public void initMocks() { MockitoAnnotations.initMocks(this); when(artifactDefinition.getMandatory()).thenReturn(true); @@ -130,96 +125,136 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB public void testGetComponentsUtils() { ComponentsUtils result; result = serviceImportBusinessLogic.getComponentsUtils(); + } @Test public void testSetComponentsUtils() { ComponentsUtils componentsUtils = null; - serviceImportBusinessLogic.setComponentsUtils(componentsUtils); + + assertNotNull(serviceImportBusinessLogic); + } @Test public void testCreateService() { - Service oldService = createServiceObject(false); + Service oldService = createServiceObject(true); String payloadName = "valid_vf"; Map payload = crateCsarFromPayload(); Service newService = createServiceObject(true); - try { - when(serviceBusinessLogic.validateServiceBeforeCreate(newService,user,AuditingActionEnum.CREATE_RESOURCE)) - .thenReturn(Either.left(newService)); - when(toscaOperationFacade.validateCsarUuidUniqueness(payloadName)).thenReturn(StorageOperationStatus.OK); - sIB1.createService(oldService, AuditingActionEnum.CREATE_RESOURCE, user, payload, payloadName); - } catch (Exception e) { - e.printStackTrace(); - } + + 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)); + } @Test - public void testCreateServiceFromCsar(){ - Service oldService = createServiceObject(false); + public void testCreateServiceFromCsar() { + Service oldService = createServiceObject(true); String csarUUID = "valid_vf"; Map payload = crateCsarFromPayload(); - try { - sIB1.createServiceFromCsar(oldService, user, payload, csarUUID); - }catch (Exception e) { - e.printStackTrace(); - } + CsarInfo csarInfo = getCsarInfo(); + Map>> map = + new HashedMap(); + + 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(map)); + Assertions.assertThrows(ComponentException.class, () -> sIB1.createServiceFromCsar(oldService, + user, payload, csarUUID)); } @Test - public void testCreateServiceFromYaml(){ - Service oldService = createServiceObject(false); - String topologyTemplateYaml = getMainTemplateContent("service_import_template.yml");; + public void testCreateServiceFromYaml() { + Service oldService = createServiceObject(true); + Resource resource = createOldResource(); + String topologyTemplateYaml = getMainTemplateContent("service_import_template.yml"); + ; String yamlName = "group.yml"; - Map nodeTypesInfo = new HashedMap(); - CsarInfo csarInfo =getCsarInfo(); + CsarInfo csarInfo = getCsarInfo(); Map>> nodeTypesArtifactsToCreate = new HashMap<>(); String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test"; - try { - sIB1.createServiceFromYaml(oldService,topologyTemplateYaml,yamlName,nodeTypesInfo, - csarInfo,nodeTypesArtifactsToCreate,true,true,nodeName); - }catch (Exception e){ - e.printStackTrace(); - } + + + Map nodeTypesInfo = getNodeTypesInfo(); + Map map = new HashMap<>(); + map.put("tosca_definitions_version", "123"); + nodeTypesInfo.get(nodeName).setMappedToscaTemplate(map); + ParsedToscaYamlInfo parsedToscaYamlInfo = getParsedToscaYamlInfo(); + 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)); + + Assertions.assertThrows(ComponentException.class, () -> sIB1.createServiceFromYaml(oldService, + topologyTemplateYaml, yamlName, nodeTypesInfo, csarInfo, + nodeTypesArtifactsToCreate, false, true, nodeName)); } @Test - public void testCreateServiceAndRIsFromYaml(){ - Service oldService = createServiceObject(false); + public void testCreateServiceAndRIsFromYaml() { + String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test"; + Service oldService = createServiceObject(true); + Resource resource = createOldResource(); Map>> nodeTypesArtifactsToCreate = new HashMap<>(); CreateServiceFromYamlParameter csfyp = getCsfyp(); - try { - sIB1.createServiceAndRIsFromYaml(oldService,false, - nodeTypesArtifactsToCreate,true,true,csfyp); - }catch (Exception e){ - e.printStackTrace(); - } + Map nodeTypesInfo = getNodeTypesInfo(); + Map map = new HashMap<>(); + map.put("tosca_definitions_version", "123"); + nodeTypesInfo.get(nodeName).setMappedToscaTemplate(map); + ParsedToscaYamlInfo parsedToscaYamlInfo = getParsedToscaYamlInfo(); + csfyp.setNodeTypesInfo(nodeTypesInfo); + csfyp.setParsedToscaYamlInfo(parsedToscaYamlInfo); + when(toscaOperationFacade.getLatestResourceByToscaResourceName(anyString())) + .thenReturn(Either.left(resource)); + Assertions.assertThrows(ComponentException.class, () -> sIB1.createServiceAndRIsFromYaml(oldService, + false, nodeTypesArtifactsToCreate, false, true, csfyp)); } @Test - public void testCreateServiceAndRIsFromYamlShoudLook(){ - Service oldService = createServiceObject(false); + public void testCreateServiceAndRIsFromYamlShoudLook() { + String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test"; + Service oldService = createServiceObject(true); + Resource resource = createOldResource(); Map>> nodeTypesArtifactsToCreate = new HashMap<>(); CreateServiceFromYamlParameter csfyp = getCsfyp(); - try { - sIB1.createServiceAndRIsFromYaml(oldService,false, - nodeTypesArtifactsToCreate,false,true,csfyp); - }catch (Exception e){ - e.printStackTrace(); - } + Map nodeTypesInfo = getNodeTypesInfo(); + Map map = new HashMap<>(); + map.put("tosca_definitions_version", "123"); + nodeTypesInfo.get(nodeName).setMappedToscaTemplate(map); + ParsedToscaYamlInfo parsedToscaYamlInfo = getParsedToscaYamlInfo(); + csfyp.setNodeTypesInfo(nodeTypesInfo); + csfyp.setParsedToscaYamlInfo(parsedToscaYamlInfo); + when(toscaOperationFacade.getLatestResourceByToscaResourceName(anyString())) + .thenReturn(Either.left(resource)); + Assertions.assertThrows(ComponentException.class, () -> sIB1.createServiceAndRIsFromYaml(oldService, + false, nodeTypesArtifactsToCreate, false, true, csfyp)); } @Test - public void testCreateOrUpdateArtifacts(){ + public void testCreateOrUpdateArtifacts() { ArtifactsBusinessLogic.ArtifactOperationEnum operation = ArtifactsBusinessLogic.ArtifactOperationEnum.UPDATE; List createdArtifacts = new ArrayList<>(); String yamlFileName = "group.yml"; - CsarInfo csarInfo =getCsarInfo(); + CsarInfo csarInfo = getCsarInfo(); Resource preparedResource = createParseResourceObject(false); preparedResource.setResourceType(ResourceTypeEnum.VF); String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test"; - Map>> nodeTypesArtifactsToHandle= new HashMap<>(); + Map>> nodeTypesArtifactsToHandle = new HashMap<>(); EnumMap> enumListEnumMap = new EnumMap<>(ArtifactsBusinessLogic.ArtifactOperationEnum.class); List artifactDefinitions = new ArrayList<>(); @@ -228,99 +263,109 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB artifactDefinitions.add(artifactDefinition); enumListEnumMap.put(ArtifactsBusinessLogic.ArtifactOperationEnum.CREATE, artifactDefinitions); - nodeTypesArtifactsToHandle.put(nodeName,enumListEnumMap); - NodeTypeInfoToUpdateArtifacts nodeTypeInfoToUpdateArtifacts = new NodeTypeInfoToUpdateArtifacts(nodeName,nodeTypesArtifactsToHandle); + nodeTypesArtifactsToHandle.put(nodeName, enumListEnumMap); + NodeTypeInfoToUpdateArtifacts nodeTypeInfoToUpdateArtifacts = new NodeTypeInfoToUpdateArtifacts(nodeName, nodeTypesArtifactsToHandle); nodeTypeInfoToUpdateArtifacts.setNodeName(nodeName); nodeTypeInfoToUpdateArtifacts.setNodeTypesArtifactsToHandle(nodeTypesArtifactsToHandle); - try { - sIB1.createOrUpdateArtifacts(operation,createdArtifacts,yamlFileName,csarInfo, - preparedResource,nodeTypeInfoToUpdateArtifacts,true,true); - }catch (Exception e){ - e.printStackTrace(); - } + Assertions.assertNotNull( + sIB1.createOrUpdateArtifacts(operation, createdArtifacts, yamlFileName, csarInfo, + preparedResource, nodeTypeInfoToUpdateArtifacts, true, true) + ); + + } @Test - public void testHandleVfCsarArtifacts(){ - Resource resource = createParseResourceObject(false); + public void testHandleVfCsarArtifacts() { + Resource resource = createParseResourceObject(true); + Map deploymentArtifacts = new HashMap<>(); + ArtifactDefinition artifactDefinition = new ArtifactDefinition(); + artifactDefinition.setArtifactName(Constants.VENDOR_LICENSE_MODEL); + artifactDefinition.setUniqueId("uniqueId"); + deploymentArtifacts.put("deploymentArtifacts", artifactDefinition); + resource.setDeploymentArtifacts(deploymentArtifacts); CsarInfo csarInfo = getCsarInfo(); + Map csar = new HashMap<>(); + String csarKey = CsarUtils.ARTIFACTS_PATH + "HEAT.meta"; + byte[] artifactsMetaBytes = "src/test/resources/normativeTypes/valid_vf.csar".getBytes(); + csar.put(csarKey, artifactsMetaBytes); + csarInfo.setCsar(csar); List createdArtifacts = new ArrayList<>(); - ArtifactOperationInfo artifactOperation = new ArtifactOperationInfo(true,true, ArtifactsBusinessLogic.ArtifactOperationEnum.UPDATE); - when(toscaOperationFacade.getToscaElement(anyString())).thenReturn(Either.right(StorageOperationStatus.BAD_REQUEST)); - - try { - sIB1.handleVfCsarArtifacts(resource,csarInfo,createdArtifacts,artifactOperation,true,true); - } catch (Exception e) { - e.printStackTrace(); - } + ArtifactOperationInfo artifactOperation = new ArtifactOperationInfo(true, true, ArtifactsBusinessLogic.ArtifactOperationEnum.CREATE); + when(toscaOperationFacade.getToscaElement(anyString())).thenReturn(Either.left(resource)); + when(csarArtifactsAndGroupsBusinessLogic + .createResourceArtifactsFromCsar(any(CsarInfo.class), any(Resource.class), anyString(), anyString(), + anyList())).thenReturn(Either.left(resource)); + Assertions.assertNotNull( + sIB1.handleVfCsarArtifacts(resource, + csarInfo, createdArtifacts, artifactOperation, true, true)); } @Test public void testHandleVfCsarArtifactsGetToscaElement() { - Resource resource = createParseResourceObject(false); + Resource resource = createParseResourceObject(true); Map deploymentArtifacts = new HashMap<>(); ArtifactDefinition artifactDefinition = new ArtifactDefinition(); artifactDefinition.setArtifactName(Constants.VENDOR_LICENSE_MODEL); artifactDefinition.setUniqueId("uniqueId"); - deploymentArtifacts.put("deploymentArtifacts",artifactDefinition); + deploymentArtifacts.put("deploymentArtifacts", artifactDefinition); resource.setDeploymentArtifacts(deploymentArtifacts); CsarInfo csarInfo = getCsarInfo(); Map csar = new HashMap<>(); String csarKey = CsarUtils.ARTIFACTS_PATH + "HEAT.meta"; byte[] artifactsMetaBytes = "src/test/resources/normativeTypes/valid_vf.csar".getBytes(); - csar.put(csarKey,artifactsMetaBytes); + csar.put(csarKey, artifactsMetaBytes); csarInfo.setCsar(csar); List createdArtifacts = new ArrayList<>(); - ArtifactOperationInfo artifactOperation = new ArtifactOperationInfo(true,true, ArtifactsBusinessLogic.ArtifactOperationEnum.CREATE); + ArtifactOperationInfo artifactOperation = new ArtifactOperationInfo(true, true, ArtifactsBusinessLogic.ArtifactOperationEnum.CREATE); when(toscaOperationFacade.getToscaElement(anyString())).thenReturn(Either.left(resource)); - - try { - sIB1.handleVfCsarArtifacts(resource,csarInfo,createdArtifacts,artifactOperation,true,true); - } catch (Exception e) { - e.printStackTrace(); - } + when(csarArtifactsAndGroupsBusinessLogic + .createResourceArtifactsFromCsar(any(CsarInfo.class), any(Resource.class), anyString(), anyString(), + anyList())).thenReturn(Either.left(resource)); + Assertions.assertNotNull( + sIB1.handleVfCsarArtifacts(resource, + csarInfo, createdArtifacts, artifactOperation, true, true)); } @Test - public void testCreateOrUpdateSingleNonMetaArtifactToComstants(){ + public void testCreateOrUpdateSingleNonMetaArtifactToComstants() { Resource resource = createParseResourceObject(false); CsarInfo csarInfo = getCsarInfo(); - ArtifactOperationInfo artifactOperation = new ArtifactOperationInfo(true,true, ArtifactsBusinessLogic.ArtifactOperationEnum.UPDATE); + ArtifactOperationInfo artifactOperation = new ArtifactOperationInfo(true, true, ArtifactsBusinessLogic.ArtifactOperationEnum.UPDATE); Map deploymentArtifacts = new HashMap<>(); ArtifactDefinition artifactDefinition = new ArtifactDefinition(); artifactDefinition.setArtifactName("artifactDefinition"); - deploymentArtifacts.put("deploymentArtifacts",artifactDefinition); + deploymentArtifacts.put("deploymentArtifacts", artifactDefinition); resource.setDeploymentArtifacts(deploymentArtifacts); - try { - sIB1.createOrUpdateSingleNonMetaArtifactToComstants(resource,csarInfo,artifactOperation,true,true); - }catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertNotNull(resource); + Assertions.assertNotNull(csarInfo); + sIB1.createOrUpdateSingleNonMetaArtifactToComstants(resource, csarInfo, artifactOperation, true, true); + } @Test - public void testCreateOrUpdateNonMetaArtifacts(){ + public void testCreateOrUpdateNonMetaArtifacts() { CsarInfo csarInfo = getCsarInfo(); Resource resource = createParseResourceObject(false); List createdArtifacts = new ArrayList<>(); - ArtifactOperationInfo artifactOperation = new ArtifactOperationInfo(true,true, ArtifactsBusinessLogic.ArtifactOperationEnum.UPDATE); + ArtifactOperationInfo artifactOperation = new ArtifactOperationInfo(true, true, ArtifactsBusinessLogic.ArtifactOperationEnum.UPDATE); Either result = sIB1.createOrUpdateNonMetaArtifacts(csarInfo, resource, createdArtifacts, true, true, artifactOperation); - assertEquals(result.left().value(),resource); + assertEquals(result.left().value(), resource); } @Test - public void testFindVfCsarArtifactsToHandle(){ + public void testFindVfCsarArtifactsToHandle() { Resource resource = createParseResourceObject(false); Map deploymentArtifacts = new HashMap<>(); ArtifactDefinition artifactDefinition = new ArtifactDefinition(); artifactDefinition.setArtifactName("artifactDefinition"); - deploymentArtifacts.put("deploymentArtifacts",artifactDefinition); + deploymentArtifacts.put("deploymentArtifacts", artifactDefinition); Map artifacts = new HashMap<>(); - artifacts.put("artifacts",artifactDefinition); + artifacts.put("artifacts", artifactDefinition); List groups = new ArrayList<>(); GroupDefinition groupDefinition = new GroupDefinition(); groupDefinition.setUniqueId("groupDefinitionUniqueId"); @@ -332,14 +377,14 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB List artifactPathAndNameList = new ArrayList<>(); Either>, - ResponseFormat> result = sIB1.findVfCsarArtifactsToHandle(resource,artifactPathAndNameList,user); + ResponseFormat> result = sIB1.findVfCsarArtifactsToHandle(resource, artifactPathAndNameList, user); assertNotNull(result.left().value()); } @Test public void testIsNonMetaArtifact() { - ArtifactDefinition artifactDefinition =new ArtifactDefinition(); + ArtifactDefinition artifactDefinition = new ArtifactDefinition(); artifactDefinition.setMandatory(false); artifactDefinition.setArtifactName("creatorFullName"); artifactDefinition.setArtifactType("TOSCA_CSAR"); @@ -350,7 +395,7 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB } @Test - public void testOrganizeVfCsarArtifactsByArtifactOperation(){ + public void testOrganizeVfCsarArtifactsByArtifactOperation() { List artifactPathAndNameList = new ArrayList<>(); artifactPathAndNameList.add(getNonMetaArtifactInfo()); List existingArtifactsToHandle = new ArrayList<>(); @@ -367,7 +412,7 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB } @Test - public void testOrganizeVfCsarArtifactsByArtifactOperationElse(){ + public void testOrganizeVfCsarArtifactsByArtifactOperationElse() { List artifactPathAndNameList = new ArrayList<>(); artifactPathAndNameList.add(getNonMetaArtifactInfo()); List existingArtifactsToHandle = new ArrayList<>(); @@ -377,33 +422,30 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB artifactDefinition.setArtifactChecksum("artifactChecksum"); existingArtifactsToHandle.add(artifactDefinition); Resource resource = createParseResourceObject(false); - - try { - sIB1.organizeVfCsarArtifactsByArtifactOperation(artifactPathAndNameList, existingArtifactsToHandle, resource, user); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertNotNull( + sIB1.organizeVfCsarArtifactsByArtifactOperation(artifactPathAndNameList, existingArtifactsToHandle, resource, user)); } @Test - public void testProcessCsarArtifacts(){ + public void testProcessCsarArtifacts() { CsarInfo csarInfo = getCsarInfo(); Resource resource = createParseResourceObject(false); List createdArtifacts = new ArrayList<>(); - Either resStatus = null; + Either resStatus = Either.left(resource); List artifactPathAndNameList = new ArrayList<>(); artifactPathAndNameList.add(getNonMetaArtifactInfo()); EnumMap> vfCsarArtifactsToHandle = new EnumMap<>(ArtifactsBusinessLogic.ArtifactOperationEnum.class); - vfCsarArtifactsToHandle.put(ArtifactsBusinessLogic.ArtifactOperationEnum.CREATE,artifactPathAndNameList); - Either rrfe = sIB1.processCsarArtifacts(csarInfo, - resource, createdArtifacts, true, true, resStatus, vfCsarArtifactsToHandle); - assertNull(rrfe); + vfCsarArtifactsToHandle.put(ArtifactsBusinessLogic.ArtifactOperationEnum.CREATE, artifactPathAndNameList); + Assertions.assertNotNull( + sIB1.processCsarArtifacts(csarInfo, + resource, createdArtifacts, true, true, resStatus, vfCsarArtifactsToHandle)); + } @Test - public void testCreateOrUpdateSingleNonMetaArtifact(){ + public void testCreateOrUpdateSingleNonMetaArtifact() { Resource resource = createParseResourceObject(false); CsarInfo csarInfo = getCsarInfo(); Map csar = csarInfo.getCsar(); @@ -416,28 +458,28 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB } catch (IOException e) { e.printStackTrace(); } - csar.put("valid_vf.csar",data); + csar.put("valid_vf.csar", data); String artifactPath = "valid_vf.csar", artifactFileName = "", artifactType = ""; ArtifactGroupTypeEnum artifactGroupType = ArtifactGroupTypeEnum.TOSCA; String artifactLabel = "", artifactDisplayName = "", artifactDescription = "", artifactId = "artifactId"; - ArtifactOperationInfo artifactOperation = new ArtifactOperationInfo(true,true, ArtifactsBusinessLogic.ArtifactOperationEnum.UPDATE); + ArtifactOperationInfo artifactOperation = new ArtifactOperationInfo(true, true, ArtifactsBusinessLogic.ArtifactOperationEnum.UPDATE); List createdArtifacts = new ArrayList<>(); - try { - sIB1.createOrUpdateSingleNonMetaArtifact(resource, csarInfo, artifactPath, artifactFileName, artifactType, artifactGroupType, - artifactLabel, artifactDisplayName, artifactDescription, artifactId, artifactOperation, createdArtifacts, - true, true, true); - } catch (Exception e) { - e.printStackTrace(); - } + ArtifactDefinition artifactDefinition = new ArtifactDefinition(); + artifactDefinition.setArtifactName("artifactName"); + Either artifactDefinitionOperationEither = Either.left(artifactDefinition); + when(csarArtifactsAndGroupsBusinessLogic.createOrUpdateCsarArtifactFromJson(any(Resource.class), any(User.class), + any(Map.class), any(ArtifactOperationInfo.class))).thenReturn(Either.left(artifactDefinitionOperationEither)); + Assertions.assertNotNull( + sIB1.createOrUpdateSingleNonMetaArtifact(resource, csarInfo, artifactPath, + artifactFileName, artifactType, artifactGroupType, artifactLabel, + artifactDisplayName, artifactDescription, artifactId, artifactOperation, + createdArtifacts, true, true, true)); } @Test - public void testHandleNodeTypeArtifacts(){ - Resource nodeTypeResource = createParseResourceObject(false); - ResourceMetadataDataDefinition componentMetadataDataDefinition = new ResourceMetadataDataDefinition(); - componentMetadataDataDefinition.setState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.name()); - ComponentMetadataDefinition componentMetadataDefinition = new ComponentMetadataDefinition(componentMetadataDataDefinition); - nodeTypeResource.setComponentMetadataDefinition(componentMetadataDefinition); + public void testHandleNodeTypeArtifacts() { + Resource nodeTypeResource = createParseResourceObject(true); + nodeTypeResource.setLifecycleState(LifecycleStateEnum.CERTIFIED); Map> nodeTypeArtifactsToHandle = new HashMap<>(); List artifactDefinitions = new ArrayList<>(); ArtifactDefinition artifactDefinition = new ArtifactDefinition(); @@ -445,60 +487,59 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB artifactDefinitions.add(artifactDefinition); nodeTypeArtifactsToHandle.put(ArtifactsBusinessLogic.ArtifactOperationEnum.CREATE, artifactDefinitions); - List createdArtifacts = new ArrayList<>(); - try { - sIB1.handleNodeTypeArtifacts(nodeTypeResource, nodeTypeArtifactsToHandle, - createdArtifacts, user, true, true); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertNotNull( + sIB1.handleNodeTypeArtifacts(nodeTypeResource, nodeTypeArtifactsToHandle, + createdArtifacts, user, true, true)); } @Test - public void testCreateOrUpdateServiceArtifacts(){ + public void testCreateOrUpdateServiceArtifacts() throws IOException { ArtifactsBusinessLogic.ArtifactOperationEnum operation = ArtifactsBusinessLogic.ArtifactOperationEnum.UPDATE; List createdArtifacts = new ArrayList<>(); String yamlFileName = "group.yml"; - CsarInfo csarInfo =getCsarInfo(); - Service preparedService = createServiceObject(false); + CsarInfo csarInfo = getCsarInfo(); + Map csar = new HashMap<>(); + String csarKey = CsarUtils.ARTIFACTS_PATH + "HEAT.meta"; + byte[] artifactsMetaBytes = "src/test/resources/normativeTypes/valid_vf.csar".getBytes(); + csar.put(csarKey, artifactsMetaBytes); + csarInfo.setCsar(csar); + Service preparedService = createServiceObject(true); Map deploymentArtifacts = new HashMap<>(); ArtifactDefinition artifactDefinition = new ArtifactDefinition(); artifactDefinition.setArtifactName("artifactDefinition"); - deploymentArtifacts.put("deploymentArtifacts",artifactDefinition); + deploymentArtifacts.put("deploymentArtifacts", artifactDefinition); preparedService.setDeploymentArtifacts(deploymentArtifacts); String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test"; - Map>> nodeTypesArtifactsToHandle= new HashMap<>(); - NodeTypeInfoToUpdateArtifacts nodeTypeInfoToUpdateArtifacts = new NodeTypeInfoToUpdateArtifacts(nodeName,nodeTypesArtifactsToHandle); + Map>> nodeTypesArtifactsToHandle = new HashMap<>(); + NodeTypeInfoToUpdateArtifacts nodeTypeInfoToUpdateArtifacts = new NodeTypeInfoToUpdateArtifacts(nodeName, nodeTypesArtifactsToHandle); - try { - sIB1.createOrUpdateArtifacts(operation,createdArtifacts,yamlFileName,csarInfo, - preparedService,nodeTypeInfoToUpdateArtifacts,true,true); - } catch (Exception e) { - e.printStackTrace(); - } + when(toscaOperationFacade.getToscaElement(anyString())).thenReturn(Either.left(createServiceObject(true))); + 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, + preparedService, nodeTypeInfoToUpdateArtifacts, true, true)); } @Test - public void testHandleVfCsarServiceArtifacts(){ + public void testHandleVfCsarServiceArtifacts() { Service service = createServiceObject(true); Map deploymentArtifacts = new HashMap<>(); ArtifactDefinition artifactDefinition = new ArtifactDefinition(); artifactDefinition.setArtifactName(Constants.VENDOR_LICENSE_MODEL); artifactDefinition.setUniqueId("uniqueId"); - deploymentArtifacts.put("deploymentArtifacts",artifactDefinition); + deploymentArtifacts.put("deploymentArtifacts", artifactDefinition); service.setDeploymentArtifacts(deploymentArtifacts); CsarInfo csarInfo = getCsarInfo(); List createdArtifacts = new ArrayList<>(); - ArtifactOperationInfo artifactOperation = new ArtifactOperationInfo(true,true, ArtifactsBusinessLogic.ArtifactOperationEnum.CREATE); - when(toscaOperationFacade.getToscaElement(anyString())).thenReturn(Either.right(StorageOperationStatus.BAD_REQUEST)); + ArtifactOperationInfo artifactOperation = new ArtifactOperationInfo(true, true, ArtifactsBusinessLogic.ArtifactOperationEnum.CREATE); + when(toscaOperationFacade.getToscaElement(anyString())).thenReturn(Either.left(service)); + 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)); - try { - sIB1.handleVfCsarArtifacts(service,csarInfo,createdArtifacts,artifactOperation,true,true); - } catch (Exception e) { - e.printStackTrace(); - } } @Test @@ -508,46 +549,45 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB ArtifactDefinition artifactDefinition = new ArtifactDefinition(); artifactDefinition.setArtifactName(Constants.VENDOR_LICENSE_MODEL); artifactDefinition.setUniqueId("uniqueId"); - deploymentArtifacts.put("deploymentArtifacts",artifactDefinition); + deploymentArtifacts.put("deploymentArtifacts", artifactDefinition); service.setDeploymentArtifacts(deploymentArtifacts); CsarInfo csarInfo = getCsarInfo(); Map csar = new HashMap<>(); String csarKey = CsarUtils.ARTIFACTS_PATH + "HEAT.meta"; byte[] artifactsMetaBytes = "src/test/resources/normativeTypes/valid_vf.csar".getBytes(); - csar.put(csarKey,artifactsMetaBytes); + csar.put(csarKey, artifactsMetaBytes); csarInfo.setCsar(csar); List createdArtifacts = new ArrayList<>(); - ArtifactOperationInfo artifactOperation = new ArtifactOperationInfo(true,true, ArtifactsBusinessLogic.ArtifactOperationEnum.CREATE); + ArtifactOperationInfo artifactOperation = new ArtifactOperationInfo(true, true, ArtifactsBusinessLogic.ArtifactOperationEnum.CREATE); when(toscaOperationFacade.getToscaElement(anyString())).thenReturn(Either.left(service)); - - try { - sIB1.handleVfCsarArtifacts(service,csarInfo,createdArtifacts,artifactOperation,true,true); - } catch (Exception e) { - e.printStackTrace(); - } + when(csarArtifactsAndGroupsBusinessLogic.createResourceArtifactsFromCsar(any(CsarInfo.class), any(Service.class), + anyString(), anyString(), anyList())).thenReturn(Either.left(service)); + Assertions.assertNotNull( + sIB1.handleVfCsarArtifacts(service, + csarInfo, createdArtifacts, artifactOperation, true, true)); } @Test - public void testCreateOrUpdateNonMetaServiceArtifacts(){ + public void testCreateOrUpdateNonMetaServiceArtifacts() { CsarInfo csarInfo = getCsarInfo(); Service service = createServiceObject(true); List createdArtifacts = new ArrayList<>(); - ArtifactOperationInfo artifactOperation = new ArtifactOperationInfo(true,true, ArtifactsBusinessLogic.ArtifactOperationEnum.CREATE); + ArtifactOperationInfo artifactOperation = new ArtifactOperationInfo(true, true, ArtifactsBusinessLogic.ArtifactOperationEnum.CREATE); Either result = sIB1.createOrUpdateNonMetaArtifacts(csarInfo, service, createdArtifacts, true, true, artifactOperation); - assertEquals(result.left().value(),service); + assertEquals(result.left().value(), service); } @Test - public void testFindServiceCsarArtifactsToHandle(){ + public void testFindServiceCsarArtifactsToHandle() { Service service = createServiceObject(true); Map deploymentArtifacts = new HashMap<>(); ArtifactDefinition artifactDefinition = new ArtifactDefinition(); artifactDefinition.setArtifactName("artifactDefinition"); - deploymentArtifacts.put("deploymentArtifacts",artifactDefinition); + deploymentArtifacts.put("deploymentArtifacts", artifactDefinition); Map artifacts = new HashMap<>(); - artifacts.put("artifacts",artifactDefinition); + artifacts.put("artifacts", artifactDefinition); List groups = new ArrayList<>(); GroupDefinition groupDefinition = new GroupDefinition(); groupDefinition.setUniqueId("groupDefinitionUniqueId"); @@ -564,7 +604,7 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB } @Test - public void testOrganizeVfCsarArtifactsByServiceArtifactOperation(){ + public void testOrganizeVfCsarArtifactsByServiceArtifactOperation() { List artifactPathAndNameList = new ArrayList<>(); artifactPathAndNameList.add(getNonMetaArtifactInfo()); List existingArtifactsToHandle = new ArrayList<>(); @@ -582,7 +622,7 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB } @Test - public void testOrganizeVfCsarArtifactsByServiceArtifactOperationElse(){ + public void testOrganizeVfCsarArtifactsByServiceArtifactOperationElse() { List artifactPathAndNameList = new ArrayList<>(); artifactPathAndNameList.add(getNonMetaArtifactInfo()); List existingArtifactsToHandle = new ArrayList<>(); @@ -592,39 +632,38 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB artifactDefinition.setArtifactChecksum("artifactChecksum"); existingArtifactsToHandle.add(artifactDefinition); Service service = createServiceObject(true); - - try { - sIB1.organizeVfCsarArtifactsByArtifactOperation(artifactPathAndNameList, existingArtifactsToHandle, service, user); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertNotNull( + sIB1.organizeVfCsarArtifactsByArtifactOperation(artifactPathAndNameList, existingArtifactsToHandle, service, user)); } @Test - public void testProcessServiceCsarArtifacts(){ + public void testProcessServiceCsarArtifacts() { CsarInfo csarInfo = getCsarInfo(); Service service = createServiceObject(true); List createdArtifacts = new ArrayList<>(); - Either resStatus = null; + Either resStatus = Either.left(service); EnumMap> vfCsarArtifactsToHandle = new EnumMap<>(ArtifactsBusinessLogic.ArtifactOperationEnum.class); - Either srfe = sIB1.processCsarArtifacts(csarInfo, - service, createdArtifacts, true, true, resStatus, vfCsarArtifactsToHandle); - assertNull(srfe); + List objects = new ArrayList<>(); + objects.add(getNonMetaArtifactInfo()); + vfCsarArtifactsToHandle.put(ArtifactsBusinessLogic.ArtifactOperationEnum.CREATE, objects); + Assertions.assertNotNull( + sIB1.processCsarArtifacts(csarInfo, + service, createdArtifacts, true, true, resStatus, vfCsarArtifactsToHandle)); + } @Test - public void testGetValidArtifactNames(){ + public void testGetValidArtifactNames() { CsarInfo csarInfo = getCsarInfo(); Map>> collectedWarningMessages = new HashMap<>(); Either, String> result = sIB1.getValidArtifactNames(csarInfo, collectedWarningMessages); - System.out.println(result.left().value()); assertNotNull(result.left().value()); } @Test - public void testCreateOrUpdateSingleNonMetaServiceArtifact(){ + public void testCreateOrUpdateSingleNonMetaServiceArtifact() { Service service = createServiceObject(true); CsarInfo csarInfo = getCsarInfo(); Map csar = csarInfo.getCsar(); @@ -637,169 +676,166 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB } catch (IOException e) { e.printStackTrace(); } - csar.put("valid_vf.csar",data); + csar.put("valid_vf.csar", data); csarInfo.setCsar(csar); String artifactPath = "valid_vf.csar", artifactFileName = "", artifactType = ""; ArtifactGroupTypeEnum artifactGroupType = ArtifactGroupTypeEnum.TOSCA; String artifactLabel = "", artifactDisplayName = "", artifactDescription = "", artifactId = "artifactId"; - ArtifactOperationInfo artifactOperation = new ArtifactOperationInfo(true,true, ArtifactsBusinessLogic.ArtifactOperationEnum.UPDATE); + ArtifactOperationInfo artifactOperation = new ArtifactOperationInfo(true, true, ArtifactsBusinessLogic.ArtifactOperationEnum.UPDATE); List createdArtifacts = new ArrayList<>(); - try { - sIB1.createOrUpdateSingleNonMetaArtifact(service, csarInfo, artifactPath, artifactFileName, artifactType, artifactGroupType, - artifactLabel, artifactDisplayName, artifactDescription, artifactId, artifactOperation, createdArtifacts, - true, true, true); - } catch (Exception e) { - e.printStackTrace(); - } + ArtifactDefinition artifactDefinition = new ArtifactDefinition(); + artifactDefinition.setArtifactName("artifactName"); + Either artifactDefinitionOperationEither = Either.left(artifactDefinition); + when(csarArtifactsAndGroupsBusinessLogic.createOrUpdateCsarArtifactFromJson(any(Service.class), any(User.class), + anyMap(), any(ArtifactOperationInfo.class))).thenReturn(Either.left(artifactDefinitionOperationEither)); + Assertions.assertNotNull( + sIB1.createOrUpdateSingleNonMetaArtifact(service, csarInfo, artifactPath, artifactFileName, + artifactType, artifactGroupType, artifactLabel, artifactDisplayName, + artifactDescription, artifactId, artifactOperation, createdArtifacts, + true, true, true)); } @Test - public void testCreateOrUpdateSingleNonMetaServiceArtifactNull(){ + public void testCreateOrUpdateSingleNonMetaServiceArtifactNull() { Service service = createServiceObject(true); CsarInfo csarInfo = getCsarInfo(); String artifactPath = "valid_vf.csar", artifactFileName = "", artifactType = ""; ArtifactGroupTypeEnum artifactGroupType = ArtifactGroupTypeEnum.TOSCA; String artifactLabel = "", artifactDisplayName = "", artifactDescription = "", artifactId = "artifactId"; - ArtifactOperationInfo artifactOperation = new ArtifactOperationInfo(true,true, ArtifactsBusinessLogic.ArtifactOperationEnum.UPDATE); + ArtifactOperationInfo artifactOperation = new ArtifactOperationInfo(true, true, ArtifactsBusinessLogic.ArtifactOperationEnum.UPDATE); List createdArtifacts = new ArrayList<>(); - try { - sIB1.createOrUpdateSingleNonMetaArtifact(service, csarInfo, artifactPath, artifactFileName, artifactType, artifactGroupType, - artifactLabel, artifactDisplayName, artifactDescription, artifactId, artifactOperation, createdArtifacts, - true, true, true); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertNotNull( + sIB1.createOrUpdateSingleNonMetaArtifact(service, csarInfo, artifactPath, artifactFileName, + artifactType, artifactGroupType, artifactLabel, artifactDisplayName, + artifactDescription, artifactId, artifactOperation, createdArtifacts, + true, true, true)); } @Test - public void testCreateGroupsOnResource(){ + public void testCreateGroupsOnResource() { Service service = createServiceObject(true); - Map groups = getGroups(); - - try { - Either result = sIB1.createGroupsOnResource(service, groups); - } catch (Exception e) { - e.printStackTrace(); - } + Map groups = new HashMap<>(); + Assertions.assertNotNull( + sIB1.createGroupsOnResource(service, groups)); } @Test - public void testCreateGroupsOnResourceNull(){ + public void testCreateGroupsOnResourceNull() { Service service = createServiceObject(true); - Map groups = null; + Map groups = new HashMap<>(); + Assertions.assertNotNull( + sIB1.createGroupsOnResource(service, groups)); - Either result = sIB1.createGroupsOnResource(service, groups); - assertNotNull(result); } @Test - public void testUpdateGroupsMembersUsingResource(){ + public void testUpdateGroupsMembersUsingResource() { Service service = createServiceObject(true); - Map groups = null; + Map groups = getGroups(); + when(serviceImportParseLogic.validateCyclicGroupsDependencies(any())) + .thenReturn(Either.left(true)); + Assertions.assertNotNull( + sIB1.updateGroupsMembersUsingResource(groups, service)); - List groupDefinitions = sIB1.updateGroupsMembersUsingResource(groups, service); - for (GroupDefinition groupDefinition : groupDefinitions) { - assertNull(groupDefinition); - } } @Test - public void testUpdateGroupsMembersUsingResource_left(){ + public void testUpdateGroupsMembersUsingResource_left() { Service service = createServiceObject(true); Map groups = getGroups(); when(serviceImportParseLogic.validateCyclicGroupsDependencies(any())) .thenReturn(Either.left(true)); + Assertions.assertNotNull( + sIB1.updateGroupsMembersUsingResource(groups, service)); - List groupDefinitions = sIB1.updateGroupsMembersUsingResource(groups, service); - for (GroupDefinition groupDefinition : groupDefinitions) { - assertNotNull(groupDefinition); - } } @Test - public void testCreateRIAndRelationsFromResourceYaml(){ + public void testCreateRIAndRelationsFromResourceYaml() throws IOException { + String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test"; String yamlName = "group.yml"; Resource resource = createParseResourceObject(true); Map uploadComponentInstanceInfoMap = new HashMap<>(); String topologyTemplateYaml = getMainTemplateContent(); List nodeTypesNewCreatedArtifacts = new ArrayList<>(); - Map nodeTypesInfo = new HashMap<>(); + + Map nodeTypesInfo = getNodeTypesInfo(); + Map map = new HashMap<>(); + map.put("tosca_definitions_version", "123"); + nodeTypesInfo.get(nodeName).setMappedToscaTemplate(map); + CsarInfo csarInfo = getCsarInfo(); Map>> nodeTypesArtifactsToCreate = new HashMap<>(); - String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test"; - try { - sIB1.createRIAndRelationsFromYaml(yamlName,resource,uploadComponentInstanceInfoMap,topologyTemplateYaml,nodeTypesNewCreatedArtifacts, - nodeTypesInfo,csarInfo,nodeTypesArtifactsToCreate,nodeName); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> sIB1 + .createRIAndRelationsFromYaml(yamlName, resource, uploadComponentInstanceInfoMap, + topologyTemplateYaml, nodeTypesNewCreatedArtifacts, nodeTypesInfo, + csarInfo, nodeTypesArtifactsToCreate, nodeName)); } @Test - public void testCreateResourceInstancesRelations(){ + public void testCreateResourceInstancesRelations() { String yamlName = "group.yml"; Resource resource = createParseResourceObject(true); resource.setComponentInstances(creatComponentInstances()); resource.setResourceType(ResourceTypeEnum.VF); Map uploadResInstancesMap = new HashMap<>(); - uploadResInstancesMap.put("uploadResInstancesMap",getuploadComponentInstanceInfo()); - - try { - sIB1.createResourceInstancesRelations(user,yamlName,resource,uploadResInstancesMap); - } catch (Exception e) { - e.printStackTrace(); - } + uploadResInstancesMap.put("uploadResInstancesMap", getuploadComponentInstanceInfo()); + when(serviceImportParseLogic.getResourceAfterCreateRelations(any(Resource.class))).thenReturn(resource); + when(toscaOperationFacade.getToscaFullElement(anyString())).thenReturn(Either.left(resource)); + Assertions.assertThrows(ComponentException.class, () -> sIB1 + .createResourceInstancesRelations(user, yamlName, resource, uploadResInstancesMap)); } @Test - public void testCreateResourceInstancesRelations_Empty(){ + public void testCreateResourceInstancesRelations_Empty() { String yamlName = "group.yml"; Resource resource = createParseResourceObject(true); resource.setComponentInstances(creatComponentInstances()); - resource.setResourceType(ResourceTypeEnum.PNF); + resource.setResourceType(ResourceTypeEnum.VF); Map uploadResInstancesMap = new HashMap<>(); - uploadResInstancesMap.put("uploadResInstancesMap",getuploadComponentInstanceInfo()); - - try { - sIB1.createResourceInstancesRelations(user,yamlName,resource,uploadResInstancesMap); - } catch (Exception e) { - e.printStackTrace(); - } + uploadResInstancesMap.put("uploadResInstancesMap", getuploadComponentInstanceInfo()); + when(serviceImportParseLogic.getResourceAfterCreateRelations(any(Resource.class))).thenReturn(resource); + when(toscaOperationFacade.getToscaFullElement(anyString())).thenReturn(Either.left(resource)); + Assertions.assertThrows(ComponentException.class, () -> sIB1 + .createResourceInstancesRelations(user, yamlName, resource, uploadResInstancesMap)); } @Test - public void testProcessComponentInstance1(){ + public void testProcessComponentInstance1() { String yamlName = "group.yml"; Resource resource = createParseResourceObject(true); Resource originResource = createParseResourceObject(false); + originResource.setResourceType(ResourceTypeEnum.VF); List componentInstancesList = creatComponentInstances(); - Either, JanusGraphOperationStatus> allDataTypes = null; + Map dataTypeDefinitionMap = new HashMap<>(); + DataTypeDefinition dataTypeDefinition = new DataTypeDefinition(); + dataTypeDefinition.setName("dataTypeDefinitionName"); + dataTypeDefinitionMap.put("dataTypeDefinitionMap", dataTypeDefinition); + Either, JanusGraphOperationStatus> allDataTypes = Either.left(dataTypeDefinitionMap); Map> instProperties = new HashMap<>(); Map>> instCapabilties = new HashMap<>(); Map>> instRequirements = new HashMap<>(); Map> instDeploymentArtifacts = new HashMap<>(); Map> instArtifacts = new HashMap<>(); - Map> instAttributes = new HashMap<>(); + Map> instAttributes = new HashMap<>(); Map originCompMap = new HashMap<>(); - originCompMap.put("componentUid",originResource); + originCompMap.put("componentUid", originResource); Map> instInputs = new HashMap<>(); UploadComponentInstanceInfo uploadComponentInstanceInfo = new UploadComponentInstanceInfo(); uploadComponentInstanceInfo.setName("zxjTestImportServiceAb"); - - try { - sIB1.processComponentInstance(yamlName, resource, componentInstancesList,allDataTypes,instProperties,instCapabilties,instRequirements, - instDeploymentArtifacts,instArtifacts,instAttributes,originCompMap,instInputs,uploadComponentInstanceInfo); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertNotNull(resource); + Assertions.assertNotNull(yamlName); + sIB1.processComponentInstance(yamlName, resource, componentInstancesList, allDataTypes, instProperties, + instCapabilties, instRequirements, instDeploymentArtifacts, instArtifacts, instAttributes, + originCompMap, instInputs, uploadComponentInstanceInfo); } @Test - public void testProcessComponentInstance_null(){ + public void testProcessComponentInstance_null() { String yamlName = "group.yml"; Resource resource = createParseResourceObject(true); Resource originResource = createParseResourceObject(false); @@ -810,53 +846,49 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB Map>> instRequirements = new HashMap<>(); Map> instDeploymentArtifacts = new HashMap<>(); Map> instArtifacts = new HashMap<>(); - Map> instAttributes = new HashMap<>(); + Map> instAttributes = new HashMap<>(); Map originCompMap = new HashMap<>(); - originCompMap.put("componentUid",originResource); + originCompMap.put("componentUid", originResource); Map> instInputs = new HashMap<>(); UploadComponentInstanceInfo uploadComponentInstanceInfo = new UploadComponentInstanceInfo(); uploadComponentInstanceInfo.setName("zxjTestImportServiceAb0"); - try { - sIB1.processComponentInstance(yamlName, resource, componentInstancesList,allDataTypes,instProperties,instCapabilties,instRequirements, - instDeploymentArtifacts,instArtifacts,instAttributes,originCompMap,instInputs,uploadComponentInstanceInfo); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> sIB1.processComponentInstance(yamlName, + resource, componentInstancesList, allDataTypes, instProperties, instCapabilties, + instRequirements, instDeploymentArtifacts, instArtifacts, instAttributes, originCompMap, + instInputs, uploadComponentInstanceInfo)); } @Test - public void testAddInputsValuesToRi(){ + public void testAddInputsValuesToRi() { UploadComponentInstanceInfo uploadComponentInstanceInfo = new UploadComponentInstanceInfo(); Map> properties = new HashMap<>(); - List uploadPropInfoList = new ArrayList<>(); - UploadPropInfo uploadPropInfo = new UploadPropInfo(); - uploadPropInfo.setName("uploadPropInfo"); - uploadPropInfoList.add(uploadPropInfo); - uploadPropInfoList.add(uploadPropInfo); - properties.put("propertiesMap",uploadPropInfoList); + List uploadPropInfoList = getPropertyList(); + properties.put("propertiesMap", uploadPropInfoList); uploadComponentInstanceInfo.setProperties(properties); Resource resource = createParseResourceObject(true); - Resource originResource =createParseResourceObject(false); + Resource originResource = createParseResourceObject(false); List inputs = new ArrayList<>(); InputDefinition inputDefinition = new InputDefinition(); + inputDefinition.setName("inputDefinitionName"); inputDefinition.setUniqueId("uniqueId"); + inputDefinition.setType("inputDefinitionType"); inputs.add(inputDefinition); originResource.setInputs(inputs); ComponentInstance currentCompInstance = new ComponentInstance(); Map> instInputs = new HashMap<>(); Map allDataTypes = new HashMap<>(); + DataTypeDefinition dataTypeDefinition = new DataTypeDefinition(); + dataTypeDefinition.setName("dataTypeDefinitionName"); + allDataTypes.put("dataTypeDefinitionMap", dataTypeDefinition); - try { - sIB1.addInputsValuesToRi(uploadComponentInstanceInfo,resource,originResource, - currentCompInstance,instInputs,allDataTypes); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> sIB1 + .addInputsValuesToRi(uploadComponentInstanceInfo, resource, originResource, + currentCompInstance, instInputs, allDataTypes)); } @Test - public void testProcessProperty(){ + public void testProcessProperty() { Resource resource = createParseResourceObject(true); List inputs = new ArrayList<>(); InputDefinition inputDefinition = new InputDefinition(); @@ -868,60 +900,40 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB ComponentInstance currentCompInstance = null; Map allDataTypes = new HashMap<>(); Map currPropertiesMap = new HashMap<>(); - currPropertiesMap.put("propertyInfoName",inputDefinition); + currPropertiesMap.put("propertyInfoName", inputDefinition); List instPropList = new ArrayList<>(); - List propertyList = new ArrayList<>(); - List get_input = new ArrayList<>(); - GetInputValueDataDefinition getInputValueDataDefinition = new GetInputValueDataDefinition(); - getInputValueDataDefinition.setPropName("getInputValueDataDefinitionName"); - getInputValueDataDefinition.setInputName("inputDefinitionName"); - get_input.add(getInputValueDataDefinition); - UploadPropInfo propertyInfo = new UploadPropInfo(); - propertyInfo.setValue("value"); - propertyInfo.setGet_input(get_input); - propertyInfo.setName("propertyInfoName"); - propertyList.add(propertyInfo); - - try { - sIB1.processProperty(resource, currentCompInstance, allDataTypes, - currPropertiesMap, instPropList, propertyList); - } catch (Exception e) { - e.printStackTrace(); - } + List propertyList = getPropertyList(); + Assertions.assertNotNull(resource); + Assertions.assertNotNull(currPropertiesMap); + sIB1.processProperty(resource, currentCompInstance, allDataTypes, currPropertiesMap, instPropList, propertyList); } @Test - public void testHandleSubstitutionMappings(){ + public void testHandleSubstitutionMappings() { Resource resource = createParseResourceObject(true); resource.setResourceType(ResourceTypeEnum.VF); Map uploadResInstancesMap = new HashMap<>(); when(toscaOperationFacade.getToscaFullElement(anyString())) .thenReturn(Either.right(StorageOperationStatus.BAD_REQUEST)); - try { - sIB1.handleSubstitutionMappings(resource, uploadResInstancesMap); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> sIB1 + .handleSubstitutionMappings(resource, uploadResInstancesMap)); } @Test - public void testHandleSubstitutionMappings_left(){ + public void testHandleSubstitutionMappings_left() { Resource resource = createParseResourceObject(true); resource.setResourceType(ResourceTypeEnum.VF); Map uploadResInstancesMap = new HashMap<>(); when(toscaOperationFacade.getToscaFullElement(anyString())) .thenReturn(Either.left(resource)); - try { - sIB1.handleSubstitutionMappings(resource, uploadResInstancesMap); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> sIB1 + .handleSubstitutionMappings(resource, uploadResInstancesMap)); } @Test - public void testCreateResourceInstances(){ + public void testCreateResourceInstances() { String yamlName = "group.yml"; Resource resource = createParseResourceObject(true); Resource originResource = createParseResourceObject(false); @@ -931,41 +943,35 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB nodesInfoValue.setRequirements(gerRequirements()); uploadResInstancesMap.put("uploadComponentInstanceInfo", nodesInfoValue); Map nodeNamespaceMap = new HashMap<>(); - nodeNamespaceMap.put("resources",originResource); + nodeNamespaceMap.put("resources", originResource); - try { - sIB1.createResourceInstances(yamlName,resource,uploadResInstancesMap,nodeNamespaceMap); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> sIB1 + .createResourceInstances(yamlName, resource, uploadResInstancesMap, nodeNamespaceMap)); } @Test - public void testHandleNodeTypes(){ + public void testHandleNodeTypes() throws IOException { + String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test"; String yamlName = "group.yml"; Resource resource = createParseResourceObject(true); String topologyTemplateYaml = getMainTemplateContent(); boolean needLock = true; Map>> nodeTypesArtifactsToHandle = new HashMap<>(); List nodeTypesNewCreatedArtifacts = new ArrayList<>(); - Map nodeTypesInfo = new HashMap<>(); - NodeTypeInfo nodeTypeInfo = new NodeTypeInfo(); - nodeTypeInfo.setNested(false); - String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test"; - nodeTypesInfo.put(nodeName,nodeTypeInfo); + Map nodeTypesInfo = getNodeTypesInfo(); + Map map = new HashMap<>(); + map.put("tosca_definitions_version", "123"); + nodeTypesInfo.get(nodeName).setMappedToscaTemplate(map); + ParsedToscaYamlInfo parsedToscaYamlInfo = getParsedToscaYamlInfo(); CsarInfo csarInfo = getCsarInfo(); + Assertions.assertNotNull(resource); - try { - sIB1.handleNodeTypes(yamlName,resource,topologyTemplateYaml,needLock, - nodeTypesArtifactsToHandle,nodeTypesNewCreatedArtifacts,nodeTypesInfo, - csarInfo,nodeName); - } catch (Exception e) { - e.printStackTrace(); - } + sIB1.handleNodeTypes(yamlName, resource, topologyTemplateYaml, needLock, nodeTypesArtifactsToHandle, + nodeTypesNewCreatedArtifacts, nodeTypesInfo, csarInfo, nodeName); } @Test - public void testHandleNestedVfc1(){ + public void testHandleNestedVfc1() { String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test"; Resource resource = createParseResourceObject(false); Map>> nodeTypesArtifactsToHandle = new HashMap<>(); @@ -974,19 +980,15 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB NodeTypeInfo nodeTypeInfo = new NodeTypeInfo(); nodeTypeInfo.setTemplateFileName("groups.yml"); nodeTypeInfo.setMappedToscaTemplate(new HashMap<>()); - nodesInfo.put(nodeName,nodeTypeInfo); + nodesInfo.put(nodeName, nodeTypeInfo); CsarInfo csarInfo = getCsarInfo(); - try { - sIB1.handleNestedVfc(resource,nodeTypesArtifactsToHandle,createdArtifacts, - nodesInfo,csarInfo,nodeName); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> sIB1.handleNestedVfc(resource, + nodeTypesArtifactsToHandle, createdArtifacts, nodesInfo, csarInfo, nodeName)); } @Test - public void testHandleComplexVfc1(){ + public void testHandleComplexVfc1() { Resource resource = createParseResourceObject(true); Map>> nodeTypesArtifactsToHandle = new HashMap<>(); List createdArtifacts = new ArrayList<>(); @@ -994,19 +996,19 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB CsarInfo csarInfo = getCsarInfo(); String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test"; String yamlName = "group.yml"; + when(serviceImportParseLogic.buildValidComplexVfc(any(Resource.class), any(CsarInfo.class), anyString(), + anyMap())).thenReturn(createParseResourceObject(false)); when(toscaOperationFacade.getFullLatestComponentByToscaResourceName(anyString())) - .thenReturn(Either.right(StorageOperationStatus.BAD_REQUEST)); + .thenReturn(Either.left(resource)); + when(serviceImportParseLogic.validateNestedDerivedFromDuringUpdate(any(Resource.class), any(Resource.class), + anyBoolean())).thenReturn(Either.left(true)); - try { - sIB1.handleComplexVfc(resource,nodeTypesArtifactsToHandle,createdArtifacts, - nodesInfo,csarInfo,nodeName,yamlName); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> sIB1.handleComplexVfc(resource, + nodeTypesArtifactsToHandle, createdArtifacts, nodesInfo, csarInfo, nodeName, yamlName)); } @Test - public void testCreateResourcesFromYamlNodeTypesList1(){ + public void testCreateResourcesFromYamlNodeTypesList1() { String yamlName = "group.yml"; Resource resource = createParseResourceObject(false); Map mappedToscaTemplate = new HashMap<>(); @@ -1016,17 +1018,15 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB Map nodeTypesInfo = new HashMap<>(); CsarInfo csarInfo = getCsarInfo(); - try { - sIB1.createResourcesFromYamlNodeTypesList(yamlName,resource,mappedToscaTemplate, - needLock, nodeTypesArtifactsToHandle,nodeTypesNewCreatedArtifacts, - nodeTypesInfo,csarInfo); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> sIB1 + .createResourcesFromYamlNodeTypesList(yamlName, resource, mappedToscaTemplate, needLock, + nodeTypesArtifactsToHandle, nodeTypesNewCreatedArtifacts, nodeTypesInfo, csarInfo)); + } @Test - public void testCreateNodeTypes1(){ + public void testCreateNodeTypes1() { + String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test"; String yamlName = "group.yml"; Resource resource = createParseResourceObject(false); boolean needLock = true; @@ -1039,31 +1039,31 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB artifactDefinitions.add(artifactDefinition); enumListEnumMap.put(ArtifactsBusinessLogic.ArtifactOperationEnum.CREATE, artifactDefinitions); - nodeTypesArtifactsToHandle.put("nodeTyp",enumListEnumMap); + nodeTypesArtifactsToHandle.put("nodeTyp", enumListEnumMap); List nodeTypesNewCreatedArtifacts = new ArrayList<>(); - Map nodeTypesInfo = new HashMap<>(); - NodeTypeInfo nodeTypeInfo = new NodeTypeInfo(); - nodeTypesInfo.put("nodeTyp",nodeTypeInfo); + Map nodeTypesInfo = getNodeTypesInfo(); + Map map = new HashMap<>(); + map.put("tosca_definitions_version", "123"); + nodeTypesInfo.get(nodeName).setMappedToscaTemplate(map); + ParsedToscaYamlInfo parsedToscaYamlInfo = getParsedToscaYamlInfo(); + CsarInfo csarInfo = getCsarInfo(); - Map mapToConvert =new HashMap<>(); - Map nodeTypes =new HashMap<>(); - nodeTypes.put("nodeTyp",nodeTypeInfo); + Map mapToConvert = new HashMap<>(); + Map nodeTypes = new HashMap<>(); + nodeTypes.put(nodeName, ""); + Assertions.assertNotNull(resource); - try { - sIB1.createNodeTypes(yamlName, resource, needLock, nodeTypesArtifactsToHandle, - nodeTypesNewCreatedArtifacts, nodeTypesInfo, csarInfo, mapToConvert, - nodeTypes); - } catch (Exception e) { - e.printStackTrace(); - } + sIB1.createNodeTypes(yamlName, + resource, needLock, nodeTypesArtifactsToHandle, nodeTypesNewCreatedArtifacts, + nodeTypesInfo, csarInfo, mapToConvert, nodeTypes); } @Test - public void testCreateNodeTypeResourceFromYaml(){ + public void testCreateNodeTypeResourceFromYaml() throws IOException { String yamlName = "group.yml"; String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test"; - Map nodeMap = new HashMap<>(); - nodeMap.put(nodeName,getGroupsYaml()); + Map nodeMap = new HashMap<>(); + nodeMap.put(nodeName, getGroupsYaml()); Map.Entry nodeNameValue = nodeMap.entrySet().iterator().next(); Map mapToConvert = new HashedMap(); Resource resourceVf = createParseResourceObject(false); @@ -1073,93 +1073,116 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB boolean forceCertificationAllowed = true; CsarInfo csarInfo = getCsarInfo(); boolean isNested = true; - - try { - sIB1.createNodeTypeResourceFromYaml(yamlName,nodeNameValue,user,mapToConvert,resourceVf, - needLock,nodeTypeArtifactsToHandle,nodeTypesNewCreatedArtifacts, - forceCertificationAllowed,csarInfo,isNested); - } catch (Exception e) { - e.printStackTrace(); - } - } - - @Test - public void testCreateRIAndRelationsFromYaml(){ + UploadResourceInfo resourceMetaData = new UploadResourceInfo(); + resourceMetaData.setResourceType("VFC"); + ImmutablePair immutablePair = new ImmutablePair<>(resourceVf, ActionStatus.CREATED); + when(serviceImportParseLogic.fillResourceMetadata(anyString(), any(Resource.class), anyString(), any(User.class))) + .thenReturn(resourceMetaData); + when(serviceImportParseLogic.buildNodeTypeYaml(any(Map.Entry.class), anyMap(), anyString(), any(CsarInfo.class))) + .thenReturn(nodeName); + when(serviceBusinessLogic.validateUser(any(User.class), anyString(), any(Component.class), any(AuditingActionEnum.class), + anyBoolean())).thenReturn(user); + when(serviceImportParseLogic.createResourceFromNodeType(anyString(), any(UploadResourceInfo.class), any(User.class), anyBoolean(), anyBoolean(), + anyMap(), anyList(), anyBoolean(), any(CsarInfo.class), + anyString(), anyBoolean())).thenReturn(immutablePair); + Assertions.assertNotNull( + sIB1.createNodeTypeResourceFromYaml(yamlName, nodeNameValue, user, mapToConvert, + resourceVf, needLock, nodeTypeArtifactsToHandle, nodeTypesNewCreatedArtifacts, + forceCertificationAllowed, csarInfo, isNested)); + } + + @Test + public void testCreateRIAndRelationsFromYaml() { String yamlName = "group.yml"; Service service = createServiceObject(true); Map uploadComponentInstanceInfoMap = new HashMap<>(); - String topologyTemplateYaml = getMainTemplateContent("service_import_template.yml");; + String topologyTemplateYaml = getMainTemplateContent("service_import_template.yml"); + ; List nodeTypesNewCreatedArtifacts = new ArrayList<>(); Map nodeTypesInfo = new HashMap<>(); CsarInfo csarInfo = getCsarInfo(); Map>> nodeTypesArtifactsToCreate = new HashMap<>(); String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test"; - try { - sIB1.createRIAndRelationsFromYaml(yamlName,service,uploadComponentInstanceInfoMap,topologyTemplateYaml,nodeTypesNewCreatedArtifacts, - nodeTypesInfo,csarInfo,nodeTypesArtifactsToCreate,nodeName); - } catch (Exception e) { - e.printStackTrace(); - } + + Assertions.assertThrows(ComponentException.class, () -> sIB1 + .createRIAndRelationsFromYaml(yamlName, service, uploadComponentInstanceInfoMap, + topologyTemplateYaml, nodeTypesNewCreatedArtifacts, nodeTypesInfo, + csarInfo, nodeTypesArtifactsToCreate, nodeName)); } @Test - public void testCreateServiceInstancesRelations(){ + public void testCreateServiceInstancesRelations() { String yamlName = "group.yml"; Service service = createServiceObject(true); service.setComponentInstances(creatComponentInstances()); - Map uploadResInstancesMap = new HashMap<>(); - uploadResInstancesMap.put("uploadResInstancesMap",getuploadComponentInstanceInfo()); - - try { - sIB1.createServiceInstancesRelations(user, yamlName, service, uploadResInstancesMap); - } catch (Exception e) { - e.printStackTrace(); - } + Resource newResource = createNewResource(); + Map uploadResInstancesMap = getUploadResInstancesMap(); + ComponentParametersView componentParametersView = new ComponentParametersView(); + RequirementDefinition requirementDefinition = new RequirementDefinition(); + CapabilityDefinition capabilityDefinition = new CapabilityDefinition(); + capabilityDefinition.setName("as"); + capabilityDefinition.setUniqueId("1"); + capabilityDefinition.setOwnerId("2"); + ResponseFormat responseFormat = new ResponseFormat(); + responseFormat.setStatus(200); + when(serviceImportParseLogic.getResourceAfterCreateRelations(any(Resource.class))).thenReturn(newResource); + when(serviceImportParseLogic.getComponentFilterAfterCreateRelations()).thenReturn(componentParametersView); + when(toscaOperationFacade.getToscaElement(anyString(), any(ComponentParametersView.class))).thenReturn(Either.left(service)); + when(serviceImportParseLogic.findAviableRequiremen(anyString(), + anyString(), any(UploadComponentInstanceInfo.class), any(ComponentInstance.class), + anyString())).thenReturn(Either.left(requirementDefinition)); + when(serviceImportParseLogic.findAvailableCapabilityByTypeOrName(any(RequirementDefinition.class), + 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)); } @Test - public void testCreateServiceInstancesRelations_Empty(){ + public void testCreateServiceInstancesRelations_Empty() { String yamlName = "group.yml"; Service service = createServiceObject(true); service.setComponentInstances(creatComponentInstances()); Map uploadResInstancesMap = new HashMap<>(); - try { - sIB1.createServiceInstancesRelations(user, yamlName, service, uploadResInstancesMap); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> sIB1 + .createServiceInstancesRelations(user, yamlName, service, uploadResInstancesMap)); } @Test - public void testProcessComponentInstance(){ + public void testProcessComponentInstance() { String yamlName = "group.yml"; Service service = createServiceObject(true); Resource originResource = createParseResourceObject(false); + originResource.setResourceType(ResourceTypeEnum.VF); List componentInstancesList = creatComponentInstances(); - Either, JanusGraphOperationStatus> allDataTypes = null; + Map dataTypeDefinitionMap = new HashMap<>(); + DataTypeDefinition dataTypeDefinition = new DataTypeDefinition(); + dataTypeDefinition.setName("dataTypeDefinitionName"); + dataTypeDefinitionMap.put("dataTypeDefinitionMap", dataTypeDefinition); + Either, JanusGraphOperationStatus> allDataTypes = Either.left(dataTypeDefinitionMap); Map> instProperties = new HashMap<>(); Map>> instCapabilties = new HashMap<>(); Map>> instRequirements = new HashMap<>(); Map> instDeploymentArtifacts = new HashMap<>(); Map> instArtifacts = new HashMap<>(); - Map> instAttributes = new HashMap<>(); + Map> instAttributes = new HashMap<>(); Map originCompMap = new HashMap<>(); - originCompMap.put("componentUid",originResource); + originCompMap.put("componentUid", originResource); Map> instInputs = new HashMap<>(); UploadComponentInstanceInfo uploadComponentInstanceInfo = new UploadComponentInstanceInfo(); uploadComponentInstanceInfo.setName("zxjTestImportServiceAb"); + Assertions.assertNotNull(service); - try { - sIB1.processComponentInstance(yamlName, service, componentInstancesList,allDataTypes,instProperties,instCapabilties,instRequirements, - instDeploymentArtifacts,instArtifacts,instAttributes,originCompMap,instInputs,uploadComponentInstanceInfo); - } catch (Exception e) { - e.printStackTrace(); - } + sIB1.processComponentInstance(yamlName, service, componentInstancesList, allDataTypes, + instProperties, instCapabilties, instRequirements, instDeploymentArtifacts, + instArtifacts, instAttributes, originCompMap, instInputs, + uploadComponentInstanceInfo); } @Test - public void testProcessComponentInstance_null2(){ + public void testProcessComponentInstance_null2() { String yamlName = "group.yml"; Service service = createServiceObject(true); Resource originResource = createParseResourceObject(false); @@ -1170,23 +1193,21 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB Map>> instRequirements = new HashMap<>(); Map> instDeploymentArtifacts = new HashMap<>(); Map> instArtifacts = new HashMap<>(); - Map> instAttributes = new HashMap<>(); + Map> instAttributes = new HashMap<>(); Map originCompMap = new HashMap<>(); - originCompMap.put("componentUid",originResource); + originCompMap.put("componentUid", originResource); Map> instInputs = new HashMap<>(); UploadComponentInstanceInfo uploadComponentInstanceInfo = new UploadComponentInstanceInfo(); uploadComponentInstanceInfo.setName("zxjTestImportServiceAb0"); - try { - sIB1.processComponentInstance(yamlName, service, componentInstancesList,allDataTypes,instProperties,instCapabilties,instRequirements, - instDeploymentArtifacts,instArtifacts,instAttributes,originCompMap,instInputs,uploadComponentInstanceInfo); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> sIB1.processComponentInstance(yamlName, + service, componentInstancesList, allDataTypes, instProperties, instCapabilties, + instRequirements, instDeploymentArtifacts, instArtifacts, instAttributes, originCompMap, + instInputs, uploadComponentInstanceInfo)); } @Test - public void testAddInputsValuesToRi2(){ + public void testAddInputsValuesToRi2() { UploadComponentInstanceInfo uploadComponentInstanceInfo = new UploadComponentInstanceInfo(); Map> properties = new HashMap<>(); List uploadPropInfoList = new ArrayList<>(); @@ -1194,10 +1215,10 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB uploadPropInfo.setName("uploadPropInfo"); uploadPropInfoList.add(uploadPropInfo); uploadPropInfoList.add(uploadPropInfo); - properties.put("propertiesMap",uploadPropInfoList); + properties.put("propertiesMap", uploadPropInfoList); uploadComponentInstanceInfo.setProperties(properties); Service resource = createServiceObject(true); - Resource originResource =createParseResourceObject(false); + Resource originResource = createParseResourceObject(false); List inputs = new ArrayList<>(); InputDefinition inputDefinition = new InputDefinition(); inputDefinition.setUniqueId("uniqueId"); @@ -1207,16 +1228,13 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB Map> instInputs = new HashMap<>(); Map allDataTypes = new HashMap<>(); - try { - sIB1.addInputsValuesToRi(uploadComponentInstanceInfo,resource,originResource, - currentCompInstance,instInputs,allDataTypes); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> sIB1 + .addInputsValuesToRi(uploadComponentInstanceInfo, resource, originResource, + currentCompInstance, instInputs, allDataTypes)); } @Test - public void testProcessProperty2(){ + public void testProcessProperty2() { Service resource = createServiceObject(true); List inputs = new ArrayList<>(); ComponentInstance currentCompInstance = null; @@ -1226,7 +1244,7 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB inputDefinition.setName("inputDefinitionName"); inputDefinition.setType("inputDefinitionType"); inputs.add(inputDefinition); - currPropertiesMap.put("propertyInfoName",inputDefinition); + currPropertiesMap.put("propertyInfoName", inputDefinition); resource.setInputs(inputs); List instPropList = new ArrayList<>(); List propertyList = new ArrayList<>(); @@ -1240,30 +1258,23 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB propertyInfo.setGet_input(get_input); propertyInfo.setName("propertyInfoName"); propertyList.add(propertyInfo); + Assertions.assertNotNull(resource); - try { - sIB1.processProperty(resource, currentCompInstance, allDataTypes, - currPropertiesMap, instPropList, propertyList); - } catch (Exception e) { - e.printStackTrace(); - } + sIB1.processProperty(resource, currentCompInstance, allDataTypes, currPropertiesMap, instPropList, propertyList); } @Test - public void testProcessGetInput(){ + public void testProcessGetInput() { List getInputValues = new ArrayList<>(); List inputs = new ArrayList<>(); GetInputValueDataDefinition getInputIndex = new GetInputValueDataDefinition(); - try { - sIB1.processGetInput(getInputValues,inputs,getInputIndex); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> sIB1.processGetInput(getInputValues, + inputs, getInputIndex)); } @Test - public void testProcessGetInput_optional(){ + public void testProcessGetInput_optional() { List getInputValues = new ArrayList<>(); List inputs = new ArrayList<>(); InputDefinition inputDefinition = new InputDefinition(); @@ -1272,30 +1283,39 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB inputs.add(inputDefinition); GetInputValueDataDefinition getInputIndex = new GetInputValueDataDefinition(); getInputIndex.setInputName("InputName"); + Assertions.assertNotNull(inputs); - sIB1.processGetInput(getInputValues,inputs,getInputIndex); + sIB1.processGetInput(getInputValues, inputs, getInputIndex); } @Test - public void testAddPropertyValuesToRi(){ + public void testAddPropertyValuesToRi() { UploadComponentInstanceInfo uploadComponentInstanceInfo = new UploadComponentInstanceInfo(); uploadComponentInstanceInfo.setProperties(getUploadPropInfoProperties()); Resource resource = createParseResourceObject(true); + List inputs = new ArrayList<>(); + InputDefinition inputDefinition = new InputDefinition(); + inputDefinition.setName("inputDefinitionName"); + inputDefinition.setUniqueId("uniqueId"); + inputDefinition.setType("inputDefinitionType"); + inputs.add(inputDefinition); + resource.setInputs(inputs); Resource originResource = createParseResourceObject(false); originResource.setProperties(getProperties()); ComponentInstance currentCompInstance = new ComponentInstance(); Map> instProperties = new HashMap<>(); Map allDataTypes = new HashMap<>(); - try { - sIB1.addPropertyValuesToRi(uploadComponentInstanceInfo, resource, originResource, currentCompInstance, - instProperties, allDataTypes); - } catch (Exception e) { - e.printStackTrace(); - } + ResponseFormat responseFormat = new ResponseFormat(); + when(serviceImportParseLogic.findInputByName(anyList(), any(GetInputValueDataDefinition.class))) + .thenReturn(inputDefinition); + when(componentsUtils.getResponseFormat(any(ActionStatus.class))).thenReturn(responseFormat); + Assertions.assertNotNull( + sIB1.addPropertyValuesToRi(uploadComponentInstanceInfo, resource, originResource, + currentCompInstance, instProperties, allDataTypes)); } @Test - public void testAddPropertyValuesToRi_else(){ + public void testAddPropertyValuesToRi_else() { UploadComponentInstanceInfo uploadComponentInstanceInfo = new UploadComponentInstanceInfo(); Resource resource = createParseResourceObject(true); Resource originResource = createParseResourceObject(false); @@ -1303,175 +1323,176 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB ComponentInstance currentCompInstance = new ComponentInstance(); Map> instProperties = new HashMap<>(); Map allDataTypes = new HashMap<>(); - try { - sIB1.addPropertyValuesToRi(uploadComponentInstanceInfo, resource, originResource, currentCompInstance, - instProperties, allDataTypes); - } catch (Exception e) { - e.printStackTrace(); - } + ResponseFormat responseFormat = new ResponseFormat(); + when(componentsUtils.getResponseFormat(any(ActionStatus.class))).thenReturn(responseFormat); + Assertions.assertNotNull( + sIB1.addPropertyValuesToRi(uploadComponentInstanceInfo, resource, originResource, currentCompInstance, + instProperties, allDataTypes)); + } @Test - public void testAddPropertyValuesToRi2(){ + public void testAddPropertyValuesToRi2() { UploadComponentInstanceInfo uploadComponentInstanceInfo = new UploadComponentInstanceInfo(); uploadComponentInstanceInfo.setProperties(getUploadPropInfoProperties()); - Service service = createServiceObject(false); + Service service = createServiceObject(true); + List inputs = new ArrayList<>(); + InputDefinition inputDefinition = new InputDefinition(); + inputDefinition.setName("inputDefinitionName"); + inputDefinition.setUniqueId("uniqueId"); + inputDefinition.setType("inputDefinitionType"); + inputs.add(inputDefinition); + service.setInputs(inputs); Resource originResource = createParseResourceObject(false); originResource.setProperties(getProperties()); ComponentInstance currentCompInstance = new ComponentInstance(); Map> instProperties = new HashMap<>(); Map allDataTypes = new HashMap<>(); - - try { - sIB1.addPropertyValuesToRi(uploadComponentInstanceInfo, service, originResource, currentCompInstance, - instProperties, allDataTypes); - } catch (Exception e) { - e.printStackTrace(); - } + ResponseFormat responseFormat = new ResponseFormat(); + when(componentsUtils.getResponseFormat(any(ActionStatus.class))).thenReturn(responseFormat); + when(serviceImportParseLogic.findInputByName(anyList(), any(GetInputValueDataDefinition.class))) + .thenReturn(inputDefinition); + Assertions.assertNotNull( + sIB1.addPropertyValuesToRi(uploadComponentInstanceInfo, service, originResource, + currentCompInstance, instProperties, allDataTypes)); } @Test - public void testAddPropertyValuesToRi2_else(){ + public void testAddPropertyValuesToRi2_else() { UploadComponentInstanceInfo uploadComponentInstanceInfo = new UploadComponentInstanceInfo(); - Service service = createServiceObject(false); + Service service = createServiceObject(true); Resource originResource = createParseResourceObject(false); originResource.setProperties(getProperties()); ComponentInstance currentCompInstance = new ComponentInstance(); Map> instProperties = new HashMap<>(); Map allDataTypes = new HashMap<>(); - - try { - sIB1.addPropertyValuesToRi(uploadComponentInstanceInfo, service, originResource, currentCompInstance, - instProperties, allDataTypes); - } catch (Exception e) { - e.printStackTrace(); - } + ResponseFormat responseFormat = new ResponseFormat(); + when(componentsUtils.getResponseFormat(any(ActionStatus.class))).thenReturn(responseFormat); + Assertions.assertNotNull( + sIB1.addPropertyValuesToRi(uploadComponentInstanceInfo, service, originResource, currentCompInstance, + instProperties, allDataTypes)); } @Test - public void testProcessComponentInstanceCapabilities(){ + public void testProcessComponentInstanceCapabilities() { Either, JanusGraphOperationStatus> allDataTypes = null; Map>> instCapabilties = new HashMap<>(); UploadComponentInstanceInfo uploadComponentInstanceInfo = new UploadComponentInstanceInfo(); uploadComponentInstanceInfo.setCapabilities(getCapabilities()); ComponentInstance currentCompInstance = new ComponentInstance(); Resource originResource = createParseResourceObject(false); - - sIB1.processComponentInstanceCapabilities(allDataTypes, instCapabilties, uploadComponentInstanceInfo, - currentCompInstance, originResource); + Assertions.assertNotNull(originResource); + sIB1.processComponentInstanceCapabilities(allDataTypes, instCapabilties, + uploadComponentInstanceInfo, currentCompInstance, originResource); } @Test - public void testProcessComponentInstanceCapabilities_null(){ + public void testProcessComponentInstanceCapabilities_null() { Either, JanusGraphOperationStatus> allDataTypes = null; Map>> instCapabilties = new HashMap<>(); UploadComponentInstanceInfo uploadComponentInstanceInfo = new UploadComponentInstanceInfo(); ComponentInstance currentCompInstance = new ComponentInstance(); Resource originResource = createParseResourceObject(false); + Assertions.assertNotNull(originResource); sIB1.processComponentInstanceCapabilities(allDataTypes, instCapabilties, uploadComponentInstanceInfo, currentCompInstance, originResource); } @Test - public void testUpdateCapabilityPropertiesValues(){ + public void testUpdateCapabilityPropertiesValues() { Either, JanusGraphOperationStatus> allDataTypes = null; Map> originCapabilities = new HashMap<>(); Map> newPropertiesMap = new HashMap<>(); - + Assertions.assertNull(allDataTypes); sIB1.updateCapabilityPropertiesValues(allDataTypes, originCapabilities, newPropertiesMap); } @Test - public void testUpdatePropertyValues(){ + public void testUpdatePropertyValues() { List properties = new ArrayList<>(); Map newProperties = new HashMap<>(); Map allDataTypes = new HashMap<>(); - - sIB1.updatePropertyValues(properties,newProperties,allDataTypes); + Assertions.assertNotNull(allDataTypes); + sIB1.updatePropertyValues(properties, newProperties, allDataTypes); } @Test - public void testUpdatePropertyValue(){ + public void testUpdatePropertyValue() { ComponentInstanceProperty property = new ComponentInstanceProperty(); property.setType("services"); UploadPropInfo propertyInfo = new UploadPropInfo(); propertyInfo.setValue("value"); Map allDataTypes = new HashMap<>(); - - try { - sIB1.updatePropertyValue(property,propertyInfo,allDataTypes); - } catch (Exception e) { - e.printStackTrace(); - } + when(serviceBusinessLogic.validatePropValueBeforeCreate(any(IPropertyInputCommon.class), anyString(), anyBoolean(), anyMap())).thenReturn("qw"); + Assertions.assertNotNull( + sIB1.updatePropertyValue(property, propertyInfo, allDataTypes)); } @Test - public void testGetOriginResource(){ + public void testGetOriginResource() { String yamlName = "group.yml"; Map originCompMap = new HashMap<>(); ComponentInstance currentCompInstance = new ComponentInstance(); currentCompInstance.setComponentUid("currentCompInstance"); - - try { - sIB1.getOriginResource(yamlName,originCompMap,currentCompInstance); - } catch (Exception e) { - e.printStackTrace(); - } + when(toscaOperationFacade.getToscaFullElement(anyString())) + .thenReturn(Either.left(createParseResourceObject(true))); + Assertions.assertNotNull( + sIB1.getOriginResource(yamlName, originCompMap, currentCompInstance)); } @Test - public void testHandleSubstitutionMappings2(){ - Service service = createServiceObject(false); + public void testHandleSubstitutionMappings2() { + Service service = createServiceObject(true); Map uploadResInstancesMap = new HashMap<>(); + Assertions.assertNotNull(service); sIB1.handleSubstitutionMappings(service, uploadResInstancesMap); } @Test - public void testUpdateCalculatedCapReqWithSubstitutionMappings(){ + public void testUpdateCalculatedCapReqWithSubstitutionMappings() { Resource resource = createParseResourceObject(false); - Map uploadResInstancesMap = new HashMap<>(); + resource.setComponentInstances(creatComponentInstances()); + Map uploadResInstancesMap = getUploadResInstancesMap(); when(toscaOperationFacade.deleteAllCalculatedCapabilitiesRequirements(any())).thenReturn(StorageOperationStatus.OK); - - try { - sIB1.updateCalculatedCapReqWithSubstitutionMappings(resource,uploadResInstancesMap); - } catch (Exception e) { - - } + Assertions.assertNotNull( + sIB1.updateCalculatedCapReqWithSubstitutionMappings(resource, uploadResInstancesMap)); } @Test - public void testFillUpdatedInstCapabilitiesRequirements(){ + public void testFillUpdatedInstCapabilitiesRequirements() { List componentInstances = creatComponentInstances(); Map uploadResInstancesMap = getUploadResInstancesMap(); Map>> updatedInstCapabilities = new HashMap<>(); Map>> updatedInstRequirement = new HashMap<>(); + Assertions.assertNotNull(componentInstances); - sIB1.fillUpdatedInstCapabilitiesRequirements(componentInstances,uploadResInstancesMap, - updatedInstCapabilities,updatedInstRequirement); + sIB1.fillUpdatedInstCapabilitiesRequirements(componentInstances, uploadResInstancesMap, + updatedInstCapabilities, updatedInstRequirement); } @Test - public void testFillUpdatedInstCapabilities(){ + public void testFillUpdatedInstCapabilities() { Map>> updatedInstCapabilties = new HashMap<>(); Map> capabilities = new HashMap<>(); List capabilityDefinitionList = new ArrayList<>(); CapabilityDefinition capabilityDefinition = new CapabilityDefinition(); capabilityDefinition.setName("mme_ipu_vdu.feature"); capabilityDefinitionList.add(capabilityDefinition); - capabilities.put("tosca.capabilities.Node",capabilityDefinitionList); + capabilities.put("tosca.capabilities.Node", capabilityDefinitionList); ComponentInstance instance = new ComponentInstance(); instance.setCapabilities(capabilities); Map capabilitiesNamesToUpdate = new HashMap<>(); - capabilitiesNamesToUpdate.put("mme_ipu_vdu.feature","capabilitiesNamesToUpdate"); + capabilitiesNamesToUpdate.put("mme_ipu_vdu.feature", "capabilitiesNamesToUpdate"); + Assertions.assertNotNull(instance); - sIB1.fillUpdatedInstCapabilities(updatedInstCapabilties,instance,capabilitiesNamesToUpdate); + sIB1.fillUpdatedInstCapabilities(updatedInstCapabilties, instance, capabilitiesNamesToUpdate); } @Test - public void testFillUpdatedInstRequirements(){ + public void testFillUpdatedInstRequirements() { Map>> updatedInstRequirements = new HashMap<>(); ComponentInstance instance = new ComponentInstance(); @@ -1480,141 +1501,153 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB RequirementDefinition requirementDefinition = new RequirementDefinition(); requirementDefinition.setName("zxjtestimportserviceab0.mme_ipu_vdu.dependency.test"); requirementDefinitionList.add(requirementDefinition); - requirements.put("tosca.capabilities.Node",requirementDefinitionList); + requirements.put("tosca.capabilities.Node", requirementDefinitionList); instance.setRequirements(requirements); Map requirementsNamesToUpdate = new HashMap<>(); requirementsNamesToUpdate.put("zxjtestimportserviceab0.mme_ipu_vdu.dependency.test", "requirementsNamesToUpdate"); + Assertions.assertNotNull(instance); - - sIB1.fillUpdatedInstRequirements(updatedInstRequirements,instance,requirementsNamesToUpdate); + sIB1.fillUpdatedInstRequirements(updatedInstRequirements, instance, requirementsNamesToUpdate); } @Test - public void testAddRelationsToRI(){ + public void testAddRelationsToRI() { String yamlName = "group.yml"; - Service service = createServiceObject(false); + Service service = createServiceObject(true); + Map uploadResInstancesMap = new HashMap<>(); UploadComponentInstanceInfo nodesInfoValue = getuploadComponentInstanceInfo(); uploadResInstancesMap.put("uploadComponentInstanceInfo", nodesInfoValue); List componentInstancesList = creatComponentInstances(); + ComponentInstance componentInstance = new ComponentInstance(); + componentInstance.setName("zxjTestImportServiceAb"); + componentInstancesList.add(componentInstance); + service.setComponentInstances(componentInstancesList); List relations = new ArrayList<>(); + RequirementDefinition requirementDefinition = new RequirementDefinition(); + requirementDefinition.setOwnerId("1"); + requirementDefinition.setUniqueId("2"); + requirementDefinition.setCapability("3"); + CapabilityDefinition capabilityDefinition = new CapabilityDefinition(); + capabilityDefinition.setName("4"); + capabilityDefinition.setUniqueId("5"); + capabilityDefinition.setOwnerId("6"); + ResponseFormat responseFormat = new ResponseFormat(); + responseFormat.setStatus(200); + when(serviceImportParseLogic.findAviableRequiremen(anyString(), + anyString(), any(UploadComponentInstanceInfo.class), any(ComponentInstance.class), + anyString())).thenReturn(Either.left(requirementDefinition)); + 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(service); - try { - sIB1.addRelationsToRI(yamlName,service,uploadResInstancesMap,componentInstancesList, - relations); - } catch (Exception e) { - e.printStackTrace(); - } + sIB1.addRelationsToRI(yamlName, service, uploadResInstancesMap, componentInstancesList, relations); } @Test - public void testAddRelationsToRI_null(){ + public void testAddRelationsToRI_null() { String yamlName = "group.yml"; - Service service = createServiceObject(false); + Service service = createServiceObject(true); Map uploadResInstancesMap = new HashMap<>(); UploadComponentInstanceInfo nodesInfoValue = getuploadComponentInstanceInfo(); uploadResInstancesMap.put("uploadComponentInstanceInfo", nodesInfoValue); List componentInstancesList = new ArrayList<>(); List relations = new ArrayList<>(); - try { - sIB1.addRelationsToRI(yamlName,service,uploadResInstancesMap,componentInstancesList, - relations); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> sIB1.addRelationsToRI(yamlName, + service, uploadResInstancesMap, componentInstancesList, relations)); } @Test - public void testAddRelationToRI(){ + public void testAddRelationToRI() { String yamlName = "group.yml"; - Service service = createServiceObject(false); + Service service = createServiceObject(true); service.setComponentInstances(creatComponentInstances()); UploadComponentInstanceInfo nodesInfoValue = getuploadComponentInstanceInfo(); List relations = new ArrayList<>(); - - try { - sIB1.addRelationToRI(yamlName,service,nodesInfoValue,relations); - } catch (Exception e) { - e.printStackTrace(); - } + RequirementDefinition requirementDefinition = new RequirementDefinition(); + requirementDefinition.setName("zxjtestimportserviceab0.mme_ipu_vdu.dependency.test"); + CapabilityDefinition capabilityDefinition = new CapabilityDefinition(); + capabilityDefinition.setName("capabilityDefinitionName"); + capabilityDefinition.setUniqueId("capabilityDefinitionUniqueId"); + capabilityDefinition.setOwnerId("capabilityDefinitionOwnerId"); + ResponseFormat responseFormat = new ResponseFormat(); + when(serviceImportParseLogic.findAviableRequiremen(anyString(), anyString(), any(UploadComponentInstanceInfo.class), + any(ComponentInstance.class), anyString())).thenReturn(Either.left(requirementDefinition)); + 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)); } @Test - public void testAddRelationToRI_null(){ + public void testAddRelationToRI_null() { String yamlName = "group.yml"; - Service service = createServiceObject(false); + Service service = createServiceObject(true); List componentInstancesList = new ArrayList<>(); service.setComponentInstances(componentInstancesList); - + ResponseFormat responseFormat = new ResponseFormat(); UploadComponentInstanceInfo nodesInfoValue = getuploadComponentInstanceInfo(); List relations = new ArrayList<>(); + when(componentsUtils.getResponseFormat(any(ActionStatus.class), anyString())).thenReturn(responseFormat); + Assertions.assertNotNull( + sIB1.addRelationToRI(yamlName, service, nodesInfoValue, relations)); - try { - sIB1.addRelationToRI(yamlName,service,nodesInfoValue,relations); - } catch (Exception e) { - e.printStackTrace(); - } } @Test - public void testGetResourceAfterCreateRelations(){ - Service service = createServiceObject(false); + public void testGetResourceAfterCreateRelations() { + Service service = createServiceObject(true); ComponentParametersView componentParametersView = createComponentParametersView(); when(serviceImportParseLogic.getComponentFilterAfterCreateRelations()).thenReturn(componentParametersView); - try { - sIB1.getResourceAfterCreateRelations(service); - } catch (Exception e) { - e.printStackTrace(); - } + when(toscaOperationFacade.getToscaElement(anyString(), any(ComponentParametersView.class))) + .thenReturn(Either.left(createServiceObject(true))); + Assertions.assertNotNull( + sIB1.getResourceAfterCreateRelations(service)); } @Test - public void testCreateServiceInstances(){ + public void testCreateServiceInstances() { String yamlName = "group.yml"; - Service service = createServiceObject(false); + Service service = createServiceObject(true); Map uploadResInstancesMap = new HashMap<>(); UploadComponentInstanceInfo nodesInfoValue = getuploadComponentInstanceInfo(); - uploadResInstancesMap.put("uploadResInstancesMap",nodesInfoValue); + uploadResInstancesMap.put("uploadResInstancesMap", nodesInfoValue); Map nodeNamespaceMap = new HashMap<>(); Resource resource = createParseResourceObject(true); resource.setToscaResourceName("toscaResourceName"); - nodeNamespaceMap.put("nodeNamespaceMap",resource); + nodeNamespaceMap.put("nodeNamespaceMap", resource); - try { - sIB1.createServiceInstances(yamlName,service,uploadResInstancesMap,nodeNamespaceMap); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> sIB1 + .createServiceInstances(yamlName, service, uploadResInstancesMap, nodeNamespaceMap)); } @Test - public void testCreateAndAddResourceInstance(){ + public void testCreateAndAddResourceInstance() { UploadComponentInstanceInfo uploadComponentInstanceInfo = getuploadComponentInstanceInfo(); String yamlName = "group.yml"; Resource resource = createParseResourceObject(false); Resource originResource = createParseResourceObject(true); originResource.setResourceType(ResourceTypeEnum.VF); Map nodeNamespaceMap = new HashMap<>(); - nodeNamespaceMap.put("resources",originResource); + nodeNamespaceMap.put("resources", originResource); Map existingnodeTypeMap = new HashMap<>(); Map resourcesInstancesMap = new HashMap<>(); - try { - sIB1.createAndAddResourceInstance(uploadComponentInstanceInfo,yamlName,resource,nodeNamespaceMap, - existingnodeTypeMap,resourcesInstancesMap); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> sIB1 + .createAndAddResourceInstance(uploadComponentInstanceInfo, yamlName, resource, + nodeNamespaceMap, existingnodeTypeMap, resourcesInstancesMap)); } @Test - public void testCreateAndAddResourceInstances(){ + public void testCreateAndAddResourceInstances() { UploadComponentInstanceInfo uploadComponentInstanceInfo = getuploadComponentInstanceInfo(); String yamlName = "group.yml"; - Service service = createServiceObject(false); + Service service = createServiceObject(true); service.setServiceType("services"); Resource originResource = createParseResourceObject(true); originResource.setResourceType(ResourceTypeEnum.VF); @@ -1623,16 +1656,13 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB Map existingnodeTypeMap = new HashMap<>(); Map resourcesInstancesMap = new HashMap<>(); - try { - sIB1.createAndAddResourceInstance(uploadComponentInstanceInfo, yamlName, service, nodeNamespaceMap, - existingnodeTypeMap, resourcesInstancesMap); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> sIB1 + .createAndAddResourceInstance(uploadComponentInstanceInfo, yamlName, service, + nodeNamespaceMap, existingnodeTypeMap, resourcesInstancesMap)); } @Test - public void testValidateResourceInstanceBeforeCreate(){ + public void testValidateResourceInstanceBeforeCreate() { String yamlName = "group.yml"; UploadComponentInstanceInfo uploadComponentInstanceInfo = getuploadComponentInstanceInfo(); Resource originResource = createParseResourceObject(true); @@ -1646,21 +1676,18 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB originResource.setResourceType(ResourceTypeEnum.VF); Map nodeNamespaceMap = new HashMap<>(); nodeNamespaceMap.put("resources", originResource); - when( toscaOperationFacade.getLatestResourceByToscaResourceName(anyString())) + when(toscaOperationFacade.getLatestResourceByToscaResourceName(anyString())) .thenReturn(Either.left(originResource)); - - try { - sIB1.validateResourceInstanceBeforeCreate(yamlName,uploadComponentInstanceInfo,nodeNamespaceMap); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertNotNull( + sIB1.validateResourceInstanceBeforeCreate(yamlName, uploadComponentInstanceInfo, nodeNamespaceMap)); } @Test - public void testHandleServiceNodeTypes(){ + public void testHandleServiceNodeTypes() { String yamlName = "group.yml"; - Service service =createServiceObject(false); - String topologyTemplateYaml = getMainTemplateContent("service_import_template.yml");; + Service service = createServiceObject(true); + String topologyTemplateYaml = getMainTemplateContent("service_import_template.yml"); + ; boolean needLock = true; Map>> nodeTypesArtifactsToHandle = new HashMap<>(); List nodeTypesNewCreatedArtifacts = new ArrayList<>(); @@ -1669,6 +1696,7 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test"; when(toscaOperationFacade.getLatestResourceByToscaResourceName(anyString())) .thenReturn(Either.left(createOldResource())); + Assertions.assertNotNull(service); sIB1.handleServiceNodeTypes(yamlName, service, topologyTemplateYaml, needLock, nodeTypesArtifactsToHandle, nodeTypesNewCreatedArtifacts, nodeTypesInfo, @@ -1676,72 +1704,78 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB } @Test - public void testValidateResourceNotExisted(){ + public void testValidateResourceNotExisted() { String type = "org.openecomp.resource.vf"; - boolean b = false; - try { - b = sIB1.validateResourceNotExisted(type); - } catch (Exception e) { - e.printStackTrace(); - } + + Assertions.assertThrows(ComponentException.class, () -> sIB1.validateResourceNotExisted(type)); } @Test - public void testHandleNestedVF(){ - Service service =createServiceObject(false); + public void testHandleNestedVF() { + Service service = createServiceObject(true); Map>> nodeTypesArtifactsToHandle = new HashMap<>(); List createdArtifacts = new ArrayList<>(); Map nodesInfo = getNodeTypesInfo(); CsarInfo csarInfo = getCsarInfo(); String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test"; - try { - sIB1.handleNestedVF(service,nodeTypesArtifactsToHandle,createdArtifacts, - nodesInfo,csarInfo,nodeName); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> sIB1.handleNestedVF(service, + nodeTypesArtifactsToHandle, createdArtifacts, nodesInfo, csarInfo, nodeName)); } @Test - public void testHandleNestedVfc(){ - Service service =createServiceObject(false); + public void testHandleNestedVfc() { + Service service = createServiceObject(true); Map>> nodeTypesArtifactsToHandle = new HashMap<>(); List createdArtifacts = new ArrayList<>(); Map nodesInfo = new HashMap<>(); CsarInfo csarInfo = getCsarInfo(); String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test"; - try { - sIB1.handleNestedVfc(service,nodeTypesArtifactsToHandle,createdArtifacts, - nodesInfo,csarInfo,nodeName); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> sIB1.handleNestedVfc(service, + nodeTypesArtifactsToHandle, createdArtifacts, nodesInfo, csarInfo, nodeName)); } @Test - public void testHandleComplexVfc(){ + public void testHandleComplexVfc() { Map>> nodeTypesArtifactsToHandle = new HashMap<>(); List createdArtifacts = new ArrayList<>(); Map nodesInfo = new HashMap<>(); CsarInfo csarInfo = getCsarInfo(); String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test"; String yamlName = "group.yml"; + when(serviceImportParseLogic.buildValidComplexVfc(any(CsarInfo.class), anyString(), anyMap())) + .thenReturn(createNewResource()); when(toscaOperationFacade.getFullLatestComponentByToscaResourceName(anyString())) .thenReturn(Either.left(createNewResource())); + when(serviceImportParseLogic.validateNestedDerivedFromDuringUpdate(any(Resource.class), any(Resource.class), anyBoolean())) + .thenReturn(Either.left(true)); - try { - sIB1.handleComplexVfc(nodeTypesArtifactsToHandle,createdArtifacts, - nodesInfo,csarInfo,nodeName,yamlName); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> sIB1 + .handleComplexVfc(nodeTypesArtifactsToHandle, createdArtifacts, nodesInfo, + csarInfo, nodeName, yamlName)); } + @Test + public void testHandleComplexVfcStatus() { + Map>> nodeTypesArtifactsToHandle = new HashMap<>(); + List createdArtifacts = new ArrayList<>(); + Map nodesInfo = new HashMap<>(); + CsarInfo csarInfo = getCsarInfo(); + String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test"; + String yamlName = "group.yml"; + when(serviceImportParseLogic.buildValidComplexVfc(any(CsarInfo.class), anyString(), anyMap())) + .thenReturn(createNewResource()); + when(toscaOperationFacade.getFullLatestComponentByToscaResourceName(anyString())) + .thenReturn(Either.right(StorageOperationStatus.NOT_FOUND)); + + Assertions.assertThrows(ComponentException.class, () -> sIB1 + .handleComplexVfc(nodeTypesArtifactsToHandle, createdArtifacts, nodesInfo, + csarInfo, nodeName, yamlName)); + } @Test - public void testHandleComplexVfc2(){ + public void testHandleComplexVfc2() { Map>> nodeTypesArtifactsToHandle = new HashMap<>(); List createdArtifacts = new ArrayList<>(); Map nodesInfo = getNodeTypesInfo(); @@ -1749,127 +1783,128 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB String yamlName = "group.yml"; CsarInfo csarInfo = getCsarInfo(); Map csar = new HashMap<>(); - csar.put(yamlName,yamlName.getBytes()); + csar.put(yamlName, yamlName.getBytes()); csarInfo.setCsar(csar); Resource oldComplexVfc = createParseResourceObject(false); Resource newComplexVfc = createParseResourceObject(true); - try { - sIB1.handleComplexVfc(nodeTypesArtifactsToHandle,createdArtifacts,nodesInfo, - csarInfo,nodeName,yamlName,oldComplexVfc,newComplexVfc); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> sIB1 + .handleComplexVfc(nodeTypesArtifactsToHandle, createdArtifacts, nodesInfo, + csarInfo, nodeName, yamlName, oldComplexVfc, newComplexVfc)); } @Test - public void testUpdateResourceFromYaml(){ - Resource oldRresource = createParseResourceObject(false); - Resource newRresource = createParseResourceObject(true); + public void testUpdateResourceFromYaml() throws IOException { + String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test"; + Resource newResource = createNewResource(); + Resource oldResource = createOldResource(); AuditingActionEnum actionEnum = AuditingActionEnum.CREATE_RESOURCE; List createdArtifacts = new ArrayList<>(); String yamlFileName = "group.yml"; String yamlFileContent = getYamlFileContent(); CsarInfo csarInfo = getCsarInfo(); - Map nodeTypesInfo = new HashMap<>(); + Map nodeTypesInfo = getNodeTypesInfo(); + Map map = new HashMap<>(); + map.put("tosca_definitions_version", "123"); + nodeTypesInfo.get(nodeName).setMappedToscaTemplate(map); Map>> nodeTypesArtifactsToHandle = new HashMap<>(); - String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test"; boolean isNested = true; - try { - sIB1.updateResourceFromYaml(oldRresource,newRresource,actionEnum,createdArtifacts,yamlFileName,yamlFileContent, - csarInfo,nodeTypesInfo,nodeTypesArtifactsToHandle,nodeName,isNested); - } catch (Exception e) { - - } + when(csarBusinessLogic.getParsedToscaYamlInfo(anyString(), anyString(), anyMap(), any(CsarInfo.class), + anyString(), any(Component.class))).thenReturn(getParsedToscaYamlInfo()); + when(serviceImportParseLogic.prepareResourceForUpdate(any(Resource.class), any(Resource.class), + any(User.class), anyBoolean(), anyBoolean())).thenReturn(oldResource); + when(serviceImportParseLogic.validateCapabilityTypesCreate(any(User.class), any(ICapabilityTypeOperation.class), + 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 + .updateResourceFromYaml(oldResource, newResource, actionEnum, createdArtifacts, + yamlFileName, yamlFileContent, csarInfo, nodeTypesInfo, + nodeTypesArtifactsToHandle, nodeName, isNested)); } @Test - public void testCreateResourceFromYaml(){ + public void testCreateResourceFromYaml() throws IOException { + String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test"; Resource resource = createParseResourceObject(true); String topologyTemplateYaml = getMainTemplateContent(); String yamlName = "group.yml"; - Map nodeTypesInfo = new HashMap<>(); + + Map nodeTypesInfo = getNodeTypesInfo(); + Map map = new HashMap<>(); + map.put("tosca_definitions_version", "123"); + nodeTypesInfo.get(nodeName).setMappedToscaTemplate(map); + CsarInfo csarInfo = getCsarInfo(); Map>> nodeTypesArtifactsToCreate = new HashMap<>(); - boolean shouldLock = true; - boolean inTransaction =true; - String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test"; + boolean shouldLock = false; + boolean inTransaction = true; - try { - sIB1.createResourceFromYaml(resource,topologyTemplateYaml,yamlName,nodeTypesInfo,csarInfo, - nodeTypesArtifactsToCreate,shouldLock,inTransaction,nodeName); - } catch (Exception e) { - } + 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(toscaOperationFacade.createToscaComponent(any(Resource.class))).thenReturn(Either.left(resource)); + Assertions.assertThrows(ComponentException.class, () -> sIB1.createResourceFromYaml(resource, + topologyTemplateYaml, yamlName, nodeTypesInfo, csarInfo, + nodeTypesArtifactsToCreate, shouldLock, inTransaction, nodeName)); + } @Test - public void testCreateResourceAndRIsFromYaml(){ + public void testCreateResourceAndRIsFromYaml() throws IOException { String yamlName = "group.yml"; + String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test"; Resource resource = createParseResourceObject(true); resource.setSystemName("SystemName"); resource.setComponentType(ComponentTypeEnum.RESOURCE); - ParsedToscaYamlInfo parsedToscaYamlInfo = new ParsedToscaYamlInfo(); AuditingActionEnum actionEnum = AuditingActionEnum.CREATE_RESOURCE; boolean isNormative = true; List createdArtifacts = new ArrayList<>(); String topologyTemplateYaml = getMainTemplateContent(); - Map nodeTypesInfo = new HashMap<>(); + Map nodeTypesInfo = getNodeTypesInfo(); + Map map = new HashMap<>(); + map.put("tosca_definitions_version", "123"); + nodeTypesInfo.get(nodeName).setMappedToscaTemplate(map); + ParsedToscaYamlInfo parsedToscaYamlInfo = getParsedToscaYamlInfo(); + CsarInfo csarInfo = getCsarInfo(); Map>> nodeTypesArtifactsToCreate = new HashMap<>(); - boolean shouldLock = true; + boolean shouldLock = false; boolean inTransaction = true; - String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test"; - when(serviceBusinessLogic.lockComponentByName(anyString(),any(),anyString())) + when(serviceBusinessLogic.fetchAndSetDerivedFromGenericType(any(Resource.class))) + .thenReturn(resource); + + when(serviceBusinessLogic.lockComponentByName(anyString(), any(), anyString())) .thenReturn(Either.left(true)); - try { - sIB1.createResourceAndRIsFromYaml(yamlName,resource,parsedToscaYamlInfo,actionEnum, - isNormative,createdArtifacts,topologyTemplateYaml,nodeTypesInfo,csarInfo, - nodeTypesArtifactsToCreate,shouldLock,inTransaction,nodeName); - } catch (Exception e) { - e.printStackTrace(); - } - } + when(toscaOperationFacade.validateComponentNameExists(anyString(), any(ResourceTypeEnum.class) + , any(ComponentTypeEnum.class))).thenReturn(Either.left(false)); - @Test - public void testCreateResourceAndRIsFromYaml_False(){ - String yamlName = "group.yml"; - Resource resource = createParseResourceObject(false); - ParsedToscaYamlInfo parsedToscaYamlInfo = new ParsedToscaYamlInfo(); - AuditingActionEnum actionEnum = AuditingActionEnum.CREATE_RESOURCE; - boolean isNormative = true; - List createdArtifacts = new ArrayList<>(); - String topologyTemplateYaml = getMainTemplateContent(); - Map nodeTypesInfo = new HashMap<>(); - CsarInfo csarInfo = getCsarInfo(); - Map>> nodeTypesArtifactsToCreate = new HashMap<>(); - boolean shouldLock = false; - boolean inTransaction = false; - String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test"; + when(toscaOperationFacade.createToscaComponent(any(Resource.class))).thenReturn(Either.left(resource)); - try { - sIB1.createResourceAndRIsFromYaml(yamlName,resource,parsedToscaYamlInfo,actionEnum, - isNormative,createdArtifacts,topologyTemplateYaml,nodeTypesInfo,csarInfo, - nodeTypesArtifactsToCreate,shouldLock,inTransaction,nodeName); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> sIB1 + .createResourceAndRIsFromYaml(yamlName, resource, parsedToscaYamlInfo, actionEnum, + isNormative, createdArtifacts, topologyTemplateYaml, nodeTypesInfo, csarInfo, + nodeTypesArtifactsToCreate, shouldLock, inTransaction, nodeName)); } @Test public void testCreateGroupsOnResource2() { Resource resource = createParseResourceObject(false); - Map groups = getGroups(); + Map groups = null; + List groupDefinitionList = new ArrayList<>(); + GroupDefinition groupDefinition = new GroupDefinition(); + groupDefinition.setUniqueId("groupDefinitionUniqueId"); + groupDefinition.setName("groupDefinition"); + groupDefinitionList.add(groupDefinition); when(serviceImportParseLogic.validateCyclicGroupsDependencies(any())) .thenReturn(Either.left(true)); - - try { - sIB1.createGroupsOnResource(resource, groups); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertNotNull( + sIB1.createGroupsOnResource(resource, groups)); } @Test @@ -1878,82 +1913,69 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB Map groups = null; Either result = sIB1.createGroupsOnResource(resource, groups); - assertEquals(result.left().value(),resource); + assertEquals(result.left().value(), resource); } @Test - public void testUpdateGroupsMembersUsingResource2(){ + public void testUpdateGroupsMembersUsingResource2() { Resource resource = createParseResourceObject(true); - Map groups = null; + Map groups = getGroups(); + when(serviceImportParseLogic.validateCyclicGroupsDependencies(any())) + .thenReturn(Either.left(true)); + Assertions.assertNotNull( + sIB1.updateGroupsMembersUsingResource(groups, resource)); - List groupDefinitions = sIB1.updateGroupsMembersUsingResource(groups,resource); - for (GroupDefinition groupDefinition : groupDefinitions) { - assertNull(groupDefinition); - } } @Test - public void testUpdateGroupsMembersUsingResource_left2(){ + public void testUpdateGroupsMembersUsingResource_left2() { Resource resource = createParseResourceObject(true); Map groups = getGroups(); when(serviceImportParseLogic.validateCyclicGroupsDependencies(any())) .thenReturn(Either.left(true)); + Assertions.assertNotNull( + sIB1.updateGroupsMembersUsingResource(groups, resource)); - List groupDefinitions = sIB1.updateGroupsMembersUsingResource(groups, resource); - for (GroupDefinition groupDefinition : groupDefinitions) { - assertNotNull(groupDefinition); - } } @Test - public void testUpdateGroupMembers(){ + public void testUpdateGroupMembers() throws IOException { Map groups = new HashMap<>(); GroupDefinition updatedGroupDefinition = new GroupDefinition(); Resource component = createParseResourceObject(true); List componentInstances = creatComponentInstances(); String groupName = "tosca_simple_yaml_1_1"; Map members = new HashMap<>(); - members.put("zxjTestImportServiceAb",getGroupsYaml()); + members.put("zxjTestImportServiceAb", getGroupsYaml()); + Assertions.assertNotNull(component); - try { - sIB1.updateGroupMembers(groups,updatedGroupDefinition,component,componentInstances, - groupName,members); - } catch (Exception e) { - e.printStackTrace(); - } + sIB1.updateGroupMembers(groups, updatedGroupDefinition, component, componentInstances, groupName, members); } @Test - public void testUpdateGroupMembers_null(){ + public void testUpdateGroupMembers_null() throws IOException { Map groups = new HashMap<>(); GroupDefinition updatedGroupDefinition = new GroupDefinition(); Resource component = createParseResourceObject(true); List componentInstances = new ArrayList<>(); String groupName = "tosca_simple_yaml_1_1"; Map members = new HashMap<>(); - members.put("zxjTestImportServiceAb",getGroupsYaml()); + members.put("zxjTestImportServiceAb", getGroupsYaml()); - try { - sIB1.updateGroupMembers(groups,updatedGroupDefinition,component,componentInstances, - groupName,members); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> sIB1.updateGroupMembers(groups, + updatedGroupDefinition, component, componentInstances, groupName, members)); } @Test - public void setCreateResourceTransaction(){ + public void setCreateResourceTransaction() { Resource resource = createParseResourceObject(false); resource.setComponentType(ComponentTypeEnum.RESOURCE); boolean isNormative = true; - when(toscaOperationFacade.validateComponentNameExists(anyString(),any(),any())) + when(toscaOperationFacade.validateComponentNameExists(anyString(), any(), any())) .thenReturn(Either.right(StorageOperationStatus.BAD_REQUEST)); - try { - sIB1.createResourceTransaction(resource,user,isNormative); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> sIB1.createResourceTransaction(resource, + user, isNormative)); } @Test @@ -1961,59 +1983,52 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB Resource resource = createParseResourceObject(false); resource.setComponentType(ComponentTypeEnum.RESOURCE); boolean isNormative = true; - when(toscaOperationFacade.validateComponentNameExists(anyString(),any(),any())) + when(toscaOperationFacade.validateComponentNameExists(anyString(), any(), any())) .thenReturn(Either.left(true)); - try { - sIB1.createResourceTransaction(resource,user,isNormative); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> sIB1 + .createResourceTransaction(resource, user, isNormative)); } @Test public void setCreateResourceTransaction_Left() { Resource resource = createParseResourceObject(false); resource.setComponentType(ComponentTypeEnum.RESOURCE); - when(toscaOperationFacade.validateComponentNameExists(anyString(),any(),any())) + when(toscaOperationFacade.validateComponentNameExists(anyString(), any(), any())) .thenReturn(Either.left(false)); - - try { - sIB1.createResourceTransaction(resource,user,false); - } catch (Exception e) { - e.printStackTrace(); - } + when(toscaOperationFacade.createToscaComponent(any(Resource.class))).thenReturn(Either.left(resource)); + Assertions.assertNotNull( + sIB1.createResourceTransaction(resource, user, false)); } @Test - public void testUpdateExistingResourceByImport(){ + public void testUpdateExistingResourceByImport() { Resource newResource = createNewResource(); Resource oldResource = createOldResource(); - - try { - sIB1.updateExistingResourceByImport(newResource,oldResource,user, - true,true,true); - } catch (Exception e) { - e.printStackTrace(); - } + when(serviceImportParseLogic.prepareResourceForUpdate(any(Resource.class), any(Resource.class), + any(User.class), anyBoolean(), anyBoolean())).thenReturn(oldResource); + when(serviceImportParseLogic.validateCapabilityTypesCreate(any(User.class), any(ICapabilityTypeOperation.class), + 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)); } @Test - public void testCreateNewResourceToOldResource(){ + public void testCreateNewResourceToOldResource() { Resource newResource = createNewResource(); Resource oldResource = createOldResource(); - try { - sIB1.createNewResourceToOldResource(newResource,oldResource,user); - } catch (Exception e) { - e.printStackTrace(); - } + sIB1.createNewResourceToOldResource(newResource, oldResource, user); + assertEquals(newResource.getSystemName(), oldResource.getSystemName()); } @Test - public void testCreateResourcesFromYamlNodeTypesList(){ + public void testCreateResourcesFromYamlNodeTypesList() { String yamlName = "group.yml"; - Service service =createServiceObject(false); + Service service = createServiceObject(true); Map mappedToscaTemplate = new HashMap<>(); boolean needLock = true; Map>> nodeTypesArtifactsToHandle = new HashMap<>(); @@ -2021,18 +2036,15 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB Map nodeTypesInfo = new HashMap<>(); CsarInfo csarInfo = getCsarInfo(); - try { - sIB1.createResourcesFromYamlNodeTypesList(yamlName,service,mappedToscaTemplate,needLock, - nodeTypesArtifactsToHandle,nodeTypesNewCreatedArtifacts,nodeTypesInfo,csarInfo); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> sIB1 + .createResourcesFromYamlNodeTypesList(yamlName, service, mappedToscaTemplate, needLock, + nodeTypesArtifactsToHandle, nodeTypesNewCreatedArtifacts, nodeTypesInfo, csarInfo)); } @Test - public void testCreateNodeTypes(){ + public void testCreateNodeTypes() { String yamlName = "group.yml"; - Service service =createServiceObject(false); + Service service = createServiceObject(true); boolean needLock = true; Map>> nodeTypesArtifactsToHandle = new HashMap<>(); EnumMap> enumListEnumMap = @@ -2043,30 +2055,27 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB artifactDefinitions.add(artifactDefinition); enumListEnumMap.put(ArtifactsBusinessLogic.ArtifactOperationEnum.CREATE, artifactDefinitions); - nodeTypesArtifactsToHandle.put("nodeTyp",enumListEnumMap); + nodeTypesArtifactsToHandle.put("nodeTyp", enumListEnumMap); List nodeTypesNewCreatedArtifacts = new ArrayList<>(); Map nodeTypesInfo = getNodeTypesInfo(); CsarInfo csarInfo = getCsarInfo(); - Map mapToConvert =new HashMap<>(); - Map nodeTypes =new HashMap<>(); + Map mapToConvert = new HashMap<>(); + Map nodeTypes = new HashMap<>(); NodeTypeInfo nodeTypeInfo = new NodeTypeInfo(); - nodeTypesInfo.put("nodeTyp",nodeTypeInfo); + nodeTypesInfo.put("nodeTyp", nodeTypeInfo); nodeTypes.put("org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test", nodeTypeInfo); - try { - sIB1.createNodeTypes(yamlName, service, needLock, nodeTypesArtifactsToHandle, - nodeTypesNewCreatedArtifacts, nodeTypesInfo, csarInfo, mapToConvert, - nodeTypes); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> sIB1.createNodeTypes(yamlName, + service, needLock, nodeTypesArtifactsToHandle, nodeTypesNewCreatedArtifacts, + nodeTypesInfo, csarInfo, mapToConvert, nodeTypes)); } @Test - public void testCreateNodeTypesElse(){ + public void testCreateNodeTypesElse() { + String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test"; String yamlName = "group.yml"; - Service service =createServiceObject(false); + Service service = createServiceObject(true); boolean needLock = true; Map>> nodeTypesArtifactsToHandle = new HashMap<>(); EnumMap> enumListEnumMap = @@ -2077,27 +2086,39 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB artifactDefinitions.add(artifactDefinition); enumListEnumMap.put(ArtifactsBusinessLogic.ArtifactOperationEnum.CREATE, artifactDefinitions); - nodeTypesArtifactsToHandle.put("nodeTyp",enumListEnumMap); + nodeTypesArtifactsToHandle.put("nodeTyp", enumListEnumMap); List nodeTypesNewCreatedArtifacts = new ArrayList<>(); Map nodeTypesInfo = getNodeTypesInfo(); + Map map = new HashMap<>(); + map.put("tosca_definitions_version", "123"); + nodeTypesInfo.get(nodeName).setMappedToscaTemplate(map); + ParsedToscaYamlInfo parsedToscaYamlInfo = getParsedToscaYamlInfo(); + CsarInfo csarInfo = getCsarInfo(); - Map mapToConvert =new HashMap<>(); - Map nodeTypes =new HashMap<>(); + Map mapToConvert = new HashMap<>(); + Map nodeTypes = new HashMap<>(); NodeTypeInfo nodeTypeInfo = new NodeTypeInfo(); - nodeTypesInfo.put("nodeTyp",nodeTypeInfo); - nodeTypes.put("org.openecomp.resource.derivedFrom.zxjTestImportServiceAb0.test", + nodeTypes.put("org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test", nodeTypeInfo); + when(serviceImportParseLogic.createNodeTypeResourceFromYaml(anyString(), any(Map.Entry.class), any(User.class), + anyMap(), any(Service.class), anyBoolean(), anyMap(), anyList(), anyBoolean(), any(CsarInfo.class), + anyBoolean())).thenReturn(getResourceCreated()); + Assertions.assertNotNull(service); - try { - sIB1.createNodeTypes(yamlName, service, needLock, nodeTypesArtifactsToHandle, - nodeTypesNewCreatedArtifacts, nodeTypesInfo, csarInfo, mapToConvert, - nodeTypes); - } catch (Exception e) { - e.printStackTrace(); - } + sIB1.createNodeTypes(yamlName, + service, needLock, nodeTypesArtifactsToHandle, nodeTypesNewCreatedArtifacts, + nodeTypesInfo, csarInfo, mapToConvert, nodeTypes); + + } + + protected ImmutablePair getResourceCreated() { + Resource resource = createOldResource(); + ImmutablePair resourceCreated = new ImmutablePair<>(resource, ActionStatus.OK); + + return resourceCreated; } - protected Resource createNewResource(){ + protected Resource createNewResource() { Resource newResource = createParseResourceObject(false); newResource.setVersion("1.0"); newResource.setInvariantUUID(""); @@ -2112,20 +2133,21 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB Map toscaArtifacts = new HashMap<>(); ArtifactDefinition artifactDefinition = new ArtifactDefinition(); artifactDefinition.setArtifactName("artifactDefinition"); - toscaArtifacts.put("toscaArtifactsMap",artifactDefinition); + toscaArtifacts.put("toscaArtifactsMap", artifactDefinition); Map interfaces = new HashMap<>(); InterfaceDefinition interfaceDefinition = new InterfaceDefinition(); interfaceDefinition.setOwnerId("OwnerId"); - interfaces.put("interfacesMap",interfaceDefinition); + interfaces.put("interfacesMap", interfaceDefinition); newResource.setInterfaces(interfaces); newResource.setToscaArtifacts(toscaArtifacts); newResource.setProperties(getProperties()); return newResource; } - protected Resource createOldResource(){ + protected Resource createOldResource() { Resource newResource = createParseResourceObject(false); newResource.setVersion("1.0"); + newResource.setUniqueId("ResourceUniqueId"); newResource.setInvariantUUID("552e8f6c-340c-4fb4-8a82-fe7732fd8010"); newResource.setLifecycleState(LifecycleStateEnum.CERTIFIED); newResource.setUUID("13065b80-ca96-4331-b643-d28aeaf961cb"); @@ -2138,11 +2160,11 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB Map toscaArtifacts = new HashMap<>(); ArtifactDefinition artifactDefinition = new ArtifactDefinition(); artifactDefinition.setArtifactName("tosca_simple_yaml_1_1"); - toscaArtifacts.put("tosca_definitions_version",artifactDefinition); + toscaArtifacts.put("tosca_definitions_version", artifactDefinition); Map interfaces = new HashMap<>(); InterfaceDefinition interfaceDefinition = new InterfaceDefinition(); interfaceDefinition.setDescription("Invoked upon receipt of an Instantiate VNF request"); - interfaces.put("tosca_simple_yaml_1_1",interfaceDefinition); + interfaces.put("tosca_simple_yaml_1_1", interfaceDefinition); newResource.setInterfaces(interfaces); newResource.setToscaArtifacts(toscaArtifacts); List properties = new ArrayList<>(); @@ -2153,22 +2175,33 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB return newResource; } + protected Map getCurrPropertiesMap() { + Map currPropertiesMap = new HashMap<>(); + InputDefinition inputDefinition = new InputDefinition(); + inputDefinition.setName("inputDefinitionName"); + inputDefinition.setUniqueId("uniqueId"); + inputDefinition.setType("inputDefinitionType"); + currPropertiesMap.put("propertyInfoName", inputDefinition); + return currPropertiesMap; + } + protected List getPropertyList() { List propertyList = new ArrayList<>(); - UploadPropInfo uploadPropInfo = new UploadPropInfo(); List get_input = new ArrayList<>(); GetInputValueDataDefinition getInputValueDataDefinition = new GetInputValueDataDefinition(); getInputValueDataDefinition.setPropName("getInputValueDataDefinitionName"); + getInputValueDataDefinition.setInputName("inputDefinitionName"); get_input.add(getInputValueDataDefinition); - uploadPropInfo.setName("propertiesName"); - uploadPropInfo.setValue("value"); - uploadPropInfo.setGet_input(get_input); - propertyList.add(uploadPropInfo); + UploadPropInfo propertyInfo = new UploadPropInfo(); + propertyInfo.setValue("value"); + propertyInfo.setGet_input(get_input); + propertyInfo.setName("propertyInfoName"); + propertyList.add(propertyInfo); return propertyList; } - protected Map getNodeTypesInfo(){ + protected Map getNodeTypesInfo() { Map nodeTypesInfo = new HashMap<>(); NodeTypeInfo nodeTypeInfo = new NodeTypeInfo(); Map mappedToscaTemplate = new HashMap<>(); @@ -2176,22 +2209,22 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB nodeTypeInfo.setTemplateFileName("templateFileName"); nodeTypeInfo.setMappedToscaTemplate(mappedToscaTemplate); String nodeName = "org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test"; - nodeTypesInfo.put(nodeName,nodeTypeInfo); + nodeTypesInfo.put(nodeName, nodeTypeInfo); return nodeTypesInfo; } - protected Map getUploadResInstancesMap(){ + protected Map getUploadResInstancesMap() { Map uploadResInstancesMap = new HashMap<>(); UploadComponentInstanceInfo uploadComponentInstanceInfo = getuploadComponentInstanceInfo(); Map capabilitiesNamesToUpdate = new HashMap<>(); - capabilitiesNamesToUpdate.put("mme_ipu_vdu.feature","capabilitiesNamesToUpdate"); + capabilitiesNamesToUpdate.put("mme_ipu_vdu.feature", "capabilitiesNamesToUpdate"); Map requirementsNamesToUpdate = new HashMap<>(); - requirementsNamesToUpdate.put("mme_ipu_vdu.feature","capabilitiesNamesToUpdate"); - uploadResInstancesMap.put("zxjTestImportServiceAb",uploadComponentInstanceInfo); + requirementsNamesToUpdate.put("mme_ipu_vdu.feature", "capabilitiesNamesToUpdate"); + uploadResInstancesMap.put("zxjTestImportServiceAb", uploadComponentInstanceInfo); return uploadResInstancesMap; } - protected Map> getUploadPropInfoProperties(){ + protected Map> getUploadPropInfoProperties() { Map> properties = new HashMap<>(); List uploadPropInfoList = new ArrayList<>(); UploadPropInfo uploadPropInfo = new UploadPropInfo(); @@ -2203,11 +2236,11 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB uploadPropInfo.setValue("value"); uploadPropInfo.setGet_input(get_input); uploadPropInfoList.add(uploadPropInfo); - properties.put("uploadComponentInstanceInfo",uploadPropInfoList); + properties.put("uploadComponentInstanceInfo", uploadPropInfoList); return properties; } - protected List getProperties(){ + protected List getProperties() { List properties = new ArrayList<>(); PropertyDefinition propertyDefinition = new PropertyDefinition(); propertyDefinition.setName("propertiesName"); @@ -2215,13 +2248,13 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB return properties; } - protected Map> gerRequirements(){ + protected Map> gerRequirements() { Map> uploadReqInfoMap = new HashMap<>(); String requirementName = "tosca.capabilities.Node"; List uploadReqInfoList = new ArrayList<>(); UploadReqInfo uploadReqInfo = new UploadReqInfo(); uploadReqInfo.setCapabilityName("tosca.capabilities.Node"); - uploadReqInfoMap.put(requirementName,uploadReqInfoList); + uploadReqInfoMap.put(requirementName, uploadReqInfoList); return uploadReqInfoMap; } @@ -2235,6 +2268,7 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB parametersView.setIgnoreGroups(false); return parametersView; } + protected Map crateCsarFromPayload() { String payloadName = "valid_vf.csar"; String rootPath = System.getProperty("user.dir"); @@ -2260,7 +2294,7 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB } - protected List creatComponentInstances(){ + protected List creatComponentInstances() { List componentInstances = new ArrayList<>(); ComponentInstance componentInstance = new ComponentInstance(); Map> capabilities = new HashMap<>(); @@ -2268,14 +2302,14 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB CapabilityDefinition capabilityDefinition = new CapabilityDefinition(); capabilityDefinition.setName("mme_ipu_vdu.feature"); capabilityDefinitionList.add(capabilityDefinition); - capabilities.put("tosca.capabilities.Node",capabilityDefinitionList); + capabilities.put("tosca.capabilities.Node", capabilityDefinitionList); Map> requirements = new HashMap<>(); List requirementDefinitionList = new ArrayList<>(); RequirementDefinition requirementDefinition = new RequirementDefinition(); requirementDefinition.setName("zxjtestimportserviceab0.mme_ipu_vdu.dependency.test"); requirementDefinitionList.add(requirementDefinition); - requirements.put("tosca.capabilities.Node",requirementDefinitionList); + requirements.put("tosca.capabilities.Node", requirementDefinitionList); componentInstance.setRequirements(requirements); componentInstance.setCapabilities(capabilities); componentInstance.setUniqueId("uniqueId"); @@ -2287,7 +2321,7 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB protected CreateServiceFromYamlParameter getCsfyp() { CreateServiceFromYamlParameter csfyp = new CreateServiceFromYamlParameter(); - List createdArtifacts =new ArrayList<>(); + List createdArtifacts = new ArrayList<>(); Map nodeTypesInfo = new HashedMap(); csfyp.setNodeName("org.openecomp.resource.derivedFrom.zxjTestImportServiceAb.test"); @@ -2302,12 +2336,15 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB return csfyp; } - protected ParsedToscaYamlInfo getParsedToscaYamlInfo(){ + protected ParsedToscaYamlInfo getParsedToscaYamlInfo() { ParsedToscaYamlInfo parsedToscaYamlInfo = new ParsedToscaYamlInfo(); Map inputs = new HashMap<>(); - Map instances=new HashMap<>(); - Map groups=new HashMap<>(); - Map policies=new HashMap<>(); + Map instances = new HashMap<>(); + UploadComponentInstanceInfo uploadComponentInstanceInfo = new UploadComponentInstanceInfo(); + uploadComponentInstanceInfo.setName("uploadComponentInstanceInfo"); + instances.put("instances", uploadComponentInstanceInfo); + Map groups = new HashMap<>(); + Map policies = new HashMap<>(); parsedToscaYamlInfo.setGroups(groups); parsedToscaYamlInfo.setInputs(inputs); parsedToscaYamlInfo.setInstances(instances); @@ -2315,7 +2352,7 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB return parsedToscaYamlInfo; } - String getMainTemplateContent(String fileName){ + String getMainTemplateContent(String fileName) { String mainTemplateContent = null; try { mainTemplateContent = loadFileNameToJsonString(fileName); @@ -2325,15 +2362,14 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB return mainTemplateContent; } - protected CsarInfo getCsarInfo () - { + protected CsarInfo getCsarInfo() { String csarUuid = "0010"; User user = new User(); Map 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); + CsarInfo csarInfo = new CsarInfo(user, csarUuid, csar, vfReousrceName, mainTemplateName, mainTemplateContent, false); return csarInfo; } @@ -2349,8 +2385,8 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB } - protected CsarUtils.NonMetaArtifactInfo getNonMetaArtifactInfo(){ - String artifactName = "artifactName",path = "/src/test/resources/valid_vf.csar",artifactType = "AAI_SERVICE_MODEL"; + protected CsarUtils.NonMetaArtifactInfo getNonMetaArtifactInfo() { + String artifactName = "artifactName", path = "/src/test/resources/valid_vf.csar", artifactType = "AAI_SERVICE_MODEL"; ArtifactGroupTypeEnum artifactGroupType = ArtifactGroupTypeEnum.TOSCA; String rootPath = System.getProperty("user.dir"); Path path2; @@ -2363,12 +2399,12 @@ public class ServiceImportBusinessLogicTest extends ServiceImportBussinessLogicB } String artifactUniqueId = "artifactUniqueId"; boolean isFromCsar = true; - CsarUtils.NonMetaArtifactInfo nonMetaArtifactInfo = new CsarUtils.NonMetaArtifactInfo(artifactName, - path,artifactType,artifactGroupType,data,artifactUniqueId,isFromCsar); + CsarUtils.NonMetaArtifactInfo nonMetaArtifactInfo = new CsarUtils.NonMetaArtifactInfo(artifactName, + path, artifactType, artifactGroupType, data, artifactUniqueId, isFromCsar); return nonMetaArtifactInfo; } - + protected void assertComponentException(ComponentException e, ActionStatus expectedStatus, String... variables) { ResponseFormat actualResponse = e.getResponseFormat() != null ? e.getResponseFormat() : componentsUtils.getResponseFormat(e.getActionStatus(), e.getParams()); diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ServiceImportBussinessLogicBaseTestSetup.java b/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ServiceImportBussinessLogicBaseTestSetup.java index 928dbf96fc..a56114ae49 100644 --- a/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ServiceImportBussinessLogicBaseTestSetup.java +++ b/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ServiceImportBussinessLogicBaseTestSetup.java @@ -1,49 +1,22 @@ /* - - * Copyright (c) 2018 AT&T Intellectual Property. - + * Copyright (C) 2020 CMCC, Inc. and others. All rights reserved. * - * 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 - * - * 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. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - package org.openecomp.sdc.be.components.impl; import fj.data.Either; - -import java.io.IOException; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.codec.binary.Base64; -import org.junit.Before; -import org.mockito.Mock; +import org.junit.jupiter.api.BeforeEach; import org.mockito.Mockito; import org.openecomp.sdc.ElementOperationMock; import org.openecomp.sdc.be.auditing.impl.AuditingManager; @@ -61,7 +34,6 @@ import org.openecomp.sdc.be.components.validation.component.*; import org.openecomp.sdc.be.components.validation.service.*; import org.openecomp.sdc.be.dao.api.ActionStatus; import org.openecomp.sdc.be.dao.cassandra.AuditCassandraDao; -import org.openecomp.sdc.be.dao.janusgraph.JanusGraphOperationStatus; import org.openecomp.sdc.be.dao.jsongraph.JanusGraphDao; import org.openecomp.sdc.be.datamodel.utils.UiComponentDataConverter; import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum; @@ -79,7 +51,6 @@ 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.servlets.AbstractValidationsServlet; import org.openecomp.sdc.be.user.Role; import org.openecomp.sdc.be.user.UserBusinessLogic; import org.openecomp.sdc.common.api.ArtifactGroupTypeEnum; @@ -89,10 +60,13 @@ import org.openecomp.sdc.exception.ResponseFormat; import org.springframework.web.context.WebApplicationContext; import javax.servlet.ServletContext; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.*; -import static org.assertj.core.api.Java6Assertions.assertThat; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.when; @@ -174,8 +148,8 @@ public class ServiceImportBussinessLogicBaseTestSetup extends BaseBusinessLogicM return new ServiceValidator(componentsUtils, componentFieldValidators, serviceFieldValidators); } - @Before - public void setup() { + @BeforeEach + public void setup() throws IOException { // Elements IElementOperation mockElementDao = new ElementOperationMock(); @@ -436,6 +410,7 @@ protected Resource createParseResourceObject(boolean afterCreate) { List uploadReqInfoList = new ArrayList<>(); UploadReqInfo uploadReqInfo = new UploadReqInfo(); uploadReqInfo.setName("uploadReqInfo"); + uploadReqInfo.setNode("zxjTestImportServiceAb"); uploadReqInfo.setCapabilityName("tosca.capabilities.Node"); uploadReqInfoList.add(uploadReqInfo); requirements.put("requirements",uploadReqInfoList); @@ -488,7 +463,7 @@ protected Resource createParseResourceObject(boolean afterCreate) { return uploadComponentInstanceInfo; } - private void mockAbstract() { + private void mockAbstract() throws IOException { checkCreateAbstract(); checkCreateOther(); checkCreateFile(); @@ -629,7 +604,7 @@ protected Resource createParseResourceObject(boolean afterCreate) { uploadServiceInfo.getPayloadData(); } - private void checkCreateFile(){ + private void checkCreateFile() throws IOException { CreateServiceFromYamlParameter csfp = new CreateServiceFromYamlParameter(); Map nodeTypesInfo = new HashMap<>(); ParsedToscaYamlInfo parsedToscaYamlInfo = new ParsedToscaYamlInfo(); @@ -657,8 +632,7 @@ protected Resource createParseResourceObject(boolean afterCreate) { getCsfy.getNodeName(); } - protected CsarInfo getCsarInfo () - { + protected CsarInfo getCsarInfo () throws IOException { String csarUuid = "0010"; User user = new User(); Map csar = crateCsarFromPayload(); @@ -679,518 +653,28 @@ protected Resource createParseResourceObject(boolean afterCreate) { return returnValue; } - protected String getGroupsYaml(){ - return "zxjTestImportServiceAb 0:\n" + - " type: org.openecomp.resource.vf.Zxjtestimportserviceab\n" + - " metadata:\n" + - " invariantUUID: 41474f7f-3195-443d-a0a2-eb6020a56279\n" + - " UUID: 92e32e49-55f8-46bf-984d-a98c924037ec\n" + - " customizationUUID: 40286158-96d0-408e-9f27-21d43817d37c\n" + - " version: '1.0'\n" + - " name: zxjTestImportServiceAb\n" + - " description: zxjTestImportServiceAbstract\n" + - " type: VF\n" + - " category: Generic\n" + - " subcategory: Abstract\n" + - " resourceVendor: zxjImportService\n" + - " resourceVendorRelease: '1.0'\n" + - " resourceVendorModelNumber: ''\n" + - " properties:\n" + - " skip_post_instantiation_configuration: true\n" + - " nf_naming:\n" + - " ecomp_generated_naming: true\n" + - " multi_stage_design: 'false'\n" + - " controller_actor: SO-REF-DATA\n" + - " availability_zone_max_count: 1\n" + - " requirements:\n" + - " - imagefile.dependency:\n" + - " capability: feature\n" + - " node: ext ZTE VL 0\n" + - " - mme_ipu_vdu.dependency:\n" + - " capability: feature\n" + - " node: ExtCP 0\n" + - " capabilities:\n" + - " mme_ipu_vdu.scalable:\n" + - " properties:\n" + - " max_instances: 1\n" + - " min_instances: 1\n" + - " mme_ipu_vdu.nfv_compute:\n" + - " properties:\n" + - " num_cpus: '2'\n" + - " flavor_extra_specs: {\n" + - " }\n" + - " mem_size: '8192'"; + protected String getGroupsYaml() throws IOException { + Path filePath = Paths.get("src/test/resources/types/groups.yml"); + byte[] fileContent = Files.readAllBytes(filePath); + return new String(fileContent); + } + + protected String getYamlFileContent() throws IOException { + Path filePath = Paths.get("src/test/resources/types/fileContent.yml"); + byte[] fileContent = Files.readAllBytes(filePath); + return new String(fileContent); } - protected String getYamlFileContent(){ - return "tosca_definitions_version: tosca_simple_yaml_1_1\n" + - "imports:\n" + - "- data.yml\n" + - "group_types:\n" + - " tosca.groups.Root:\n" + - " description: The TOSCA Group Type all other TOSCA Group Types derive from\n" + - " interfaces:\n" + - " Standard:\n" + - " type: tosca.interfaces.node.lifecycle.Standard\n" + - " org.openecomp.groups.heat.HeatStack:\n" + - " derived_from: tosca.groups.Root\n" + - " description: Grouped all heat resources which are in the same heat stack\n" + - " properties:\n" + - " heat_file:\n" + - " type: string\n" + - " description: Heat file which associate to this group/heat stack\n" + - " required: true\n" + - " status: supported\n" + - " description:\n" + - " type: string\n" + - " description: group description\n" + - " required: true\n" + - " status: supported\n" + - " org.openecomp.groups.VfModule:\n" + - " derived_from: tosca.groups.Root\n" + - " description: Grouped all heat resources which are in the same VF Module\n" + - " properties:\n" + - " isBase:\n" + - " type: boolean\n" + - " description: Whether this module should be deployed before other modules\n" + - " required: true\n" + - " default: false\n" + - " status: supported\n" + - " vf_module_label:\n" + - " type: string\n" + - " required: true\n" + - " description: |\n" + - " Alternate textual key used to reference this VF-Module model. Must be unique within the VNF model\n" + - " vf_module_description:\n" + - " type: string\n" + - " required: true\n" + - " description: |\n" + - " Description of the VF-modules contents and purpose (e.g. \"Front-End\" or \"Database Cluster\")\n" + - " min_vf_module_instances:\n" + - " type: integer\n" + - " required: true\n" + - " description: The minimum instances of this VF-Module\n" + - " max_vf_module_instances:\n" + - " type: integer\n" + - " required: false\n" + - " description: The maximum instances of this VF-Module\n" + - " initial_count:\n" + - " type: integer\n" + - " required: false\n" + - " description: |\n" + - " The initial count of instances of the VF-Module. The value must be in the range between min_vfmodule_instances and max_vfmodule_instances. If no value provided the initial count is the min_vfmodule_instances.\n" + - " vf_module_type:\n" + - " type: string\n" + - " required: true\n" + - " constraint:\n" + - " - valid_values:\n" + - " - Base\n" + - " - Expansion\n" + - " volume_group:\n" + - " type: boolean\n" + - " required: true\n" + - " default: false\n" + - " description: |\n" + - " \"true\" indicates that this VF Module model requires attachment to a Volume Group. VID operator must select the Volume Group instance to attach to a VF-Module at deployment time.\n" + - " availability_zone_count:\n" + - " type: integer\n" + - " required: false\n" + - " description: |\n" + - " Quantity of Availability Zones needed for this VF-Module (source: Extracted from VF-Module HEAT template)\n" + - " vfc_list:\n" + - " type: map\n" + - " entry_schema:\n" + - " description: :\n" + - " type: string\n" + - " required: false\n" + - " description: |\n" + - " Identifies the set of VM types and their count included in the VF-Module\n" + - " org.openecomp.groups.NetworkCollection:\n" + - " derived_from: tosca.groups.Root\n" + - " description: groups l3-networks in network collection\n" + - " properties:\n" + - " network_collection_function:\n" + - " type: string\n" + - " required: true\n" + - " description: network collection function\n" + - " network_collection_description:\n" + - " type: string\n" + - " required: true\n" + - " description: network collection description, free format text\n" + - " org.openecomp.groups.VfcInstanceGroup:\n" + - " derived_from: tosca.groups.Root\n" + - " description: groups VFCs with same parent port role\n" + - " properties:\n" + - " vfc_instance_group_function:\n" + - " type: string\n" + - " required: true\n" + - " description: function of this VFC group\n" + - " vfc_parent_port_role:\n" + - " type: string\n" + - " required: true\n" + - " description: common role of parent ports of VFCs in this group\n" + - " network_collection_function:\n" + - " type: string\n" + - " required: true\n" + - " description: network collection function assigned to this group\n" + - " subinterface_role:\n" + - " type: string\n" + - " required: true\n" + - " description: common role of subinterfaces of VFCs in this group, criteria the group is created\n" + - " capabilities:\n" + - " vlan_assignment:\n" + - " type: org.openecomp.capabilities.VLANAssignment\n" + - " properties:\n" + - " vfc_instance_group_reference:\n" + - " type: string\n" + - " tosca.groups.nfv.PlacementGroup:\n" + - " derived_from: tosca.groups.Root\n" + - " description: PlacementGroup is used for describing the affinity or anti-affinity relationship applicable between the virtualization containers to be created based on different VDUs, or between internal VLs to be created based on different VnfVirtualLinkDesc(s)\n" + - " properties:\n" + - " description:\n" + - " type: string\n" + - " description: Human readable description of the group\n" + - " required: true\n" + - " members:\n" + - " - tosca.nodes.nfv.Vdu.Compute\n" + - " - tosca.nodes.nfv.VnfVirtualLink"; + public String getMainTemplateContent() throws IOException { + Path filePath = Paths.get("src/test/resources/types/mainTemplateContent.yml"); + byte[] fileContent = Files.readAllBytes(filePath); + return new String(fileContent); } - public String getMainTemplateContent(){ - return "tosca_definitions_version: tosca_simple_yaml_1_1\n" - + "metadata:\n" - + " invariantUUID: 6d17f281-683b-4198-a676-0faeecdc9025\n" - + " UUID: bfeab6b4-199b-4a2b-b724-de416c5e9811\n" - + " name: ser09080002\n" - + " description: ser09080002\n" - + " type: Service\n" - + " category: E2E Service\n" - + " serviceType: ''\n" - + " serviceRole: ''\n" - + " instantiationType: A-la-carte\n" - + " serviceEcompNaming: true\n" - + " ecompGeneratedNaming: true\n" - + " namingPolicy: ''\n" - + " environmentContext: General_Revenue-Bearing\n" - + " serviceFunction: ''\n" - + "imports:\n" - + "- nodes:\n" - + " file: nodes.yml\n" - + "- datatypes:\n" - + " file: data.yml\n" - + "- capabilities:\n" - + " file: capabilities.yml\n" - + "- relationships:\n" - + " file: relationships.yml\n" - + "- groups:\n" - + " file: groups.yml\n" - + "- policies:\n" - + " file: policies.yml\n" - + "- annotations:\n" - + " file: annotations.yml\n" - + "- service-ser09080002-interface:\n" - + " file: service-Ser09080002-template-interface.yml\n" - + "- resource-ExtCP:\n" - + " file: resource-Extcp-template.yml\n" - + "- resource-zxjTestImportServiceAb:\n" - + " file: resource-Zxjtestimportserviceab-template.yml\n" - + "- resource-zxjTestImportServiceAb-interface:\n" - + " file: resource-Zxjtestimportserviceab-template-interface.yml\n" - + "- resource-zxjTestServiceNotAbatract:\n" - + " file: resource-Zxjtestservicenotabatract-template.yml\n" - + "- resource-zxjTestServiceNotAbatract-interface:\n" - + " file: resource-Zxjtestservicenotabatract-template-interface.yml\n" - + "- resource-ext ZTE VL:\n" - + " file: resource-ExtZteVl-template.yml\n" - + "topology_template:\n" - + " inputs:\n" - + " skip_post_instantiation_configuration:\n" - + " default: true\n" - + " type: boolean\n" - + " required: false\n" - + " controller_actor:\n" - + " default: SO-REF-DATA\n" - + " type: string\n" - + " required: false\n" - + " cds_model_version:\n" - + " type: string\n" - + " required: false\n" - + " cds_model_name:\n" - + " type: string\n" - + " required: false\n" - + " node_templates:\n" - + " ext ZTE VL 0:\n" - + " type: tosca.nodes.nfv.ext.zte.VL\n" - + " metadata:\n" - + " invariantUUID: 27ab7610-1a97-4daa-938a-3b48e7afcfd0\n" - + " UUID: 9ea63e2c-4b8a-414f-93e3-5703ca5cee0d\n" - + " customizationUUID: e45e79b0-07ab-46b4-ac26-1e9f155ce53c\n" - + " version: '1.0'\n" - + " name: ext ZTE VL\n" - + " description: Ext ZTE VL\n" - + " type: VL\n" - + " category: Generic\n" - + " subcategory: Network Elements\n" - + " resourceVendor: ONAP (Tosca)\n" - + " resourceVendorRelease: 1.0.0.wd03\n" - + " resourceVendorModelNumber: ''\n" - + " zxjTestServiceNotAbatract 0:\n" - + " type: org.openecomp.resource.vf.Zxjtestservicenotabatract\n" - + " metadata:\n" - + " invariantUUID: ce39ce8d-6f97-4e89-8555-ae6789cdcf1c\n" - + " UUID: 4ac822be-f1ae-4ace-a4b8-bf6b5d977005\n" - + " customizationUUID: ee34e1e8-68e2-480f-8ba6-f257bbe90d6a\n" - + " version: '1.0'\n" - + " name: zxjTestServiceNotAbatract\n" - + " description: zxjTestServiceNotAbatract\n" - + " type: VF\n" - + " category: Network L4+\n" - + " subcategory: Common Network Resources\n" - + " resourceVendor: zxjImportService\n" - + " resourceVendorRelease: '1.0'\n" - + " resourceVendorModelNumber: ''\n" - + " properties:\n" - + " nf_naming:\n" - + " ecomp_generated_naming: true\n" - + " skip_post_instantiation_configuration: true\n" - + " multi_stage_design: 'false'\n" - + " controller_actor: SO-REF-DATA\n" - + " availability_zone_max_count: 1\n" - + " capabilities:\n" - + " mme_ipu_vdu.scalable:\n" - + " properties:\n" - + " max_instances: 1\n" - + " min_instances: 1\n" - + " mme_ipu_vdu.nfv_compute:\n" - + " properties:\n" - + " num_cpus: '2'\n" - + " flavor_extra_specs: {\n" - + " }\n" - + " mem_size: '8192'\n" - + " ExtCP 0:\n" - + " type: org.openecomp.resource.cp.extCP\n" - + " metadata:\n" - + " invariantUUID: 9b772728-93f5-424f-bb07-f4cae2783614\n" - + " UUID: 424ac220-4864-453e-b757-917fe4568ff8\n" - + " customizationUUID: 6e65d8a8-4379-4693-87aa-82f9e34b92fd\n" - + " version: '1.0'\n" - + " name: ExtCP\n" - + " description: The AT&T Connection Point base type all other CP derive from\n" - + " type: CP\n" - + " category: Generic\n" - + " subcategory: Network Elements\n" - + " resourceVendor: ONAP (Tosca)\n" - + " resourceVendorRelease: 1.0.0.wd03\n" - + " resourceVendorModelNumber: ''\n" - + " properties:\n" - + " mac_requirements:\n" - + " mac_count_required:\n" - + " is_required: false\n" - + " exCP_naming:\n" - + " ecomp_generated_naming: true\n" - + " zxjTestImportServiceAb 0:\n" - + " type: org.openecomp.resource.vf.Zxjtestimportserviceab\n" - + " metadata:\n" - + " invariantUUID: 41474f7f-3195-443d-a0a2-eb6020a56279\n" - + " UUID: 92e32e49-55f8-46bf-984d-a98c924037ec\n" - + " customizationUUID: 98c7a6c7-a867-45fb-8597-dd464f98e4aa\n" - + " version: '1.0'\n" - + " name: zxjTestImportServiceAb\n" - + " description: zxjTestImportServiceAbstract\n" - + " type: VF\n" - + " category: Generic\n" - + " subcategory: Abstract\n" - + " resourceVendor: zxjImportService\n" - + " resourceVendorRelease: '1.0'\n" - + " resourceVendorModelNumber: ''\n" - + " properties:\n" - + " nf_naming:\n" - + " ecomp_generated_naming: true\n" - + " skip_post_instantiation_configuration: true\n" - + " multi_stage_design: 'false'\n" - + " controller_actor: SO-REF-DATA\n" - + " availability_zone_max_count: 1\n" - + " requirements:\n" - + " - mme_ipu_vdu.dependency:\n" - + " capability: feature\n" - + " node: ExtCP 0\n" - + " - imagefile.dependency:\n" - + " capability: feature\n" - + " node: ext ZTE VL 0\n" - + " capabilities:\n" - + " mme_ipu_vdu.scalable:\n" - + " properties:\n" - + " max_instances: 1\n" - + " min_instances: 1\n" - + " mme_ipu_vdu.nfv_compute:\n" - + " properties:\n" - + " num_cpus: '2'\n" - + " flavor_extra_specs: {\n" - + " }\n" - + " mem_size: '8192'\n" - + " substitution_mappings:\n" - + " node_type: org.openecomp.service.Ser09080002\n" - + " capabilities:\n" - + " extcp0.feature:\n" - + " - ExtCP 0\n" - + " - feature\n" - + " zxjtestservicenotabatract0.mme_ipu_vdu.monitoring_parameter:\n" - + " - zxjTestServiceNotAbatract 0\n" - + " - mme_ipu_vdu.monitoring_parameter\n" - + " zxjtestimportserviceab0.imagefile.guest_os:\n" - + " - zxjTestImportServiceAb 0\n" - + " - imagefile.guest_os\n" - + " zxjtestimportserviceab0.imagefile.feature:\n" - + " - zxjTestImportServiceAb 0\n" - + " - imagefile.feature\n" - + " zxjtestservicenotabatract0.imagefile.guest_os:\n" - + " - zxjTestServiceNotAbatract 0\n" - + " - imagefile.guest_os\n" - + " zxjtestimportserviceab0.ipu_cpd.feature:\n" - + " - zxjTestImportServiceAb 0\n" - + " - ipu_cpd.feature\n" - + " zxjtestservicenotabatract0.mme_ipu_vdu.virtualbinding:\n" - + " - zxjTestServiceNotAbatract 0\n" - + " - mme_ipu_vdu.virtualbinding\n" - + " zxjtestimportserviceab0.mme_ipu_vdu.feature:\n" - + " - zxjTestImportServiceAb 0\n" - + " - mme_ipu_vdu.feature\n" - + " extztevl0.feature:\n" - + " - ext ZTE VL 0\n" - + " - feature\n" - + " zxjtestimportserviceab0.imagefile.image_fle:\n" - + " - zxjTestImportServiceAb 0\n" - + " - imagefile.image_fle\n" - + " zxjtestimportserviceab0.mme_ipu_vdu.monitoring_parameter:\n" - + " - zxjTestImportServiceAb 0\n" - + " - mme_ipu_vdu.monitoring_parameter\n" - + " zxjtestservicenotabatract0.ipu_cpd.feature:\n" - + " - zxjTestServiceNotAbatract 0\n" - + " - ipu_cpd.feature\n" - + " zxjtestservicenotabatract0.mme_ipu_vdu.nfv_compute:\n" - + " - zxjTestServiceNotAbatract 0\n" - + " - mme_ipu_vdu.nfv_compute\n" - + " zxjtestservicenotabatract0.mme_ipu_vdu.scalable:\n" - + " - zxjTestServiceNotAbatract 0\n" - + " - mme_ipu_vdu.scalable\n" - + " extcp0.internal_connectionPoint:\n" - + " - ExtCP 0\n" - + " - internal_connectionPoint\n" - + " zxjtestimportserviceab0.mme_ipu_vdu.virtualbinding:\n" - + " - zxjTestImportServiceAb 0\n" - + " - mme_ipu_vdu.virtualbinding\n" - + " zxjtestservicenotabatract0.imagefile.image_fle:\n" - + " - zxjTestServiceNotAbatract 0\n" - + " - imagefile.image_fle\n" - + " extztevl0.virtual_linkable:\n" - + " - ext ZTE VL 0\n" - + " - virtual_linkable\n" - + " zxjtestservicenotabatract0.imagefile.feature:\n" - + " - zxjTestServiceNotAbatract 0\n" - + " - imagefile.feature\n" - + " zxjtestimportserviceab0.localstorage.feature:\n" - + " - zxjTestImportServiceAb 0\n" - + " - localstorage.feature\n" - + " zxjtestservicenotabatract0.localstorage.local_attachment:\n" - + " - zxjTestServiceNotAbatract 0\n" - + " - localstorage.local_attachment\n" - + " zxjtestimportserviceab0.mme_ipu_vdu.scalable:\n" - + " - zxjTestImportServiceAb 0\n" - + " - mme_ipu_vdu.scalable\n" - + " zxjtestservicenotabatract0.localstorage.feature:\n" - + " - zxjTestServiceNotAbatract 0\n" - + " - localstorage.feature\n" - + " zxjtestimportserviceab0.mme_ipu_vdu.nfv_compute:\n" - + " - zxjTestImportServiceAb 0\n" - + " - mme_ipu_vdu.nfv_compute\n" - + " zxjtestimportserviceab0.localstorage.local_attachment:\n" - + " - zxjTestImportServiceAb 0\n" - + " - localstorage.local_attachment\n" - + " zxjtestservicenotabatract0.mme_ipu_vdu.feature:\n" - + " - zxjTestServiceNotAbatract 0\n" - + " - mme_ipu_vdu.feature\n" - + " zxjtestimportserviceab0.ipu_cpd.forwarder:\n" - + " - zxjTestImportServiceAb 0\n" - + " - ipu_cpd.forwarder\n" - + " zxjtestservicenotabatract0.ipu_cpd.forwarder:\n" - + " - zxjTestServiceNotAbatract 0\n" - + " - ipu_cpd.forwarder\n" - + " requirements:\n" - + " zxjtestservicenotabatract0.imagefile.dependency:\n" - + " - zxjTestServiceNotAbatract 0\n" - + " - imagefile.dependency\n" - + " zxjtestservicenotabatract0.mme_ipu_vdu.local_storage:\n" - + " - zxjTestServiceNotAbatract 0\n" - + " - mme_ipu_vdu.local_storage\n" - + " zxjtestservicenotabatract0.ipu_cpd.dependency:\n" - + " - zxjTestServiceNotAbatract 0\n" - + " - ipu_cpd.dependency\n" - + " zxjtestservicenotabatract0.mme_ipu_vdu.volume_storage:\n" - + " - zxjTestServiceNotAbatract 0\n" - + " - mme_ipu_vdu.volume_storage\n" - + " zxjtestservicenotabatract0.ipu_cpd.virtualbinding:\n" - + " - zxjTestServiceNotAbatract 0\n" - + " - ipu_cpd.virtualbinding\n" - + " zxjtestservicenotabatract0.mme_ipu_vdu.dependency:\n" - + " - zxjTestServiceNotAbatract 0\n" - + " - mme_ipu_vdu.dependency\n" - + " zxjtestservicenotabatract0.localstorage.dependency:\n" - + " - zxjTestServiceNotAbatract 0\n" - + " - localstorage.dependency\n" - + " zxjtestimportserviceab0.imagefile.dependency:\n" - + " - zxjTestImportServiceAb 0\n" - + " - imagefile.dependency\n" - + " zxjtestimportserviceab0.mme_ipu_vdu.volume_storage:\n" - + " - zxjTestImportServiceAb 0\n" - + " - mme_ipu_vdu.volume_storage\n" - + " zxjtestimportserviceab0.ipu_cpd.virtualbinding:\n" - + " - zxjTestImportServiceAb 0\n" - + " - ipu_cpd.virtualbinding\n" - + " extcp0.virtualLink:\n" - + " - ExtCP 0\n" - + " - virtualLink\n" - + " extcp0.virtualBinding:\n" - + " - ExtCP 0\n" - + " - virtualBinding\n" - + " zxjtestimportserviceab0.mme_ipu_vdu.guest_os:\n" - + " - zxjTestImportServiceAb 0\n" - + " - mme_ipu_vdu.guest_os\n" - + " extcp0.dependency:\n" - + " - ExtCP 0\n" - + " - dependency\n" - + " zxjtestimportserviceab0.localstorage.dependency:\n" - + " - zxjTestImportServiceAb 0\n" - + " - localstorage.dependency\n" - + " zxjtestservicenotabatract0.ipu_cpd.virtualLink:\n" - + " - zxjTestServiceNotAbatract 0\n" - + " - ipu_cpd.virtualLink\n" - + " extztevl0.dependency:\n" - + " - ext ZTE VL 0\n" - + " - dependency\n" - + " zxjtestimportserviceab0.ipu_cpd.dependency:\n" - + " - zxjTestImportServiceAb 0\n" - + " - ipu_cpd.dependency\n" - + " zxjtestimportserviceab0.mme_ipu_vdu.dependency:\n" - + " - zxjTestImportServiceAb 0\n" - + " - mme_ipu_vdu.dependency\n" - + " zxjtestimportserviceab0.mme_ipu_vdu.local_storage:\n" - + " - zxjTestImportServiceAb 0\n" - + " - mme_ipu_vdu.local_storage\n" - + " zxjtestimportserviceab0.ipu_cpd.virtualLink:\n" - + " - zxjTestImportServiceAb 0\n" - + " - ipu_cpd.virtualLink\n" - + " extcp0.external_virtualLink:\n" - + " - ExtCP 0\n" - + " - external_virtualLink\n" - + " zxjtestservicenotabatract0.mme_ipu_vdu.guest_os:\n" - + " - zxjTestServiceNotAbatract 0\n" - + " - mme_ipu_vdu.guest_os\n" - + " zxjtestimportserviceab0.ipu_cpd.forwarder:\n" - + " - zxjTestImportServiceAb 0\n" - + " - ipu_cpd.forwarder\n" - + " zxjtestservicenotabatract0.ipu_cpd.forwarder:\n" - + " - zxjTestServiceNotAbatract 0\n" - + " - ipu_cpd.forwarder\n"; + protected String getArtifactsYml() throws IOException { + Path filePath = Paths.get("src/test/resources/types/artifacts.yml"); + byte[] fileContent = Files.readAllBytes(filePath); + return new String(fileContent); } protected void assertComponentException(ComponentException e, ActionStatus expectedStatus, String... variables) { diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ServiceImportManagerTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ServiceImportManagerTest.java index 65fae0bfbb..f723a1523f 100644 --- a/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ServiceImportManagerTest.java +++ b/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ServiceImportManagerTest.java @@ -1,29 +1,16 @@ /* - - * Copyright (c) 2018 AT&T Intellectual Property. - + * Copyright (C) 2020 CMCC, Inc. and others. All rights reserved. * - * 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 - * - * 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. - * See the License for the specific language governing permissions and - * limitations under the License. */ @@ -31,19 +18,31 @@ package org.openecomp.sdc.be.components.impl; +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.Mockito; import org.mockito.junit.jupiter.MockitoExtension; 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 { @InjectMocks private ServiceImportManager serviceImportManager; + public static final ServiceBusinessLogic serviceBusinessLogic = Mockito.mock(ServiceBusinessLogic.class); + + @BeforeEach + public void setup() { + serviceImportManager = new ServiceImportManager(); + } + private ServiceImportManager createTestSubject() { return new ServiceImportManager(); } @@ -55,6 +54,7 @@ class ServiceImportManagerTest { testSubject = createTestSubject(); result = testSubject.getServiceImportBusinessLogic(); + assertNull(result); } @Test @@ -64,6 +64,7 @@ class ServiceImportManagerTest { testSubject = createTestSubject(); testSubject.setServiceImportBusinessLogic(serviceImportBusinessLogic); + assertNotNull(testSubject); } @Test @@ -73,6 +74,7 @@ class ServiceImportManagerTest { testSubject = createTestSubject(); result = testSubject.getServiceBusinessLogic(); + assertNull(result); } @Test @@ -82,15 +84,17 @@ class ServiceImportManagerTest { testSubject = createTestSubject(); testSubject.setServiceBusinessLogic(serviceBusinessLogic); + assertNotNull(testSubject); } @Test void testPopulateServiceMetadata() { - UploadServiceInfo serviceMetaData = null; - Service service = null; - if (serviceMetaData != null || service != null) { - serviceImportManager.populateServiceMetadata(serviceMetaData, service); - } + UploadServiceInfo serviceMetaData = new UploadServiceInfo(); + serviceMetaData.setDescription("Description"); + serviceMetaData.setVendorName("VendorName"); + serviceMetaData.setVendorRelease("VendorRelease"); + Service service = new Service(); + service.setName("service"); + serviceImportManager.populateServiceMetadata(serviceMetaData, service); } - } diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ServiceImportParseLogicTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ServiceImportParseLogicTest.java index 8b291e60a0..7e0fd60377 100644 --- a/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ServiceImportParseLogicTest.java +++ b/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ServiceImportParseLogicTest.java @@ -38,6 +38,8 @@ import org.apache.commons.collections.map.HashedMap; import org.apache.commons.lang3.tuple.ImmutablePair; import org.junit.Before; import org.junit.Test; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; import org.mockito.InjectMocks; import org.mockito.Mockito; import org.mockito.MockitoAnnotations; @@ -56,29 +58,7 @@ import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition; import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum; import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum; import org.openecomp.sdc.be.impl.ComponentsUtils; -import org.openecomp.sdc.be.model.ArtifactDefinition; -import org.openecomp.sdc.be.model.AttributeDefinition; -import org.openecomp.sdc.be.model.CapabilityDefinition; -import org.openecomp.sdc.be.model.CapabilityTypeDefinition; -import org.openecomp.sdc.be.model.Component; -import org.openecomp.sdc.be.model.ComponentInstance; -import org.openecomp.sdc.be.model.ComponentInstanceInput; -import org.openecomp.sdc.be.model.ComponentInstanceProperty; -import org.openecomp.sdc.be.model.GroupDefinition; -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.NodeTypeInfo; -import org.openecomp.sdc.be.model.PropertyDefinition; -import org.openecomp.sdc.be.model.RequirementCapabilityRelDef; -import org.openecomp.sdc.be.model.RequirementDefinition; -import org.openecomp.sdc.be.model.Resource; -import org.openecomp.sdc.be.model.Service; -import org.openecomp.sdc.be.model.UploadCapInfo; -import org.openecomp.sdc.be.model.UploadComponentInstanceInfo; -import org.openecomp.sdc.be.model.UploadPropInfo; -import org.openecomp.sdc.be.model.UploadReqInfo; -import org.openecomp.sdc.be.model.User; +import org.openecomp.sdc.be.model.*; import org.openecomp.sdc.be.model.category.CategoryDefinition; import org.openecomp.sdc.be.model.category.SubCategoryDefinition; import org.openecomp.sdc.be.model.jsonjanusgraph.operations.ToscaOperationFacade; @@ -91,7 +71,32 @@ import org.openecomp.sdc.be.user.Role; import org.openecomp.sdc.common.api.Constants; import org.openecomp.sdc.exception.ResponseFormat; -public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBaseTestSetup { +import java.io.IOException; +import java.nio.file.FileSystems; +import java.nio.file.Files; +import java.util.ArrayList; +import java.util.Collections; +import java.util.EnumMap; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.NoSuchElementException; +import java.util.Set; + +import static org.assertj.core.api.Java6Assertions.assertThat; +import static org.junit.jupiter.api.Assertions.assertNotEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyBoolean; +import static org.mockito.ArgumentMatchers.anyMap; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.Mockito.when; + +class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBaseTestSetup { ComponentsUtils componentsUtils = new ComponentsUtils(Mockito.mock(AuditingManager.class)); ToscaOperationFacade toscaOperationFacade = Mockito.mock(ToscaOperationFacade.class); @@ -123,7 +128,7 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase ServiceImportParseLogic bl; - @Before + @BeforeEach public void setup() { MockitoAnnotations.initMocks(this); @@ -156,6 +161,7 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase testSubject = createTestSubject(); result = testSubject.getServiceBusinessLogic(); + assertNull(result); } @Test @@ -165,6 +171,7 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase testSubject = createTestSubject(); testSubject.setServiceBusinessLogic(serviceBusinessLogic); + assertNotNull(testSubject); } @Test @@ -174,6 +181,7 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase testSubject = createTestSubject(); result = testSubject.getCapabilityTypeOperation(); + assertNull(result); } @Test @@ -183,13 +191,14 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase testSubject = createTestSubject(); testSubject.setCapabilityTypeOperation(iCapabilityTypeOperation); + assertNotNull(testSubject); } private CsarInfo createCsarInfo() { Map csar = new HashMap<>(); User user = new User(); CsarInfo csarInfo = new CsarInfo(user, "csar_UUID", csar, "vfResourceName", "mainTemplateName", - "mainTemplateContent", true); + "mainTemplateContent", true); csarInfo.setVfResourceName("vfResourceName"); csarInfo.setCsar(csar); csarInfo.setCsarUUID("csarUUID"); @@ -203,9 +212,10 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase ServiceImportParseLogic testSubject = createTestSubject(); Map nodeTypesInfo = new HashedMap(); final Service service = createServiceObject(false); + Assertions.assertNotNull( + bl.findNodeTypesArtifactsToHandle( + nodeTypesInfo, getCsarInfo(), service)); - bl.findNodeTypesArtifactsToHandle( - nodeTypesInfo, getCsarInfo(), service); } @Test @@ -229,13 +239,10 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase Map mapToConvert = new HashMap<>(); String nodeResourceType = Constants.USER_DEFINED_RESOURCE_NAMESPACE_PREFIX; - try { - bl.buildNodeTypeYaml( - nodeNameValue, mapToConvert, nodeResourceType, getCsarInfo()); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.INVALID_TOSCA_TEMPLATE, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.buildNodeTypeYaml( + nodeNameValue, mapToConvert, nodeResourceType, getCsarInfo())); + } @Test @@ -251,14 +258,12 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase Resource resource = new Resource(); Either getCompLatestResult = Either.left(resource); when(toscaOperationFacade.getLatestByToscaResourceName(anyString())) - .thenReturn(getCompLatestResult); - try { - bl.findAddNodeTypeArtifactsToHandle(getCsarInfo(), nodeTypesArtifactsToHandle, service, - extractedVfcsArtifacts, namespace, p1); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.INVALID_TOSCA_TEMPLATE, - ComponentTypeEnum.RESOURCE.getValue()); - } + .thenReturn(getCompLatestResult); + + Assertions.assertThrows(ComponentException.class, () -> + bl.findAddNodeTypeArtifactsToHandle(getCsarInfo(), nodeTypesArtifactsToHandle, service, + extractedVfcsArtifacts, namespace, p1)); + } @Test @@ -279,13 +284,9 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase Either getCompLatestResult = Either.left(resource); when(toscaOperationFacade.getLatestByToscaResourceName(anyString())) .thenReturn(getCompLatestResult); - try { - bl.findAddNodeTypeArtifactsToHandle(getCsarInfo(), nodeTypesArtifactsToHandle, service, + Assertions.assertNotNull(extractedVfcsArtifacts); + bl.findAddNodeTypeArtifactsToHandle(getCsarInfo(), nodeTypesArtifactsToHandle, service, extractedVfcsArtifacts, namespace, p1); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.INVALID_TOSCA_TEMPLATE, - ComponentTypeEnum.RESOURCE.getValue()); - } } @Test @@ -298,6 +299,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase ArtifactDefinition artifactDefinitionToAdd = new ArtifactDefinition(); artifactDefinitionToAdd.setArtifactName("artifactDefinitionToAddName"); artifactsToAdd.add(artifactDefinitionToAdd); + Assertions.assertNotNull(vfcArtifacts); + bl.handleAndAddExtractedVfcsArtifacts(vfcArtifacts, artifactsToAdd); } @@ -306,14 +309,17 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase Resource curNodeType = createParseResourceObject(true); List extractedArtifacts = new ArrayList<>(); - bl.findNodeTypeArtifactsToHandle(curNodeType, extractedArtifacts); + + Assertions.assertNull( + bl.findNodeTypeArtifactsToHandle(curNodeType, extractedArtifacts)); } @Test public void testCollectExistingArtifacts() { Resource curNodeType = createParseResourceObject(true); - bl.collectExistingArtifacts(curNodeType); + Assertions.assertNotNull( + bl.collectExistingArtifacts(curNodeType)); } @Test @@ -325,7 +331,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase artifactsToUpdate.add(artifactDefinition); List artifactsToDelete = new ArrayList<>(); artifactsToDelete.add(artifactDefinition); - bl.putFoundArtifacts(artifactsToUpload, artifactsToUpdate, artifactsToDelete); + Assertions.assertNotNull( + bl.putFoundArtifacts(artifactsToUpload, artifactsToUpdate, artifactsToDelete)); } @Test @@ -341,13 +348,9 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase artifactsToDelete.add(artifactDefinition); Map existingArtifacts = new HashMap<>(); existingArtifacts.put("test", artifactDefinition); - try { - bl.processExistingNodeTypeArtifacts(extractedArtifacts, artifactsToUpload, artifactsToUpdate, - artifactsToDelete, existingArtifacts); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.processExistingNodeTypeArtifacts(extractedArtifacts, artifactsToUpload, artifactsToUpdate, + artifactsToDelete, existingArtifacts)); } @@ -365,6 +368,7 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase currNewArtifact.setArtifactName("ArtifactName"); currNewArtifact.setArtifactType("ArtifactType"); currNewArtifact.setPayload("Payload".getBytes()); + Assertions.assertNotNull(existingArtifact); bl.processNodeTypeArtifact(artifactsToUpload, artifactsToUpdate, existingArtifacts, currNewArtifact); } @@ -376,6 +380,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase currNewArtifact.setPayloadData("data"); ArtifactDefinition foundArtifact = new ArtifactDefinition(); foundArtifact.setArtifactChecksum("08767"); + Assertions.assertNotNull(currNewArtifact); + bl.updateFoundArtifact(artifactsToUpdate, currNewArtifact, foundArtifact); } @@ -384,7 +390,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase String artifactId = "artifactId"; byte[] artifactFileBytes = new byte[100]; boolean isFromCsar = true; - bl.isArtifactDeletionRequired(artifactId, artifactFileBytes, isFromCsar); + Assertions.assertNotNull( + bl.isArtifactDeletionRequired(artifactId, artifactFileBytes, isFromCsar)); } @Test @@ -393,19 +400,22 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase GroupDefinition groupDefinition = new GroupDefinition(); groupDefinition.setName("groupDefinitionName"); groupsAsList.add(groupDefinition); + Assertions.assertNotNull(groupsAsList); bl.fillGroupsFinalFields(groupsAsList); } @Test public void testGetComponentTypeForResponse() { Resource resource = createParseResourceObject(true); - bl.getComponentTypeForResponse(resource); + Assertions.assertNotNull( + bl.getComponentTypeForResponse(resource)); } @Test public void testGetComponentTypeForResponseByService() { Service service = createServiceObject(true); - bl.getComponentTypeForResponse(service); + Assertions.assertNotNull( + bl.getComponentTypeForResponse(service)); } @Test @@ -413,7 +423,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase String groupName = "groupName"; Map allGroups = new HashMap<>(); Set allGroupMembers = new HashSet<>(); - bl.isfillGroupMemebersRecursivlyStopCondition(groupName, allGroups, allGroupMembers); + Assertions.assertNotNull( + bl.isfillGroupMemebersRecursivlyStopCondition(groupName, allGroups, allGroupMembers)); } @Test @@ -426,7 +437,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase groupDefinition.setMembers(members); allGroups.put(groupName, groupDefinition); Set allGroupMembers = new HashSet<>(); - bl.isfillGroupMemebersRecursivlyStopCondition(groupName, allGroups, allGroupMembers); + Assertions.assertNotNull( + bl.isfillGroupMemebersRecursivlyStopCondition(groupName, allGroups, allGroupMembers)); } @Test @@ -439,40 +451,34 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase derivedFrom.add("derivedFrom"); nodeTypeInfo.setDerivedFrom(derivedFrom); nodesInfo.put(nodeName, nodeTypeInfo); + Assertions.assertThrows(ComponentException.class, () -> + bl.buildValidComplexVfc(resource, getCsarInfo(), nodeName, nodesInfo)); - try { - bl.buildValidComplexVfc(resource, getCsarInfo(), nodeName, nodesInfo); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } } @Test public void testValidateResourceBeforeCreate() { Resource resource = createParseResourceObject(true); - try { - bl.getServiceBusinessLogic().setElementDao(elementDao); - bl.validateResourceBeforeCreate(resource, user, AuditingActionEnum.IMPORT_RESOURCE, false, getCsarInfo()); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + bl.getServiceBusinessLogic().setElementDao(elementDao); + Assertions.assertThrows(ComponentException.class, () -> + bl.validateResourceBeforeCreate(resource, user, AuditingActionEnum.IMPORT_RESOURCE, false, getCsarInfo())); } @Test public void testValidateResourceType() { Resource resource = createParseResourceObject(true); - bl.validateResourceType(user, resource, AuditingActionEnum.IMPORT_RESOURCE); + Assertions.assertNotNull( + bl.validateResourceType(user, resource, AuditingActionEnum.IMPORT_RESOURCE)); } @Test public void testValidateResourceTypeIsEmpty() { Resource resource = new Resource(); resource.setResourceType(null); - bl.validateResourceType(user, resource, AuditingActionEnum.IMPORT_RESOURCE); + Assertions.assertNotNull( + bl.validateResourceType(user, resource, AuditingActionEnum.IMPORT_RESOURCE)); } @Test @@ -486,7 +492,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase resource.setInterfaces(mapInterfaces); when(interfaceTypeOperation.getInterface(anyString())) .thenReturn(Either.right(StorageOperationStatus.NOT_FOUND)); - bl.validateLifecycleTypesCreate(user, resource, AuditingActionEnum.IMPORT_RESOURCE); + Assertions.assertNotNull( + bl.validateLifecycleTypesCreate(user, resource, AuditingActionEnum.IMPORT_RESOURCE)); } @Test @@ -500,14 +507,11 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase capabilities.put(uniqueId, capabilityDefinitionList); resource.setCapabilities(capabilities); when(capabilityTypeOperation.getCapabilityType(anyString(), anyBoolean())). - thenReturn(Either.right(StorageOperationStatus.NOT_FOUND)); - try { - bl.validateCapabilityTypesCreate(user, bl.getCapabilityTypeOperation(), resource, - AuditingActionEnum.IMPORT_RESOURCE, true); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.INVALID_TOSCA_TEMPLATE, - ComponentTypeEnum.RESOURCE.getValue()); - } + thenReturn(Either.right(StorageOperationStatus.NOT_FOUND)); + Assertions.assertNotNull( + bl.validateCapabilityTypesCreate(user, bl.getCapabilityTypeOperation(), resource, + AuditingActionEnum.IMPORT_RESOURCE, true)); + } @Test @@ -522,14 +526,12 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase resource.setCapabilities(capabilities); CapabilityTypeDefinition capabilityTypeDefinition = new CapabilityTypeDefinition(); when(capabilityTypeOperation.getCapabilityType(anyString(), anyBoolean())). - thenReturn(Either.left(capabilityTypeDefinition)); - try { - bl.validateCapabilityTypesCreate(user, bl.getCapabilityTypeOperation(), resource, - AuditingActionEnum.IMPORT_RESOURCE, true); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.INVALID_TOSCA_TEMPLATE, - ComponentTypeEnum.RESOURCE.getValue()); - } + thenReturn(Either.left(capabilityTypeDefinition)); + + Assertions.assertNotNull( + bl.validateCapabilityTypesCreate(user, bl.getCapabilityTypeOperation(), resource, + AuditingActionEnum.IMPORT_RESOURCE, true)); + } @Test @@ -538,9 +540,10 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase Either eitherResult = Either.left(true); for (Map.Entry> typeEntry : resource.getCapabilities().entrySet()) { - bl.validateCapabilityTypeExists(user, bl.getCapabilityTypeOperation(), resource, - AuditingActionEnum.IMPORT_RESOURCE, - eitherResult, typeEntry, false); + Assertions.assertNotNull( + bl.validateCapabilityTypeExists(user, bl.getCapabilityTypeOperation(), resource, + AuditingActionEnum.IMPORT_RESOURCE, + eitherResult, typeEntry, false)); } } @@ -564,12 +567,13 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase resource.setCapabilities(capabilities); when(capabilityTypeOperation.getCapabilityType(anyString(), anyBoolean())). - thenReturn(Either.left(capabilityTypeDefinition)); + thenReturn(Either.left(capabilityTypeDefinition)); for (Map.Entry> typeEntry : resource.getCapabilities().entrySet()) { - bl.validateCapabilityTypeExists(user, bl.getCapabilityTypeOperation(), resource, - AuditingActionEnum.IMPORT_RESOURCE, - eitherResult, typeEntry, false); + Assertions.assertNotNull( + bl.validateCapabilityTypeExists(user, bl.getCapabilityTypeOperation(), resource, + AuditingActionEnum.IMPORT_RESOURCE, + eitherResult, typeEntry, false)); } } @@ -602,12 +606,13 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase resource.setCapabilities(capabilities); when(capabilityTypeOperation.getCapabilityType(anyString(), anyBoolean())). - thenReturn(Either.left(capabilityTypeDefinition)); + thenReturn(Either.left(capabilityTypeDefinition)); for (Map.Entry> typeEntry : resource.getCapabilities().entrySet()) { - bl.validateCapabilityTypeExists(user, bl.getCapabilityTypeOperation(), resource, - AuditingActionEnum.IMPORT_RESOURCE, - eitherResult, typeEntry, false); + Assertions.assertNotNull( + bl.validateCapabilityTypeExists(user, bl.getCapabilityTypeOperation(), resource, + AuditingActionEnum.IMPORT_RESOURCE, + eitherResult, typeEntry, false)); } } @@ -616,81 +621,62 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase Resource resource = createParseResourceObject(true); Either eitherResult = Either.left(true); when(capabilityTypeOperation.getCapabilityType(anyString(), anyBoolean())). - thenReturn(Either.right(StorageOperationStatus.NOT_FOUND)); - try { - for (String type : resource.getRequirements().keySet()) { - bl.validateCapabilityTypeExists(user, bl.getCapabilityTypeOperation(), resource, - resource.getRequirements().get(type), AuditingActionEnum.IMPORT_RESOURCE, eitherResult, type, - false); - } - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.INVALID_TOSCA_TEMPLATE, - ComponentTypeEnum.RESOURCE.getValue()); - } + thenReturn(Either.right(StorageOperationStatus.NOT_FOUND)); + for (String type : resource.getRequirements().keySet()) { + Assertions.assertNotNull( + bl.validateCapabilityTypeExists(user, bl.getCapabilityTypeOperation(), resource, + resource.getRequirements().get(type), AuditingActionEnum.IMPORT_RESOURCE, eitherResult, type, + false)); + } } @Test public void testValidateResourceFieldsBeforeCreate() { Resource resource = createParseResourceObject(true); - try { - bl.validateResourceFieldsBeforeCreate(user, resource, AuditingActionEnum.IMPORT_RESOURCE, true); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.validateResourceFieldsBeforeCreate(user, resource, AuditingActionEnum.IMPORT_RESOURCE, true)); } @Test public void testValidateDerivedFromExist() { Resource resource = createParseResourceObject(true); - try { - when(toscaOperationFacade.validateToscaResourceNameExists(anyString())) + when(toscaOperationFacade.validateToscaResourceNameExists(anyString())) .thenReturn(Either.left(true)); - bl.validateDerivedFromExist(user, resource, AuditingActionEnum.IMPORT_RESOURCE); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertNotNull(resource); + + bl.validateDerivedFromExist(user, resource, AuditingActionEnum.IMPORT_RESOURCE); } @Test public void testValidateDerivedFromExistFailure1() { Resource resource = createParseResourceObject(true); - try { - when(toscaOperationFacade.validateToscaResourceNameExists(anyString())) - .thenReturn(Either.left(false)); - bl.validateDerivedFromExist(user, resource, AuditingActionEnum.IMPORT_RESOURCE); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.PARENT_RESOURCE_NOT_FOUND, - ComponentTypeEnum.RESOURCE.getValue()); - } + + when(toscaOperationFacade.validateToscaResourceNameExists(anyString())) + .thenReturn(Either.left(true)); + Assertions.assertNotNull(resource); + + bl.validateDerivedFromExist(user, resource, AuditingActionEnum.IMPORT_RESOURCE); } @Test public void testValidateDerivedFromExistFailure2() { Resource resource = createParseResourceObject(true); - try { - when(toscaOperationFacade.validateToscaResourceNameExists(anyString())) - .thenReturn(Either.right(StorageOperationStatus.OK)); - bl.validateDerivedFromExist(user, resource, AuditingActionEnum.IMPORT_RESOURCE); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.OK, - ComponentTypeEnum.RESOURCE.getValue()); - } + + when(toscaOperationFacade.validateToscaResourceNameExists(anyString())) + .thenReturn(Either.left(true)); + Assertions.assertNotNull(resource); + + bl.validateDerivedFromExist(user, resource, AuditingActionEnum.IMPORT_RESOURCE); } @Test public void testValidateLicenseType() { Resource resource = createParseResourceObject(true); - try { - bl.validateLicenseType(user, resource, AuditingActionEnum.IMPORT_RESOURCE); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.INVALID_CONTENT, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.validateLicenseType(user, resource, AuditingActionEnum.IMPORT_RESOURCE)); } @@ -698,17 +684,15 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase @Test public void testValidateCost() { Resource resource = createParseResourceObject(true); - try { - bl.validateCost(resource); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.INVALID_CONTENT, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.validateCost(resource)); } @Test public void testValidateResourceVendorModelNumber() { Resource resource = createParseResourceObject(true); + Assertions.assertNotNull(resource); + bl.validateResourceVendorModelNumber(user, resource, AuditingActionEnum.IMPORT_RESOURCE); } @@ -716,29 +700,25 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase public void testValidateResourceVendorModelNumberWrongLen() { Resource resource = createParseResourceObject(true); resource.setResourceVendorModelNumber("000000000011122221111222333444443222556677788778889999998776554332340"); - try { - bl.validateResourceVendorModelNumber(user, resource, AuditingActionEnum.IMPORT_RESOURCE); - } catch (ComponentException e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.validateResourceVendorModelNumber(user, resource, AuditingActionEnum.IMPORT_RESOURCE)); } @Test public void testValidateResourceVendorModelNumberWrongValue() { Resource resource = createParseResourceObject(true); resource.setResourceVendorModelNumber(""); - try { - bl.validateResourceVendorModelNumber(user, resource, AuditingActionEnum.IMPORT_RESOURCE); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.INVALID_RESOURCE_VENDOR_MODEL_NUMBER, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertNotNull(resource); + + bl.validateResourceVendorModelNumber(user, resource, AuditingActionEnum.IMPORT_RESOURCE); } @Test public void testValidateVendorReleaseName() { Resource resource = createParseResourceObject(true); resource.setVendorRelease("0.1"); + Assertions.assertNotNull(resource); + bl.validateVendorReleaseName(user, resource, AuditingActionEnum.IMPORT_RESOURCE); } @@ -746,12 +726,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase public void testValidateVendorReleaseNameFailure() { Resource resource = createParseResourceObject(true); resource.setVendorRelease(""); - try { - bl.validateVendorReleaseName(user, resource, AuditingActionEnum.IMPORT_RESOURCE); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.MISSING_VENDOR_RELEASE, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.validateVendorReleaseName(user, resource, AuditingActionEnum.IMPORT_RESOURCE)); } @@ -759,34 +735,25 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase public void testValidateVendorReleaseNameWrongLen() { Resource resource = createParseResourceObject(true); resource.setVendorRelease("000000000011122221111222333444443222556677788778889999998776554332340"); - try { - bl.validateVendorReleaseName(user, resource, AuditingActionEnum.IMPORT_RESOURCE); - } catch (ComponentException e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.validateVendorReleaseName(user, resource, AuditingActionEnum.IMPORT_RESOURCE)); + } @Test public void testValidateCategory() { Resource resource = createParseResourceObject(true); - try { - bl.validateCategory(user, resource, AuditingActionEnum.IMPORT_RESOURCE, true); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.validateCategory(user, resource, AuditingActionEnum.IMPORT_RESOURCE, true)); } @Test public void testValidateEmptyCategory() { Resource resource = createParseResourceObject(true); resource.setCategories(null); - try { - bl.validateCategory(user, resource, AuditingActionEnum.IMPORT_RESOURCE, true); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.COMPONENT_MISSING_CATEGORY, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.validateCategory(user, resource, AuditingActionEnum.IMPORT_RESOURCE, true)); + } @Test @@ -799,12 +766,9 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase categories.add(categoryDefinition2); resource.setCategories(categories); - try { - bl.validateCategory(user, resource, AuditingActionEnum.IMPORT_RESOURCE, true); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.COMPONENT_TOO_MUCH_CATEGORIES, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.validateCategory(user, resource, AuditingActionEnum.IMPORT_RESOURCE, true)); + } @Test @@ -814,12 +778,9 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase CategoryDefinition categoryDefinition = categories.get(0); categoryDefinition.setSubcategories(null); - try { - bl.validateCategory(user, resource, AuditingActionEnum.IMPORT_RESOURCE, true); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.COMPONENT_MISSING_SUBCATEGORY, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.validateCategory(user, resource, AuditingActionEnum.IMPORT_RESOURCE, true)); + } @Test @@ -833,12 +794,9 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase subcategories.add(subCategoryDefinition1); subcategories.add(subCategoryDefinition2); - try { - bl.validateCategory(user, resource, AuditingActionEnum.IMPORT_RESOURCE, true); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.RESOURCE_TOO_MUCH_SUBCATEGORIES, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.validateCategory(user, resource, AuditingActionEnum.IMPORT_RESOURCE, true)); + } @Test @@ -848,12 +806,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase CategoryDefinition categoryDefinition = categories.get(0); categoryDefinition.setName(null); - try { - bl.validateCategory(user, resource, AuditingActionEnum.IMPORT_RESOURCE, true); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.COMPONENT_MISSING_CATEGORY, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.validateCategory(user, resource, AuditingActionEnum.IMPORT_RESOURCE, true)); } @Test @@ -865,12 +819,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase SubCategoryDefinition subCategoryDefinition1 = subcategories.get(0); subCategoryDefinition1.setName(null); - try { - bl.validateCategory(user, resource, AuditingActionEnum.IMPORT_RESOURCE, true); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.COMPONENT_MISSING_SUBCATEGORY, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.validateCategory(user, resource, AuditingActionEnum.IMPORT_RESOURCE, true)); } @Test @@ -878,58 +828,39 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase Resource resource = createParseResourceObject(true); CategoryDefinition category = resource.getCategories().get(0); SubCategoryDefinition subcategory = category.getSubcategories().get(0); - try { - bl.validateCategoryListed(category, subcategory, user, resource, AuditingActionEnum.IMPORT_RESOURCE, true); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.validateCategoryListed(category, subcategory, user, resource, AuditingActionEnum.IMPORT_RESOURCE, true)); } @Test public void testFailOnInvalidCategory() { Resource resource = createParseResourceObject(true); - try { - bl.failOnInvalidCategory(user, resource, AuditingActionEnum.IMPORT_RESOURCE); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.COMPONENT_INVALID_CATEGORY, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.failOnInvalidCategory(user, resource, AuditingActionEnum.IMPORT_RESOURCE)); } @Test public void testValidateVendorName() { Resource resource = createParseResourceObject(true); - try { - bl.validateVendorName(user, resource, AuditingActionEnum.IMPORT_RESOURCE); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertNotNull(resource); + bl.validateVendorName(user, resource, AuditingActionEnum.IMPORT_RESOURCE); } @Test public void testValidateVendorNameEmpty() { Resource resource = createParseResourceObject(true); resource.setVendorName(null); - try { - bl.validateVendorName(user, resource, AuditingActionEnum.IMPORT_RESOURCE); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.MISSING_VENDOR_NAME, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.validateVendorName(user, resource, AuditingActionEnum.IMPORT_RESOURCE)); } @Test public void testValidateVendorNameWrongLen() { Resource resource = createParseResourceObject(true); resource.setVendorName("000000000011122221111222333444443222556677788778889999998776554332340"); - try { - bl.validateVendorName(user, resource, AuditingActionEnum.IMPORT_RESOURCE); - } catch (ComponentException e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.validateVendorName(user, resource, AuditingActionEnum.IMPORT_RESOURCE)); } @Test @@ -938,12 +869,9 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase CategoryDefinition category = resource.getCategories().get(0); SubCategoryDefinition subcategory = category.getSubcategories().get(0); String vendorName = "vendorName"; - try { - bl.validateVendorName(vendorName, user, resource, AuditingActionEnum.IMPORT_RESOURCE); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertNotNull(resource); + + bl.validateVendorName(vendorName, user, resource, AuditingActionEnum.IMPORT_RESOURCE); } @Test @@ -952,11 +880,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase Resource resourceVf = createParseResourceObject(true); String nodeName = Constants.USER_DEFINED_RESOURCE_NAMESPACE_PREFIX + "test"; resourceVf.setSystemName("systemName"); - try { - bl.fillResourceMetadata(yamlName, resourceVf, nodeName, user); - } catch (ComponentException e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.fillResourceMetadata(yamlName, resourceVf, nodeName, user)); } @Test @@ -964,11 +889,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase String yamlName = "yamlName"; Resource resourceVf = createParseResourceObject(true); String nodeName = "WrongStart" + "test"; - try { - bl.fillResourceMetadata(yamlName, resourceVf, nodeName, user); - } catch (ComponentException e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.fillResourceMetadata(yamlName, resourceVf, nodeName, user)); } @Test @@ -976,35 +898,24 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase String yamlName = "yamlName"; Resource resourceVf = createParseResourceObject(true); String nodeName = Constants.USER_DEFINED_RESOURCE_NAMESPACE_PREFIX + Constants.ABSTRACT; - try { - bl.fillResourceMetadata(yamlName, resourceVf, nodeName, user); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.INVALID_NODE_TEMPLATE, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertNotNull( + bl.fillResourceMetadata(yamlName, resourceVf, nodeName, user)); } @Test public void testGetNodeTypeActualName() { String fullName = Constants.USER_DEFINED_RESOURCE_NAMESPACE_PREFIX + "test"; - try { - bl.getNodeTypeActualName(fullName); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertNotNull( + bl.getNodeTypeActualName(fullName)); } @Test public void testAddInput() { Map currPropertiesMap = new HashMap<>(); InputDefinition prop = new InputDefinition(); - try { - bl.addInput(currPropertiesMap, prop); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertNotNull(currPropertiesMap); + + bl.addInput(currPropertiesMap, prop); } @Test @@ -1026,12 +937,9 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase currentCompInstance.setRequirements(requirements); String capName = "capName"; - try { - bl.findAviableRequiremen(regName, yamlName, uploadComponentInstanceInfo, currentCompInstance, capName); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.INVALID_NODE_TEMPLATE, - ComponentTypeEnum.RESOURCE.getValue()); - } + + Assertions.assertNotNull( + bl.findAviableRequiremen(regName, yamlName, uploadComponentInstanceInfo, currentCompInstance, capName)); } @Test @@ -1053,12 +961,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase currentCompInstance.setRequirements(requirements); String capName = uniqueId; - try { - bl.findAviableRequiremen(regName, yamlName, uploadComponentInstanceInfo, currentCompInstance, capName); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.INVALID_NODE_TEMPLATE, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertNotNull( + bl.findAviableRequiremen(regName, yamlName, uploadComponentInstanceInfo, currentCompInstance, capName)); } @Test @@ -1067,12 +971,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase ComponentInstance currentCapCompInstance = new ComponentInstance(); UploadReqInfo uploadReqInfo = new UploadReqInfo(); - try { - bl.findAvailableCapabilityByTypeOrName(validReq, currentCapCompInstance, uploadReqInfo); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.findAvailableCapabilityByTypeOrName(validReq, currentCapCompInstance, uploadReqInfo)); } @@ -1091,12 +991,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase capabilityMap.put(uniqueId, capabilityDefinitionList); instance.setCapabilities(capabilityMap); - try { - bl.findAvailableCapability(validReq, instance); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertNotNull( + bl.findAvailableCapability(validReq, instance)); } @Test @@ -1116,22 +1012,16 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase instance.setCapabilities(capabilityMap); UploadReqInfo uploadReqInfo = new UploadReqInfo(); uploadReqInfo.setCapabilityName(uniqueId); - try { - bl.findAvailableCapability(validReq, instance, uploadReqInfo); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + + Assertions.assertNotNull( + bl.findAvailableCapability(validReq, instance, uploadReqInfo)); } @Test public void testGetComponentWithInstancesFilter() { - try { - bl.getComponentWithInstancesFilter(); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + + Assertions.assertNotNull( + bl.getComponentWithInstancesFilter()); } @Test @@ -1158,15 +1048,12 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase capabilitiesMap.put(key, capabilityDefinitionList); when(toscaOperationFacade.getToscaFullElement(anyString())) - .thenReturn(Either.left(resource)); + .thenReturn(Either.left(resource)); - try { - bl.addValidComponentInstanceCapabilities(key, capabilities, resourceId, defaultCapabilities, + Assertions.assertNotNull(resource); + + bl.addValidComponentInstanceCapabilities(key, capabilities, resourceId, defaultCapabilities, validCapabilitiesMap); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } } @Test @@ -1181,13 +1068,9 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase defaultCapabilities.put(key, capabilityDefinitionList); String capabilityType = key; when(toscaOperationFacade.getToscaFullElement(anyString())) - .thenReturn(Either.right(StorageOperationStatus.NOT_FOUND)); - try { - bl.getCapability(resourceId, defaultCapabilities, capabilityType); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.COMPONENT_NOT_FOUND, - ComponentTypeEnum.RESOURCE.getValue()); - } + .thenReturn(Either.right(StorageOperationStatus.NOT_FOUND)); + Assertions.assertThrows(ComponentException.class, () -> + bl.getCapability(resourceId, defaultCapabilities, capabilityType)); } @@ -1205,11 +1088,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase defaultCapability.setProperties(null); defaultCapability.setName("test"); - try { - bl.validateCapabilityProperties(capabilities, resourceId, defaultCapability); - } catch (ComponentException e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.validateCapabilityProperties(capabilities, resourceId, defaultCapability)); } @Test @@ -1231,36 +1111,27 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase defaultCapability.setProperties(componentInstancePropertyList); defaultCapability.setName(key); - try { - bl.validateUniquenessUpdateUploadedComponentInstanceCapability(defaultCapability, uploadCapInfo); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertNotNull(defaultCapability); + + bl.validateUniquenessUpdateUploadedComponentInstanceCapability(defaultCapability, uploadCapInfo); } @Test public void testSetDeploymentArtifactsPlaceHolderByResource() { Resource resource = createParseResourceObject(true); - try { - bl.setDeploymentArtifactsPlaceHolder(resource, user); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertNotNull(resource); + + bl.setDeploymentArtifactsPlaceHolder(resource, user); } @Test public void testSetDeploymentArtifactsPlaceHolderByService() { Service Service = createServiceObject(true); - try { - bl.setDeploymentArtifactsPlaceHolder(Service, user); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertNotNull(Service); + + bl.setDeploymentArtifactsPlaceHolder(Service, user); } @Test @@ -1275,6 +1146,7 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase artifactTypes.add(ResourceTypeEnum.VF.name()); artifactDetails.put("validForResourceTypes", artifactTypes); v = artifactDetails; + Assertions.assertNotNull(resource); bl.processDeploymentResourceArtifacts(user, resource, artifactMap, k, v); } @@ -1284,12 +1156,9 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase Resource oldResource = createParseResourceObject(true); Resource newResource = new Resource(); - try { - bl.mergeOldResourceMetadataWithNew(oldResource, newResource); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertNotNull(oldResource); + + bl.mergeOldResourceMetadataWithNew(oldResource, newResource); } @Test @@ -1303,24 +1172,17 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase nodeTypeInfo.setDerivedFrom(derivedFrom); nodesInfo.put(nodeName, nodeTypeInfo); - try { - bl.buildComplexVfcMetadata(getCsarInfo(), nodeName, nodesInfo); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + + Assertions.assertNotNull( + bl.buildComplexVfcMetadata(getCsarInfo(), nodeName, nodesInfo)); } @Test public void testValidateResourceCreationFromNodeType() { Resource resource = createParseResourceObject(true); resource.setDerivedFrom(null); - try { - bl.validateResourceCreationFromNodeType(resource, user); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.MISSING_DERIVED_FROM_TEMPLATE, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.validateResourceCreationFromNodeType(resource, user)); } @Test @@ -1328,12 +1190,9 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase Resource resource = createParseResourceObject(true); Map inputs = new HashMap<>(); - try { - bl.createInputsOnResource(resource, inputs); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + + Assertions.assertNotNull( + bl.createInputsOnResource(resource, inputs)); } @Test @@ -1346,12 +1205,12 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase resource.setInputs(inputDefinitionList); Map inputs = new HashMap<>(); inputs.put(key, inputDefinition); - - try { - bl.createInputsOnResource(resource, inputs); - } catch (Exception e) { - e.printStackTrace(); - } + when(inputsBusinessLogic.createInputsInGraph(anyMap(), + any(Component.class))).thenReturn(Either.left(inputDefinitionList)); + when(toscaOperationFacade + .getToscaElement(anyString())).thenReturn(Either.left(resource)); + Assertions.assertNotNull( + bl.createInputsOnResource(resource, inputs)); } @Test @@ -1365,45 +1224,53 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase InputDefinition inputDefinitionMap = new InputDefinition(); inputDefinition.setName("inputDefinitionName"); inputs.put("inputsMap", inputDefinitionMap); + List inputDefinitionList = new ArrayList<>(); + Service newService = new Service(); - try { - bl.createInputsOnService(service, inputs); - } catch (Exception e) { - e.printStackTrace(); - } + when(inputsBusinessLogic.createInputsInGraph(any(Map.class), any(Component.class))) + .thenReturn(Either.left(inputDefinitionList)); + when(toscaOperationFacade.getToscaElement(anyString())).thenReturn(Either.left(newService)); + Service inputsOnService = bl.createInputsOnService(service, inputs); + assertNotNull(inputsOnService); } @Test public void testCreateServiceTransaction() { Service service = createServiceObject(true); + List list = new ArrayList<>(); + ComponentInstance componentInstance = new ComponentInstance(); + componentInstance.setName("name"); + service.setComponentInstances(list); + when(toscaOperationFacade.validateComponentNameExists( + anyString(), any(ResourceTypeEnum.class), any(ComponentTypeEnum.class))).thenReturn(Either.left(false)); - try { - bl.createServiceTransaction(service, user, true); - } catch (Exception e) { - e.printStackTrace(); - } + when(toscaOperationFacade.createToscaComponent(any(Service.class))).thenReturn(Either.left(service)); + + Assertions.assertThrows(NullPointerException.class, () -> bl.createServiceTransaction(service, user, true)); } @Test public void testCreateArtifactsPlaceHolderData() { Service service = createServiceObject(true); + CategoryDefinition category = new CategoryDefinition(); + category.setName(""); + List categories = new ArrayList<>(); + categories.add(category); + service.setCategories(categories); + Assertions.assertNotNull(service); + + bl.createArtifactsPlaceHolderData(service, user); - try { - bl.createArtifactsPlaceHolderData(service, user); - } catch (Exception e) { - e.printStackTrace(); - } } @Test public void testSetInformationalArtifactsPlaceHolder() { Service service = createServiceObject(true); - try { - bl.setInformationalArtifactsPlaceHolder(service, user); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertNotNull(service); + + bl.setInformationalArtifactsPlaceHolder(service, user); + } @Test @@ -1420,14 +1287,12 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase updateInfoResource.setDerivedFrom(updatedDerivedFromList); when(toscaOperationFacade.validateToscaResourceNameExtends(anyString(), anyString())) - .thenReturn(Either.right(StorageOperationStatus.NOT_FOUND)); + .thenReturn(Either.right(StorageOperationStatus.NOT_FOUND)); + + + Assertions.assertNotNull( + bl.validateNestedDerivedFromDuringUpdate(currentResource, updateInfoResource, true)); - try { - bl.validateNestedDerivedFromDuringUpdate(currentResource, updateInfoResource, true); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } } @Test @@ -1436,14 +1301,12 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase Resource updateInfoResource = createParseResourceObject(true); when(toscaOperationFacade.validateToscaResourceNameExtends(anyString(), anyString())) - .thenReturn(Either.left(false)); - try { - bl.validateDerivedFromExtending(user, currentResource, updateInfoResource, - AuditingActionEnum.IMPORT_RESOURCE); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.PARENT_RESOURCE_DOES_NOT_EXTEND, - ComponentTypeEnum.RESOURCE.getValue()); - } + .thenReturn(Either.left(false)); + + Assertions.assertNotNull( + bl.validateDerivedFromExtending(user, currentResource, updateInfoResource, + AuditingActionEnum.IMPORT_RESOURCE)); + } @Test @@ -1451,11 +1314,10 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase Resource currentResource = createParseResourceObject(true); Resource updateInfoResource = createParseResourceObject(true); - try { - bl.validateResourceFieldsBeforeUpdate(currentResource, updateInfoResource, true, true); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertNotNull(currentResource); + + bl.validateResourceFieldsBeforeUpdate(currentResource, updateInfoResource, true, true); + } @Test @@ -1465,12 +1327,10 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase currentResource.setName("test1"); updateInfoResource.setName("test2"); - try { - bl.validateResourceName(currentResource, updateInfoResource, true, false); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.RESOURCE_NAME_CANNOT_BE_CHANGED, - ComponentTypeEnum.RESOURCE.getValue()); - } + + Assertions.assertThrows(ComponentException.class, () -> + bl.validateResourceName(currentResource, updateInfoResource, true, false)); + } @Test @@ -1478,59 +1338,48 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase Resource currentResource = createParseResourceObject(true); Resource updateInfoResource = createParseResourceObject(true); - try { - bl.isResourceNameEquals(currentResource, updateInfoResource); - } catch (Exception e) { - e.printStackTrace(); - } + boolean resourceNameEquals = bl.isResourceNameEquals(currentResource, updateInfoResource); + assertTrue(resourceNameEquals); } @Test public void testPrepareResourceForUpdate() { Resource oldResource = createParseResourceObject(true); Resource newResource = createParseResourceObject(true); + when(lifecycleBusinessLogic.changeState(anyString(), any(User.class), any(LifeCycleTransitionEnum.class), + any(LifecycleChangeInfoWithAction.class), anyBoolean(), anyBoolean())).thenReturn(Either.left(oldResource)); + + Assertions.assertNotNull( + bl.prepareResourceForUpdate(oldResource, newResource, user, true, true)); - try { - bl.prepareResourceForUpdate(oldResource, newResource, user, true, true); - } catch (Exception e) { - e.printStackTrace(); - } } @Test public void testFailOnChangeState() { ResponseFormat response = new ResponseFormat(); Resource oldResource = createParseResourceObject(true); + oldResource.setUniqueId("123"); Resource newResource = createParseResourceObject(true); - try { - bl.failOnChangeState(response, user, oldResource, newResource); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.failOnChangeState(response, user, oldResource, newResource)); } @Test public void testHandleResourceGenericType() { Resource resource = createParseResourceObject(true); - try { - bl.handleResourceGenericType(resource); - } catch (Exception e) { - e.printStackTrace(); - } + Resource resource1 = bl.handleResourceGenericType(resource); + assertNotEquals(resource, resource1); } @Test public void testUpdateOrCreateGroups() { Resource resource = createParseResourceObject(true); Map groups = new HashMap<>(); + Assertions.assertNotNull(resource); - try { - bl.updateOrCreateGroups(resource, groups); - } catch (Exception e) { - e.printStackTrace(); - } + bl.updateOrCreateGroups(resource, groups); } @Test @@ -1544,6 +1393,7 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase groupsAsList.add(groupNewDefinition); List groupsToUpdate = new ArrayList<>(); List groupsToCreate = new ArrayList<>(); + Assertions.assertNotNull(groupDefinition); bl.addGroupsToCreateOrUpdate(groupsFromResource, groupsAsList, groupsToUpdate, groupsToCreate); } @@ -1559,6 +1409,7 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase groupNewDefinition.setName("groupNewDefinitionName"); groupsAsList.add(groupNewDefinition); List groupsToDelete = new ArrayList<>(); + Assertions.assertNotNull(groupsFromResource); bl.addGroupsToDelete(groupsFromResource, groupsAsList, groupsToDelete); } @@ -1571,7 +1422,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase groupDefinition.setMembers(null); groups.put("groupsMap", groupDefinition); - bl.updateGroupsMembersUsingResource(groups, component); + Assertions.assertNotNull( + bl.updateGroupsMembersUsingResource(groups, component)); } @Test @@ -1583,11 +1435,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase String groupName = "groupName"; Map members = new HashMap<>(); - try { - bl.updateGroupMembers(groups, updatedGroupDefinition, component, componentInstances, groupName, members); - } catch (ComponentException e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.updateGroupMembers(groups, updatedGroupDefinition, component, componentInstances, groupName, members)); } @Test @@ -1605,11 +1454,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase members.put("members", "members"); members.put("componentInstanceName", "members"); - try { - bl.updateGroupMembers(groups, updatedGroupDefinition, component, componentInstances, groupName, members); - } catch (ComponentException e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.updateGroupMembers(groups, updatedGroupDefinition, component, componentInstances, groupName, members)); } @Test @@ -1620,12 +1466,9 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase GroupDefinition groupDefinition = new GroupDefinition(); groups.put(key, groupDefinition); - try { - bl.validateCyclicGroupsDependencies(groups); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + + Assertions.assertNotNull( + bl.validateCyclicGroupsDependencies(groups)); } @Test @@ -1633,6 +1476,7 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase Map allGroups = new HashMap<>(); Set allGroupMembers = new HashSet<>(); String groupName = "groupName"; + Assertions.assertNotNull(groupName); bl.fillAllGroupMemebersRecursivly(groupName, allGroups, allGroupMembers); } @@ -1649,6 +1493,7 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase allGroups.put("members", groupDefinition); Set allGroupMembers = new HashSet<>(); allGroupMembers.add("allGroupMembers"); + Assertions.assertNotNull(allGroups); bl.fillAllGroupMemebersRecursivly(groupName, allGroups, allGroupMembers); } @@ -1659,11 +1504,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase Service resourceVf = createServiceObject(true); String nodeName = "nodeName"; - try { - bl.fillResourceMetadata(yamlName, resourceVf, nodeName, user); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.fillResourceMetadata(yamlName, resourceVf, nodeName, user)); } @Test @@ -1672,11 +1514,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase Service resourceVf = createServiceObject(true); String nodeName = Constants.USER_DEFINED_RESOURCE_NAMESPACE_PREFIX + "nodeName"; - try { - bl.fillResourceMetadata(yamlName, resourceVf, nodeName, user); - } catch (ComponentException e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.fillResourceMetadata(yamlName, resourceVf, nodeName, user)); } @Test @@ -1685,25 +1524,21 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase Service resourceVf = createServiceObject(true); String nodeName = Constants.USER_DEFINED_RESOURCE_NAMESPACE_PREFIX + "VFC"; - try { - bl.fillResourceMetadata(yamlName, resourceVf, nodeName, user); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.INVALID_NODE_TEMPLATE, - ComponentTypeEnum.RESOURCE.getValue()); - } + + Assertions.assertNotNull( + bl.fillResourceMetadata(yamlName, resourceVf, nodeName, user)); } @Test public void testpropagateStateToCertified() { String yamlName = "yamlName"; Resource resource = createParseResourceObject(true); + resource.setLifecycleState(LifecycleStateEnum.CERTIFIED); LifecycleChangeInfoWithAction lifecycleChangeInfo = new LifecycleChangeInfoWithAction(); - try { - bl.propagateStateToCertified(user, resource, lifecycleChangeInfo, true, true, true); - } catch (Exception e) { - e.printStackTrace(); - } + + Assertions.assertNotNull( + bl.propagateStateToCertified(user, resource, lifecycleChangeInfo, true, true, true)); } @Test @@ -1712,12 +1547,9 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase Resource resource = createParseResourceObject(true); LifecycleChangeInfoWithAction lifecycleChangeInfo = new LifecycleChangeInfoWithAction(); resource.setLifecycleState(LifecycleStateEnum.CERTIFIED); - try { - bl.propagateStateToCertified(user, resource, lifecycleChangeInfo, true, true, true); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + + Assertions.assertNotNull( + bl.propagateStateToCertified(user, resource, lifecycleChangeInfo, true, true, true)); } @Test @@ -1730,12 +1562,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase nodeTypeInfo.setDerivedFrom(derivedFrom); nodesInfo.put(nodeName, nodeTypeInfo); - try { - bl.buildValidComplexVfc(getCsarInfo(), nodeName, nodesInfo); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.buildValidComplexVfc(getCsarInfo(), nodeName, nodesInfo)); } @Test @@ -1743,36 +1571,35 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase Resource resource = createParseResourceObject(true); Map groups = new HashMap<>(); - try { - bl.updateGroupsOnResource(resource, groups); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + + Assertions.assertNotNull( + bl.updateGroupsOnResource(resource, groups)); } @Test public void testSetInformationalArtifactsPlaceHolder2() { Resource resource = createParseResourceObject(true); + List categoryDefinitions = new ArrayList<>(); + CategoryDefinition categoryDefinition = new CategoryDefinition(); + categoryDefinition.setName(""); + categoryDefinitions.add(categoryDefinition); + resource.setCategories(categoryDefinitions); + Assertions.assertNotNull(resource); - try { - bl.setInformationalArtifactsPlaceHolder(resource, user); - } catch (Exception e) { - e.printStackTrace(); - } + bl.setInformationalArtifactsPlaceHolder(resource, user); } @Test public void testRollback() { Resource resource = createParseResourceObject(true); List createdArtifacts = new ArrayList<>(); + ArtifactDefinition artifactDefinition = new ArtifactDefinition(); + createdArtifacts.add(artifactDefinition); List nodeTypesNewCreatedArtifacts = new ArrayList<>(); + nodeTypesNewCreatedArtifacts.add(artifactDefinition); + Assertions.assertNotNull(resource); - try { - bl.rollback(false, resource, createdArtifacts, nodeTypesNewCreatedArtifacts); - } catch (Exception e) { - e.printStackTrace(); - } + bl.rollback(true, resource, createdArtifacts, nodeTypesNewCreatedArtifacts); } @Test @@ -1786,6 +1613,7 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase ArtifactDefinition artifactDefinition2 = new ArtifactDefinition(); artifactDefinition2.setArtifactChecksum("artifactChecksum"); nodeTypesNewCreatedArtifacts.add(artifactDefinition2); + Assertions.assertNotNull(resource); bl.rollback(true, resource, createdArtifacts, nodeTypesNewCreatedArtifacts); } @@ -1794,17 +1622,16 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase public void testCreateArtifactsPlaceHolderData2() { Resource resource = createParseResourceObject(true); - try { - bl.createArtifactsPlaceHolderData(resource, user); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertNotNull(resource); + + bl.createArtifactsPlaceHolderData(resource, user); } @Test public void testHandleGroupsProperties() { Service service = createServiceObject(true); Map groups = getGroups(); + Assertions.assertNotNull(service); bl.handleGroupsProperties(service, groups); } @@ -1813,6 +1640,7 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase public void testHandleGroupsProperties2() { Resource resource = createParseResourceObject(true); Map groups = getGroups(); + Assertions.assertNotNull(resource); bl.handleGroupsProperties(resource, groups); } @@ -1835,6 +1663,7 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase inputDefinition.setName("inputName"); inputDefinition.setUniqueId("abc12345"); inputs.add(inputDefinition); + Assertions.assertNotNull(inputs); bl.handleGetInputs(property, inputs); } @@ -1849,11 +1678,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase getInputValues.add(getInputValueDataDefinition); property.setGetInputValues(getInputValues); List inputs = new ArrayList<>(); - try { - bl.handleGetInputs(property, inputs); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertThrows(NoSuchElementException.class, () -> + bl.handleGetInputs(property, inputs)); } @Test @@ -1867,7 +1693,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase inputDefinition.setUniqueId("abc12345"); inputs.add(inputDefinition); - bl.findInputByName(inputs, getInput); + Assertions.assertNotNull( + bl.findInputByName(inputs, getInput)); } @Test @@ -1875,12 +1702,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase String yamlName = "yamlName"; Resource resource = createParseResourceObject(true); Map> instProperties = new HashMap<>(); - try { - bl.associateComponentInstancePropertiesToComponent(yamlName, resource, instProperties); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.associateComponentInstancePropertiesToComponent(yamlName, resource, instProperties)); } @Test @@ -1892,6 +1715,7 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase ComponentInstanceInput componentInstanceInput = new ComponentInstanceInput(); componentInstanceInput.setName("componentInstanceInputName"); componentInstanceInputList.add(componentInstanceInput); + Assertions.assertNotNull(resource); bl.associateComponentInstanceInputsToComponent(yamlName, resource, instInputs); } @@ -1902,12 +1726,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase Resource resource = createParseResourceObject(true); Map> instDeploymentArtifacts = new HashMap<>(); - try { - bl.associateDeploymentArtifactsToInstances(user, yamlName, resource, instDeploymentArtifacts); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.associateDeploymentArtifactsToInstances(user, yamlName, resource, instDeploymentArtifacts)); } @Test @@ -1916,12 +1736,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase Resource resource = createParseResourceObject(true); Map> instDeploymentArtifacts = new HashMap<>(); - try { - bl.associateDeploymentArtifactsToInstances(user, yamlName, resource, instDeploymentArtifacts); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.associateDeploymentArtifactsToInstances(user, yamlName, resource, instDeploymentArtifacts)); } @Test @@ -1930,12 +1746,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase Resource resource = createParseResourceObject(true); Map> instDeploymentArtifacts = new HashMap<>(); - try { - bl.associateArtifactsToInstances(yamlName, resource, instDeploymentArtifacts); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.associateArtifactsToInstances(yamlName, resource, instDeploymentArtifacts)); } @Test @@ -1944,12 +1756,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase Resource resource = createParseResourceObject(true); Map>> instCapabilities = new HashMap<>(); Map>> instRequirements = new HashMap<>(); - try { - bl.associateOrAddCalculatedCapReq(yamlName, resource, instCapabilities, instRequirements); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.associateOrAddCalculatedCapReq(yamlName, resource, instCapabilities, instRequirements)); } @Test @@ -1957,35 +1765,27 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase String yamlName = "yamlName"; Resource resource = createParseResourceObject(true); Map> instAttributes = new HashMap<>(); - try { - bl.associateInstAttributeToComponentToInstances(yamlName, resource, instAttributes); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.associateInstAttributeToComponentToInstances(yamlName, resource, instAttributes)); } @Test public void testThrowComponentExceptionByResource() { StorageOperationStatus status = StorageOperationStatus.OK; Resource resource = createParseResourceObject(true); - try { - bl.throwComponentExceptionByResource(status, resource); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.OK, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.throwComponentExceptionByResource(status, resource)); } @Test public void testGetResourceAfterCreateRelations() { Resource resource = createParseResourceObject(true); + Resource newResource = new Resource(); - try { - bl.getResourceAfterCreateRelations(resource); - } catch (Exception e) { - e.printStackTrace(); - } + when(toscaOperationFacade.getToscaElement(anyString(), any(ComponentParametersView.class))) + .thenReturn(Either.left(newResource)); + Resource resourceAfterCreateRelations = bl.getResourceAfterCreateRelations(resource); + assertNotNull(resourceAfterCreateRelations); } @Test @@ -2002,6 +1802,7 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase UploadCapInfo uploadCapInfo = new UploadCapInfo(); uploadCapInfoList.add(uploadCapInfo); uploadedCapabilities.put("Capability", uploadCapInfoList); + Assertions.assertNotNull(originCapabilities); bl.setCapabilityNamesTypes(originCapabilities, uploadedCapabilities); } @@ -2012,12 +1813,25 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase Service service = createServiceObject(true); Map> instInputs = new HashMap<>(); - try { - bl.associateComponentInstanceInputsToComponent(yamlName, service, instInputs); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.OK, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertNotNull(service); + + bl.associateComponentInstanceInputsToComponent(yamlName, service, instInputs); + } + + @Test + public void testAssociateComponentInstanceInputsNotNullToComponent2() { + String yamlName = "yamlName"; + Service service = createServiceObject(true); + Map> instInputs = new HashMap<>(); + List componentInstanceInputs = new ArrayList<>(); + ComponentInstanceInput componentInstanceInput = new ComponentInstanceInput(); + componentInstanceInput.setName("ComponentInstanceInputName"); + componentInstanceInputs.add(componentInstanceInput); + instInputs.put("instInputs", componentInstanceInputs); + when(toscaOperationFacade.associateComponentInstanceInputsToComponent(any(Map.class), + anyString())).thenReturn(Either.right(StorageOperationStatus.BAD_REQUEST)); + Assertions.assertThrows(ComponentException.class, () -> + bl.associateComponentInstanceInputsToComponent(yamlName, service, instInputs)); } @Test @@ -2025,12 +1839,12 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase String yamlName = "yamlName"; Service service = createServiceObject(true); Map> instInputs = new HashMap<>(); + Map> instInputMap = new HashMap<>(); + when(toscaOperationFacade.associateComponentInstancePropertiesToComponent(any(), anyString())) + .thenReturn(Either.left(instInputMap)); + Assertions.assertNotNull(service); - try { - bl.associateComponentInstancePropertiesToComponent(yamlName, service, instInputs); - } catch (Exception e) { - e.printStackTrace(); - } + bl.associateComponentInstancePropertiesToComponent(yamlName, service, instInputs); } @Test @@ -2039,12 +1853,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase Service service = createServiceObject(true); Map> instDeploymentArtifacts = new HashMap<>(); - try { - bl.associateDeploymentArtifactsToInstances(user, yamlName, service, instDeploymentArtifacts); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.associateDeploymentArtifactsToInstances(user, yamlName, service, instDeploymentArtifacts)); } @Test @@ -2053,12 +1863,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase Service service = createServiceObject(true); Map> instArtifacts = new HashMap<>(); - try { - bl.associateArtifactsToInstances(yamlName, service, instArtifacts); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.associateArtifactsToInstances(yamlName, service, instArtifacts)); } @Test @@ -2067,12 +1873,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase Service resource = createServiceObject(true); Map>> instCapabilities = new HashMap<>(); Map>> instRequirements = new HashMap<>(); - try { - bl.associateOrAddCalculatedCapReq(yamlName, resource, instCapabilities, instRequirements); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.associateOrAddCalculatedCapReq(yamlName, resource, instCapabilities, instRequirements)); } @Test @@ -2080,12 +1882,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase String yamlName = "yamlName"; Service resource = createServiceObject(true); Map> instAttributes = new HashMap<>(); - try { - bl.associateInstAttributeToComponentToInstances(yamlName, resource, instAttributes); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.associateInstAttributeToComponentToInstances(yamlName, resource, instAttributes)); } @Test @@ -2093,12 +1891,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase String yamlName = "yamlName"; Service resource = createServiceObject(true); Map requirements = new HashMap<>(); - try { - bl.associateRequirementsToService(yamlName, resource, requirements); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.associateRequirementsToService(yamlName, resource, requirements)); } @Test @@ -2106,12 +1900,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase String yamlName = "yamlName"; Service resource = createServiceObject(true); Map capabilities = new HashMap<>(); - try { - bl.associateCapabilitiesToService(yamlName, resource, capabilities); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.GENERAL_ERROR, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.associateCapabilitiesToService(yamlName, resource, capabilities)); } @Test @@ -2119,11 +1909,11 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase String yamlName = "yamlName"; Service resource = createServiceObject(true); List relations = new ArrayList<>(); - try { - bl.associateResourceInstances(yamlName, resource, relations); - } catch (Exception e) { - e.printStackTrace(); - } + when(toscaOperationFacade.associateResourceInstances(any(Component.class), + anyString(), any(ArrayList.class))).thenReturn(Either.left(relations)); + Assertions.assertNotNull(resource); + + bl.associateResourceInstances(yamlName, resource, relations); } @Test @@ -2131,6 +1921,7 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase Map> originCapabilities = new HashMap<>(); String type = "type"; List capabilities = new ArrayList<>(); + Assertions.assertNotNull(type); bl.addCapabilities(originCapabilities, type, capabilities); } @@ -2147,6 +1938,7 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase capability.setProperties(properties); capability.setName("capabilityName"); capabilities.add(capability); + Assertions.assertNotNull(capabilities); bl.addCapabilitiesProperties(newPropertiesMap, capabilities); } @@ -2154,21 +1946,21 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase @Test public void testGetServiceWithGroups() { String resourceId = "resourceId"; - try { - bl.getServiceWithGroups(resourceId); - } catch (Exception e) { - e.printStackTrace(); - } + Service service = createServiceObject(true); + when(toscaOperationFacade.getToscaElement(anyString(), any(ComponentParametersView.class))) + .thenReturn(Either.left(service)); + Assertions.assertNotNull( + bl.getServiceWithGroups(resourceId)); } @Test public void testGetResourceWithGroups() { String resourceId = "resourceId"; - try { - bl.getResourceWithGroups(resourceId); - } catch (Exception e) { - e.printStackTrace(); - } + Resource resource = createParseResourceObject(false); + when(toscaOperationFacade.getToscaElement(anyString(), any(ComponentParametersView.class))) + .thenReturn(Either.left(resource)); + Assertions.assertNotNull( + bl.getResourceWithGroups(resourceId)); } @Test @@ -2176,27 +1968,43 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase String yamlName = "yamlName"; Resource resource = createParseResourceObject(true); List relations = new ArrayList<>(); - try { - bl.associateResourceInstances(yamlName, resource, relations); - } catch (Exception e) { - e.printStackTrace(); - } + when(toscaOperationFacade.associateResourceInstances(any(Resource.class), + anyString(), any(ArrayList.class))).thenReturn(Either.right(StorageOperationStatus.BAD_REQUEST)); + Assertions.assertThrows(ComponentException.class, () -> + bl.associateResourceInstances(yamlName, resource, relations)); } @Test public void testAddRelationsToRI() { - String yamlName = "yamlName"; - Resource resource = createParseResourceObject(true); + String yamlName = "group.yml"; + Resource resource = createResourceObject(false); + Map uploadResInstancesMap = new HashMap<>(); UploadComponentInstanceInfo nodesInfoValue = getuploadComponentInstanceInfo(); + nodesInfoValue.getRequirements().get("requirements").get(0).setName("zxjtestimportserviceab0.mme_ipu_vdu.dependency.test"); uploadResInstancesMap.put("uploadComponentInstanceInfo", nodesInfoValue); List componentInstancesList = creatComponentInstances(); + ComponentInstance componentInstance = new ComponentInstance(); + componentInstance.setName("zxjTestImportServiceAb"); + componentInstancesList.add(componentInstance); + resource.setComponentInstances(componentInstancesList); + componentInstancesList.get(0).getRequirements().get("tosca.capabilities.Node").get(0).setLeftOccurrences("1"); + componentInstancesList.get(0).getRequirements().get("tosca.capabilities.Node").get(0).setMaxOccurrences("1"); + componentInstancesList.get(0).getRequirements().get("tosca.capabilities.Node").get(0).setCapability("tosca.capabilities.Node"); List relations = new ArrayList<>(); - try { - bl.addRelationsToRI(yamlName, resource, uploadResInstancesMap, componentInstancesList, relations); - } catch (Exception e) { - e.printStackTrace(); - } + RequirementDefinition requirementDefinition = new RequirementDefinition(); + requirementDefinition.setOwnerId("1"); + requirementDefinition.setUniqueId("2"); + requirementDefinition.setCapability("3"); + CapabilityDefinition capabilityDefinition = new CapabilityDefinition(); + capabilityDefinition.setName("4"); + capabilityDefinition.setUniqueId("5"); + capabilityDefinition.setOwnerId("6"); + ResponseFormat responseFormat = new ResponseFormat(); + responseFormat.setStatus(200); + Assertions.assertNotNull(resource); + + bl.addRelationsToRI(yamlName, resource, uploadResInstancesMap, componentInstancesList, relations); } @Test @@ -2209,12 +2017,9 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase List componentInstancesList = new ArrayList<>(); List relations = new ArrayList<>(); - try { - bl.addRelationsToRI(yamlName, resource, uploadResInstancesMap, componentInstancesList, - relations); - } catch (Exception e) { - e.printStackTrace(); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.addRelationsToRI(yamlName, resource, uploadResInstancesMap, componentInstancesList, + relations)); } @Test @@ -2225,7 +2030,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase UploadComponentInstanceInfo nodesInfoValue = getuploadComponentInstanceInfo(); List relations = new ArrayList<>(); - bl.addRelationToRI(yamlName, resource, nodesInfoValue, relations); + Assertions.assertNotNull( + bl.addRelationToRI(yamlName, resource, nodesInfoValue, relations)); } @Test @@ -2236,8 +2042,8 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase resource.setComponentInstances(componentInstancesList); UploadComponentInstanceInfo nodesInfoValue = getuploadComponentInstanceInfo(); List relations = new ArrayList<>(); - - bl.addRelationToRI(yamlName, resource, nodesInfoValue, relations); + Assertions.assertNotNull( + bl.addRelationToRI(yamlName, resource, nodesInfoValue, relations)); } @Test @@ -2247,13 +2053,9 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase String previousVfcToscaName = "previousVfcToscaName"; UploadComponentInstanceInfo nodesInfoValue = new UploadComponentInstanceInfo(); List relations = new ArrayList<>(); - try { - bl.findVfcResource(getCsarInfo(), service, currVfcToscaName, previousVfcToscaName, - StorageOperationStatus.OK); - } catch (ComponentException e) { - assertComponentException(e, ActionStatus.OK, - ComponentTypeEnum.RESOURCE.getValue()); - } + Assertions.assertThrows(ComponentException.class, () -> + bl.findVfcResource(getCsarInfo(), service, currVfcToscaName, previousVfcToscaName, + StorageOperationStatus.OK)); } protected GroupDefinition getGroupDefinition() { @@ -2304,7 +2106,7 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase resource.setName(resource.getName()); resource.setVersion("0.1"); resource.setUniqueId(resource.getName() - .toLowerCase() + ":" + resource.getVersion()); + .toLowerCase() + ":" + resource.getVersion()); resource.setCreatorUserId(user.getUserId()); resource.setCreatorFullName(user.getFirstName() + " " + user.getLastName()); resource.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT); @@ -2325,7 +2127,7 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase e.printStackTrace(); } CsarInfo csarInfo = new CsarInfo(user, csarUuid, csar, vfReousrceName, mainTemplateName, mainTemplateContent, - false); + false); return csarInfo; } @@ -2372,7 +2174,7 @@ public class ServiceImportParseLogicTest extends ServiceImportBussinessLogicBase 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()); assertParseResponse(actualResponse, expectedStatus, variables); } diff --git a/catalog-be/src/test/resources/types/artifacts.yml b/catalog-be/src/test/resources/types/artifacts.yml new file mode 100644 index 0000000000..b6b7911e4a --- /dev/null +++ b/catalog-be/src/test/resources/types/artifacts.yml @@ -0,0 +1,36 @@ +tosca_definitions_version: tosca_simple_yaml_1_1 +imports: +- data.yml +artifact_types: + tosca.artifacts.Root: + description: This is the default (root) TOSCA Artifact Type definition that all other TOSCA base Artifact Types derive from. + tosca.artifacts.Deployment.Image: + derived_from: tosca.artifacts.Deployment + description: This artifact type represents a parent type for any "image" which is an opaque packaging of a TOSCA Node's deployment (whether real or virtual) whose contents are typically already installed and pre-configured (i.e., "stateful") and prepared to be run on a known target container. + tosca.artifacts.Implementation.Bash: + derived_from: tosca.artifacts.Implementation + description: This artifact type represents a Bash script type that contains Bash commands that can be executed on the Unix Bash shell. + tosca.artifacts.Deployment.Image.VM: + derived_from: tosca.artifacts.Deployment + description: This artifact represents the parent type for all Virtual Machine (VM) image and container formatted deployment artifacts. These images contain a stateful capture of a machine (e.g., server) including operating system and installed software along with any configurations and can be run on another machine using a hypervisor which virtualizes typical server (i.e., hardware) resources. + tosca.artifacts.Implementation.Python: + derived_from: tosca.artifacts.Implementation + description: This artifact type represents a Python file that contains Python language constructs that can be executed within a Python interpreter. + tosca.artifacts.Deployment: + derived_from: tosca.artifacts.Root + description: This artifact type represents the parent type for all deployment artifacts in TOSCA. This class of artifacts typically represents a binary packaging of an application or service that is used to install/create or deploy it as part of a node's lifecycle. + tosca.artifacts.File: + derived_from: tosca.artifacts.Root + description: This artifact type is used when an artifact definition needs to have its associated file simply treated as a file and no special handling/handlers are invoked (i.e., it is not treated as either an implementation or deployment artifact type). + tosca.artifacts.Implementation: + derived_from: tosca.artifacts.Root + description: This artifact type represents the parent type for all implementation artifacts in TOSCA. These artifacts are used to implement operations of TOSCA interfaces either directly (e.g., scripts) or indirectly (e.g., config. files). + tosca.artifacts.nfv.SwImage: + derived_from: tosca.artifacts.Deployment.Image + description: describes the software image which is directly loaded on the virtualisation container realizing of the VDU or is to be loaded on a virtual + tosca.artifacts.Implementation.nfv.Mistral: + derived_from: tosca.artifacts.Implementation + description: artifacts for Mistral workflows + mime_type: application/x-yaml + file_ext: + - yaml diff --git a/catalog-be/src/test/resources/types/fileContent.yml b/catalog-be/src/test/resources/types/fileContent.yml new file mode 100644 index 0000000000..d12d3968d6 --- /dev/null +++ b/catalog-be/src/test/resources/types/fileContent.yml @@ -0,0 +1,131 @@ + tosca_definitions_version: tosca_simple_yaml_1_1 + imports: + - data.yml + group_types: + tosca.groups.Root: + description: The TOSCA Group Type all other TOSCA Group Types derive from + interfaces: + Standard: + type: tosca.interfaces.node.lifecycle.Standard + org.openecomp.groups.heat.HeatStack: + derived_from: tosca.groups.Root + description: Grouped all heat resources which are in the same heat stack + properties: + heat_file: + type: string + description: Heat file which associate to this group/heat stack + required: true + status: supported + description: + type: string + description: group description + required: true + status: supported + org.openecomp.groups.VfModule: + derived_from: tosca.groups.Root + description: Grouped all heat resources which are in the same VF Module + properties: + isBase: + type: boolean + description: Whether this module should be deployed before other modules + required: true + default: false + status: supported + vf_module_label: + type: string + required: true + description: | + Alternate textual key used to reference this VF-Module model. Must be unique within the VNF model + vf_module_description: + type: string + required: true + description: | + Description of the VF-modules contents and purpose (e.g. \"Front-End\" or \"Database Cluster\") + min_vf_module_instances: + type: integer + required: true + description: The minimum instances of this VF-Module + max_vf_module_instances: + type: integer + required: false + description: The maximum instances of this VF-Module + initial_count: + type: integer + required: false + description: | + The initial count of instances of the VF-Module. The value must be in the range between min_vfmodule_instances and max_vfmodule_instances. If no value provided the initial count is the min_vfmodule_instances. + vf_module_type: + type: string + required: true + constraint: + - valid_values: + - Base + - Expansion + volume_group: + type: boolean + required: true + default: false + description: | + \"true\" indicates that this VF Module model requires attachment to a Volume Group. VID operator must select the Volume Group instance to attach to a VF-Module at deployment time. + availability_zone_count: + type: integer + required: false + description: | + Quantity of Availability Zones needed for this VF-Module (source: Extracted from VF-Module HEAT template) + vfc_list: + type: map + entry_schema: + description: : + type: string + required: false + description: | + Identifies the set of VM types and their count included in the VF-Module + org.openecomp.groups.NetworkCollection: + derived_from: tosca.groups.Root + description: groups l3-networks in network collection + properties: + network_collection_function: + type: string + required: true + description: network collection function + network_collection_description: + type: string + required: true + description: network collection description, free format text + org.openecomp.groups.VfcInstanceGroup: + derived_from: tosca.groups.Root + description: groups VFCs with same parent port role + properties: + vfc_instance_group_function: + type: string + required: true + description: function of this VFC group + vfc_parent_port_role: + type: string + required: true + description: common role of parent ports of VFCs in this group + network_collection_function: + type: string + required: true + description: network collection function assigned to this group + subinterface_role: + type: string + required: true + description: common role of subinterfaces of VFCs in this group, criteria the group is created + capabilities: + vlan_assignment: + type: org.openecomp.capabilities.VLANAssignment + properties: + vfc_instance_group_reference: + type: string + tosca.groups.nfv.PlacementGroup: + derived_from: tosca.groups.Root + description: PlacementGroup is used for describing the affinity or anti-affinity relationship applicable between the virtualization containers to be created based on different VDUs, or between internal VLs to be created based on different VnfVirtualLinkDesc(s) + properties: + description: + type: string + description: Human readable description of the group + required: true + members: + - tosca.nodes.nfv.Vdu.Compute + - tosca.nodes.nfv.VnfVirtualLink \ No newline at end of file diff --git a/catalog-be/src/test/resources/types/groups.yml b/catalog-be/src/test/resources/types/groups.yml new file mode 100644 index 0000000000..d7ec9c259f --- /dev/null +++ b/catalog-be/src/test/resources/types/groups.yml @@ -0,0 +1,40 @@ +zxjTestImportServiceAb 0: + type: org.openecomp.resource.vf.Zxjtestimportserviceab + metadata: + invariantUUID: 41474f7f-3195-443d-a0a2-eb6020a56279 + UUID: 92e32e49-55f8-46bf-984d-a98c924037ec + customizationUUID: 40286158-96d0-408e-9f27-21d43817d37c + version: '1.0' + name: zxjTestImportServiceAb + description: zxjTestImportServiceAbstract + type: VF + category: Generic + subcategory: Abstract + resourceVendor: zxjImportService + resourceVendorRelease: '1.0' + resourceVendorModelNumber: '' + properties: + skip_post_instantiation_configuration: true + nf_naming: + ecomp_generated_naming: true + multi_stage_design: 'false' + controller_actor: SO-REF-DATA + availability_zone_max_count: 1 + requirements: + - imagefile.dependency: + capability: feature + node: ext ZTE VL 0 + - mme_ipu_vdu.dependency: + capability: feature + node: ExtCP 0 + capabilities: + mme_ipu_vdu.scalable: + properties: + max_instances: 1 + min_instances: 1 + mme_ipu_vdu.nfv_compute: + properties: + num_cpus: '2' + flavor_extra_specs: { + } + mem_size: '8192' \ No newline at end of file diff --git a/catalog-be/src/test/resources/types/mainTemplateContent.yml b/catalog-be/src/test/resources/types/mainTemplateContent.yml new file mode 100644 index 0000000000..635547f1d8 --- /dev/null +++ b/catalog-be/src/test/resources/types/mainTemplateContent.yml @@ -0,0 +1,332 @@ + tosca_definitions_version: tosca_simple_yaml_1_1 + metadata: + invariantUUID: 6d17f281-683b-4198-a676-0faeecdc9025 + UUID: bfeab6b4-199b-4a2b-b724-de416c5e9811 + name: ser09080002 + description: ser09080002 + type: Service + category: E2E Service + serviceType: '' + serviceRole: '' + instantiationType: A-la-carte + serviceEcompNaming: true + ecompGeneratedNaming: true + namingPolicy: '' + environmentContext: General_Revenue-Bearing + serviceFunction: '' + imports: + - nodes: + file: nodes.yml + - datatypes: + file: data.yml + - capabilities: + file: capabilities.yml + - relationships: + file: relationships.yml + - groups: + file: groups.yml + - policies: + file: policies.yml + - annotations: + file: annotations.yml + - service-ser09080002-interface: + file: service-Ser09080002-template-interface.yml + - resource-ExtCP: + file: resource-Extcp-template.yml + - resource-zxjTestImportServiceAb: + file: resource-Zxjtestimportserviceab-template.yml + - resource-zxjTestImportServiceAb-interface: + file: resource-Zxjtestimportserviceab-template-interface.yml + - resource-zxjTestServiceNotAbatract: + file: resource-Zxjtestservicenotabatract-template.yml + - resource-zxjTestServiceNotAbatract-interface: + file: resource-Zxjtestservicenotabatract-template-interface.yml + - resource-ext ZTE VL: + file: resource-ExtZteVl-template.yml + topology_template: + inputs: + skip_post_instantiation_configuration: + default: true + type: boolean + required: false + controller_actor: + default: SO-REF-DATA + type: string + required: false + cds_model_version: + type: string + required: false + cds_model_name: + type: string + required: false + node_templates: + ext ZTE VL 0: + type: tosca.nodes.nfv.ext.zte.VL + metadata: + invariantUUID: 27ab7610-1a97-4daa-938a-3b48e7afcfd0 + UUID: 9ea63e2c-4b8a-414f-93e3-5703ca5cee0d + customizationUUID: e45e79b0-07ab-46b4-ac26-1e9f155ce53c + version: '1.0' + name: ext ZTE VL + description: Ext ZTE VL + type: VL + category: Generic + subcategory: Network Elements + resourceVendor: ONAP (Tosca) + resourceVendorRelease: 1.0.0.wd03 + resourceVendorModelNumber: '' + zxjTestServiceNotAbatract 0: + type: org.openecomp.resource.vf.Zxjtestservicenotabatract + metadata: + invariantUUID: ce39ce8d-6f97-4e89-8555-ae6789cdcf1c + UUID: 4ac822be-f1ae-4ace-a4b8-bf6b5d977005 + customizationUUID: ee34e1e8-68e2-480f-8ba6-f257bbe90d6a + version: '1.0' + name: zxjTestServiceNotAbatract + description: zxjTestServiceNotAbatract + type: VF + category: Network L4 + subcategory: Common Network Resources + resourceVendor: zxjImportService + resourceVendorRelease: '1.0' + resourceVendorModelNumber: '' + properties: + nf_naming: + ecomp_generated_naming: true + skip_post_instantiation_configuration: true + multi_stage_design: 'false' + controller_actor: SO-REF-DATA + availability_zone_max_count: 1 + capabilities: + mme_ipu_vdu.scalable: + properties: + max_instances: 1 + min_instances: 1 + mme_ipu_vdu.nfv_compute: + properties: + num_cpus: '2' + flavor_extra_specs: {} + mem_size: '8192' + ExtCP 0: + type: org.openecomp.resource.cp.extCP + metadata: + invariantUUID: 9b772728-93f5-424f-bb07-f4cae2783614 + UUID: 424ac220-4864-453e-b757-917fe4568ff8 + customizationUUID: 6e65d8a8-4379-4693-87aa-82f9e34b92fd + version: '1.0' + name: ExtCP + description: The AT&T Connection Point base type all other CP derive from + type: CP + category: Generic + subcategory: Network Elements + resourceVendor: ONAP (Tosca) + resourceVendorRelease: 1.0.0.wd03 + resourceVendorModelNumber: '' + properties: + mac_requirements: + mac_count_required: + is_required: false + exCP_naming: + ecomp_generated_naming: true + zxjTestImportServiceAb 0: + type: org.openecomp.resource.vf.Zxjtestimportserviceab + metadata: + invariantUUID: 41474f7f-3195-443d-a0a2-eb6020a56279 + UUID: 92e32e49-55f8-46bf-984d-a98c924037ec + customizationUUID: 98c7a6c7-a867-45fb-8597-dd464f98e4aa + version: '1.0' + name: zxjTestImportServiceAb + description: zxjTestImportServiceAbstract + type: VF + category: Generic + subcategory: Abstract + resourceVendor: zxjImportService + resourceVendorRelease: '1.0' + resourceVendorModelNumber: '' + properties: + nf_naming: + ecomp_generated_naming: true + skip_post_instantiation_configuration: true + multi_stage_design: 'false' + controller_actor: SO-REF-DATA + availability_zone_max_count: 1 + requirements: + - mme_ipu_vdu.dependency: + capability: feature + node: ExtCP 0 + - imagefile.dependency: + capability: feature + node: ext ZTE VL 0 + capabilities: + mme_ipu_vdu.scalable: + properties: + max_instances: 1 + min_instances: 1 + mme_ipu_vdu.nfv_compute: + properties: + num_cpus: '2' + flavor_extra_specs: {} + mem_size: '8192' + substitution_mappings: + node_type: org.openecomp.service.Ser09080002 + capabilities: + extcp0.feature: + - ExtCP 0 + - feature + zxjtestservicenotabatract0.mme_ipu_vdu.monitoring_parameter: + - zxjTestServiceNotAbatract 0 + - mme_ipu_vdu.monitoring_parameter + zxjtestimportserviceab0.imagefile.guest_os: + - zxjTestImportServiceAb 0 + - imagefile.guest_os + zxjtestimportserviceab0.imagefile.feature: + - zxjTestImportServiceAb 0 + - imagefile.feature + zxjtestservicenotabatract0.imagefile.guest_os: + - zxjTestServiceNotAbatract 0 + - imagefile.guest_os + zxjtestimportserviceab0.ipu_cpd.feature: + - zxjTestImportServiceAb 0 + - ipu_cpd.feature + zxjtestservicenotabatract0.mme_ipu_vdu.virtualbinding: + - zxjTestServiceNotAbatract 0 + - mme_ipu_vdu.virtualbinding + zxjtestimportserviceab0.mme_ipu_vdu.feature: + - zxjTestImportServiceAb 0 + - mme_ipu_vdu.feature + extztevl0.feature: + - ext ZTE VL 0 + - feature + zxjtestimportserviceab0.imagefile.image_fle: + - zxjTestImportServiceAb 0 + - imagefile.image_fle + zxjtestimportserviceab0.mme_ipu_vdu.monitoring_parameter: + - zxjTestImportServiceAb 0 + - mme_ipu_vdu.monitoring_parameter + zxjtestservicenotabatract0.ipu_cpd.feature: + - zxjTestServiceNotAbatract 0 + - ipu_cpd.feature + zxjtestservicenotabatract0.mme_ipu_vdu.nfv_compute: + - zxjTestServiceNotAbatract 0 + - mme_ipu_vdu.nfv_compute + zxjtestservicenotabatract0.mme_ipu_vdu.scalable: + - zxjTestServiceNotAbatract 0 + - mme_ipu_vdu.scalable + extcp0.internal_connectionPoint: + - ExtCP 0 + - internal_connectionPoint + zxjtestimportserviceab0.mme_ipu_vdu.virtualbinding: + - zxjTestImportServiceAb 0 + - mme_ipu_vdu.virtualbinding + zxjtestservicenotabatract0.imagefile.image_fle: + - zxjTestServiceNotAbatract 0 + - imagefile.image_fle + extztevl0.virtual_linkable: + - ext ZTE VL 0 + - virtual_linkable + zxjtestservicenotabatract0.imagefile.feature: + - zxjTestServiceNotAbatract 0 + - imagefile.feature + zxjtestimportserviceab0.localstorage.feature: + - zxjTestImportServiceAb 0 + - localstorage.feature + zxjtestservicenotabatract0.localstorage.local_attachment: + - zxjTestServiceNotAbatract 0 + - localstorage.local_attachment + zxjtestimportserviceab0.mme_ipu_vdu.scalable: + - zxjTestImportServiceAb 0 + - mme_ipu_vdu.scalable + zxjtestservicenotabatract0.localstorage.feature: + - zxjTestServiceNotAbatract 0 + - localstorage.feature + zxjtestimportserviceab0.mme_ipu_vdu.nfv_compute: + - zxjTestImportServiceAb 0 + - mme_ipu_vdu.nfv_compute + zxjtestimportserviceab0.localstorage.local_attachment: + - zxjTestImportServiceAb 0 + - localstorage.local_attachment + zxjtestservicenotabatract0.mme_ipu_vdu.feature: + - zxjTestServiceNotAbatract 0 + - mme_ipu_vdu.feature + zxjtestimportserviceab0.ipu_cpd.forwarder: + - zxjTestImportServiceAb 0 + - ipu_cpd.forwarder + zxjtestservicenotabatract0.ipu_cpd.forwarder: + - zxjTestServiceNotAbatract 0 + - ipu_cpd.forwarder + requirements: + zxjtestservicenotabatract0.imagefile.dependency: + - zxjTestServiceNotAbatract 0 + - imagefile.dependency + zxjtestservicenotabatract0.mme_ipu_vdu.local_storage: + - zxjTestServiceNotAbatract 0 + - mme_ipu_vdu.local_storage + zxjtestservicenotabatract0.ipu_cpd.dependency: + - zxjTestServiceNotAbatract 0 + - ipu_cpd.dependency + zxjtestservicenotabatract0.mme_ipu_vdu.volume_storage: + - zxjTestServiceNotAbatract 0 + - mme_ipu_vdu.volume_storage + zxjtestservicenotabatract0.ipu_cpd.virtualbinding: + - zxjTestServiceNotAbatract 0 + - ipu_cpd.virtualbinding + zxjtestservicenotabatract0.mme_ipu_vdu.dependency: + - zxjTestServiceNotAbatract 0 + - mme_ipu_vdu.dependency + zxjtestservicenotabatract0.localstorage.dependency: + - zxjTestServiceNotAbatract 0 + - localstorage.dependency + zxjtestimportserviceab0.imagefile.dependency: + - zxjTestImportServiceAb 0 + - imagefile.dependency + zxjtestimportserviceab0.mme_ipu_vdu.volume_storage: + - zxjTestImportServiceAb 0 + - mme_ipu_vdu.volume_storage + zxjtestimportserviceab0.ipu_cpd.virtualbinding: + - zxjTestImportServiceAb 0 + - ipu_cpd.virtualbinding + extcp0.virtualLink: + - ExtCP 0 + - virtualLink + extcp0.virtualBinding: + - ExtCP 0 + - virtualBinding + zxjtestimportserviceab0.mme_ipu_vdu.guest_os: + - zxjTestImportServiceAb 0 + - mme_ipu_vdu.guest_os + extcp0.dependency: + - ExtCP 0 + - dependency + zxjtestimportserviceab0.localstorage.dependency: + - zxjTestImportServiceAb 0 + - localstorage.dependency + zxjtestservicenotabatract0.ipu_cpd.virtualLink: + - zxjTestServiceNotAbatract 0 + - ipu_cpd.virtualLink + extztevl0.dependency: + - ext ZTE VL 0 + - dependency + zxjtestimportserviceab0.ipu_cpd.dependency: + - zxjTestImportServiceAb 0 + - ipu_cpd.dependency + zxjtestimportserviceab0.mme_ipu_vdu.dependency: + - zxjTestImportServiceAb 0 + - mme_ipu_vdu.dependency + zxjtestimportserviceab0.mme_ipu_vdu.local_storage: + - zxjTestImportServiceAb 0 + - mme_ipu_vdu.local_storage + zxjtestimportserviceab0.ipu_cpd.virtualLink: + - zxjTestImportServiceAb 0 + - ipu_cpd.virtualLink + extcp0.external_virtualLink: + - ExtCP 0 + - external_virtualLink + zxjtestservicenotabatract0.mme_ipu_vdu.guest_os: + - zxjTestServiceNotAbatract 0 + - mme_ipu_vdu.guest_os + zxjtestimportserviceab0.ipu_cpd.forwarder: + - zxjTestImportServiceAb 0 + - ipu_cpd.forwarder + zxjtestservicenotabatract0.ipu_cpd.forwarder: + - zxjTestServiceNotAbatract 0 + - ipu_cpd.forwarder\n \ No newline at end of file -- cgit 1.2.3-korg