1 package org.openecomp.sdc.be.components.merge.input;
3 import org.junit.runner.RunWith;
4 import org.mockito.ArgumentCaptor;
5 import org.mockito.Captor;
6 import org.mockito.Mock;
7 import org.mockito.junit.MockitoJUnitRunner;
8 import org.openecomp.sdc.be.components.utils.ResourceBuilder;
9 import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition;
10 import org.openecomp.sdc.be.model.InputDefinition;
11 import org.openecomp.sdc.be.model.Resource;
12 import org.openecomp.sdc.be.model.jsontitan.operations.ToscaOperationFacade;
14 import java.util.List;
16 import java.util.function.Function;
17 import java.util.stream.Collectors;
19 import static org.mockito.Mockito.verify;
21 @RunWith(MockitoJUnitRunner.class)
22 public abstract class BaseComponentInputsMerge {
25 protected ToscaOperationFacade toscaOperationFacade;
28 InputsValuesMergingBusinessLogic inputsValuesMergingBusinessLogic;
31 DeclaredInputsResolver declaredInputsResolver;
34 ArgumentCaptor<Map<String, List<PropertyDataDefinition>>> getInputPropertiesCaptor;
36 Resource prevResource, currResource;
37 protected static final String RESOURCE_ID = "newResourceId";
39 public void setUp() throws Exception {
40 prevResource = new ResourceBuilder()
45 currResource = new ResourceBuilder()
46 .addInstanceProperty("inst1", "prop1")
47 .addInstanceProperty("inst1", "prop2")
48 .addInstanceInput("inst2", "prop3")
49 .addGroupProperty("group1", "prop1")
50 .addPolicyProperty("policy1", "prop2")
52 .setUniqueId(RESOURCE_ID)
56 void verifyCallToMergeComponentInputs(Resource oldResource, List<InputDefinition> inputsToMerge) {
57 Map<String, InputDefinition> oldInputsByName = oldResource.getInputs().stream().collect(Collectors.toMap(InputDefinition::getName, Function.identity()));
58 Map<String, InputDefinition> inputsToMergeByName = inputsToMerge.stream().collect(Collectors.toMap(InputDefinition::getName, Function.identity()));
59 verify(inputsValuesMergingBusinessLogic).mergeComponentInputs(oldInputsByName, inputsToMergeByName);