1710 Rebase - Second Attempt
[so.git] / bpmn / MSOInfrastructureBPMN / src / test / java / org / openecomp / mso / bpmn / infrastructure / DoDeleteServiceInstanceTest.java
1 package org.openecomp.mso.bpmn.infrastructure;
2
3 import static org.junit.Assert.assertEquals;
4 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockDeleteServiceInstance;
5 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetServiceInstance;
6 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockNodeQueryServiceInstanceById;
7 import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB;
8 import static org.openecomp.mso.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapter;
9
10 import java.io.IOException;
11 import java.util.HashMap;
12 import java.util.Map;
13 import java.util.UUID;
14
15 import org.camunda.bpm.engine.test.Deployment;
16 import org.junit.Assert;
17 import org.junit.Test;
18 import org.openecomp.mso.bpmn.common.BPMNUtil;
19 import org.openecomp.mso.bpmn.common.WorkflowTest;
20
21 /**
22  * Unit test cases for DoDeleteServiceInstance.bpmn
23  */
24 public class DoDeleteServiceInstanceTest extends WorkflowTest {
25
26         private final CallbackSet callbacks = new CallbackSet();
27         private static final String EOL = "\n";
28         private final String sdncAdapterCallback =
29                         "<output xmlns=\"com:att:sdnctl:l3api\">" + EOL +
30                         "  <svc-request-id>((REQUEST-ID))</svc-request-id>" + EOL +
31                         "  <ack-final-indicator>Y</ack-final-indicator>" + EOL +
32                         "</output>" + EOL;
33                 
34         public DoDeleteServiceInstanceTest() throws IOException {
35                 callbacks.put("deactivate", sdncAdapterCallback);
36                 callbacks.put("delete", sdncAdapterCallback);
37         }
38                 
39         /**
40          * Sunny day VID scenario.
41          *
42          * @throws Exception
43          */
44         //@Ignore // File not found - unable to run the test.  Also, Stubs need updating..
45         @Test
46         @Deployment(resources = {
47                         "subprocess/DoDeleteServiceInstance.bpmn",
48                         "subprocess/SDNCAdapterV1.bpmn",
49                         "subprocess/GenericDeleteService.bpmn",
50                         "subprocess/GenericGetService.bpmn",
51                         "subprocess/CompleteMsoProcess.bpmn",
52                         "subprocess/FalloutHandler.bpmn" })
53         public void sunnyDay() throws Exception {
54
55                 logStart();
56
57                 //AAI
58                 MockDeleteServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "", 204);
59                 MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getSINoRelations.xml");
60                 MockNodeQueryServiceInstanceById("MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getSIUrlById.xml");
61                 //SDNC
62                 mockSDNCAdapter(200);
63                 //DB
64                 mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");
65                 String businessKey = UUID.randomUUID().toString();
66
67                 Map<String, Object> variables =  new HashMap<String, Object>();
68                 setupVariables(variables);
69                 invokeSubProcess("DoDeleteServiceInstance", businessKey, variables);
70                 injectSDNCCallbacks(callbacks, "deactivate");
71                 injectSDNCCallbacks(callbacks, "delete");
72                 waitForProcessEnd(businessKey, 10000);
73                 Assert.assertTrue(isProcessEnded(businessKey));
74                 String workflowException = BPMNUtil.getVariable(processEngineRule, "DoDeleteServiceInstance", "WorkflowException");
75                 System.out.println("workflowException:\n" + workflowException);
76                 assertEquals(null, workflowException);
77
78                 logEnd();
79         }
80
81         // Success Scenario
82         private void setupVariables(Map<String, Object> variables) {
83                 variables.put("isDebugLogEnabled", "true");
84                 variables.put("msoRequestId", "RaaDDSIRequestId-1");
85                 variables.put("mso-request-id", "RaaDDSIRequestId-1");
86                 variables.put("serviceInstanceId","MIS%252F1604%252F0026%252FSW_INTERNET");
87         }
88 }