1 package org.openecomp.sdc.be.components.merge.resource;
3 import org.junit.Before;
5 import org.junit.runner.RunWith;
6 import org.mockito.InjectMocks;
7 import org.mockito.Mock;
8 import org.mockito.junit.MockitoJUnitRunner;
9 import org.openecomp.sdc.be.components.merge.instance.ComponentsMergeCommand;
10 import org.openecomp.sdc.be.components.utils.ObjectGenerator;
11 import org.openecomp.sdc.be.dao.api.ActionStatus;
12 import org.openecomp.sdc.be.model.Resource;
14 import java.util.Arrays;
16 import static org.junit.Assert.assertEquals;
17 import static org.mockito.Mockito.verify;
18 import static org.mockito.Mockito.verifyZeroInteractions;
19 import static org.mockito.Mockito.when;
21 @RunWith(MockitoJUnitRunner.class)
22 public class ResourceDataMergeBusinessLogicTest {
25 private ResourceDataMergeBusinessLogic testInstance;
28 private ComponentsMergeCommand commandA;
31 private ComponentsMergeCommand commandB;
34 private ComponentsMergeCommand commandC;
37 public void setUp() throws Exception {
38 testInstance = new ResourceDataMergeBusinessLogic(Arrays.asList(commandA, commandB, commandC));
42 public void mergeResources_allMergeClassesAreCalled() {
43 Resource oldResource = ObjectGenerator.buildBasicResource();
44 Resource newResource = ObjectGenerator.buildBasicResource();
45 when(commandA.mergeComponents(oldResource, newResource)).thenReturn(ActionStatus.OK);
46 when(commandB.mergeComponents(oldResource, newResource)).thenReturn(ActionStatus.OK);
47 when(commandC.mergeComponents(oldResource, newResource)).thenReturn(ActionStatus.OK);
48 ActionStatus actionStatus = testInstance.mergeResourceEntities(oldResource, newResource);
49 assertEquals(ActionStatus.OK, actionStatus);
53 public void mergeResources_mergeCommandFailed_dontCallOtherMergeMethods() {
54 Resource oldResource = ObjectGenerator.buildBasicResource();
55 Resource newResource = ObjectGenerator.buildBasicResource();
56 when(commandA.mergeComponents(oldResource, newResource)).thenReturn(ActionStatus.GENERAL_ERROR);
57 ActionStatus actionStatus = testInstance.mergeResourceEntities(oldResource, newResource);
58 assertEquals(ActionStatus.GENERAL_ERROR, actionStatus);
59 verify(commandA).description();
60 verifyZeroInteractions(commandB, commandC);