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());