diff options
Diffstat (limited to 'catalog-be/src/test/java/org/openecomp/sdc/be/components/property/ComponentInstancePropertyDeclaratorTest.java')
-rw-r--r-- | catalog-be/src/test/java/org/openecomp/sdc/be/components/property/ComponentInstancePropertyDeclaratorTest.java | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/components/property/ComponentInstancePropertyDeclaratorTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/components/property/ComponentInstancePropertyDeclaratorTest.java index 5752ae272e..fd61133714 100644 --- a/catalog-be/src/test/java/org/openecomp/sdc/be/components/property/ComponentInstancePropertyDeclaratorTest.java +++ b/catalog-be/src/test/java/org/openecomp/sdc/be/components/property/ComponentInstancePropertyDeclaratorTest.java @@ -1,6 +1,7 @@ package org.openecomp.sdc.be.components.property; import fj.data.Either; +import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; @@ -9,25 +10,32 @@ import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.junit.MockitoJUnitRunner; import org.openecomp.sdc.be.components.utils.PropertyDataDefinitionBuilder; +import org.openecomp.sdc.be.components.utils.ResourceBuilder; import org.openecomp.sdc.be.dao.utils.MapUtil; import org.openecomp.sdc.be.datatypes.elements.GetInputValueDataDefinition; import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition; +import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum; import org.openecomp.sdc.be.model.*; import org.openecomp.sdc.be.model.jsontitan.operations.ToscaOperationFacade; import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus; import org.openecomp.sdc.be.model.operations.impl.UniqueIdBuilder; +import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; import java.util.stream.Stream; import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.verifyZeroInteractions; import static org.mockito.Mockito.when; +import static org.openecomp.sdc.be.components.property.CapabilityTestUtils.createCapabilityDefinition; +import static org.openecomp.sdc.be.components.property.CapabilityTestUtils.createProperties; @RunWith(MockitoJUnitRunner.class) @@ -61,6 +69,64 @@ public class ComponentInstancePropertyDeclaratorTest extends PropertyDeclaratorT } @Test + public void declareCapabilitiesPropertiesAsInputs() { + prop1.setParentUniqueId("capUniqueId"); + List<PropertyDataDefinition> properties = Collections.singletonList(prop1); + List<ComponentInstancePropInput> propsToDeclare = createInstancePropInputList(properties); + when(toscaOperationFacade.addComponentInstancePropertiesToComponent(eq(resource), instancePropertiesCaptor + .capture())).thenReturn(Either.left(Collections.emptyMap())); + + CapabilityDefinition capabilityDefinition = createCapabilityDefinition(); + + List<ComponentInstanceProperty> capPropList = new ArrayList<>(); + ComponentInstanceProperty instanceProperty = createProperties(); + capPropList.add(instanceProperty); + capabilityDefinition.setProperties(capPropList); + + capabilityDefinition.setPath(Collections.singletonList("path")); + Map<String, List<CapabilityDefinition>> capabilityMap = new HashMap<>(); + capabilityMap.put(capabilityDefinition.getType(), Collections.singletonList(capabilityDefinition)); + resource.setCapabilities(capabilityMap); + + Either<List<InputDefinition>, StorageOperationStatus> createdInputs = testInstance + .declarePropertiesAsInputs(resource, "inst1", propsToDeclare); + Assert.assertTrue(createdInputs.isLeft()); + } + + @Test + public void testUnDeclarePropertiesAsInputs() throws Exception { + Component component = new ResourceBuilder().setComponentType(ComponentTypeEnum.RESOURCE).setUniqueId("resourceId") + .setName("resourceName").build(); + InputDefinition input = new InputDefinition(); + input.setUniqueId("ComponentInput1_uniqueId"); + input.setPropertyId("ComponentInput1_uniqueId"); + + CapabilityDefinition capabilityDefinition = createCapabilityDefinition(); + + List<ComponentInstanceProperty> properties = new ArrayList<>(); + ComponentInstanceProperty instanceProperty = createProperties(); + + List<GetInputValueDataDefinition> valueDataDefinitionList = new ArrayList<>(); + GetInputValueDataDefinition getInputValueDataDefinition = new GetInputValueDataDefinition(); + getInputValueDataDefinition.setInputId("ComponentInput1_uniqueId"); + getInputValueDataDefinition.setPropName("prop_name"); + valueDataDefinitionList.add(getInputValueDataDefinition); + + instanceProperty.setGetInputValues(valueDataDefinitionList); + properties.add(instanceProperty); + capabilityDefinition.setProperties(properties); + Map<String, List<CapabilityDefinition>> capabilityMap = new HashMap<>(); + capabilityMap.put(capabilityDefinition.getType(), Collections.singletonList(capabilityDefinition)); + component.setCapabilities(capabilityMap); + component.setInputs(Collections.singletonList(input)); + when(toscaOperationFacade.updateInstanceCapabilityProperty(any(Resource.class), any(), + any(ComponentInstanceProperty.class), any(CapabilityDefinition.class))).thenReturn(StorageOperationStatus.OK); + + StorageOperationStatus result = testInstance.unDeclarePropertiesAsInputs(component, input); + Assert.assertEquals(StorageOperationStatus.OK, result); + } + + @Test public void declarePropertiesAsInputs_multipleNonComplexProperty() { List<PropertyDataDefinition> properties = Arrays.asList(prop1, prop2); List<ComponentInstancePropInput> propsToDeclare = createInstancePropInputList(properties); |