Merge "sonar blocker issue fixes"
[so.git] / bpmn / MSOInfrastructureBPMN / src / test / java / org / openecomp / mso / bpmn / infrastructure / DoCreateSIRollbackTest.java
1 package org.openecomp.mso.bpmn.infrastructure;\r
2 \r
3 import static org.junit.Assert.assertEquals;\r
4 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockDeleteServiceInstance;\r
5 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetServiceInstance;\r
6 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockNodeQueryServiceInstanceById;\r
7 import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB;\r
8 import static org.openecomp.mso.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapter;\r
9 \r
10 import java.io.IOException;\r
11 import java.util.HashMap;\r
12 import java.util.Map;\r
13 import java.util.UUID;\r
14 \r
15 import org.camunda.bpm.engine.test.Deployment;\r
16 import org.junit.Assert;\r
17 import org.junit.Test;\r
18 import org.openecomp.mso.bpmn.common.BPMNUtil;\r
19 import org.openecomp.mso.bpmn.common.WorkflowTest;\r
20 import org.openecomp.mso.bpmn.core.RollbackData;\r
21 \r
22 /**\r
23  * Unit test cases for DoCreateServiceInstanceRollback.bpmn\r
24  */\r
25 public class DoCreateSIRollbackTest extends WorkflowTest {\r
26         private static final String EOL = "\n";\r
27         private final CallbackSet callbacks = new CallbackSet();\r
28         private final String sdncAdapterCallback =\r
29                         "<output xmlns=\"com:att:sdnctl:l3api\">" + EOL +\r
30                         "  <svc-request-id>((REQUEST-ID))</svc-request-id>" + EOL +\r
31                         "  <ack-final-indicator>Y</ack-final-indicator>" + EOL +\r
32                         "</output>" + EOL;\r
33                 \r
34         public DoCreateSIRollbackTest() throws IOException {\r
35                 callbacks.put("deactivate", sdncAdapterCallback);\r
36                 callbacks.put("delete", sdncAdapterCallback);\r
37         }\r
38                 \r
39         /**\r
40          * Sunny day VID scenario.\r
41          *\r
42          * @throws Exception\r
43          */\r
44         //@Ignore // File not found - unable to run the test.  Also, Stubs need updating..\r
45         @Test\r
46         @Deployment(resources = {\r
47                         "subprocess/DoCreateServiceInstanceRollback.bpmn",\r
48                         "subprocess/SDNCAdapterV1.bpmn",\r
49                         "subprocess/GenericDeleteService.bpmn",\r
50                         "subprocess/GenericGetService.bpmn",\r
51                         "subprocess/CompleteMsoProcess.bpmn",\r
52                         "subprocess/FalloutHandler.bpmn" })\r
53         public void sunnyDay() throws Exception {\r
54 \r
55                 logStart();\r
56 \r
57                 //AAI\r
58                 MockDeleteServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "");\r
59                 MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getSINoRelations.xml");\r
60                 MockNodeQueryServiceInstanceById("MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getSIUrlById.xml");\r
61                 //SDNC\r
62                 mockSDNCAdapter(200);\r
63                 //DB\r
64                 mockUpdateRequestDB(200, "DBUpdateResponse.xml");\r
65                 String businessKey = UUID.randomUUID().toString();\r
66 \r
67                 Map<String, Object> variables =  new HashMap<String, Object>();\r
68                 setupVariables(variables);\r
69                 invokeSubProcess("DoCreateServiceInstanceRollback", businessKey, variables);\r
70                 injectSDNCCallbacks(callbacks, "deactivate");\r
71                 injectSDNCCallbacks(callbacks, "delete");\r
72                 waitForProcessEnd(businessKey, 10000);\r
73                 Assert.assertTrue(isProcessEnded(businessKey));\r
74                 String workflowException = BPMNUtil.getVariable(processEngineRule, "DoCreateServiceInstanceRollback", "WorkflowException");\r
75                 System.out.println("workflowException:\n" + workflowException);\r
76                 assertEquals(null, workflowException);\r
77 \r
78                 logEnd();\r
79         }\r
80 \r
81         // Success Scenario\r
82         private void setupVariables(Map<String, Object> variables) {\r
83                 variables.put("isDebugLogEnabled", "true");\r
84                 variables.put("msoRequestId", "RaaTestRequestId-1");\r
85                 variables.put("mso-request-id", "RaaTestRequestId-1");\r
86                 variables.put("serviceInstanceId","MIS%252F1604%252F0026%252FSW_INTERNET");\r
87                 \r
88                 RollbackData rollbackData = new RollbackData();\r
89 \r
90                 rollbackData.put("SERVICEINSTANCE", "serviceInstanceId", "MIS%252F1604%252F0026%252FSW_INTERNET");\r
91                 rollbackData.put("SERVICEINSTANCE", "globalCustomerId", "SDN-ETHERNET-INTERNET");\r
92                 rollbackData.put("SERVICEINSTANCE", "serviceSubscriptionType", "123456789");\r
93                 rollbackData.put("SERVICEINSTANCE", "disablerollback", "false");\r
94                 rollbackData.put("SERVICEINSTANCE", "rollbackAAI", "true");\r
95                 rollbackData.put("SERVICEINSTANCE", "rollbackSDNC", "true");\r
96                 \r
97                 String req =  "<sdncadapterworkflow:SDNCAdapterWorkflowRequest xmlns:ns5=\"http://org.openecomp/mso/request/types/v1\"" + EOL +\r
98                                  "xmlns:sdncadapter=\"http://org.openecomp.mso/workflow/sdnc/adapter/schema/v1\" " + EOL +\r
99                                  "xmlns:sdncadapterworkflow=\"http://org.openecomp/mso/workflow/schema/v1\">" + EOL +\r
100                                         "<sdncadapter:RequestHeader>" + EOL + \r
101                                         "<sdncadapter:RequestId>b043d290-140d-4a38-a9b6-95d3b8bd27d4</sdncadapter:RequestId>" + EOL + \r
102                                         "<sdncadapter:SvcInstanceId>MIS%252F1604%252F0026%252FSW_INTERNET</sdncadapter:SvcInstanceId>" + EOL + \r
103                                         "<sdncadapter:SvcAction>deactivate</sdncadapter:SvcAction>" + EOL + \r
104                                         "<sdncadapter:SvcOperation>service-topology-operation</sdncadapter:SvcOperation>" + EOL + \r
105                                         "<sdncadapter:CallbackUrl>http://localhost:8080/mso/SDNCAdapterCallbackService</sdncadapter:CallbackUrl>" + EOL + \r
106                                         "</sdncadapter:RequestHeader>" + EOL + \r
107                                         "<sdncadapterworkflow:SDNCRequestData>" + EOL + \r
108                                         "<request-information>" + EOL + \r
109                                         "<request-id>RaaTestRequestId-1</request-id>" + EOL + \r
110                                         "<source>MSO</source>" + EOL + \r
111                                         "<notification-url/>" + EOL + \r
112                                         "<order-number/>" + EOL + \r
113                                         "<order-version/>" + EOL + \r
114                                         "<request-action>DeleteServiceInstance</request-action>" + EOL + \r
115                                         "</request-information>" + EOL + \r
116                                         "<service-information>" + EOL + \r
117                                         "<service-id/>" + EOL + \r
118                                         "<subscription-service-type>123456789</subscription-service-type>" + EOL + \r
119                                         "<ecomp-model-information>" + EOL + \r
120                                         "<model-invariant-uuid/>" + EOL + \r
121                                         "<model-uuid/>" + EOL + \r
122                                         "<model-version/>" + EOL + \r
123                                         "<model-name/>" + EOL + \r
124                                         "</ecomp-model-information>" + EOL + \r
125                                         "<service-instance-id>MIS%252F1604%252F0026%252FSW_INTERNET</service-instance-id>" + EOL + \r
126                                         "<subscriber-name/>" + EOL + \r
127                                         "<global-customer-id>SDN-ETHERNET-INTERNET</global-customer-id>" + EOL + \r
128                                         "</service-information>" + EOL + \r
129                                         "<service-request-input>" + EOL + \r
130                                         "<service-instance-name/>" + EOL + \r
131                                         "</service-request-input>" + EOL + \r
132                                         "</sdncadapterworkflow:SDNCRequestData>" + EOL + \r
133                                         "</sdncadapterworkflow:SDNCAdapterWorkflowRequest>";\r
134                 \r
135                 String req1 = "<sdncadapterworkflow:SDNCAdapterWorkflowRequest xmlns:ns5=\"http://org.openecomp/mso/request/types/v1\"" + EOL +\r
136                                  "xmlns:sdncadapter=\"http://org.openecomp.mso/workflow/sdnc/adapter/schema/v1\" " + EOL +\r
137                                  "xmlns:sdncadapterworkflow=\"http://org.openecomp/mso/workflow/schema/v1\">" + EOL +\r
138                                  "<sdncadapter:RequestHeader>" + EOL +\r
139                                 "<sdncadapter:RequestId>bca4fede-0804-4c13-af69-9e80b378150f</sdncadapter:RequestId>" + EOL +\r
140                                 "<sdncadapter:SvcInstanceId>MIS%252F1604%252F0026%252FSW_INTERNET</sdncadapter:SvcInstanceId>" + EOL + \r
141                                 "<sdncadapter:SvcAction>delete</sdncadapter:SvcAction>" + EOL + \r
142                                 "<sdncadapter:SvcOperation>service-topology-operation</sdncadapter:SvcOperation>" + EOL + \r
143                                 "<sdncadapter:CallbackUrl>http://localhost:8080/mso/SDNCAdapterCallbackService</sdncadapter:CallbackUrl>" + EOL + \r
144                                 "</sdncadapter:RequestHeader>" + EOL + \r
145                                 "<sdncadapterworkflow:SDNCRequestData>" + EOL + \r
146                                 "<request-information>" + EOL + \r
147                                 "<request-id>RaaTestRequestId-1</request-id>" + EOL + \r
148                                 "<source>MSO</source>" + EOL + \r
149                                 "<notification-url/>" + EOL + \r
150                                 "<order-number/>" + EOL + \r
151                                 "<order-version/>" + EOL + \r
152                                 "<request-action>DeleteServiceInstance</request-action>" + EOL + \r
153                                 "</request-information>" + EOL + \r
154                                 "<service-information>" + EOL + \r
155                                 "<service-id/>" + EOL + \r
156                                 "<subscription-service-type>123456789</subscription-service-type>" + EOL + \r
157                                 "<ecomp-model-information>" + EOL + \r
158                                 "<model-invariant-uuid/>" + EOL + \r
159                                 "<model-uuid/>" + EOL + \r
160                                 "<model-version/>" + EOL + \r
161                                 "<model-name/>" + EOL + \r
162                                 "</ecomp-model-information>" + EOL + \r
163                                 "<service-instance-id>MIS%252F1604%252F0026%252FSW_INTERNET</service-instance-id>" + EOL + \r
164                                 "<subscriber-name/>" + EOL + \r
165                                 "<global-customer-id>SDN-ETHERNET-INTERNET</global-customer-id>" + EOL + \r
166                                 "</service-information>" + EOL + \r
167                                 "<service-request-input>" + EOL + \r
168                                 "<service-instance-name/>" + EOL + \r
169                                 "</service-request-input>" + EOL + \r
170                                 "</sdncadapterworkflow:SDNCRequestData>" + EOL + \r
171                                 "</sdncadapterworkflow:SDNCAdapterWorkflowRequest>";\r
172                                                                 \r
173                 rollbackData.put("SERVICEINSTANCE", "sdncDeactivate", req);\r
174                                                 \r
175                 rollbackData.put("SERVICEINSTANCE", "sdncDelete",req1); \r
176                 variables.put("rollbackData",rollbackData);\r
177                                 \r
178         }\r
179 }