diff options
Diffstat (limited to 'catalog-be/src/test/java/org/openecomp/sdc/be/components/merge/input/BaseComponentInputsMerge.java')
-rw-r--r-- | catalog-be/src/test/java/org/openecomp/sdc/be/components/merge/input/BaseComponentInputsMerge.java | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/components/merge/input/BaseComponentInputsMerge.java b/catalog-be/src/test/java/org/openecomp/sdc/be/components/merge/input/BaseComponentInputsMerge.java new file mode 100644 index 0000000000..e1d4d39e52 --- /dev/null +++ b/catalog-be/src/test/java/org/openecomp/sdc/be/components/merge/input/BaseComponentInputsMerge.java @@ -0,0 +1,61 @@ +package org.openecomp.sdc.be.components.merge.input; + +import org.junit.runner.RunWith; +import org.mockito.ArgumentCaptor; +import org.mockito.Captor; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; +import org.openecomp.sdc.be.components.utils.ResourceBuilder; +import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition; +import org.openecomp.sdc.be.model.InputDefinition; +import org.openecomp.sdc.be.model.Resource; +import org.openecomp.sdc.be.model.jsontitan.operations.ToscaOperationFacade; + +import java.util.List; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; + +import static org.mockito.Mockito.verify; + +@RunWith(MockitoJUnitRunner.class) +public abstract class BaseComponentInputsMerge { + + @Mock + protected ToscaOperationFacade toscaOperationFacade; + + @Mock + InputsValuesMergingBusinessLogic inputsValuesMergingBusinessLogic; + + @Mock + DeclaredInputsResolver declaredInputsResolver; + + @Captor + ArgumentCaptor<Map<String, List<PropertyDataDefinition>>> getInputPropertiesCaptor; + + Resource prevResource, currResource; + protected static final String RESOURCE_ID = "newResourceId"; + + public void setUp() throws Exception { + prevResource = new ResourceBuilder() + .addInput("input1") + .addInput("input2") + .build(); + + currResource = new ResourceBuilder() + .addInstanceProperty("inst1", "prop1") + .addInstanceProperty("inst1", "prop2") + .addInstanceInput("inst2", "prop3") + .addGroupProperty("group1", "prop1") + .addPolicyProperty("policy1", "prop2") + .addInput("input1") + .setUniqueId(RESOURCE_ID) + .build(); + } + + void verifyCallToMergeComponentInputs(Resource oldResource, List<InputDefinition> inputsToMerge) { + Map<String, InputDefinition> oldInputsByName = oldResource.getInputs().stream().collect(Collectors.toMap(InputDefinition::getName, Function.identity())); + Map<String, InputDefinition> inputsToMergeByName = inputsToMerge.stream().collect(Collectors.toMap(InputDefinition::getName, Function.identity())); + verify(inputsValuesMergingBusinessLogic).mergeComponentInputs(oldInputsByName, inputsToMergeByName); + } +} |