1 package org.openecomp.sdc.be.components.merge;
4 import org.junit.Before;
6 import org.mockito.InjectMocks;
7 import org.mockito.Mock;
8 import org.mockito.MockitoAnnotations;
9 import org.openecomp.sdc.be.components.merge.input.ComponentInputsMergeBL;
10 import org.openecomp.sdc.be.dao.api.ActionStatus;
11 import org.openecomp.sdc.be.model.InputDefinition;
12 import org.openecomp.sdc.be.model.Resource;
14 import java.util.Arrays;
15 import java.util.List;
17 import static org.junit.Assert.assertEquals;
18 import static org.mockito.Mockito.verifyZeroInteractions;
19 import static org.mockito.Mockito.when;
20 import static org.openecomp.sdc.be.components.utils.ObjectGenerator.buildResourceWithInputs;
22 public class GlobalTypesMergeBusinessLogicTest {
25 private GlobalTypesMergeBusinessLogic testInstance;
28 private ComponentInputsMergeBL resourceInputsMergeBLMock;
31 private GlobalInputsFilteringBusinessLogic globalInputsFilteringBusinessLogic;
34 public void setUp() throws Exception {
35 MockitoAnnotations.initMocks(this);
39 public void mergeInstancePropsAndInputs_mergeOnlyNewResourceGenericGlobalTypes() {
40 Resource oldResource = buildResourceWithInputs("input1", "input2");
41 Resource newResource = buildResourceWithInputs("input1", "input2", "global1", "global2");
42 List<InputDefinition> globalInputs = Arrays.asList(newResource.getInputs().get(2), newResource.getInputs().get(3));
43 when(globalInputsFilteringBusinessLogic.filterGlobalInputs(newResource)).thenReturn(Either.left(globalInputs));
44 when(resourceInputsMergeBLMock.mergeComponentInputs(oldResource, newResource, globalInputs)).thenReturn(ActionStatus.OK);
45 ActionStatus actionStatus = testInstance.mergeResourceEntities(oldResource, newResource);
46 assertEquals(ActionStatus.OK, actionStatus);
51 public void mergeInstancePropsAndInputs_failedToFilterGlobalInputs() throws Exception {
52 Resource oldResource = buildResourceWithInputs("input1", "input2");
53 Resource newResource = buildResourceWithInputs("input1", "input2", "global1", "global2");
54 when(globalInputsFilteringBusinessLogic.filterGlobalInputs(newResource)).thenReturn(Either.right(ActionStatus.GENERAL_ERROR));
55 ActionStatus actionStatus = testInstance.mergeResourceEntities(oldResource, newResource);
56 assertEquals(actionStatus, ActionStatus.GENERAL_ERROR);
57 verifyZeroInteractions(resourceInputsMergeBLMock);