diff options
Diffstat (limited to 'catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ComponentSubstitutionFilterBusinessLogicTest.java')
-rw-r--r-- | catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ComponentSubstitutionFilterBusinessLogicTest.java | 261 |
1 files changed, 72 insertions, 189 deletions
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ComponentSubstitutionFilterBusinessLogicTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ComponentSubstitutionFilterBusinessLogicTest.java index eaeb5ea11a..666d1e7f39 100644 --- a/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ComponentSubstitutionFilterBusinessLogicTest.java +++ b/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ComponentSubstitutionFilterBusinessLogicTest.java @@ -19,7 +19,6 @@ package org.openecomp.sdc.be.components.impl; -import static java.util.Collections.singletonList; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.fail; @@ -32,14 +31,12 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import fj.data.Either; -import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; -import java.util.HashMap; import java.util.LinkedList; import java.util.List; -import java.util.Map; import java.util.Optional; + import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -51,8 +48,6 @@ import org.openecomp.sdc.be.components.impl.exceptions.BusinessLogicException; import org.openecomp.sdc.be.components.impl.utils.NodeFilterConstraintAction; import org.openecomp.sdc.be.components.validation.NodeFilterValidator; import org.openecomp.sdc.be.components.validation.UserValidations; -import org.openecomp.sdc.be.config.ConfigurationManager; -import org.openecomp.sdc.be.dao.api.ActionStatus; import org.openecomp.sdc.be.dao.janusgraph.JanusGraphGenericDao; import org.openecomp.sdc.be.dao.jsongraph.JanusGraphDao; import org.openecomp.sdc.be.datamodel.utils.ConstraintConvertor; @@ -62,16 +57,13 @@ import org.openecomp.sdc.be.datatypes.elements.SubstitutionFilterDataDefinition; import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum; import org.openecomp.sdc.be.datatypes.enums.NodeTypeEnum; import org.openecomp.sdc.be.impl.ComponentsUtils; -import org.openecomp.sdc.be.model.ComponentInstance; -import org.openecomp.sdc.be.model.ComponentInstanceProperty; -import org.openecomp.sdc.be.model.PropertyDefinition; import org.openecomp.sdc.be.model.Service; +import org.openecomp.sdc.be.model.PropertyDefinition; import org.openecomp.sdc.be.model.jsonjanusgraph.operations.SubstitutionFilterOperation; import org.openecomp.sdc.be.model.jsonjanusgraph.operations.ToscaOperationFacade; import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus; import org.openecomp.sdc.be.model.operations.impl.GraphLockOperation; import org.openecomp.sdc.be.ui.model.UIConstraint; -import org.openecomp.sdc.exception.ResponseFormat; @ExtendWith(MockitoExtension.class) public class ComponentSubstitutionFilterBusinessLogicTest extends BaseBusinessLogicMock { @@ -82,13 +74,10 @@ public class ComponentSubstitutionFilterBusinessLogicTest extends BaseBusinessLo private static final String sourceName = sourceType; private static final String propertyValue = "constraintValue"; private static final String componentId = "dac65869-dfb4-40d2-aa20-084324659ec1"; - private static final String componentInstanceId = "dac65869-dfb4-40d2-aa20-084324659ec1.service0"; @InjectMocks private ComponentSubstitutionFilterBusinessLogic componentSubstitutionFilterBusinessLogic; @Mock - private NodeFilterValidator nodeFilterValidator; - @Mock private SubstitutionFilterOperation substitutionFilterOperation; @Mock private ToscaOperationFacade toscaOperationFacade; @@ -103,10 +92,9 @@ public class ComponentSubstitutionFilterBusinessLogicTest extends BaseBusinessLo @Mock private UserValidations userValidations; @Mock - private ResponseFormat responseFormat; + private NodeFilterValidator nodeFilterValidator; private Service service; - private ComponentInstance componentInstance; private SubstitutionFilterDataDefinition substitutionFilterDataDefinition; private RequirementSubstitutionFilterPropertyDataDefinition requirementSubstitutionFilterPropertyDataDefinition; private String constraint; @@ -130,12 +118,12 @@ public class ComponentSubstitutionFilterBusinessLogicTest extends BaseBusinessLo @Test public void doNotCreateSubstitutionFilterAsExistsTest() throws BusinessLogicException { - componentInstance.setSubstitutionFilter(substitutionFilterDataDefinition); + service.setSubstitutionFilter(substitutionFilterDataDefinition); when(toscaOperationFacade.getToscaElement(componentId)).thenReturn(Either.left(service)); final Optional<SubstitutionFilterDataDefinition> result = componentSubstitutionFilterBusinessLogic - .createSubstitutionFilterIfNotExist(componentId, componentInstanceId, true, ComponentTypeEnum.SERVICE); + .createSubstitutionFilterIfNotExist(componentId, true, ComponentTypeEnum.SERVICE); assertThat(result).isPresent(); assertThat(result.get().getProperties()).isEqualTo(substitutionFilterDataDefinition.getProperties()); verify(toscaOperationFacade, times(1)).getToscaElement(componentId); @@ -145,19 +133,19 @@ public class ComponentSubstitutionFilterBusinessLogicTest extends BaseBusinessLo public void createSubstitutionFilterIfNotExistTest() throws BusinessLogicException { when(toscaOperationFacade.getToscaElement(componentId)).thenReturn(Either.left(service)); when(graphLockOperation.lockComponent(componentId, NodeTypeEnum.Service)) - .thenReturn(StorageOperationStatus.OK); - when(substitutionFilterOperation.createSubstitutionFilter(componentId, componentInstanceId)) - .thenReturn(Either.left(substitutionFilterDataDefinition)); + .thenReturn(StorageOperationStatus.OK); + when(substitutionFilterOperation.createSubstitutionFilter(componentId)) + .thenReturn(Either.left(substitutionFilterDataDefinition)); when(graphLockOperation.unlockComponent(componentId, NodeTypeEnum.Service)) - .thenReturn(StorageOperationStatus.OK); + .thenReturn(StorageOperationStatus.OK); final Optional<SubstitutionFilterDataDefinition> result = componentSubstitutionFilterBusinessLogic - .createSubstitutionFilterIfNotExist(componentId, componentInstanceId, true, ComponentTypeEnum.SERVICE); + .createSubstitutionFilterIfNotExist(componentId, true, ComponentTypeEnum.SERVICE); assertThat(result).isPresent(); assertThat(result.get().getProperties()).isEqualTo(substitutionFilterDataDefinition.getProperties()); verify(toscaOperationFacade, times(1)).getToscaElement(componentId); verify(graphLockOperation, times(1)).lockComponent(componentId, NodeTypeEnum.Service); - verify(substitutionFilterOperation, times(1)).createSubstitutionFilter(componentId, componentInstanceId); + verify(substitutionFilterOperation, times(1)).createSubstitutionFilter(componentId); verify(graphLockOperation, times(1)).unlockComponent(componentId, NodeTypeEnum.Service); } @@ -165,283 +153,191 @@ public class ComponentSubstitutionFilterBusinessLogicTest extends BaseBusinessLo public void createSubstitutionFilterIfNotExistFailTest() { when(toscaOperationFacade.getToscaElement(componentId)).thenReturn(Either.left(service)); when(graphLockOperation.lockComponent(componentId, NodeTypeEnum.Service)) - .thenReturn(StorageOperationStatus.OK); - when(substitutionFilterOperation.createSubstitutionFilter(componentId, componentInstanceId)) - .thenReturn(Either.right(StorageOperationStatus.GENERAL_ERROR)); + .thenReturn(StorageOperationStatus.OK); + when(substitutionFilterOperation.createSubstitutionFilter(componentId)) + .thenReturn(Either.right(StorageOperationStatus.GENERAL_ERROR)); when(graphLockOperation.unlockComponent(componentId, NodeTypeEnum.Service)) - .thenReturn(StorageOperationStatus.OK); + .thenReturn(StorageOperationStatus.OK); assertThrows(BusinessLogicException.class, () -> componentSubstitutionFilterBusinessLogic - .createSubstitutionFilterIfNotExist(componentId, componentInstanceId, true, ComponentTypeEnum.SERVICE)); + .createSubstitutionFilterIfNotExist(componentId, true, ComponentTypeEnum.SERVICE)); verify(toscaOperationFacade, times(1)).getToscaElement(componentId); verify(graphLockOperation, times(1)).lockComponent(componentId, NodeTypeEnum.Service); - verify(substitutionFilterOperation, times(1)).createSubstitutionFilter(componentId, componentInstanceId); + verify(substitutionFilterOperation, times(1)).createSubstitutionFilter(componentId); verify(graphLockOperation, times(1)).unlockComponent(componentId, NodeTypeEnum.Service); } @Test public void addSubstitutionFilterTest() throws BusinessLogicException { - componentInstance.setSubstitutionFilter(substitutionFilterDataDefinition); + service.setSubstitutionFilter(substitutionFilterDataDefinition); when(toscaOperationFacade.getToscaElement(componentId)).thenReturn(Either.left(service)); - when(nodeFilterValidator.validateFilter(service, componentInstanceId, Collections.singletonList(constraint), - NodeFilterConstraintAction.ADD)).thenReturn(Either.left(true)); - when(nodeFilterValidator.validateComponentInstanceExist(service, componentInstanceId)) - .thenReturn(Either.left(true)); when(graphLockOperation.lockComponent(componentId, NodeTypeEnum.Service)) .thenReturn(StorageOperationStatus.OK); - + when(nodeFilterValidator.validateComponentFilter(service, Collections.singletonList(constraint), + NodeFilterConstraintAction.ADD)).thenReturn(Either.left(true)); when(substitutionFilterOperation - .addNewProperty(anyString(), anyString(), any(SubstitutionFilterDataDefinition.class), + .addPropertyFilter(anyString(), any(SubstitutionFilterDataDefinition.class), any(RequirementSubstitutionFilterPropertyDataDefinition.class))) .thenReturn(Either.left(substitutionFilterDataDefinition)); - when(graphLockOperation.unlockComponent(componentId, NodeTypeEnum.Service)) .thenReturn(StorageOperationStatus.OK); final Optional<SubstitutionFilterDataDefinition> result = componentSubstitutionFilterBusinessLogic - .addSubstitutionFilter(componentId, componentInstanceId, NodeFilterConstraintAction.ADD, - servicePropertyName, constraint, true, ComponentTypeEnum.SERVICE); + .addSubstitutionFilter(componentId, servicePropertyName, constraint, true, + ComponentTypeEnum.SERVICE); assertThat(result).isPresent(); assertThat(result.get().getProperties().getListToscaDataDefinition()).hasSize(1); verify(toscaOperationFacade, times(1)).getToscaElement(componentId); verify(graphLockOperation, times(1)).lockComponent(componentId, NodeTypeEnum.Service); - verify(nodeFilterValidator, times(1)).validateFilter(service, componentInstanceId, - Collections.singletonList(constraint), NodeFilterConstraintAction.ADD); - verify(substitutionFilterOperation, times(0)) - .addNewProperty(componentId, componentInstanceId, substitutionFilterDataDefinition, - requirementSubstitutionFilterPropertyDataDefinition); + verify(nodeFilterValidator, times(1)).validateComponentFilter(service, + Collections.singletonList(constraint), NodeFilterConstraintAction.ADD); + verify(substitutionFilterOperation, times(1)) + .addPropertyFilter(anyString(), any(SubstitutionFilterDataDefinition.class), + any(RequirementSubstitutionFilterPropertyDataDefinition.class)); verify(graphLockOperation, times(1)).unlockComponent(componentId, NodeTypeEnum.Service); } @Test public void addSubstitutionFilterFailTest() { - componentInstance.setSubstitutionFilter(substitutionFilterDataDefinition); + service.setSubstitutionFilter(substitutionFilterDataDefinition); when(toscaOperationFacade.getToscaElement(componentId)).thenReturn(Either.left(service)); - when(nodeFilterValidator.validateFilter(service, componentInstanceId, Collections.singletonList(constraint), - NodeFilterConstraintAction.ADD)).thenReturn(Either.left(true)); - when(nodeFilterValidator.validateComponentInstanceExist(service, componentInstanceId)) - .thenReturn(Either.left(true)); when(graphLockOperation.lockComponent(componentId, NodeTypeEnum.Service)) .thenReturn(StorageOperationStatus.OK); - + when(nodeFilterValidator.validateComponentFilter(service, Collections.singletonList(constraint), + NodeFilterConstraintAction.ADD)).thenReturn(Either.left(true)); when(substitutionFilterOperation - .addNewProperty(anyString(), anyString(), any(SubstitutionFilterDataDefinition.class), - any(RequirementSubstitutionFilterPropertyDataDefinition.class))) + .addPropertyFilter(componentId, substitutionFilterDataDefinition, + requirementSubstitutionFilterPropertyDataDefinition)) .thenReturn(Either.right(StorageOperationStatus.GENERAL_ERROR)); when(graphLockOperation.unlockComponent(componentId, NodeTypeEnum.Service)) .thenReturn(StorageOperationStatus.OK); assertThrows(BusinessLogicException.class, () -> componentSubstitutionFilterBusinessLogic - .addSubstitutionFilter(componentId, componentInstanceId, NodeFilterConstraintAction.ADD, - servicePropertyName, constraint, true, ComponentTypeEnum.SERVICE)); + .addSubstitutionFilter(componentId, servicePropertyName, constraint, true, + ComponentTypeEnum.SERVICE)); verify(toscaOperationFacade, times(1)).getToscaElement(componentId); verify(graphLockOperation, times(1)).lockComponent(componentId, NodeTypeEnum.Service); - verify(nodeFilterValidator, times(1)).validateFilter(service, componentInstanceId, - Collections.singletonList(constraint), NodeFilterConstraintAction.ADD); + verify(nodeFilterValidator, times(1)).validateComponentFilter(service, + Collections.singletonList(constraint), NodeFilterConstraintAction.ADD); verify(substitutionFilterOperation, times(0)) - .addNewProperty(componentId, componentInstanceId, substitutionFilterDataDefinition, + .addPropertyFilter(componentId, substitutionFilterDataDefinition, requirementSubstitutionFilterPropertyDataDefinition); verify(graphLockOperation, times(1)).unlockComponent(componentId, NodeTypeEnum.Service); } @Test public void updateSubstitutionFilterTest() throws BusinessLogicException { - componentInstance.setSubstitutionFilter(substitutionFilterDataDefinition); + service.setSubstitutionFilter(substitutionFilterDataDefinition); + final List<String> constraints = requirementSubstitutionFilterPropertyDataDefinition.getConstraints(); when(toscaOperationFacade.getToscaElement(componentId)).thenReturn(Either.left(service)); - when(nodeFilterValidator.validateFilter(service, componentInstanceId, - Collections.singletonList(constraint), NodeFilterConstraintAction.UPDATE)).thenReturn(Either.left(true)); when(graphLockOperation.lockComponent(componentId, NodeTypeEnum.Service)) .thenReturn(StorageOperationStatus.OK); - - when(substitutionFilterOperation.updateSubstitutionFilter(anyString(), anyString(), - any(SubstitutionFilterDataDefinition.class), anyList())) - .thenReturn(Either.left(substitutionFilterDataDefinition)); - + when(nodeFilterValidator.validateComponentFilter(service, Collections.singletonList(constraint), + NodeFilterConstraintAction.UPDATE)).thenReturn(Either.left(true)); + when(substitutionFilterOperation.updateProperties(anyString(), any(SubstitutionFilterDataDefinition.class), anyList())) + .thenReturn(Either.left(substitutionFilterDataDefinition)); when(graphLockOperation.unlockComponent(componentId, NodeTypeEnum.Service)) .thenReturn(StorageOperationStatus.OK); final Optional<SubstitutionFilterDataDefinition> result = componentSubstitutionFilterBusinessLogic - .updateSubstitutionFilter(componentId, componentInstanceId, Collections.singletonList(constraint), + .updateSubstitutionFilter(componentId, Collections.singletonList(constraint), true, ComponentTypeEnum.SERVICE); assertThat(result).isPresent(); - + assertThat(result.get().getProperties().getListToscaDataDefinition()).hasSize(1); + verify(substitutionFilterOperation, times(1)) + .updateProperties(anyString(), any(SubstitutionFilterDataDefinition.class), anyList()); + verify(nodeFilterValidator, times(1)).validateComponentFilter(service, + Collections.singletonList(constraint), NodeFilterConstraintAction.UPDATE); verify(toscaOperationFacade, times(1)).getToscaElement(componentId); - verify(nodeFilterValidator, times(1)).validateFilter(service, componentInstanceId, - Collections.singletonList(constraint), NodeFilterConstraintAction.UPDATE); + verify(graphLockOperation, times(1)).lockComponent(componentId, NodeTypeEnum.Service); + verify(graphLockOperation, times(1)).unlockComponent(componentId, NodeTypeEnum.Service); } @Test public void updateSubstitutionFilterFailTest() { - componentInstance.setSubstitutionFilter(substitutionFilterDataDefinition); + service.setSubstitutionFilter(substitutionFilterDataDefinition); when(toscaOperationFacade.getToscaElement(componentId)).thenReturn(Either.left(service)); - when(nodeFilterValidator.validateFilter(service, componentInstanceId, - Collections.singletonList(constraint), NodeFilterConstraintAction.UPDATE)).thenReturn(Either.left(true)); when(graphLockOperation.lockComponent(componentId, NodeTypeEnum.Service)) .thenReturn(StorageOperationStatus.OK); - - when(substitutionFilterOperation.updateSubstitutionFilter(anyString(), anyString(), - any(SubstitutionFilterDataDefinition.class), anyList())) - .thenReturn(Either.right(StorageOperationStatus.GENERAL_ERROR)); - + when(nodeFilterValidator.validateComponentFilter(service, Collections.singletonList(constraint), + NodeFilterConstraintAction.UPDATE)).thenReturn(Either.left(true)); when(graphLockOperation.unlockComponent(componentId, NodeTypeEnum.Service)) .thenReturn(StorageOperationStatus.OK); final List<String> constraints = requirementSubstitutionFilterPropertyDataDefinition.getConstraints(); assertThrows(BusinessLogicException.class, () -> componentSubstitutionFilterBusinessLogic - .updateSubstitutionFilter(componentId, componentInstanceId, constraints, true, ComponentTypeEnum.SERVICE)); + .updateSubstitutionFilter(componentId, constraints, true, ComponentTypeEnum.SERVICE)); verify(toscaOperationFacade, times(1)).getToscaElement(componentId); - verify(nodeFilterValidator, times(1)).validateFilter(service, componentInstanceId, - Collections.singletonList(constraint), NodeFilterConstraintAction.UPDATE); - } - - @Test - public void updateSubstitutionFilterFailWithFilterNotFoundTest() { - when(toscaOperationFacade.getToscaElement(componentId)).thenReturn(Either.left(service)); - when(nodeFilterValidator.validateFilter(service, componentInstanceId, - Collections.singletonList(constraint), NodeFilterConstraintAction.UPDATE)).thenReturn(Either.left(true)); - - assertThrows(BusinessLogicException.class, () -> componentSubstitutionFilterBusinessLogic - .updateSubstitutionFilter(componentId, componentInstanceId, - requirementSubstitutionFilterPropertyDataDefinition.getConstraints(), true, - ComponentTypeEnum.SERVICE)); - - verify(toscaOperationFacade, times(1)).getToscaElement(componentId); - verify(nodeFilterValidator, times(1)).validateFilter(service, componentInstanceId, - Collections.singletonList(constraint), NodeFilterConstraintAction.UPDATE); - } - - @Test - public void updateSubstitutionFilterFailValidationTest() { - when(toscaOperationFacade.getToscaElement(componentId)).thenReturn(Either.left(service)); - - final UIConstraint uiConstraint = - new UIConstraint("invalidProperty", constraintOperator, sourceType, sourceName, propertyValue); - constraint = new ConstraintConvertor().convert(uiConstraint); - requirementSubstitutionFilterPropertyDataDefinition.setConstraints(Collections.singletonList(constraint)); - - when(responseFormat.getFormattedMessage()).thenReturn(ActionStatus.SELECTED_PROPERTY_NOT_PRESENT.name()); - - when(nodeFilterValidator.validateFilter(service, componentInstanceId, - Collections.singletonList(constraint), NodeFilterConstraintAction.UPDATE)) - .thenReturn(Either.right(responseFormat)); - - assertThrows(BusinessLogicException.class, () -> componentSubstitutionFilterBusinessLogic - .updateSubstitutionFilter(componentId, componentInstanceId, - requirementSubstitutionFilterPropertyDataDefinition.getConstraints(), true, - ComponentTypeEnum.SERVICE)); - - verify(toscaOperationFacade, times(1)).getToscaElement(componentId); - verify(nodeFilterValidator, times(1)).validateFilter(service, componentInstanceId, - Collections.singletonList(constraint), NodeFilterConstraintAction.UPDATE); + verify(graphLockOperation, times(1)).lockComponent(componentId, NodeTypeEnum.Service); + verify(nodeFilterValidator, times(1)).validateComponentFilter(service, + Collections.singletonList(constraint), NodeFilterConstraintAction.UPDATE); + verify(graphLockOperation, times(1)).unlockComponent(componentId, NodeTypeEnum.Service); } @Test public void deleteSubstitutionFilterTest() throws BusinessLogicException { substitutionFilterDataDefinition.setProperties(new ListDataDefinition<>()); - componentInstance.setSubstitutionFilter(substitutionFilterDataDefinition); + service.setSubstitutionFilter(substitutionFilterDataDefinition); when(toscaOperationFacade.getToscaElement(componentId)).thenReturn(Either.left(service)); - when(nodeFilterValidator.validateFilter(service, componentInstanceId, - Collections.singletonList(constraint), NodeFilterConstraintAction.DELETE)).thenReturn(Either.left(true)); - - when(nodeFilterValidator.validateComponentInstanceExist(service, componentInstanceId)) - .thenReturn(Either.left(true)); when(graphLockOperation.lockComponent(componentId, NodeTypeEnum.Service)) .thenReturn(StorageOperationStatus.OK); - when(substitutionFilterOperation.deleteConstraint(anyString(), anyString(), - any(SubstitutionFilterDataDefinition.class), anyInt())) + when(substitutionFilterOperation.deleteConstraint(anyString(), any(SubstitutionFilterDataDefinition.class), anyInt())) .thenReturn(Either.left(substitutionFilterDataDefinition)); when(graphLockOperation.unlockComponent(componentId, NodeTypeEnum.Service)) .thenReturn(StorageOperationStatus.OK); final Optional<SubstitutionFilterDataDefinition> result = componentSubstitutionFilterBusinessLogic - .deleteSubstitutionFilter(componentId, componentInstanceId, NodeFilterConstraintAction.DELETE, constraint, - 0, true, ComponentTypeEnum.SERVICE); + .deleteSubstitutionFilter(componentId, anyInt(), true, ComponentTypeEnum.SERVICE); - assertThat(result).isPresent(); - assertThat(result.get().getProperties().getListToscaDataDefinition()).hasSize(0); verify(toscaOperationFacade, times(1)).getToscaElement(componentId); - verify(nodeFilterValidator, times(1)).validateFilter(service, componentInstanceId, - Collections.singletonList(constraint), NodeFilterConstraintAction.DELETE); - verify(nodeFilterValidator, times(1)).validateComponentInstanceExist(service, componentInstanceId); verify(graphLockOperation, times(1)).lockComponent(componentId, NodeTypeEnum.Service); - verify(substitutionFilterOperation, times(1)).deleteConstraint(componentId, componentInstanceId, - substitutionFilterDataDefinition, 0); + verify(substitutionFilterOperation, times(1)).deleteConstraint(componentId, + substitutionFilterDataDefinition, 0); verify(graphLockOperation, times(1)).unlockComponent(componentId, NodeTypeEnum.Service); } @Test public void deleteSubstitutionFilterFailTest() { - componentInstance.setSubstitutionFilter(substitutionFilterDataDefinition); + service.setSubstitutionFilter(substitutionFilterDataDefinition); when(toscaOperationFacade.getToscaElement(componentId)).thenReturn(Either.left(service)); - when(nodeFilterValidator.validateFilter(service, componentInstanceId, - Collections.singletonList(constraint), NodeFilterConstraintAction.DELETE)).thenReturn(Either.left(true)); - - when(nodeFilterValidator.validateComponentInstanceExist(service, componentInstanceId)) - .thenReturn(Either.left(true)); when(graphLockOperation.lockComponent(componentId, NodeTypeEnum.Service)) .thenReturn(StorageOperationStatus.OK); - when(substitutionFilterOperation.deleteConstraint(anyString(), anyString(), + when(substitutionFilterOperation.deleteConstraint(anyString(), any(SubstitutionFilterDataDefinition.class), anyInt())) .thenReturn(Either.right(StorageOperationStatus.GENERAL_ERROR)); when(graphLockOperation.unlockComponent(componentId, NodeTypeEnum.Service)) .thenReturn(StorageOperationStatus.OK); + final List<String> constraints = requirementSubstitutionFilterPropertyDataDefinition.getConstraints(); assertThrows(BusinessLogicException.class, () -> componentSubstitutionFilterBusinessLogic - .deleteSubstitutionFilter(componentId, componentInstanceId, NodeFilterConstraintAction.DELETE, constraint, - 0, true, ComponentTypeEnum.SERVICE)); + .deleteSubstitutionFilter(componentId, anyInt(),true, ComponentTypeEnum.SERVICE)); verify(toscaOperationFacade, times(1)).getToscaElement(componentId); - verify(nodeFilterValidator, times(1)).validateFilter(service, componentInstanceId, - Collections.singletonList(constraint), NodeFilterConstraintAction.DELETE); - verify(nodeFilterValidator, times(1)).validateComponentInstanceExist(service, componentInstanceId); - verify(substitutionFilterOperation, times(1)).deleteConstraint(componentId, componentInstanceId, - substitutionFilterDataDefinition, 0); + verify(graphLockOperation, times(1)).lockComponent(componentId, NodeTypeEnum.Service); + verify(substitutionFilterOperation, times(1)).deleteConstraint(componentId, + substitutionFilterDataDefinition, 0); verify(graphLockOperation, times(1)).unlockComponent(componentId, NodeTypeEnum.Service); } - @Test - public void deleteSubstitutionFilterFailValidationTest() { - when(toscaOperationFacade.getToscaElement(componentId)).thenReturn(Either.left(service)); - when(nodeFilterValidator.validateFilter(service, componentInstanceId, - Collections.singletonList(constraint), NodeFilterConstraintAction.DELETE)).thenReturn(Either.left(true)); - - when(nodeFilterValidator.validateComponentInstanceExist(service, componentInstanceId)) - .thenReturn(Either.left(true)); - - assertThrows(BusinessLogicException.class, () -> componentSubstitutionFilterBusinessLogic - .deleteSubstitutionFilter(componentId, componentInstanceId, NodeFilterConstraintAction.DELETE, constraint, - 0, true, ComponentTypeEnum.SERVICE)); - - verify(toscaOperationFacade, times(1)).getToscaElement(componentId); - verify(nodeFilterValidator, times(1)).validateFilter(service, componentInstanceId, - Collections.singletonList(constraint), NodeFilterConstraintAction.DELETE); - } - public void initResource() { try { service = new Service(); service.setName("MyTestService"); service.setUniqueId(componentId); - componentInstance = new ComponentInstance(); - componentInstance.setUniqueId(componentInstanceId); - componentInstance.setName("myComponentInstance"); - componentInstance.setDirectives(ConfigurationManager.getConfigurationManager().getConfiguration() - .getDirectives()); - final UIConstraint uiConstraint = new UIConstraint(servicePropertyName, constraintOperator, sourceType, sourceName, propertyValue); constraint = new ConstraintConvertor().convert(uiConstraint); @@ -459,22 +355,9 @@ public class ComponentSubstitutionFilterBusinessLogicTest extends BaseBusinessLo substitutionFilterDataDefinition.setProperties(listDataDefinition); substitutionFilterDataDefinition.setID("SUBSTITUTION_FILTER_UID"); - service.setComponentInstances(singletonList(componentInstance)); - final PropertyDefinition property = new PropertyDefinition(); property.setName(uiConstraint.getServicePropertyName()); - final List<ComponentInstanceProperty> origProperties = new ArrayList<>(); - final ComponentInstanceProperty origProperty = new ComponentInstanceProperty(); - origProperty.setName(uiConstraint.getServicePropertyName()); - origProperty.setValue(propertyValue); - origProperty.setType(uiConstraint.getSourceType()); - origProperties.add(origProperty); - - final Map<String, List<ComponentInstanceProperty>> componentInstanceProps = new HashMap<>(); - componentInstanceProps.put(componentInstanceId, origProperties); - - service.setComponentInstancesProperties(componentInstanceProps); service.setProperties(new LinkedList<>(Arrays.asList(property))); } catch (final Exception e) { fail(e.getMessage()); |