f7613909ec7884a1ec52ed01f4f2825d63432d3e
[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.exceptions.VnfException;
22 import org.onap.so.entity.MsoRequest;
23 import org.onap.so.logging.tasks.AuditMDCSetup;
24 import org.onap.so.openstack.beans.VnfRollback;
25 import org.onap.so.openstack.exceptions.MsoException;
26 import org.onap.so.openstack.utils.MsoHeatUtils;
27 import com.woorea.openstack.heat.model.Stack;
28
29 @RunWith(MockitoJUnitRunner.class)
30 public class RollbackServiceTest {
31
32     private String RESOURCE_PATH = "src/test/resources/__files/";
33
34     @Mock
35     private ExternalTask mockExternalTask;
36
37     @Mock
38     private ExternalTaskService mockExternalTaskService;
39
40     @Mock
41     private MsoVnfAdapterImpl vnfAdapterImpl;
42
43     @Mock
44     private MsoHeatUtils msoHeatUtils;
45
46     @Mock
47     private AuditMDCSetup mdcSetup;
48
49     @InjectMocks
50     private RollbackService rollbackService;
51
52
53     @Test
54     public void findRequestTypeTest() throws IOException {
55         String payload = new String(Files.readAllBytes(Paths.get(RESOURCE_PATH + "/vnfAdapterTaskRequestCreate.xml")));
56
57         Optional<String> actual = rollbackService.findRequestType(payload);
58
59         assertEquals("createVfModuleRequest", actual.get());
60     }
61
62     @Test
63     public void testExecuteExternalTask() throws VnfException, MsoException, IOException {
64         String payload = new String(Files.readAllBytes(Paths.get(RESOURCE_PATH + "/vnfAdapterTaskRequestCreate.xml")));
65
66         Stack stack = new Stack();
67         stack.setId("heatId");
68         Mockito.when(mockExternalTask.getVariable("vnfAdapterTaskRequest")).thenReturn(payload);
69         Mockito.doNothing().when(vnfAdapterImpl).deleteVfModule(Mockito.any(), Mockito.any(), Mockito.any(),
70                 Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any());
71         Mockito.doNothing().when(mockExternalTaskService).complete(Mockito.any(), Mockito.any());
72
73         rollbackService.executeExternalTask(mockExternalTask, mockExternalTaskService);
74
75         Mockito.verify(vnfAdapterImpl, Mockito.times(1)).deleteVfModule(Mockito.eq("regionOne"),
76                 Mockito.eq("CloudOwner"), Mockito.eq("0422ffb57ba042c0800a29dc85ca70f8"), Mockito.eq("dummy_id"),
77                 Mockito.any(String.class), Mockito.any(String.class), Mockito.any(), Mockito.any(), Mockito.any());
78         Mockito.verify(mockExternalTaskService).complete(Mockito.eq(mockExternalTask), Mockito.any());
79
80     }
81
82 }