0214fdd2659754ebd12d4b490cd1d4286ec69f56
[so.git] /
1 package org.onap.so.adapters.tasks.orchestration;
2
3 import org.camunda.bpm.client.task.ExternalTask;
4 import org.camunda.bpm.client.task.ExternalTaskService;
5 import org.junit.Test;
6 import org.junit.runner.RunWith;
7 import org.mockito.InjectMocks;
8 import org.mockito.Mock;
9 import org.mockito.Mockito;
10 import static org.mockito.Mockito.any;
11 import static org.mockito.Mockito.eq;
12 import java.io.IOException;
13 import java.nio.file.Files;
14 import java.nio.file.Paths;
15 import org.mockito.junit.MockitoJUnitRunner;
16 import org.onap.so.adapters.tasks.orchestration.PollService;
17 import org.onap.so.adapters.vnf.VnfAdapterUtils;
18 import org.onap.so.logging.tasks.AuditMDCSetup;
19 import org.onap.so.openstack.exceptions.MsoException;
20 import org.onap.so.openstack.utils.MsoHeatUtils;
21 import com.woorea.openstack.heat.model.Stack;
22
23 @RunWith(MockitoJUnitRunner.class)
24 public class PollServiceTest {
25
26     private String RESOURCE_PATH = "src/test/resources/__files/";
27
28     @Mock
29     private ExternalTask mockExternalTask;
30
31     @Mock
32     private ExternalTaskService mockExternalTaskService;
33
34     @Mock
35     private MsoHeatUtils msoHeatUtils;
36
37     @Mock
38     private VnfAdapterUtils vnfAdapterUtils;
39
40     @Mock
41     private AuditMDCSetup mdcSetup;
42
43     @InjectMocks
44     private PollService pollService;
45
46     @Test
47     public void testExecuteExternalTask() throws MsoException, IOException {
48         String xmlString =
49                 new String(Files.readAllBytes(Paths.get(RESOURCE_PATH + "/vnfAdapterTaskRequestCreate.xml")));
50
51         Mockito.when(vnfAdapterUtils.isMulticloudMode(Mockito.any(), Mockito.any())).thenReturn(false);
52         Mockito.when(mockExternalTask.getVariable("openstackAdapterTaskRequest")).thenReturn(xmlString);
53         Mockito.when(mockExternalTask.getVariable("PollRollbackStatus")).thenReturn(false);
54         Mockito.when(mockExternalTask.getVariable("stackId")).thenReturn("stackId/stack123");
55         Mockito.when(msoHeatUtils.pollStackForStatus(eq(118), any(Stack.class), eq("CREATE_IN_PROGRESS"),
56                 eq("regionOne"), eq("0422ffb57ba042c0800a29dc85ca70f8"), eq(false))).thenReturn(new Stack());
57         Mockito.when(msoHeatUtils.getVfHeatTimeoutValue(any(), eq(false))).thenReturn(118);
58         // Mockito.doNothing().when(msoHeatUtils).postProcessStackCreate(Mockito.any(), Mockito.any(), Mockito.any(),
59         // Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any());
60
61         pollService.executeExternalTask(mockExternalTask, mockExternalTaskService);
62
63         Mockito.verify(msoHeatUtils).pollStackForStatus(eq(118), any(Stack.class), eq("CREATE_IN_PROGRESS"),
64                 eq("regionOne"), eq("0422ffb57ba042c0800a29dc85ca70f8"), eq(false));
65         Mockito.verify(msoHeatUtils).getVfHeatTimeoutValue(any(), eq(false));
66
67     }
68
69     @Test
70     public void testExecuteExternalTask_rollback() throws MsoException, IOException {
71         String xmlString =
72                 new String(Files.readAllBytes(Paths.get(RESOURCE_PATH + "/vnfAdapterTaskRequestCreate.xml")));
73
74         Mockito.when(mockExternalTask.getVariable("openstackAdapterTaskRequest")).thenReturn(xmlString);
75         Mockito.when(mockExternalTask.getVariable("PollRollbackStatus")).thenReturn(true);
76         Mockito.when(mockExternalTask.getVariable("stackId")).thenReturn("stackId/stack123");
77         Mockito.when(msoHeatUtils.pollStackForStatus(eq(118), any(), eq("DELETE_IN_PROGRESS"), eq("regionOne"),
78                 eq("0422ffb57ba042c0800a29dc85ca70f8"), eq(true))).thenReturn(new Stack());
79         Mockito.doNothing().when(msoHeatUtils).postProcessStackDelete(Mockito.any());
80         Mockito.when(msoHeatUtils.getVfHeatTimeoutValue(any(), eq(false))).thenReturn(118);
81
82         pollService.executeExternalTask(mockExternalTask, mockExternalTaskService);
83
84         Mockito.verify(msoHeatUtils).pollStackForStatus(eq(118), any(), eq("DELETE_IN_PROGRESS"), eq("regionOne"),
85                 eq("0422ffb57ba042c0800a29dc85ca70f8"), eq(true));
86         Mockito.verify(msoHeatUtils).getVfHeatTimeoutValue(any(), eq(false));
87     }
88
89 }