8e7949f108d4318893f5bc9af2fbb3f8426d367e
[sdc.git] /
1 package org.openecomp.sdc.be.components.merge.resource;
2
3 import static org.junit.Assert.assertEquals;
4 import static org.mockito.Mockito.verifyZeroInteractions;
5 import static org.mockito.Mockito.when;
6
7 import java.util.Collections;
8
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;
20
21 public class ResourceDataMergeBusinessLogicTest {
22
23     @InjectMocks
24     private ResourceDataMergeBusinessLogic testInstance;
25
26     @Mock
27     private ComponentInstanceInputsMergeBL instanceInputsValueMergeBLMock;
28
29     @Mock
30     private ComponentInstancePropertiesMergeBL instancePropertiesValueMergeBLMock;
31
32     @Mock
33     private ComponentInputsMergeBL inputsValueMergeBLMock;
34
35     @Before
36     public void setUp() throws Exception {
37         MockitoAnnotations.initMocks(this);
38     }
39
40     @Test
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);
49     }
50
51     @Test
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);
59     }
60
61     @Test
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);
70     }
71
72     @Test
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);
81     }
82 }