3a82dd5b72d329d51215fa0ace3e7c4dbf7733c2
[so.git] /
1 package org.onap.so.adapters.tasks.orchestration;
2
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;
8 import java.util.Map;
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;
29
30 @RunWith(MockitoJUnitRunner.class)
31 public class RollbackServiceTest {
32
33     private String RESOURCE_PATH = "src/test/resources/__files/";
34
35     @Mock
36     private ExternalTask mockExternalTask;
37
38     @Mock
39     private ExternalTaskService mockExternalTaskService;
40
41     @Mock
42     private MsoVnfAdapterImpl vnfAdapterImpl;
43
44     @Mock
45     private VnfAdapterUtils vnfAdapterUtils;
46
47     @Mock
48     private MsoHeatUtils msoHeatUtils;
49
50     @Mock
51     private AuditMDCSetup mdcSetup;
52
53     @InjectMocks
54     private RollbackService rollbackService;
55
56
57     @Test
58     public void findRequestTypeTest() throws IOException {
59         String payload = new String(Files.readAllBytes(Paths.get(RESOURCE_PATH + "/vnfAdapterTaskRequestCreate.xml")));
60
61         Optional<String> actual = rollbackService.findRequestType(payload);
62
63         assertEquals("createVfModuleRequest", actual.get());
64     }
65
66     @Test
67     public void testExecuteExternalTask() throws VnfException, MsoException, IOException {
68         String payload = new String(Files.readAllBytes(Paths.get(RESOURCE_PATH + "/vnfAdapterTaskRequestCreate.xml")));
69
70         Stack stack = new Stack();
71         stack.setId("heatId");
72
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());
78
79         rollbackService.executeExternalTask(mockExternalTask, mockExternalTaskService);
80
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());
85
86     }
87
88 }