1710 Rebase - Second Attempt
[so.git] / bpmn / MSOInfrastructureBPMN / src / test / java / org / openecomp / mso / bpmn / infrastructure / DoCreateVnfAndModulesRollbackTest.java
1 package org.openecomp.mso.bpmn.infrastructure;\r
2 \r
3 import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;\r
4 import static com.github.tomakehurst.wiremock.client.WireMock.containing;\r
5 import static com.github.tomakehurst.wiremock.client.WireMock.post;\r
6 import static com.github.tomakehurst.wiremock.client.WireMock.stubFor;\r
7 import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;\r
8 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockDeleteGenericVnf;\r
9 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockDeleteVfModuleId;\r
10 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfById;\r
11 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfByIdWithDepth;\r
12 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfByName;\r
13 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPatchGenericVnf;\r
14 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPatchVfModuleId;\r
15 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPutVfModuleId;\r
16 import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB;\r
17 import static org.openecomp.mso.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapter;\r
18 import static org.openecomp.mso.bpmn.mock.StubResponseVNFAdapter.mockVNFDelete;\r
19 import static org.openecomp.mso.bpmn.mock.StubResponseVNFAdapter.mockVfModuleDelete;\r
20 \r
21 import java.io.IOException;\r
22 import java.util.HashMap;\r
23 import java.util.Map;\r
24 import java.util.UUID;\r
25 \r
26 import org.camunda.bpm.engine.test.Deployment;\r
27 import org.junit.Ignore;\r
28 import org.junit.Test;\r
29 import org.openecomp.mso.bpmn.common.WorkflowTest;\r
30 import org.openecomp.mso.bpmn.core.RollbackData;\r
31 import org.openecomp.mso.bpmn.core.WorkflowException;\r
32 import org.openecomp.mso.bpmn.mock.FileUtil;\r
33 \r
34 /**\r
35  * Unit test for DoCreateVnfAndModulesRollback.bpmn.\r
36  */\r
37 public class DoCreateVnfAndModulesRollbackTest extends WorkflowTest {\r
38         private final CallbackSet callbacks = new CallbackSet();\r
39 \r
40         private static final String EOL = "\n";\r
41 \r
42 \r
43 \r
44         private final String vnfAdapterDeleteCallback =\r
45                 "<deleteVfModuleResponse>" + EOL +\r
46                 "    <vnfId>a27ce5a9-29c4-4c22-a017-6615ac73c721</vnfId>" + EOL +\r
47                 "    <vfModuleId>973ed047-d251-4fb9-bf1a-65b8949e0a73</vfModuleId>" + EOL +\r
48                 "    <vfModuleDeleted>true</vfModuleDeleted>" + EOL +\r
49                 "    <messageId>{{MESSAGE-ID}}</messageId>" + EOL +\r
50                 "</deleteVfModuleResponse>" + EOL;\r
51 \r
52         private final String vnfAdapterDeleteCallbackFail =\r
53                         "<vfModuleException>" + EOL +\r
54                         "    <message>Error processing request to VNF-Async. Not Found.</message>" + EOL +\r
55                         "    <category>INTERNAL</category>" + EOL +\r
56                         "    <rolledBack>false</rolledBack>" + EOL +\r
57                         "    <messageId>{{MESSAGE-ID}}</messageId>" + EOL +\r
58                         "</vfModuleException>" + EOL;\r
59 \r
60         private final String sdncAdapterDeleteCallback =\r
61                 "<output xmlns=\"com:att:sdnctl:l3api\">" + EOL +\r
62                 "  <svc-request-id>{{REQUEST-ID}}</svc-request-id>" + EOL +\r
63                 "  <ack-final-indicator>Y</ack-final-indicator>" + EOL +\r
64                 "</output>" + EOL;\r
65 \r
66         public DoCreateVnfAndModulesRollbackTest() throws IOException {\r
67                 callbacks.put("sdncChangeDelete", sdncAdapterDeleteCallback);\r
68                 callbacks.put("sdncDelete", sdncAdapterDeleteCallback);\r
69                 callbacks.put("vnfDelete", vnfAdapterDeleteCallback);\r
70                 callbacks.put("vnfDeleteFail", vnfAdapterDeleteCallbackFail);\r
71                 callbacks.put("deactivate", FileUtil.readResourceFile(\r
72                                 "__files/VfModularity/SDNCTopologyActivateCallback.xml"));\r
73                 callbacks.put("unassign", FileUtil.readResourceFile(\r
74                                 "__files/VfModularity/SDNCTopologyActivateCallback.xml"));\r
75         }\r
76 \r
77         @Test\r
78         @Ignore\r
79         @Deployment(resources = {\r
80                         "subprocess/DoCreateVnfAndModulesRollback.bpmn",\r
81                         "subprocess/DoCreateVfModuleRollback.bpmn",\r
82                         "subprocess/PrepareUpdateAAIVfModule.bpmn",\r
83                         "subprocess/UpdateAAIVfModule.bpmn",\r
84                         "subprocess/UpdateAAIGenericVnf.bpmn",\r
85                         "subprocess/DeleteAAIVfModule.bpmn",\r
86                         "subprocess/SDNCAdapterV1.bpmn",\r
87                         "subprocess/VnfAdapterRestV1.bpmn",\r
88                         "subprocess/GenericGetVnf.bpmn",\r
89                         "subprocess/GenericDeleteVnf.bpmn",\r
90                         "subprocess/DoDeleteVnf.bpmn"\r
91                 })\r
92         public void  TestDoCreateVnfAndModulesRollbackSuccess_BaseOnly() {\r
93                 // delete the Base Module and Generic Vnf\r
94                 // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c721, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a73\r
95                 String request =\r
96                         "<vnf-request xmlns=\"http://org.openecomp/mso/infra/vnf-request/v1\">" + EOL +\r
97                         "  <request-info>" + EOL +\r
98                         "    <action>DELETE_VF_MODULE</action>" + EOL +\r
99                         "    <source>PORTAL</source>" + EOL +\r
100                         "  </request-info>" + EOL +\r
101                         "  <vnf-inputs>" + EOL +\r
102                         "    <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c721</vnf-id>" + EOL +\r
103                         "    <vnf-name>STMTN5MMSC21</vnf-name>" + EOL +\r
104                         "    <vnf-type>asc_heat-int</vnf-type>" + EOL +\r
105                         "    <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a73</vf-module-id>" + EOL +\r
106                         "    <vf-module-name>STMTN5MMSC21-MMSC::module-0-0</vf-module-name>" + EOL +\r
107                         "    <service-id>00000000-0000-0000-0000-000000000000</service-id>" + EOL +\r
108                         "    <service-type>SDN-ETHERNET-INTERNET</service-type>" + EOL +\r
109                         "    <tenant-id>fba1bd1e195a404cacb9ce17a9b2b421</tenant-id>" + EOL +\r
110                         "    <orchestration-status>pending-delete</orchestration-status>" + EOL +\r
111                         "    <aic-cloud-region>RDM2WAGPLCP</aic-cloud-region>" + EOL +\r
112                         "  </vnf-inputs>" + EOL +\r
113                         "  <vnf-params xmlns:tns=\"http://org.openecomp/mso/infra/vnf-request/v1\"/>" + EOL +\r
114                         "</vnf-request>" + EOL;\r
115                 logStart();\r
116                 mockSDNCAdapter("/SDNCAdapter", "SvcAction>changedelete", 200, "DeleteGenericVNFV1/sdncAdapterResponse.xml");\r
117                 mockSDNCAdapter("/SDNCAdapter", "SvcAction>delete", 200, "DeleteGenericVNFV1/sdncAdapterResponse.xml");\r
118                 mockVNFDelete(".*", "/.*", 202);\r
119                 mockVfModuleDelete("78987");\r
120                 MockPatchVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73");\r
121                 MockPatchGenericVnf("a27ce5a9-29c4-4c22-a017-6615ac73c721");\r
122                 MockGetGenericVnfByName("STMTN5MMSC21", "DoCreateVfModule_getVnfResponse.xml");\r
123                 MockGetGenericVnfById("/a27ce5a9-29c4-4c22-a017-6615ac73c721.*", "DoCreateVfModule_getVnfResponse.xml", 200);\r
124                 MockPutVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73");\r
125                 MockDeleteGenericVnf("a27ce5a9-29c4-4c22-a017-6615ac73c721", "0000021");\r
126                 MockDeleteVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73", "0000073", 200);\r
127                 String businessKey = UUID.randomUUID().toString();\r
128                 Map<String, Object> variables = new HashMap<String, Object>();\r
129                 RollbackData rollbackData = new RollbackData();\r
130 \r
131                 rollbackData.put("VFMODULE_BASE", "source", "PORTAL");\r
132                 rollbackData.put("VFMODULE_BASE", "vnfid", "a27ce5a9-29c4-4c22-a017-6615ac73c721");\r
133                 rollbackData.put("VFMODULE_BASE", "vnfname", "STMTN5MMSC21");\r
134                 rollbackData.put("VFMODULE_BASE", "vnftype", "asc_heat-int");\r
135                 rollbackData.put("VFMODULE_BASE", "vfmoduleid", "973ed047-d251-4fb9-bf1a-65b8949e0a73");\r
136                 rollbackData.put("VFMODULE_BASE", "vfmodulename", "STMTN5MMSC21-MMSC::module-0-0");\r
137                 rollbackData.put("VFMODULE_BASE", "tenantid", "fba1bd1e195a404cacb9ce17a9b2b421");\r
138                 rollbackData.put("VFMODULE_BASE", "aiccloudregion", "RDM2WAGPLCP");\r
139                 rollbackData.put("VFMODULE_BASE", "heatstackid", "thisisaheatstack");\r
140                 rollbackData.put("VFMODULE_BASE", "contrailNetworkPolicyFqdn0", "MSOTest:DefaultPolicyFQDN1");\r
141                 rollbackData.put("VFMODULE_BASE", "contrailNetworkPolicyFqdn1", "MSOTest:DefaultPolicyFQDN2");\r
142                 rollbackData.put("VFMODULE_BASE", "oamManagementV6Address", "2000:abc:bce:1111");\r
143                 rollbackData.put("VFMODULE_BASE", "oamManagementV4Address", "127.0.0.1");\r
144 \r
145                 rollbackData.put("VFMODULE_BASE", "rollbackPrepareUpdateVfModule", "true");\r
146                 rollbackData.put("VFMODULE_BASE", "rollbackVnfAdapterCreate", "true");\r
147                 rollbackData.put("VFMODULE_BASE", "rollbackUpdateAAIVfModule", "true");\r
148                 rollbackData.put("VFMODULE_BASE", "rollbackSDNCRequestActivate", "true");\r
149                 rollbackData.put("VFMODULE_BASE", "rollbackCreateAAIVfModule", "true");\r
150                 rollbackData.put("VFMODULE_BASE", "rollbackCreateNetworkPoliciesAAI", "true");\r
151                 rollbackData.put("VFMODULE_BASE", "rollbackUpdateVnfAAI", "true");\r
152 \r
153                 rollbackData.put("VNF", "vnfId", "testVnfId123");\r
154 \r
155                 rollbackData.put("VNFANDMODULES", "numOfCreatedAddOnModules", "0");\r
156 \r
157                 variables.put("isDebugLogEnabled","true");\r
158                 variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721");\r
159                 variables.put("mso-service-instance-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721");\r
160                 rollbackData.put("VFMODULE_BASE", "msorequestid", "a27ce5a9-29c4-4c22-a017-6615ac73c721");\r
161                 rollbackData.put("VFMODULE_BASE", "serviceinstanceid", "a27ce5a9-29c4-4c22-a017-6615ac73c721");\r
162 \r
163                 variables.put("rollbackData", rollbackData);\r
164                 invokeSubProcess("DoCreateVnfAndModulesRollback", businessKey, variables);\r
165 \r
166                 // "changedelete" operation not required for deleting a Vf Module\r
167 //              injectSDNCCallbacks(callbacks, "sdncChangeDelete");\r
168                 injectVNFRestCallbacks(callbacks, "vnfDelete");\r
169                 //waitForRunningProcessCount("DoCreateVnfAndModulesRollback", 0, 120000);\r
170                 injectSDNCCallbacks(callbacks, "sdncDelete");\r
171 \r
172                 waitForProcessEnd(businessKey, 10000);\r
173                 WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");\r
174                 checkVariable(businessKey, "WorkflowException", null);\r
175                 if (wfe != null) {\r
176                         System.out.println("TestCreateVfModuleSuccess: ErrorCode=" + wfe.getErrorCode() +\r
177                                         ", ErrorMessage=" + wfe.getErrorMessage());\r
178                 }\r
179                 logEnd();\r
180         }\r
181 \r
182         @Test\r
183         @Deployment(resources = {\r
184                         "subprocess/DoCreateVnfAndModulesRollback.bpmn",\r
185                         "subprocess/PrepareUpdateAAIVfModule.bpmn",\r
186                         "subprocess/UpdateAAIVfModule.bpmn",\r
187                         "subprocess/UpdateAAIGenericVnf.bpmn",\r
188                         "subprocess/DeleteAAIVfModule.bpmn",\r
189                         "subprocess/SDNCAdapterV1.bpmn",\r
190                         "subprocess/GenericGetVnf.bpmn",\r
191                         "subprocess/GenericDeleteVnf.bpmn",\r
192                         "subprocess/DoDeleteVnf.bpmn"\r
193                 })\r
194         public void  TestDoCreateVnfAndModulesRollbackSuccess_vnfOnly() {\r
195                 // delete the Base Module and Generic Vnf\r
196                 // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c721, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a73\r
197                 String request =\r
198                         "<vnf-request xmlns=\"http://org.openecomp/mso/infra/vnf-request/v1\">" + EOL +\r
199                         "  <request-info>" + EOL +\r
200                         "    <action>DELETE_VF_MODULE</action>" + EOL +\r
201                         "    <source>PORTAL</source>" + EOL +\r
202                         "  </request-info>" + EOL +\r
203                         "  <vnf-inputs>" + EOL +\r
204                         "    <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c721</vnf-id>" + EOL +\r
205                         "    <vnf-name>STMTN5MMSC21</vnf-name>" + EOL +\r
206                         "    <vnf-type>asc_heat-int</vnf-type>" + EOL +\r
207                         "    <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a73</vf-module-id>" + EOL +\r
208                         "    <vf-module-name>STMTN5MMSC21-MMSC::module-0-0</vf-module-name>" + EOL +\r
209                         "    <service-id>00000000-0000-0000-0000-000000000000</service-id>" + EOL +\r
210                         "    <service-type>SDN-ETHERNET-INTERNET</service-type>" + EOL +\r
211                         "    <tenant-id>fba1bd1e195a404cacb9ce17a9b2b421</tenant-id>" + EOL +\r
212                         "    <orchestration-status>pending-delete</orchestration-status>" + EOL +\r
213                         "    <aic-cloud-region>RDM2WAGPLCP</aic-cloud-region>" + EOL +\r
214                         "  </vnf-inputs>" + EOL +\r
215                         "  <vnf-params xmlns:tns=\"http://org.openecomp/mso/infra/vnf-request/v1\"/>" + EOL +\r
216                         "</vnf-request>" + EOL;\r
217                 logStart();\r
218                 MockGetGenericVnfById("testVnfId123.*", "GenericFlows/getGenericVnfByNameResponse.xml");\r
219                 MockDeleteGenericVnf("testVnfId123", "testReVer123");\r
220                 MockDoDeleteVfModule_SDNCSuccess();\r
221                 mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");\r
222                 String businessKey = UUID.randomUUID().toString();\r
223                 Map<String, Object> variables = new HashMap<String, Object>();\r
224                 RollbackData rollbackData = new RollbackData();\r
225 \r
226                 rollbackData.put("VNF", "vnfId", "testVnfId123");\r
227                 rollbackData.put("VNF", "rollbackVnfCreate", "true");\r
228                 rollbackData.put("VNF", "rollbackSDNCAssign", "true");\r
229                 rollbackData.put("VNF", "rollbackSDNCActivate", "true");\r
230                 rollbackData.put("VNFANDMODULES", "numOfCreatedAddOnModules", "0");\r
231 \r
232 \r
233                 variables.put("isDebugLogEnabled","true");\r
234                 variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721");\r
235                 variables.put("mso-service-instance-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721");\r
236 \r
237 \r
238                 variables.put("rollbackData", rollbackData);\r
239                 variables.put("sdncVersion", "1707");\r
240                 invokeSubProcess("DoCreateVnfAndModulesRollback", businessKey, variables);\r
241 \r
242                 // "changedelete" operation not required for deleting a Vf Module\r
243 //              injectSDNCCallbacks(callbacks, "sdncChangeDelete");\r
244 \r
245                 //waitForRunningProcessCount("DoCreateVnfAndModulesRollback", 0, 120000);\r
246         //      injectSDNCCallbacks(callbacks, "sdncDelete");\r
247 \r
248                 waitForProcessEnd(businessKey, 10000);\r
249                 WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");\r
250                 checkVariable(businessKey, "WorkflowException", null);\r
251                 if (wfe != null) {\r
252                         System.out.println("TestCreateVfModuleSuccess: ErrorCode=" + wfe.getErrorCode() +\r
253                                         ", ErrorMessage=" + wfe.getErrorMessage());\r
254                 }\r
255                 logEnd();\r
256         }\r
257 \r
258         @Test\r
259         @Ignore\r
260         @Deployment(resources = {\r
261                         "subprocess/DoCreateVnfAndModulesRollback.bpmn",\r
262                         "subprocess/DoCreateVfModuleRollback.bpmn",\r
263                         "subprocess/PrepareUpdateAAIVfModule.bpmn",\r
264                         "subprocess/UpdateAAIVfModule.bpmn",\r
265                         "subprocess/UpdateAAIGenericVnf.bpmn",\r
266                         "subprocess/DeleteAAIVfModule.bpmn",\r
267                         "subprocess/SDNCAdapterV1.bpmn",\r
268                         "subprocess/VnfAdapterRestV1.bpmn",\r
269                         "subprocess/GenericGetVnf.bpmn",\r
270                         "subprocess/GenericDeleteVnf.bpmn",\r
271                         "subprocess/DoDeleteVnf.bpmn"\r
272                 })\r
273         public void  TestDoCreateVnfAndModulesRollbackSuccess_AddOn() {\r
274                 // delete the Base Module and Generic Vnf\r
275                 // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c721, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a73\r
276                 String request =\r
277                         "<vnf-request xmlns=\"http://org.openecomp/mso/infra/vnf-request/v1\">" + EOL +\r
278                         "  <request-info>" + EOL +\r
279                         "    <action>DELETE_VF_MODULE</action>" + EOL +\r
280                         "    <source>PORTAL</source>" + EOL +\r
281                         "  </request-info>" + EOL +\r
282                         "  <vnf-inputs>" + EOL +\r
283                         "    <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c721</vnf-id>" + EOL +\r
284                         "    <vnf-name>STMTN5MMSC21</vnf-name>" + EOL +\r
285                         "    <vnf-type>asc_heat-int</vnf-type>" + EOL +\r
286                         "    <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a73</vf-module-id>" + EOL +\r
287                         "    <vf-module-name>STMTN5MMSC21-MMSC::module-0-0</vf-module-name>" + EOL +\r
288                         "    <service-id>00000000-0000-0000-0000-000000000000</service-id>" + EOL +\r
289                         "    <service-type>SDN-ETHERNET-INTERNET</service-type>" + EOL +\r
290                         "    <tenant-id>fba1bd1e195a404cacb9ce17a9b2b421</tenant-id>" + EOL +\r
291                         "    <orchestration-status>pending-delete</orchestration-status>" + EOL +\r
292                         "    <aic-cloud-region>RDM2WAGPLCP</aic-cloud-region>" + EOL +\r
293                         "  </vnf-inputs>" + EOL +\r
294                         "  <vnf-params xmlns:tns=\"http://org.openecomp/mso/infra/vnf-request/v1\"/>" + EOL +\r
295                         "</vnf-request>" + EOL;\r
296                 logStart();\r
297                 mockSDNCAdapter("/SDNCAdapter", "SvcAction>changedelete", 200, "DeleteGenericVNFV1/sdncAdapterResponse.xml");\r
298                 mockSDNCAdapter("/SDNCAdapter", "SvcAction>delete", 200, "DeleteGenericVNFV1/sdncAdapterResponse.xml");\r
299                 mockVNFDelete(".*", "/.*", 202);\r
300                 mockVfModuleDelete("78987");\r
301                 MockGetGenericVnfByName("STMTN5MMSC21", "DoCreateVfModule_getVnfResponse.xml");\r
302                 MockGetGenericVnfById("/a27ce5a9-29c4-4c22-a017-6615ac73c721", "DoCreateVfModule_getVnfResponse.xml", 200);\r
303                 MockGetGenericVnfByIdWithDepth("a27ce5a9-29c4-4c22-a017-6615ac73c721", 1, "DoCreateVfModuleRollback/GenericVnf.xml");\r
304                 MockPatchVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73");\r
305                 MockPatchGenericVnf("a27ce5a9-29c4-4c22-a017-6615ac73c721");\r
306                 MockPutVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73");\r
307                 MockDeleteGenericVnf("a27ce5a9-29c4-4c22-a017-6615ac73c721", "0000021");\r
308                 MockDeleteVfModuleId("", "", "", 200);\r
309                 String businessKey = UUID.randomUUID().toString();\r
310                 Map<String, Object> variables = new HashMap<String, Object>();\r
311                 RollbackData rollbackData = new RollbackData();\r
312         \r
313                 rollbackData.put("VFMODULE_BASE", "source", "PORTAL");\r
314                 rollbackData.put("VFMODULE_BASE", "vnfid", "a27ce5a9-29c4-4c22-a017-6615ac73c721");\r
315                 rollbackData.put("VFMODULE_BASE", "vnfname", "STMTN5MMSC21");\r
316                 rollbackData.put("VFMODULE_BASE", "vnftype", "asc_heat-int");\r
317                 rollbackData.put("VFMODULE_BASE", "vfmoduleid", "973ed047-d251-4fb9-bf1a-65b8949e0a73");\r
318                 rollbackData.put("VFMODULE_BASE", "vfmodulename", "STMTN5MMSC21-MMSC::module-0-0");\r
319                 rollbackData.put("VFMODULE_BASE", "tenantid", "fba1bd1e195a404cacb9ce17a9b2b421");\r
320                 rollbackData.put("VFMODULE_BASE", "aiccloudregion", "RDM2WAGPLCP");\r
321                 rollbackData.put("VFMODULE_BASE", "heatstackid", "thisisaheatstack");\r
322                 rollbackData.put("VFMODULE_BASE", "contrailNetworkPolicyFqdn0", "MSOTest:DefaultPolicyFQDN1");\r
323                 rollbackData.put("VFMODULE_BASE", "contrailNetworkPolicyFqdn1", "MSOTest:DefaultPolicyFQDN2");\r
324                 rollbackData.put("VFMODULE_BASE", "oamManagementV6Address", "2000:abc:bce:1111");\r
325                 rollbackData.put("VFMODULE_BASE", "oamManagementV4Address", "127.0.0.1");\r
326                 rollbackData.put("VFMODULE_BASE", "rollbackPrepareUpdateVfModule", "true");\r
327                 rollbackData.put("VFMODULE_BASE", "rollbackVnfAdapterCreate", "true");\r
328                 rollbackData.put("VFMODULE_BASE", "rollbackUpdateAAIVfModule", "true");\r
329                 rollbackData.put("VFMODULE_BASE", "rollbackSDNCRequestActivate", "true");\r
330                 rollbackData.put("VFMODULE_BASE", "rollbackCreateAAIVfModule", "true");\r
331                 rollbackData.put("VFMODULE_BASE", "rollbackCreateNetworkPoliciesAAI", "true");\r
332                 rollbackData.put("VFMODULE_BASE", "rollbackUpdateVnfAAI", "true");\r
333                 rollbackData.put("VFMODULE_BASE", "msorequestid", "a27ce5a9-29c4-4c22-a017-6615ac73c721");\r
334                 rollbackData.put("VFMODULE_BASE", "serviceinstanceid", "a27ce5a9-29c4-4c22-a017-6615ac73c721");\r
335         \r
336         \r
337                 rollbackData.put("VFMODULE_ADDON_1", "source", "PORTAL");\r
338                 rollbackData.put("VFMODULE_ADDON_1", "vnfid", "a27ce5a9-29c4-4c22-a017-6615ac73c721");\r
339                 rollbackData.put("VFMODULE_ADDON_1", "vnfname", "STMTN5MMSC21");\r
340                 rollbackData.put("VFMODULE_ADDON_1", "vnftype", "asc_heat-int");\r
341                 rollbackData.put("VFMODULE_ADDON_1", "vfmoduleid", "973ed047-d251-4fb9-bf1a-65b8949e0a73");\r
342                 rollbackData.put("VFMODULE_ADDON_1", "vfmodulename", "STMTN5MMSC21-MMSC::module-0-0");\r
343                 rollbackData.put("VFMODULE_ADDON_1", "tenantid", "fba1bd1e195a404cacb9ce17a9b2b421");\r
344                 rollbackData.put("VFMODULE_ADDON_1", "aiccloudregion", "RDM2WAGPLCP");\r
345                 rollbackData.put("VFMODULE_ADDON_1", "heatstackid", "thisisaheatstack");\r
346                 rollbackData.put("VFMODULE_ADDON_1", "contrailNetworkPolicyFqdn0", "MSOTest:DefaultPolicyFQDN1");\r
347                 rollbackData.put("VFMODULE_ADDON_1", "contrailNetworkPolicyFqdn1", "MSOTest:DefaultPolicyFQDN2");\r
348                 rollbackData.put("VFMODULE_ADDON_1", "oamManagementV6Address", "2000:abc:bce:1111");\r
349                 rollbackData.put("VFMODULE_ADDON_1", "oamManagementV4Address", "127.0.0.1");\r
350                 rollbackData.put("VFMODULE_ADDON_1", "rollbackPrepareUpdateVfModule", "true");\r
351                 rollbackData.put("VFMODULE_ADDON_1", "rollbackVnfAdapterCreate", "true");\r
352                 rollbackData.put("VFMODULE_ADDON_1", "rollbackUpdateAAIVfModule", "true");\r
353                 rollbackData.put("VFMODULE_ADDON_1", "rollbackSDNCRequestActivate", "true");\r
354                 rollbackData.put("VFMODULE_ADDON_1", "rollbackCreateAAIVfModule", "true");\r
355                 rollbackData.put("VFMODULE_ADDON_1", "rollbackCreateNetworkPoliciesAAI", "true");\r
356                 rollbackData.put("VFMODULE_ADDON_1", "rollbackUpdateVnfAAI", "true");\r
357                 rollbackData.put("VFMODULE_ADDON_1", "msorequestid", "a27ce5a9-29c4-4c22-a017-6615ac73c721");\r
358                 rollbackData.put("VFMODULE_ADDON_1", "serviceinstanceid", "a27ce5a9-29c4-4c22-a017-6615ac73c721");\r
359         \r
360                 rollbackData.put("VNF", "vnfId", "testVnfId123");\r
361         \r
362                 rollbackData.put("VNFANDMODULES", "numOfCreatedAddOnModules", "1");\r
363         \r
364                 variables.put("isDebugLogEnabled","true");\r
365                 variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721");\r
366                 variables.put("mso-service-instance-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721");\r
367         \r
368         \r
369                 variables.put("rollbackData", rollbackData);\r
370                 invokeSubProcess("DoCreateVnfAndModulesRollback", businessKey, variables);\r
371         \r
372                 // "changedelete" operation not required for deleting a Vf Module\r
373         //      injectSDNCCallbacks(callbacks, "sdncChangeDelete");\r
374                 injectVNFRestCallbacks(callbacks, "vnfDelete");\r
375                 injectVNFRestCallbacks(callbacks, "vnfDelete");\r
376                 //waitForRunningProcessCount("DoCreateVnfAndModulesRollback", 0, 120000);\r
377                 injectSDNCCallbacks(callbacks, "sdncDelete");\r
378         \r
379                 waitForProcessEnd(businessKey, 10000);\r
380                 WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");\r
381                 checkVariable(businessKey, "WorkflowException", null);\r
382                 if (wfe != null) {\r
383                         System.out.println("TestCreateVfModuleSuccess: ErrorCode=" + wfe.getErrorCode() +\r
384                                         ", ErrorMessage=" + wfe.getErrorMessage());\r
385                 }\r
386                 logEnd();\r
387         }\r
388         \r
389         public static void MockDoDeleteVfModule_SDNCSuccess() {\r
390                 stubFor(post(urlEqualTo("/SDNCAdapter"))\r
391                                   .withRequestBody(containing("SvcAction>deactivate"))\r
392                                   .willReturn(aResponse()\r
393                                   .withStatus(200)\r
394                                   .withHeader("Content-Type", "text/xml")\r
395                                   .withBodyFile("DeleteGenericVNFV1/sdncAdapterResponse.xml")));\r
396                 stubFor(post(urlEqualTo("/SDNCAdapter"))\r
397                                   .withRequestBody(containing("SvcAction>unassign"))\r
398                                   .willReturn(aResponse()\r
399                                   .withStatus(200)\r
400                                   .withHeader("Content-Type", "text/xml")\r
401                                   .withBodyFile("DeleteGenericVNFV1/sdncAdapterResponse.xml")));\r
402         }\r
403 \r
404 \r
405 }