1 package org.openecomp.sdc.be.components.merge.resource;
3 import static org.junit.Assert.assertEquals;
4 import static org.mockito.Mockito.verifyZeroInteractions;
5 import static org.mockito.Mockito.when;
7 import java.util.Collections;
9 import org.junit.Before;
10 import org.junit.Test;
11 import org.mockito.InjectMocks;
12 import org.mockito.Mock;
13 import org.mockito.MockitoAnnotations;
14 import org.openecomp.sdc.be.components.merge.input.ComponentInputsMergeBL;
15 import org.openecomp.sdc.be.components.merge.property.ComponentInstanceInputsMergeBL;
16 import org.openecomp.sdc.be.components.merge.property.ComponentInstancePropertiesMergeBL;
17 import org.openecomp.sdc.be.components.utils.ObjectGenerator;
18 import org.openecomp.sdc.be.dao.api.ActionStatus;
19 import org.openecomp.sdc.be.model.Resource;
21 public class ResourceDataMergeBusinessLogicTest {
24 private ResourceDataMergeBusinessLogic testInstance;
27 private ComponentInstanceInputsMergeBL instanceInputsValueMergeBLMock;
30 private ComponentInstancePropertiesMergeBL instancePropertiesValueMergeBLMock;
33 private ComponentInputsMergeBL inputsValueMergeBLMock;
36 public void setUp() throws Exception {
37 MockitoAnnotations.initMocks(this);
41 public void mergeResourceInputs_allMergeClassesAreCalled() throws Exception {
42 Resource oldResource = ObjectGenerator.buildBasicResource();
43 Resource newResource = ObjectGenerator.buildBasicResource();
44 when(instancePropertiesValueMergeBLMock.mergeComponentInstancesProperties(oldResource, newResource)).thenReturn(ActionStatus.OK);
45 when(instanceInputsValueMergeBLMock.mergeComponentInstancesInputs(oldResource, newResource)).thenReturn(ActionStatus.OK);
46 when(inputsValueMergeBLMock.mergeAndRedeclareComponentInputs(oldResource, newResource, Collections.emptyList())).thenReturn(ActionStatus.OK);
47 ActionStatus actionStatus = testInstance.mergeResourceEntities(oldResource, newResource);
48 assertEquals(ActionStatus.OK, actionStatus);
52 public void mergeResourceInputs_failToMergeProperties_dontCallOtherMergeMethods() throws Exception {
53 Resource oldResource = ObjectGenerator.buildBasicResource();
54 Resource newResource = ObjectGenerator.buildBasicResource();
55 when(instancePropertiesValueMergeBLMock.mergeComponentInstancesProperties(oldResource, newResource)).thenReturn(ActionStatus.GENERAL_ERROR);
56 ActionStatus actionStatus = testInstance.mergeResourceEntities(oldResource, newResource);
57 assertEquals(ActionStatus.GENERAL_ERROR, actionStatus);
58 verifyZeroInteractions(instanceInputsValueMergeBLMock, inputsValueMergeBLMock);
62 public void mergeResourceInputs_failToMergeInstanceInputs_dontCallOtherMergeMethods() throws Exception {
63 Resource oldResource = ObjectGenerator.buildBasicResource();
64 Resource newResource = ObjectGenerator.buildBasicResource();
65 when(instancePropertiesValueMergeBLMock.mergeComponentInstancesProperties(oldResource, newResource)).thenReturn(ActionStatus.OK);
66 when(instanceInputsValueMergeBLMock.mergeComponentInstancesInputs(oldResource, newResource)).thenReturn(ActionStatus.GENERAL_ERROR);
67 ActionStatus actionStatus = testInstance.mergeResourceEntities(oldResource, newResource);
68 assertEquals(ActionStatus.GENERAL_ERROR, actionStatus);
69 verifyZeroInteractions(inputsValueMergeBLMock);
73 public void mergeResourceInputs_failedToMergeInputs() throws Exception {
74 Resource oldResource = ObjectGenerator.buildBasicResource();
75 Resource newResource = ObjectGenerator.buildBasicResource();
76 when(instancePropertiesValueMergeBLMock.mergeComponentInstancesProperties(oldResource, newResource)).thenReturn(ActionStatus.OK);
77 when(instanceInputsValueMergeBLMock.mergeComponentInstancesInputs(oldResource, newResource)).thenReturn(ActionStatus.OK);
78 when(inputsValueMergeBLMock.mergeAndRedeclareComponentInputs(oldResource, newResource, Collections.emptyList())).thenReturn(ActionStatus.GENERAL_ERROR);
79 ActionStatus actionStatus = testInstance.mergeResourceEntities(oldResource, newResource);
80 assertEquals(ActionStatus.GENERAL_ERROR, actionStatus);