re base code
[sdc.git] / catalog-be / src / test / java / org / openecomp / sdc / be / components / merge / input / BaseComponentInputsMerge.java
1 package org.openecomp.sdc.be.components.merge.input;
2
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;
13
14 import java.util.List;
15 import java.util.Map;
16 import java.util.function.Function;
17 import java.util.stream.Collectors;
18
19 import static org.mockito.Mockito.verify;
20
21 @RunWith(MockitoJUnitRunner.class)
22 public abstract class BaseComponentInputsMerge {
23
24     @Mock
25     protected ToscaOperationFacade toscaOperationFacade;
26
27     @Mock
28     InputsValuesMergingBusinessLogic inputsValuesMergingBusinessLogic;
29
30     @Mock
31     DeclaredInputsResolver declaredInputsResolver;
32
33     @Captor
34     ArgumentCaptor<Map<String, List<PropertyDataDefinition>>> getInputPropertiesCaptor;
35
36     Resource prevResource, currResource;
37     protected static final String RESOURCE_ID = "newResourceId";
38
39     public void setUp() throws Exception {
40         prevResource = new ResourceBuilder()
41                 .addInput("input1")
42                 .addInput("input2")
43                 .build();
44
45         currResource = new ResourceBuilder()
46                 .addInstanceProperty("inst1", "prop1")
47                 .addInstanceProperty("inst1", "prop2")
48                 .addInstanceInput("inst2", "prop3")
49                 .addGroupProperty("group1", "prop1")
50                 .addPolicyProperty("policy1", "prop2")
51                 .addInput("input1")
52                 .setUniqueId(RESOURCE_ID)
53                 .build();
54     }
55
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);
60     }
61 }