1 package org.onap.so.adapters.tasks.orchestration;
3 import static org.junit.Assert.assertEquals;
4 import java.io.IOException;
5 import java.nio.file.Files;
6 import java.nio.file.Paths;
7 import java.util.HashMap;
9 import java.util.Optional;
10 import javax.xml.ws.Holder;
11 import org.camunda.bpm.client.task.ExternalTask;
12 import org.camunda.bpm.client.task.ExternalTaskService;
13 import org.junit.Test;
14 import org.junit.runner.RunWith;
15 import org.mockito.InjectMocks;
16 import org.mockito.Mock;
17 import org.mockito.Mockito;
18 import org.mockito.junit.MockitoJUnitRunner;
19 import org.onap.so.adapters.tasks.orchestration.RollbackService;
20 import org.onap.so.adapters.vnf.MsoVnfAdapterImpl;
21 import org.onap.so.adapters.vnf.VnfAdapterUtils;
22 import org.onap.so.adapters.vnf.exceptions.VnfException;
23 import org.onap.so.entity.MsoRequest;
24 import org.onap.so.logging.tasks.AuditMDCSetup;
25 import org.onap.so.openstack.beans.VnfRollback;
26 import org.onap.so.openstack.exceptions.MsoException;
27 import org.onap.so.openstack.utils.MsoHeatUtils;
28 import com.woorea.openstack.heat.model.Stack;
30 @RunWith(MockitoJUnitRunner.class)
31 public class RollbackServiceTest {
33 private String RESOURCE_PATH = "src/test/resources/__files/";
36 private ExternalTask mockExternalTask;
39 private ExternalTaskService mockExternalTaskService;
42 private MsoVnfAdapterImpl vnfAdapterImpl;
45 private VnfAdapterUtils vnfAdapterUtils;
48 private MsoHeatUtils msoHeatUtils;
51 private AuditMDCSetup mdcSetup;
54 private RollbackService rollbackService;
58 public void findRequestTypeTest() throws IOException {
59 String payload = new String(Files.readAllBytes(Paths.get(RESOURCE_PATH + "/vnfAdapterTaskRequestCreate.xml")));
61 Optional<String> actual = rollbackService.findRequestType(payload);
63 assertEquals("createVfModuleRequest", actual.get());
67 public void testExecuteExternalTask() throws VnfException, MsoException, IOException {
68 String payload = new String(Files.readAllBytes(Paths.get(RESOURCE_PATH + "/vnfAdapterTaskRequestCreate.xml")));
70 Stack stack = new Stack();
71 stack.setId("heatId");
73 Mockito.when(vnfAdapterUtils.isMulticloudMode(Mockito.any(), Mockito.any())).thenReturn(false);
74 Mockito.when(mockExternalTask.getVariable("openstackAdapterTaskRequest")).thenReturn(payload);
75 Mockito.doNothing().when(vnfAdapterImpl).deleteVfModule(Mockito.any(), Mockito.any(), Mockito.any(),
76 Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any());
77 Mockito.doNothing().when(mockExternalTaskService).complete(Mockito.any(), Mockito.any());
79 rollbackService.executeExternalTask(mockExternalTask, mockExternalTaskService);
81 Mockito.verify(vnfAdapterImpl, Mockito.times(1)).deleteVfModule(Mockito.eq("regionOne"),
82 Mockito.eq("CloudOwner"), Mockito.eq("0422ffb57ba042c0800a29dc85ca70f8"), Mockito.eq("dummy_id"),
83 Mockito.any(String.class), Mockito.any(String.class), Mockito.any(), Mockito.any(), Mockito.any());
84 Mockito.verify(mockExternalTaskService).complete(Mockito.eq(mockExternalTask), Mockito.any());