1 package org.openecomp.sdc.be.components.merge;
3 import static org.junit.Assert.assertEquals;
4 import static org.mockito.Mockito.verifyZeroInteractions;
5 import static org.mockito.Mockito.when;
6 import static org.openecomp.sdc.be.components.utils.ObjectGenerator.buildResourceWithInputs;
8 import java.util.Arrays;
11 import org.junit.Before;
12 import org.junit.Test;
13 import org.mockito.InjectMocks;
14 import org.mockito.Mock;
15 import org.mockito.MockitoAnnotations;
16 import org.openecomp.sdc.be.components.merge.input.ComponentInputsMergeBL;
17 import org.openecomp.sdc.be.dao.api.ActionStatus;
18 import org.openecomp.sdc.be.model.InputDefinition;
19 import org.openecomp.sdc.be.model.Resource;
21 import fj.data.Either;
23 public class GlobalTypesMergeBusinessLogicTest {
26 private GlobalTypesMergeBusinessLogic testInstance;
29 private ComponentInputsMergeBL resourceInputsMergeBLMock;
32 private GlobalInputsFilteringBusinessLogic globalInputsFilteringBusinessLogic;
35 public void setUp() throws Exception {
36 MockitoAnnotations.initMocks(this);
40 public void mergeInstancePropsAndInputs_mergeOnlyNewResourceGenericGlobalTypes() {
41 Resource oldResource = buildResourceWithInputs("input1", "input2");
42 Resource newResource = buildResourceWithInputs("input1", "input2", "global1", "global2");
43 List<InputDefinition> globalInputs = Arrays.asList(newResource.getInputs().get(2), newResource.getInputs().get(3));
44 when(globalInputsFilteringBusinessLogic.filterGlobalInputs(newResource)).thenReturn(Either.left(globalInputs));
45 when(resourceInputsMergeBLMock.mergeComponentInputs(oldResource, newResource, globalInputs)).thenReturn(ActionStatus.OK);
46 ActionStatus actionStatus = testInstance.mergeResourceEntities(oldResource, newResource);
47 assertEquals(ActionStatus.OK, actionStatus);
52 public void mergeInstancePropsAndInputs_mergeOldResourceNull() {
53 Resource oldResource = null;
54 Resource newResource = buildResourceWithInputs("input1", "input2", "global1", "global2");
55 List<InputDefinition> globalInputs = Arrays.asList(newResource.getInputs().get(2), newResource.getInputs().get(3));
56 when(globalInputsFilteringBusinessLogic.filterGlobalInputs(newResource)).thenReturn(Either.left(globalInputs));
57 ActionStatus actionStatus = testInstance.mergeResourceEntities(oldResource, newResource);
58 assertEquals(ActionStatus.OK, actionStatus);
63 public void mergeInstancePropsAndInputs_failedToFilterGlobalInputs() throws Exception {
64 Resource oldResource = buildResourceWithInputs("input1", "input2");
65 Resource newResource = buildResourceWithInputs("input1", "input2", "global1", "global2");
66 when(globalInputsFilteringBusinessLogic.filterGlobalInputs(newResource)).thenReturn(Either.right(ActionStatus.GENERAL_ERROR));
67 ActionStatus actionStatus = testInstance.mergeResourceEntities(oldResource, newResource);
68 assertEquals(actionStatus, ActionStatus.GENERAL_ERROR);
69 verifyZeroInteractions(resourceInputsMergeBLMock);