package org.openecomp.sdc.be.components.property;
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.verifyZeroInteractions;
-import static org.mockito.Mockito.when;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
-import org.junit.Before;
+import fj.data.Either;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;
-import org.openecomp.sdc.be.components.utils.ComponentInstanceBuilder;
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.model.Component;
-import org.openecomp.sdc.be.model.ComponentInstance;
-import org.openecomp.sdc.be.model.ComponentInstancePropInput;
-import org.openecomp.sdc.be.model.ComponentInstanceProperty;
-import org.openecomp.sdc.be.model.InputDefinition;
-import org.openecomp.sdc.be.model.PropertyDefinition;
-import org.openecomp.sdc.be.model.Resource;
+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 fj.data.Either;
+import java.util.Arrays;
+import java.util.Collections;
+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.eq;
+import static org.mockito.Mockito.verifyZeroInteractions;
+import static org.mockito.Mockito.when;
@RunWith(MockitoJUnitRunner.class)
-public class ComponentInstancePropertyDeceleratorTest extends PropertyDeceleratorTestBase {
-
- private static final String INSTANCE_ID = "inst1";
- private static final String RESOURCE_ID = "resource1";
+public class ComponentInstancePropertyDeclaratorTest extends PropertyDeclaratorTestBase {
@InjectMocks
- private ComponentInstancePropertyDecelerator testInstance;
+ private ComponentInstancePropertyDeclarator testInstance;
@Mock
private ToscaOperationFacade toscaOperationFacade;
@Captor
private ArgumentCaptor<Map<String, List<ComponentInstanceProperty>>> instancePropertiesCaptor;
- private Resource resource;
-
- @Override
- @Before
- public void setUp() throws Exception {
- super.setUp();
- resource = createResourceWithInstance();
- }
@Test
public void declarePropertiesAsInputs_componentInstanceNotExist() {
public void declarePropertiesAsInputs_singleNonComplexProperty() {
List<PropertyDataDefinition> properties = Collections.singletonList(prop1);
List<ComponentInstancePropInput> propsToDeclare = createInstancePropInputList(properties);
- when(toscaOperationFacade.addComponentInstancePropertiesToComponent(eq(resource), instancePropertiesCaptor.capture(), eq("inst1"))).thenReturn(Either.left(Collections.emptyMap()));
+ when(toscaOperationFacade.addComponentInstancePropertiesToComponent(eq(resource), instancePropertiesCaptor.capture())).thenReturn(Either.left(Collections.emptyMap()));
Either<List<InputDefinition>, StorageOperationStatus> createdInputs = testInstance.declarePropertiesAsInputs(resource, "inst1", propsToDeclare);
List<InputDefinition> inputs = createdInputs.left().value();
List<ComponentInstanceProperty> capturedInstanceProperties = instancePropertiesCaptor.getValue().get(INSTANCE_ID);
public void declarePropertiesAsInputs_multipleNonComplexProperty() {
List<PropertyDataDefinition> properties = Arrays.asList(prop1, prop2);
List<ComponentInstancePropInput> propsToDeclare = createInstancePropInputList(properties);
- when(toscaOperationFacade.addComponentInstancePropertiesToComponent(eq(resource), instancePropertiesCaptor.capture(), eq("inst1"))).thenReturn(Either.left(Collections.emptyMap()));
+ when(toscaOperationFacade.addComponentInstancePropertiesToComponent(eq(resource), instancePropertiesCaptor.capture())).thenReturn(Either.left(Collections.emptyMap()));
Either<List<InputDefinition>, StorageOperationStatus> createdInputs = testInstance.declarePropertiesAsInputs(resource, "inst1", propsToDeclare);
List<InputDefinition> inputs = createdInputs.left().value();
.setUniqueId(complexProperty.getType() + ".datatype.ecomp_generated_naming")
.build();
List<ComponentInstancePropInput> propsToDeclare = createComplexPropInputList(innerProp1, innerProp2);
- when(toscaOperationFacade.addComponentInstancePropertiesToComponent(eq(resource), instancePropertiesCaptor.capture(), eq("inst1"))).thenReturn(Either.left(Collections.emptyMap()));
+ when(toscaOperationFacade.addComponentInstancePropertiesToComponent(eq(resource), instancePropertiesCaptor.capture())).thenReturn(Either.left(Collections.emptyMap()));
Either<List<InputDefinition>, StorageOperationStatus> createdInputs = testInstance.declarePropertiesAsInputs(resource, "inst1", propsToDeclare);
List<InputDefinition> inputs = createdInputs.left().value();
String expectedInputName = generateExpectedInputName(parentProperty, innerProperty);
InputDefinition input = inputsByName.get(expectedInputName);
assertThat(input.getType()).isEqualTo(innerProperty.getType());
- assertThat(input.getValue()).isEqualTo(innerProperty.getValue());
+ assertThat(input.getValue()).isEqualTo(null);
// assertThat(input.getDefaultValue()).isEqualTo(innerProperty.getValue());//bug
assertThat(input.getUniqueId()).isEqualTo(UniqueIdBuilder.buildPropertyUniqueId(RESOURCE_ID, input.getName()));
assertThat(input.getPropertyId()).isEqualTo(parentProperty.getUniqueId());
private void verifyCreatedInput(PropertyDataDefinition property, InputDefinition input) {
assertThat(input.getType()).isEqualTo(property.getType());
assertThat(input.getName()).isEqualTo(generateExpectedInputName(property));
- assertThat(input.getValue()).isEqualTo(property.getValue());
+ assertThat(input.getValue()).isEqualTo(null);
assertThat(input.getDefaultValue()).isEqualTo(property.getValue());
assertThat(input.getUniqueId()).isEqualTo(UniqueIdBuilder.buildPropertyUniqueId(RESOURCE_ID, input.getName()));
assertThat(input.getPropertyId()).isEqualTo(property.getUniqueId());
assertThat(input.getInstanceUniqueId()).isEqualTo(INSTANCE_ID);
}
- private Resource createResourceWithInstance() {
- ComponentInstance inst1 = new ComponentInstanceBuilder()
- .setId(INSTANCE_ID)
- .setNormalizedName(INSTANCE_ID)
- .build();
-
- return new ResourceBuilder()
- .setUniqueId(RESOURCE_ID)
- .addComponentInstance(inst1)
- .build();
- }
}
\ No newline at end of file