summaryrefslogtreecommitdiffstats
path: root/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ComponentInstanceBusinessLogicTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ComponentInstanceBusinessLogicTest.java')
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ComponentInstanceBusinessLogicTest.java512
1 files changed, 4 insertions, 508 deletions
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ComponentInstanceBusinessLogicTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ComponentInstanceBusinessLogicTest.java
index 96c6762d74..3a5f40cb8c 100644
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ComponentInstanceBusinessLogicTest.java
+++ b/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ComponentInstanceBusinessLogicTest.java
@@ -49,13 +49,9 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
-import java.util.Map.Entry;
import java.util.Optional;
import java.util.Set;
-import java.util.stream.Stream;
import mockit.Deencapsulation;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import org.assertj.core.util.Lists;
@@ -64,17 +60,12 @@ import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DynamicTest;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestFactory;
-import org.junit.jupiter.params.ParameterizedTest;
-import org.junit.jupiter.params.provider.Arguments;
-import org.junit.jupiter.params.provider.MethodSource;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.openecomp.sdc.be.components.impl.exceptions.ByActionStatusComponentException;
import org.openecomp.sdc.be.components.impl.exceptions.ByResponseFormatComponentException;
import org.openecomp.sdc.be.components.impl.exceptions.ComponentException;
-import org.openecomp.sdc.be.components.impl.exceptions.ToscaFunctionExceptionSupplier;
-import org.openecomp.sdc.be.components.impl.exceptions.ToscaGetFunctionExceptionSupplier;
import org.openecomp.sdc.be.components.validation.UserValidations;
import org.openecomp.sdc.be.config.ConfigurationManager;
import org.openecomp.sdc.be.dao.api.ActionStatus;
@@ -129,6 +120,7 @@ import org.openecomp.sdc.be.model.jsonjanusgraph.operations.exception.OperationE
import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
import org.openecomp.sdc.be.model.operations.impl.GraphLockOperation;
import org.openecomp.sdc.be.model.operations.impl.PropertyOperation;
+import org.openecomp.sdc.be.model.validation.ToscaFunctionValidator;
import org.openecomp.sdc.common.api.ArtifactGroupTypeEnum;
import org.openecomp.sdc.common.api.ArtifactTypeEnum;
import org.openecomp.sdc.common.api.ConfigurationSource;
@@ -196,6 +188,8 @@ class ComponentInstanceBusinessLogicTest {
private ContainerInstanceTypesData containerInstanceTypeData;
@Mock
private CompositionBusinessLogic compositionBusinessLogic;
+ @Mock
+ private ToscaFunctionValidator toscaFunctionValidator;
private Component service;
private Component resource;
@@ -222,7 +216,7 @@ class ComponentInstanceBusinessLogicTest {
void init() {
MockitoAnnotations.openMocks(this);
componentInstanceBusinessLogic = new ComponentInstanceBusinessLogic(null, null, null, null, null, null, null, artifactsBusinessLogic, null,
- null, forwardingPathOperation, null, null);
+ null, forwardingPathOperation, null, null, toscaFunctionValidator);
componentInstanceBusinessLogic.setComponentsUtils(componentsUtils);
componentInstanceBusinessLogic.setToscaOperationFacade(toscaOperationFacade);
componentInstanceBusinessLogic.setUserValidations(userValidations);
@@ -369,408 +363,7 @@ class ComponentInstanceBusinessLogicTest {
assertThat(responseFormatEither.left().value()).isEqualTo(properties);
}
- @Test
- void testToscaGetFunctionValidation() {
- final String userId = "userId";
- final String containerComponentId = "containerComponentId";
- final String containerComponentName = "containerComponentName";
- final String resourceInstanceId = "resourceInstanceId";
- final String inputName = "myInputToGet";
- final String inputId = String.format("%s.%s", containerComponentId, inputName);
- final String schemaType = "string";
- //creating instance list of string property with get_input value
- final ComponentInstanceProperty propertyGetInput = new ComponentInstanceProperty();
- propertyGetInput.setName("getInputProperty");
- propertyGetInput.setPropertyId(String.format("%s.%s", containerComponentId, "getInputProperty"));
- propertyGetInput.setValue(String.format("get_input: [\"%s\"]", inputName));
- propertyGetInput.setType("list");
- final SchemaDefinition listStringPropertySchema = createSchema(schemaType);
- propertyGetInput.setSchema(listStringPropertySchema);
- propertyGetInput.setToscaFunction(
- createGetToscaFunction(inputName, inputId, List.of(propertyGetInput.getName()), PropertySource.SELF, ToscaGetFunctionType.GET_INPUT,
- containerComponentId, containerComponentName)
- );
- //creating instance map of string property with get_input value to a second level property:
- // get_input: ["property1", "subProperty1", "subProperty2"]
- final String getPropertyPropertyName = "getPropertyProperty";
- final List<String> containerPropertyPath = List.of("property1", "subProperty1", "subProperty2");
- final String containerPropertyId = String.format("%s.%s", containerComponentId, containerPropertyPath.get(0));
- final String mapToscaType = "map";
- final ComponentInstanceProperty propertyGetProperty = createComponentInstanceProperty(
- String.format("%s.%s", containerComponentId, getPropertyPropertyName),
- getPropertyPropertyName,
- mapToscaType,
- "string",
- String.format("\"get_property\": [\"%s\", \"%s\"]", PropertySource.SELF, String.join("\", \"", containerPropertyPath)),
- createGetToscaFunction(containerPropertyPath.get(containerPropertyPath.size() - 1), containerPropertyId,
- containerPropertyPath, PropertySource.SELF, ToscaGetFunctionType.GET_PROPERTY, containerComponentId, containerComponentName)
- );
-
- //creating component that has the instance properties
- final Component component = new Service();
- component.setUniqueId(containerComponentId);
- component.setName(containerComponentName);
- component.setLastUpdaterUserId(userId);
- component.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT);
- //adding instance properties to the component
- final List<ComponentInstanceProperty> resourceInstanceProperties = List.of(propertyGetInput, propertyGetProperty);
- final Map<String, List<ComponentInstanceProperty>> componentInstanceProps = new HashMap<>();
- componentInstanceProps.put(resourceInstanceId, resourceInstanceProperties);
- component.setComponentInstancesProperties(componentInstanceProps);
-
- //creating component input that will be gotten by the get_input instance property
- final var inputDefinition = new InputDefinition();
- inputDefinition.setName(inputName);
- inputDefinition.setUniqueId(inputId);
- inputDefinition.setType(propertyGetInput.getType());
- inputDefinition.setSchema(listStringPropertySchema);
- component.setInputs(List.of(inputDefinition));
-
- //creating component property that contains the sub property that will be gotten by the get_property instance property
- final var propertyDefinition = new PropertyDefinition();
- propertyDefinition.setName(containerPropertyPath.get(0));
- propertyDefinition.setUniqueId(containerPropertyId);
- final String property1Type = "property1.datatype";
- propertyDefinition.setType(property1Type);
- component.setProperties(List.of(propertyDefinition));
- //creating resource instance to be added to the component
- final ComponentInstance resourceInstance = createComponentInstance("resourceInstance");
- resourceInstance.setUniqueId(resourceInstanceId);
- component.setComponentInstances(List.of(resourceInstance));
-
- mockComponentForToscaGetFunctionValidation(component);
-
- //creating data types for "map", and sub properties
- final Map<String, DataTypeDefinition> allDataTypesMap = new HashMap<>();
- allDataTypesMap.put(mapToscaType, new DataTypeDefinition());
-
- final String subProperty1Type = "subProperty1.datatype";
- allDataTypesMap.put(property1Type, createDataType(property1Type, Map.of(containerPropertyPath.get(1), subProperty1Type)));
-
- final var subProperty2Property = new PropertyDefinition();
- subProperty2Property.setName(containerPropertyPath.get(2));
- subProperty2Property.setType(propertyGetProperty.getType());
- subProperty2Property.setSchema(propertyGetProperty.getSchema());
- allDataTypesMap.put(subProperty1Type, createDataType(subProperty1Type, List.of(subProperty2Property)));
-
- when(applicationDataTypeCache.getAll(component.getModel())).thenReturn(Either.left(allDataTypesMap));
- //when
- final Either<List<ComponentInstanceProperty>, ResponseFormat> actualResponseFormat = componentInstanceBusinessLogic
- .createOrUpdatePropertiesValues(
- ComponentTypeEnum.RESOURCE_INSTANCE, containerComponentId, resourceInstanceId, resourceInstanceProperties, userId);
- //then
- assertTrue(actualResponseFormat.isLeft());
- assertThat(actualResponseFormat.left().value()).isEqualTo(resourceInstanceProperties);
- }
-
- @Test
- void testToscaGetPropertyOnInstanceValidation() {
- final String userId = "userId";
- final String containerComponentId = "containerComponentId";
- final String containerComponentName = "containerComponentName";
- final String instanceUniqueId = String.format("%s.%s", containerComponentId, "instanceId");
-
- final List<String> parentPropertyPath = List.of("property1");
- final String containerPropertyId = String.format("%s.%s", containerComponentId, parentPropertyPath.get(0));
- final ComponentInstanceProperty getPropertyOnInstanceProperty = createComponentInstanceProperty(
- String.format("%s.%s", containerComponentId, "getPropertyOnInstanceProperty"),
- "getPropertyOnInstanceProperty",
- "string",
- null,
- String.format("\"get_property\": [\"%s\", \"%s\"]", PropertySource.INSTANCE, parentPropertyPath.get(0)),
- createGetToscaFunction(parentPropertyPath.get(0), containerPropertyId, parentPropertyPath, PropertySource.INSTANCE,
- ToscaGetFunctionType.GET_PROPERTY, instanceUniqueId, containerComponentName)
- );
-
- //creating component that has the instance properties
- final Component component = new Service();
- component.setUniqueId(containerComponentId);
- component.setName(containerComponentName);
- component.setLastUpdaterUserId(userId);
- component.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT);
- //adding instance properties to the component
- final List<ComponentInstanceProperty> resourceInstanceProperties = List.of(getPropertyOnInstanceProperty);
- final Map<String, List<ComponentInstanceProperty>> componentInstanceProps = new HashMap<>();
- componentInstanceProps.put(instanceUniqueId, resourceInstanceProperties);
- component.setComponentInstancesProperties(componentInstanceProps);
-
- //creating resource property that will be get
- final var propertyDefinition = new PropertyDefinition();
- propertyDefinition.setName(parentPropertyPath.get(0));
- propertyDefinition.setUniqueId(containerPropertyId);
- final String property1Type = "string";
- propertyDefinition.setType(property1Type);
- //creating resource instance to be added to the component
- final ComponentInstance resourceInstance = createComponentInstance("resourceInstance");
- resourceInstance.setUniqueId(instanceUniqueId);
- resourceInstance.setProperties(List.of(propertyDefinition));
- component.setComponentInstances(List.of(resourceInstance));
-
- mockComponentForToscaGetFunctionValidation(component);
-
- //when
- final Either<List<ComponentInstanceProperty>, ResponseFormat> actualResponseFormat = componentInstanceBusinessLogic
- .createOrUpdatePropertiesValues(
- ComponentTypeEnum.RESOURCE_INSTANCE, containerComponentId, instanceUniqueId, resourceInstanceProperties, userId);
- //then
- assertTrue(actualResponseFormat.isLeft());
- assertThat(actualResponseFormat.left().value()).isEqualTo(resourceInstanceProperties);
- }
-
- private DataTypeDefinition createDataType(final String name, final Map<String, String> propertyNameAndTypeMap) {
- final var dataTypeDefinition = new DataTypeDefinition();
- dataTypeDefinition.setName(name);
- if (MapUtils.isNotEmpty(propertyNameAndTypeMap)) {
- for (final Entry<String, String> propertyEntry : propertyNameAndTypeMap.entrySet()) {
- final var propertyDefinition = new PropertyDefinition();
- propertyDefinition.setName(propertyEntry.getKey());
- propertyDefinition.setType(propertyEntry.getValue());
- dataTypeDefinition.setProperties(List.of(propertyDefinition));
- }
- }
- return dataTypeDefinition;
- }
-
- private DataTypeDefinition createDataType(final String name, final List<PropertyDefinition> propertyList) {
- final var dataTypeDefinition = new DataTypeDefinition();
- dataTypeDefinition.setName(name);
- if (CollectionUtils.isNotEmpty(propertyList)) {
- dataTypeDefinition.setProperties(propertyList);
- }
- return dataTypeDefinition;
- }
-
- private ComponentInstanceProperty createComponentInstanceProperty(final String uniqueId, final String name, final String type,
- final String schemaType, final String value,
- final ToscaGetFunctionDataDefinition toscaGetFunction) {
- final var componentInstanceProperty = new ComponentInstanceProperty();
- componentInstanceProperty.setName(name);
- componentInstanceProperty.setUniqueId(uniqueId);
- componentInstanceProperty.setType(type);
- componentInstanceProperty.setValue(value);
- if (schemaType != null) {
- final SchemaDefinition schemaDefinition = createSchema(schemaType);
- componentInstanceProperty.setSchema(schemaDefinition);
- }
- if (toscaGetFunction != null) {
- componentInstanceProperty.setToscaFunction(toscaGetFunction);
- }
-
- return componentInstanceProperty;
- }
-
- @Test
- void testToscaGetFunctionValidation_schemaDivergeTest() {
- final String userId = "userId";
- final String containerComponentId = "containerComponentId";
- final String containerComponentName = "containerComponentName";
- final String resourceInstanceId = "resourceInstanceId";
- final String inputName = "myInputToGet";
- final String inputId = String.format("%s.%s", containerComponentId, inputName);
- final String propertyName = "getInputProperty";
- final String propertyId = String.format("%s.%s", containerComponentId, propertyName);
- final String propertyType = "list";
- final List<ComponentInstanceProperty> properties = new ArrayList<>();
- final ComponentInstanceProperty propertyGetInput = createComponentInstanceProperty(
- propertyId,
- "getInputProperty",
- propertyType,
- "string",
- String.format("get_input: [\"%s\"]", inputName),
- createGetToscaFunction(inputName, inputId, List.of(propertyName), PropertySource.SELF, ToscaGetFunctionType.GET_INPUT,
- containerComponentId, containerComponentName)
- );
- properties.add(propertyGetInput);
-
- final Component component = new Service();
- component.setUniqueId(containerComponentId);
- component.setName(containerComponentName);
- component.setLastUpdaterUserId(userId);
- component.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT);
-
- var inputDefinition = new InputDefinition();
- inputDefinition.setName(inputName);
- inputDefinition.setUniqueId(inputId);
- inputDefinition.setType(propertyType);
- inputDefinition.setSchema(createSchema("integer"));
- component.setInputs(List.of(inputDefinition));
-
- final Map<String, List<ComponentInstanceProperty>> componentInstanceProps = new HashMap<>();
- componentInstanceProps.put(resourceInstanceId, properties);
- component.setComponentInstancesProperties(componentInstanceProps);
-
- final ComponentInstance resourceInstance = createComponentInstance("componentInstance1");
- resourceInstance.setUniqueId(resourceInstanceId);
- component.setComponentInstances(List.of(resourceInstance));
-
- mockComponentForToscaGetFunctionValidation(component);
- //when
- final Either<List<ComponentInstanceProperty>, ResponseFormat> responseFormatEither =
- componentInstanceBusinessLogic
- .createOrUpdatePropertiesValues(ComponentTypeEnum.RESOURCE_INSTANCE, containerComponentId, resourceInstanceId, properties, userId);
- //then
- assertTrue(responseFormatEither.isRight(), "Expecting an error");
- final ResponseFormat actualResponse = responseFormatEither.right().value();
- final ResponseFormat expectedResponse =
- ToscaGetFunctionExceptionSupplier
- .propertySchemaDiverge(propertyGetInput.getToscaFunction().getType(), inputDefinition.getSchemaType(),
- propertyGetInput.getSchemaType())
- .get().getResponseFormat();
- assertEquals(expectedResponse.getFormattedMessage(), actualResponse.getFormattedMessage());
- assertEquals(expectedResponse.getStatus(), actualResponse.getStatus());
- }
-
- @Test
- void testToscaGetFunctionValidation_propertyTypeDivergeTest() {
- final String userId = "userId";
- final String containerComponentId = "containerComponentId";
- final String containerComponentName = "containerComponentName";
- final String resourceInstanceId = "resourceInstanceId";
- final String inputName = "myInputToGet";
- final String inputId = String.format("%s.%s", containerComponentId, inputName);
- final String propertyName = "getInputProperty";
- final String propertyId = String.format("%s.%s", containerComponentId, propertyName);
- final String propertyType = "string";
- final List<ComponentInstanceProperty> properties = new ArrayList<>();
- final ComponentInstanceProperty propertyGetInput = createComponentInstanceProperty(
- propertyId,
- "getInputProperty",
- propertyType,
- "string",
- String.format("get_input: [\"%s\"]", inputName),
- createGetToscaFunction(inputName, inputId, List.of(propertyName), PropertySource.SELF, ToscaGetFunctionType.GET_INPUT,
- containerComponentId, containerComponentName)
- );
- properties.add(propertyGetInput);
-
- final Component component = new Service();
- component.setName(containerComponentName);
- component.setUniqueId(containerComponentId);
- component.setLastUpdaterUserId(userId);
- component.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT);
-
- var inputDefinition = new InputDefinition();
- inputDefinition.setName(inputName);
- inputDefinition.setUniqueId(inputId);
- inputDefinition.setType("integer");
- component.setInputs(List.of(inputDefinition));
-
- final Map<String, List<ComponentInstanceProperty>> componentInstanceProps = new HashMap<>();
- componentInstanceProps.put(resourceInstanceId, properties);
- component.setComponentInstancesProperties(componentInstanceProps);
-
- final ComponentInstance resourceInstance = createComponentInstance("componentInstance1");
- resourceInstance.setUniqueId(resourceInstanceId);
- component.setComponentInstances(List.of(resourceInstance));
-
- mockComponentForToscaGetFunctionValidation(component);
- //when
- final Either<List<ComponentInstanceProperty>, ResponseFormat> responseFormatEither =
- componentInstanceBusinessLogic
- .createOrUpdatePropertiesValues(ComponentTypeEnum.RESOURCE_INSTANCE, containerComponentId, resourceInstanceId, properties, userId);
- //then
- assertTrue(responseFormatEither.isRight(), "Expecting an error");
- final ResponseFormat actualResponse = responseFormatEither.right().value();
- final ResponseFormat expectedResponse =
- ToscaGetFunctionExceptionSupplier
- .propertyTypeDiverge(propertyGetInput.getToscaFunction().getType(), inputDefinition.getType(), propertyGetInput.getType())
- .get().getResponseFormat();
- assertEquals(expectedResponse.getFormattedMessage(), actualResponse.getFormattedMessage());
- assertEquals(expectedResponse.getStatus(), actualResponse.getStatus());
- }
-
- @ParameterizedTest
- @MethodSource("getToscaFunctionForValidation")
- void testToscaGetFunctionValidation_AttributesNotFoundTest(final ToscaGetFunctionDataDefinition toscaGetFunction,
- final ResponseFormat expectedValidationResponse) {
- final String userId = "userId";
- final String containerComponentId = "containerComponentId";
- final String containerComponentName = "containerComponentName";
- final String resourceInstanceId = "resourceInstanceId";
- final List<ComponentInstanceProperty> properties = new ArrayList<>();
- final ComponentInstanceProperty propertyGetInput = new ComponentInstanceProperty();
- propertyGetInput.setName("anyName");
- propertyGetInput.setToscaFunction(toscaGetFunction);
- properties.add(propertyGetInput);
-
- final Component component = new Service();
- component.setName(containerComponentName);
- component.setUniqueId(containerComponentId);
- component.setLastUpdaterUserId(userId);
- component.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT);
-
- final Map<String, List<ComponentInstanceProperty>> componentInstanceProps = new HashMap<>();
- componentInstanceProps.put(resourceInstanceId, properties);
- component.setComponentInstancesProperties(componentInstanceProps);
-
- final ComponentInstance resourceInstance = createComponentInstance("componentInstance1");
- resourceInstance.setUniqueId(resourceInstanceId);
- component.setComponentInstances(List.of(resourceInstance));
-
- mockComponentForToscaGetFunctionValidation(component);
- //when
- final Either<List<ComponentInstanceProperty>, ResponseFormat> responseFormatEither =
- componentInstanceBusinessLogic
- .createOrUpdatePropertiesValues(ComponentTypeEnum.RESOURCE_INSTANCE, containerComponentId, resourceInstanceId, properties, userId);
- //then
- assertTrue(responseFormatEither.isRight(), "Expecting an error");
- final ResponseFormat actualResponse = responseFormatEither.right().value();
- assertEquals(expectedValidationResponse.getFormattedMessage(), actualResponse.getFormattedMessage());
- assertEquals(expectedValidationResponse.getStatus(), actualResponse.getStatus());
- }
-
- @Test
- void testToscaGetFunctionValidation_propertyNotFoundTest() {
- final String userId = "userId";
- final String containerComponentId = "containerComponentId";
- final String containerComponentName = "containerComponentName";
- final String resourceInstanceId = "resourceInstanceId";
- final String inputName = "myInputToGet";
- final String inputId = String.format("%s.%s", containerComponentId, inputName);
- final String propertyName = "getInputProperty";
- final String propertyId = String.format("%s.%s", containerComponentId, propertyName);
- final String propertyType = "string";
- final List<ComponentInstanceProperty> properties = new ArrayList<>();
- final ComponentInstanceProperty propertyGetInput = createComponentInstanceProperty(
- propertyId,
- "getInputProperty",
- propertyType,
- "string",
- String.format("get_input: [\"%s\"]", inputName),
- createGetToscaFunction(inputName, inputId, List.of(propertyName), PropertySource.SELF, ToscaGetFunctionType.GET_INPUT,
- containerComponentId, containerComponentName)
- );
- properties.add(propertyGetInput);
-
- final Component component = new Service();
- component.setName(containerComponentName);
- component.setUniqueId(containerComponentId);
- component.setLastUpdaterUserId(userId);
- component.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT);
-
- final Map<String, List<ComponentInstanceProperty>> componentInstanceProps = new HashMap<>();
- componentInstanceProps.put(resourceInstanceId, properties);
- component.setComponentInstancesProperties(componentInstanceProps);
-
- final ComponentInstance resourceInstance = createComponentInstance("componentInstance1");
- resourceInstance.setUniqueId(resourceInstanceId);
- component.setComponentInstances(List.of(resourceInstance));
- mockComponentForToscaGetFunctionValidation(component);
- //when
- final Either<List<ComponentInstanceProperty>, ResponseFormat> responseFormatEither =
- componentInstanceBusinessLogic
- .createOrUpdatePropertiesValues(ComponentTypeEnum.RESOURCE_INSTANCE, containerComponentId, resourceInstanceId, properties, userId);
- //then
- assertTrue(responseFormatEither.isRight(), "Expecting an error");
- final ResponseFormat actualResponse = responseFormatEither.right().value();
- final ResponseFormat expectedResponse =
- ToscaGetFunctionExceptionSupplier
- .propertyNotFoundOnTarget(inputName, PropertySource.SELF, ToscaGetFunctionType.GET_INPUT)
- .get().getResponseFormat();
- assertEquals(expectedResponse.getFormattedMessage(), actualResponse.getFormattedMessage());
- assertEquals(expectedResponse.getStatus(), actualResponse.getStatus());
- }
@Test
void testCreateOrUpdatePropertiesValuesPropertyNotExists() {
@@ -2622,102 +2215,5 @@ class ComponentInstanceBusinessLogicTest {
return component;
}
- private void mockComponentForToscaGetFunctionValidation(final Component component) {
- when(toscaOperationFacade.getToscaElement(component.getUniqueId(), JsonParseFlagEnum.ParseAll))
- .thenReturn(Either.left(component));
- when(graphLockOperation.lockComponent(component.getUniqueId(), NodeTypeEnum.ResourceInstance))
- .thenReturn(StorageOperationStatus.OK);
- when(toscaOperationFacade.updateComponentInstanceMetadataOfTopologyTemplate(component))
- .thenReturn(Either.left(component));
- when(janusGraphDao.commit()).thenReturn(JanusGraphOperationStatus.OK);
- when(graphLockOperation.unlockComponent(component.getUniqueId(), NodeTypeEnum.ResourceInstance))
- .thenReturn(StorageOperationStatus.OK);
- }
-
- private ToscaGetFunctionDataDefinition createGetToscaFunction(final String propertyName, final String propertyUniqueId,
- final List<String> propertyPathFromSource,
- final PropertySource propertySource, final ToscaGetFunctionType functionType,
- final String sourceUniqueId,
- final String sourceName) {
- final var toscaGetFunction = new ToscaGetFunctionDataDefinition();
- toscaGetFunction.setFunctionType(functionType);
- toscaGetFunction.setPropertyUniqueId(propertyUniqueId);
- toscaGetFunction.setPropertyName(propertyName);
- toscaGetFunction.setPropertyPathFromSource(propertyPathFromSource);
- toscaGetFunction.setPropertySource(propertySource);
- toscaGetFunction.setSourceName(sourceName);
- toscaGetFunction.setSourceUniqueId(sourceUniqueId);
- return toscaGetFunction;
- }
-
- private SchemaDefinition createSchema(final String schemaType) {
- final var schemaDefinition = new SchemaDefinition();
- final var schemaProperty = new PropertyDefinition();
- schemaProperty.setType(schemaType);
- schemaDefinition.setProperty(schemaProperty);
- return schemaDefinition;
- }
-
- private static Stream<Arguments> getToscaFunctionForValidation() {
- final var toscaGetFunction1 = new ToscaGetFunctionDataDefinition();
- final ResponseFormat expectedResponse1 = ToscaFunctionExceptionSupplier
- .missingFunctionType().get().getResponseFormat();
-
- final var toscaGetFunction2 = new ToscaGetFunctionDataDefinition();
- toscaGetFunction2.setFunctionType(ToscaGetFunctionType.GET_INPUT);
- final ResponseFormat expectedResponse2 = ToscaGetFunctionExceptionSupplier
- .targetPropertySourceNotFound(toscaGetFunction2.getFunctionType()).get().getResponseFormat();
-
- final var toscaGetFunction3 = new ToscaGetFunctionDataDefinition();
- toscaGetFunction3.setFunctionType(ToscaGetFunctionType.GET_INPUT);
- toscaGetFunction3.setPropertySource(PropertySource.SELF);
- final ResponseFormat expectedResponse3 = ToscaGetFunctionExceptionSupplier
- .targetSourcePathNotFound(toscaGetFunction3.getFunctionType()).get().getResponseFormat();
-
- final var toscaGetFunction4 = new ToscaGetFunctionDataDefinition();
- toscaGetFunction4.setFunctionType(ToscaGetFunctionType.GET_INPUT);
- toscaGetFunction4.setPropertySource(PropertySource.SELF);
- toscaGetFunction4.setPropertyPathFromSource(List.of("sourcePath"));
- final ResponseFormat expectedResponse4 = ToscaGetFunctionExceptionSupplier
- .sourceNameNotFound(toscaGetFunction4.getPropertySource()).get().getResponseFormat();
-
- final var toscaGetFunction5 = new ToscaGetFunctionDataDefinition();
- toscaGetFunction5.setFunctionType(ToscaGetFunctionType.GET_INPUT);
- toscaGetFunction5.setPropertySource(PropertySource.SELF);
- toscaGetFunction5.setPropertyPathFromSource(List.of("sourcePath"));
- toscaGetFunction5.setSourceName("sourceName");
- final ResponseFormat expectedResponse5 = ToscaGetFunctionExceptionSupplier
- .sourceIdNotFound(toscaGetFunction5.getPropertySource()).get().getResponseFormat();
-
- final var toscaGetFunction6 = new ToscaGetFunctionDataDefinition();
- toscaGetFunction6.setFunctionType(ToscaGetFunctionType.GET_PROPERTY);
- toscaGetFunction6.setPropertySource(PropertySource.SELF);
- toscaGetFunction6.setPropertyPathFromSource(List.of("sourcePath"));
- toscaGetFunction6.setSourceName("sourceName");
- toscaGetFunction6.setSourceUniqueId("sourceUniqueId");
- final ResponseFormat expectedResponse6 = ToscaGetFunctionExceptionSupplier
- .propertyNameNotFound(toscaGetFunction6.getPropertySource()).get().getResponseFormat();
-
- final var toscaGetFunction7 = new ToscaGetFunctionDataDefinition();
- toscaGetFunction7.setFunctionType(ToscaGetFunctionType.GET_PROPERTY);
- toscaGetFunction7.setPropertySource(PropertySource.SELF);
- toscaGetFunction7.setPropertyPathFromSource(List.of("sourcePath"));
- toscaGetFunction7.setSourceName("sourceName");
- toscaGetFunction7.setSourceUniqueId("sourceUniqueId");
- toscaGetFunction7.setPropertyName("propertyName");
- final ResponseFormat expectedResponse7 = ToscaGetFunctionExceptionSupplier
- .propertyIdNotFound(toscaGetFunction7.getPropertySource()).get().getResponseFormat();
-
- return Stream.of(
- Arguments.of(toscaGetFunction1, expectedResponse1),
- Arguments.of(toscaGetFunction2, expectedResponse2),
- Arguments.of(toscaGetFunction3, expectedResponse3),
- Arguments.of(toscaGetFunction4, expectedResponse4),
- Arguments.of(toscaGetFunction5, expectedResponse5),
- Arguments.of(toscaGetFunction6, expectedResponse6),
- Arguments.of(toscaGetFunction7, expectedResponse7)
- );
- }
-
}