2 * ============LICENSE_START=======================================================
\r
4 * ================================================================================
\r
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
\r
6 * ================================================================================
\r
7 * Licensed under the Apache License, Version 2.0 (the "License");
\r
8 * you may not use this file except in compliance with the License.
\r
9 * You may obtain a copy of the License at
\r
11 * http://www.apache.org/licenses/LICENSE-2.0
\r
13 * Unless required by applicable law or agreed to in writing, software
\r
14 * distributed under the License is distributed on an "AS IS" BASIS,
\r
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
16 * See the License for the specific language governing permissions and
\r
17 * limitations under the License.
\r
18 * ============LICENSE_END=========================================================
\r
21 package org.openecomp.mso.bpmn.infrastructure;
\r
23 import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
\r
24 import static com.github.tomakehurst.wiremock.client.WireMock.containing;
\r
25 import static com.github.tomakehurst.wiremock.client.WireMock.post;
\r
26 import static com.github.tomakehurst.wiremock.client.WireMock.stubFor;
\r
27 import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;
\r
28 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockDeleteGenericVnf;
\r
29 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockDeleteVfModuleId;
\r
30 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfById;
\r
31 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfByIdWithDepth;
\r
32 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfByName;
\r
33 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPatchGenericVnf;
\r
34 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPatchVfModuleId;
\r
35 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPutVfModuleId;
\r
36 import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB;
\r
37 import static org.openecomp.mso.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapter;
\r
38 import static org.openecomp.mso.bpmn.mock.StubResponseVNFAdapter.mockVNFDelete;
\r
39 import static org.openecomp.mso.bpmn.mock.StubResponseVNFAdapter.mockVfModuleDelete;
\r
41 import java.io.IOException;
\r
42 import java.util.HashMap;
\r
43 import java.util.Map;
\r
44 import java.util.UUID;
\r
46 import org.camunda.bpm.engine.test.Deployment;
\r
47 import org.junit.Ignore;
\r
48 import org.junit.Test;
\r
49 import org.openecomp.mso.bpmn.common.WorkflowTest;
\r
50 import org.openecomp.mso.bpmn.core.RollbackData;
\r
51 import org.openecomp.mso.bpmn.core.WorkflowException;
\r
52 import org.openecomp.mso.bpmn.mock.FileUtil;
\r
55 * Unit test for DoCreateVnfAndModulesRollback.bpmn.
\r
57 public class DoCreateVnfAndModulesRollbackTest extends WorkflowTest {
\r
58 private final CallbackSet callbacks = new CallbackSet();
\r
60 private static final String EOL = "\n";
\r
63 private final String vnfAdapterDeleteCallback =
\r
64 "<deleteVfModuleResponse>" + EOL +
\r
65 " <vnfId>a27ce5a9-29c4-4c22-a017-6615ac73c721</vnfId>" + EOL +
\r
66 " <vfModuleId>973ed047-d251-4fb9-bf1a-65b8949e0a73</vfModuleId>" + EOL +
\r
67 " <vfModuleDeleted>true</vfModuleDeleted>" + EOL +
\r
68 " <messageId>{{MESSAGE-ID}}</messageId>" + EOL +
\r
69 "</deleteVfModuleResponse>" + EOL;
\r
71 private final String vnfAdapterDeleteCallbackFail =
\r
72 "<vfModuleException>" + EOL +
\r
73 " <message>Error processing request to VNF-Async. Not Found.</message>" + EOL +
\r
74 " <category>INTERNAL</category>" + EOL +
\r
75 " <rolledBack>false</rolledBack>" + EOL +
\r
76 " <messageId>{{MESSAGE-ID}}</messageId>" + EOL +
\r
77 "</vfModuleException>" + EOL;
\r
79 private final String sdncAdapterDeleteCallback =
\r
80 "<output xmlns=\"com:att:sdnctl:l3api\">" + EOL +
\r
81 " <svc-request-id>{{REQUEST-ID}}</svc-request-id>" + EOL +
\r
82 " <ack-final-indicator>Y</ack-final-indicator>" + EOL +
\r
85 public DoCreateVnfAndModulesRollbackTest() throws IOException {
\r
86 callbacks.put("sdncChangeDelete", sdncAdapterDeleteCallback);
\r
87 callbacks.put("sdncDelete", sdncAdapterDeleteCallback);
\r
88 callbacks.put("vnfDelete", vnfAdapterDeleteCallback);
\r
89 callbacks.put("vnfDeleteFail", vnfAdapterDeleteCallbackFail);
\r
90 callbacks.put("deactivate", FileUtil.readResourceFile(
\r
91 "__files/VfModularity/SDNCTopologyActivateCallback.xml"));
\r
92 callbacks.put("unassign", FileUtil.readResourceFile(
\r
93 "__files/VfModularity/SDNCTopologyActivateCallback.xml"));
\r
98 @Deployment(resources = {
\r
99 "subprocess/DoCreateVnfAndModulesRollback.bpmn",
\r
100 "subprocess/DoCreateVfModuleRollback.bpmn",
\r
101 "subprocess/PrepareUpdateAAIVfModule.bpmn",
\r
102 "subprocess/UpdateAAIVfModule.bpmn",
\r
103 "subprocess/UpdateAAIGenericVnf.bpmn",
\r
104 "subprocess/DeleteAAIVfModule.bpmn",
\r
105 "subprocess/SDNCAdapterV1.bpmn",
\r
106 "subprocess/VnfAdapterRestV1.bpmn",
\r
107 "subprocess/GenericGetVnf.bpmn",
\r
108 "subprocess/GenericDeleteVnf.bpmn",
\r
109 "subprocess/DoDeleteVnf.bpmn"
\r
111 public void TestDoCreateVnfAndModulesRollbackSuccess_BaseOnly() {
\r
112 // delete the Base Module and Generic Vnf
\r
113 // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c721, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a73
\r
115 "<vnf-request xmlns=\"http://org.openecomp/mso/infra/vnf-request/v1\">" + EOL +
\r
116 " <request-info>" + EOL +
\r
117 " <action>DELETE_VF_MODULE</action>" + EOL +
\r
118 " <source>PORTAL</source>" + EOL +
\r
119 " </request-info>" + EOL +
\r
120 " <vnf-inputs>" + EOL +
\r
121 " <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c721</vnf-id>" + EOL +
\r
122 " <vnf-name>STMTN5MMSC21</vnf-name>" + EOL +
\r
123 " <vnf-type>asc_heat-int</vnf-type>" + EOL +
\r
124 " <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a73</vf-module-id>" + EOL +
\r
125 " <vf-module-name>STMTN5MMSC21-MMSC::module-0-0</vf-module-name>" + EOL +
\r
126 " <service-id>00000000-0000-0000-0000-000000000000</service-id>" + EOL +
\r
127 " <service-type>SDN-ETHERNET-INTERNET</service-type>" + EOL +
\r
128 " <tenant-id>fba1bd1e195a404cacb9ce17a9b2b421</tenant-id>" + EOL +
\r
129 " <orchestration-status>pending-delete</orchestration-status>" + EOL +
\r
130 " <aic-cloud-region>RDM2WAGPLCP</aic-cloud-region>" + EOL +
\r
131 " </vnf-inputs>" + EOL +
\r
132 " <vnf-params xmlns:tns=\"http://org.openecomp/mso/infra/vnf-request/v1\"/>" + EOL +
\r
133 "</vnf-request>" + EOL;
\r
135 mockSDNCAdapter("/SDNCAdapter", "SvcAction>changedelete", 200, "DeleteGenericVNFV1/sdncAdapterResponse.xml");
\r
136 mockSDNCAdapter("/SDNCAdapter", "SvcAction>delete", 200, "DeleteGenericVNFV1/sdncAdapterResponse.xml");
\r
137 mockVNFDelete(".*", "/.*", 202);
\r
138 mockVfModuleDelete("78987");
\r
139 MockPatchVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73");
\r
140 MockPatchGenericVnf("a27ce5a9-29c4-4c22-a017-6615ac73c721");
\r
141 MockGetGenericVnfByName("STMTN5MMSC21", "DoCreateVfModule_getVnfResponse.xml");
\r
142 MockGetGenericVnfById("/a27ce5a9-29c4-4c22-a017-6615ac73c721.*", "DoCreateVfModule_getVnfResponse.xml", 200);
\r
143 MockPutVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73");
\r
144 MockDeleteGenericVnf("a27ce5a9-29c4-4c22-a017-6615ac73c721", "0000021");
\r
145 MockDeleteVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73", "0000073", 200);
\r
146 String businessKey = UUID.randomUUID().toString();
\r
147 Map<String, Object> variables = new HashMap<>();
\r
148 RollbackData rollbackData = new RollbackData();
\r
150 rollbackData.put("VFMODULE_BASE", "source", "PORTAL");
\r
151 rollbackData.put("VFMODULE_BASE", "vnfid", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
\r
152 rollbackData.put("VFMODULE_BASE", "vnfname", "STMTN5MMSC21");
\r
153 rollbackData.put("VFMODULE_BASE", "vnftype", "asc_heat-int");
\r
154 rollbackData.put("VFMODULE_BASE", "vfmoduleid", "973ed047-d251-4fb9-bf1a-65b8949e0a73");
\r
155 rollbackData.put("VFMODULE_BASE", "vfmodulename", "STMTN5MMSC21-MMSC::module-0-0");
\r
156 rollbackData.put("VFMODULE_BASE", "tenantid", "fba1bd1e195a404cacb9ce17a9b2b421");
\r
157 rollbackData.put("VFMODULE_BASE", "aiccloudregion", "RDM2WAGPLCP");
\r
158 rollbackData.put("VFMODULE_BASE", "heatstackid", "thisisaheatstack");
\r
159 rollbackData.put("VFMODULE_BASE", "contrailNetworkPolicyFqdn0", "MSOTest:DefaultPolicyFQDN1");
\r
160 rollbackData.put("VFMODULE_BASE", "contrailNetworkPolicyFqdn1", "MSOTest:DefaultPolicyFQDN2");
\r
161 rollbackData.put("VFMODULE_BASE", "oamManagementV6Address", "2000:abc:bce:1111");
\r
162 rollbackData.put("VFMODULE_BASE", "oamManagementV4Address", "127.0.0.1");
\r
164 rollbackData.put("VFMODULE_BASE", "rollbackPrepareUpdateVfModule", "true");
\r
165 rollbackData.put("VFMODULE_BASE", "rollbackVnfAdapterCreate", "true");
\r
166 rollbackData.put("VFMODULE_BASE", "rollbackUpdateAAIVfModule", "true");
\r
167 rollbackData.put("VFMODULE_BASE", "rollbackSDNCRequestActivate", "true");
\r
168 rollbackData.put("VFMODULE_BASE", "rollbackCreateAAIVfModule", "true");
\r
169 rollbackData.put("VFMODULE_BASE", "rollbackCreateNetworkPoliciesAAI", "true");
\r
170 rollbackData.put("VFMODULE_BASE", "rollbackUpdateVnfAAI", "true");
\r
172 rollbackData.put("VNF", "vnfId", "testVnfId123");
\r
174 rollbackData.put("VNFANDMODULES", "numOfCreatedAddOnModules", "0");
\r
176 variables.put("isDebugLogEnabled", "true");
\r
177 variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
\r
178 variables.put("mso-service-instance-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
\r
179 rollbackData.put("VFMODULE_BASE", "msorequestid", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
\r
180 rollbackData.put("VFMODULE_BASE", "serviceinstanceid", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
\r
182 variables.put("rollbackData", rollbackData);
\r
183 invokeSubProcess("DoCreateVnfAndModulesRollback", businessKey, variables);
\r
185 // "changedelete" operation not required for deleting a Vf Module
\r
186 // injectSDNCCallbacks(callbacks, "sdncChangeDelete");
\r
187 injectVNFRestCallbacks(callbacks, "vnfDelete");
\r
188 //waitForRunningProcessCount("DoCreateVnfAndModulesRollback", 0, 120000);
\r
189 injectSDNCCallbacks(callbacks, "sdncDelete");
\r
191 waitForProcessEnd(businessKey, 10000);
\r
192 WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
\r
193 checkVariable(businessKey, "WorkflowException", null);
\r
195 System.out.println("TestCreateVfModuleSuccess: ErrorCode=" + wfe.getErrorCode() +
\r
196 ", ErrorMessage=" + wfe.getErrorMessage());
\r
202 @Deployment(resources = {
\r
203 "subprocess/DoCreateVnfAndModulesRollback.bpmn",
\r
204 "subprocess/PrepareUpdateAAIVfModule.bpmn",
\r
205 "subprocess/UpdateAAIVfModule.bpmn",
\r
206 "subprocess/UpdateAAIGenericVnf.bpmn",
\r
207 "subprocess/DeleteAAIVfModule.bpmn",
\r
208 "subprocess/SDNCAdapterV1.bpmn",
\r
209 "subprocess/GenericGetVnf.bpmn",
\r
210 "subprocess/GenericDeleteVnf.bpmn",
\r
211 "subprocess/DoDeleteVnf.bpmn"
\r
213 public void TestDoCreateVnfAndModulesRollbackSuccess_vnfOnly() {
\r
214 // delete the Base Module and Generic Vnf
\r
215 // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c721, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a73
\r
217 "<vnf-request xmlns=\"http://org.openecomp/mso/infra/vnf-request/v1\">" + EOL +
\r
218 " <request-info>" + EOL +
\r
219 " <action>DELETE_VF_MODULE</action>" + EOL +
\r
220 " <source>PORTAL</source>" + EOL +
\r
221 " </request-info>" + EOL +
\r
222 " <vnf-inputs>" + EOL +
\r
223 " <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c721</vnf-id>" + EOL +
\r
224 " <vnf-name>STMTN5MMSC21</vnf-name>" + EOL +
\r
225 " <vnf-type>asc_heat-int</vnf-type>" + EOL +
\r
226 " <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a73</vf-module-id>" + EOL +
\r
227 " <vf-module-name>STMTN5MMSC21-MMSC::module-0-0</vf-module-name>" + EOL +
\r
228 " <service-id>00000000-0000-0000-0000-000000000000</service-id>" + EOL +
\r
229 " <service-type>SDN-ETHERNET-INTERNET</service-type>" + EOL +
\r
230 " <tenant-id>fba1bd1e195a404cacb9ce17a9b2b421</tenant-id>" + EOL +
\r
231 " <orchestration-status>pending-delete</orchestration-status>" + EOL +
\r
232 " <aic-cloud-region>RDM2WAGPLCP</aic-cloud-region>" + EOL +
\r
233 " </vnf-inputs>" + EOL +
\r
234 " <vnf-params xmlns:tns=\"http://org.openecomp/mso/infra/vnf-request/v1\"/>" + EOL +
\r
235 "</vnf-request>" + EOL;
\r
237 MockGetGenericVnfById("testVnfId123.*", "GenericFlows/getGenericVnfByNameResponse.xml");
\r
238 MockDeleteGenericVnf("testVnfId123", "testReVer123");
\r
239 MockDoDeleteVfModule_SDNCSuccess();
\r
240 mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");
\r
241 String businessKey = UUID.randomUUID().toString();
\r
242 Map<String, Object> variables = new HashMap<>();
\r
243 RollbackData rollbackData = new RollbackData();
\r
245 rollbackData.put("VNF", "vnfId", "testVnfId123");
\r
246 rollbackData.put("VNF", "rollbackVnfCreate", "true");
\r
247 rollbackData.put("VNF", "rollbackSDNCAssign", "true");
\r
248 rollbackData.put("VNF", "rollbackSDNCActivate", "true");
\r
249 rollbackData.put("VNFANDMODULES", "numOfCreatedAddOnModules", "0");
\r
252 variables.put("isDebugLogEnabled", "true");
\r
253 variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
\r
254 variables.put("mso-service-instance-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
\r
257 variables.put("rollbackData", rollbackData);
\r
258 variables.put("sdncVersion", "1707");
\r
259 invokeSubProcess("DoCreateVnfAndModulesRollback", businessKey, variables);
\r
261 // "changedelete" operation not required for deleting a Vf Module
\r
262 // injectSDNCCallbacks(callbacks, "sdncChangeDelete");
\r
264 //waitForRunningProcessCount("DoCreateVnfAndModulesRollback", 0, 120000);
\r
265 // injectSDNCCallbacks(callbacks, "sdncDelete");
\r
267 waitForProcessEnd(businessKey, 10000);
\r
268 WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
\r
269 checkVariable(businessKey, "WorkflowException", null);
\r
271 System.out.println("TestCreateVfModuleSuccess: ErrorCode=" + wfe.getErrorCode() +
\r
272 ", ErrorMessage=" + wfe.getErrorMessage());
\r
279 @Deployment(resources = {
\r
280 "subprocess/DoCreateVnfAndModulesRollback.bpmn",
\r
281 "subprocess/DoCreateVfModuleRollback.bpmn",
\r
282 "subprocess/PrepareUpdateAAIVfModule.bpmn",
\r
283 "subprocess/UpdateAAIVfModule.bpmn",
\r
284 "subprocess/UpdateAAIGenericVnf.bpmn",
\r
285 "subprocess/DeleteAAIVfModule.bpmn",
\r
286 "subprocess/SDNCAdapterV1.bpmn",
\r
287 "subprocess/VnfAdapterRestV1.bpmn",
\r
288 "subprocess/GenericGetVnf.bpmn",
\r
289 "subprocess/GenericDeleteVnf.bpmn",
\r
290 "subprocess/DoDeleteVnf.bpmn"
\r
292 public void TestDoCreateVnfAndModulesRollbackSuccess_AddOn() {
\r
293 // delete the Base Module and Generic Vnf
\r
294 // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c721, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a73
\r
296 "<vnf-request xmlns=\"http://org.openecomp/mso/infra/vnf-request/v1\">" + EOL +
\r
297 " <request-info>" + EOL +
\r
298 " <action>DELETE_VF_MODULE</action>" + EOL +
\r
299 " <source>PORTAL</source>" + EOL +
\r
300 " </request-info>" + EOL +
\r
301 " <vnf-inputs>" + EOL +
\r
302 " <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c721</vnf-id>" + EOL +
\r
303 " <vnf-name>STMTN5MMSC21</vnf-name>" + EOL +
\r
304 " <vnf-type>asc_heat-int</vnf-type>" + EOL +
\r
305 " <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a73</vf-module-id>" + EOL +
\r
306 " <vf-module-name>STMTN5MMSC21-MMSC::module-0-0</vf-module-name>" + EOL +
\r
307 " <service-id>00000000-0000-0000-0000-000000000000</service-id>" + EOL +
\r
308 " <service-type>SDN-ETHERNET-INTERNET</service-type>" + EOL +
\r
309 " <tenant-id>fba1bd1e195a404cacb9ce17a9b2b421</tenant-id>" + EOL +
\r
310 " <orchestration-status>pending-delete</orchestration-status>" + EOL +
\r
311 " <aic-cloud-region>RDM2WAGPLCP</aic-cloud-region>" + EOL +
\r
312 " </vnf-inputs>" + EOL +
\r
313 " <vnf-params xmlns:tns=\"http://org.openecomp/mso/infra/vnf-request/v1\"/>" + EOL +
\r
314 "</vnf-request>" + EOL;
\r
316 mockSDNCAdapter("/SDNCAdapter", "SvcAction>changedelete", 200, "DeleteGenericVNFV1/sdncAdapterResponse.xml");
\r
317 mockSDNCAdapter("/SDNCAdapter", "SvcAction>delete", 200, "DeleteGenericVNFV1/sdncAdapterResponse.xml");
\r
318 mockVNFDelete(".*", "/.*", 202);
\r
319 mockVfModuleDelete("78987");
\r
320 MockGetGenericVnfByName("STMTN5MMSC21", "DoCreateVfModule_getVnfResponse.xml");
\r
321 MockGetGenericVnfById("/a27ce5a9-29c4-4c22-a017-6615ac73c721", "DoCreateVfModule_getVnfResponse.xml", 200);
\r
322 MockGetGenericVnfByIdWithDepth("a27ce5a9-29c4-4c22-a017-6615ac73c721", 1, "DoCreateVfModuleRollback/GenericVnf.xml");
\r
323 MockPatchVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73");
\r
324 MockPatchGenericVnf("a27ce5a9-29c4-4c22-a017-6615ac73c721");
\r
325 MockPutVfModuleId("a27ce5a9-29c4-4c22-a017-6615ac73c721", "973ed047-d251-4fb9-bf1a-65b8949e0a73");
\r
326 MockDeleteGenericVnf("a27ce5a9-29c4-4c22-a017-6615ac73c721", "0000021");
\r
327 MockDeleteVfModuleId("", "", "", 200);
\r
328 String businessKey = UUID.randomUUID().toString();
\r
329 Map<String, Object> variables = new HashMap<>();
\r
330 RollbackData rollbackData = new RollbackData();
\r
332 rollbackData.put("VFMODULE_BASE", "source", "PORTAL");
\r
333 rollbackData.put("VFMODULE_BASE", "vnfid", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
\r
334 rollbackData.put("VFMODULE_BASE", "vnfname", "STMTN5MMSC21");
\r
335 rollbackData.put("VFMODULE_BASE", "vnftype", "asc_heat-int");
\r
336 rollbackData.put("VFMODULE_BASE", "vfmoduleid", "973ed047-d251-4fb9-bf1a-65b8949e0a73");
\r
337 rollbackData.put("VFMODULE_BASE", "vfmodulename", "STMTN5MMSC21-MMSC::module-0-0");
\r
338 rollbackData.put("VFMODULE_BASE", "tenantid", "fba1bd1e195a404cacb9ce17a9b2b421");
\r
339 rollbackData.put("VFMODULE_BASE", "aiccloudregion", "RDM2WAGPLCP");
\r
340 rollbackData.put("VFMODULE_BASE", "heatstackid", "thisisaheatstack");
\r
341 rollbackData.put("VFMODULE_BASE", "contrailNetworkPolicyFqdn0", "MSOTest:DefaultPolicyFQDN1");
\r
342 rollbackData.put("VFMODULE_BASE", "contrailNetworkPolicyFqdn1", "MSOTest:DefaultPolicyFQDN2");
\r
343 rollbackData.put("VFMODULE_BASE", "oamManagementV6Address", "2000:abc:bce:1111");
\r
344 rollbackData.put("VFMODULE_BASE", "oamManagementV4Address", "127.0.0.1");
\r
345 rollbackData.put("VFMODULE_BASE", "rollbackPrepareUpdateVfModule", "true");
\r
346 rollbackData.put("VFMODULE_BASE", "rollbackVnfAdapterCreate", "true");
\r
347 rollbackData.put("VFMODULE_BASE", "rollbackUpdateAAIVfModule", "true");
\r
348 rollbackData.put("VFMODULE_BASE", "rollbackSDNCRequestActivate", "true");
\r
349 rollbackData.put("VFMODULE_BASE", "rollbackCreateAAIVfModule", "true");
\r
350 rollbackData.put("VFMODULE_BASE", "rollbackCreateNetworkPoliciesAAI", "true");
\r
351 rollbackData.put("VFMODULE_BASE", "rollbackUpdateVnfAAI", "true");
\r
352 rollbackData.put("VFMODULE_BASE", "msorequestid", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
\r
353 rollbackData.put("VFMODULE_BASE", "serviceinstanceid", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
\r
356 rollbackData.put("VFMODULE_ADDON_1", "source", "PORTAL");
\r
357 rollbackData.put("VFMODULE_ADDON_1", "vnfid", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
\r
358 rollbackData.put("VFMODULE_ADDON_1", "vnfname", "STMTN5MMSC21");
\r
359 rollbackData.put("VFMODULE_ADDON_1", "vnftype", "asc_heat-int");
\r
360 rollbackData.put("VFMODULE_ADDON_1", "vfmoduleid", "973ed047-d251-4fb9-bf1a-65b8949e0a73");
\r
361 rollbackData.put("VFMODULE_ADDON_1", "vfmodulename", "STMTN5MMSC21-MMSC::module-0-0");
\r
362 rollbackData.put("VFMODULE_ADDON_1", "tenantid", "fba1bd1e195a404cacb9ce17a9b2b421");
\r
363 rollbackData.put("VFMODULE_ADDON_1", "aiccloudregion", "RDM2WAGPLCP");
\r
364 rollbackData.put("VFMODULE_ADDON_1", "heatstackid", "thisisaheatstack");
\r
365 rollbackData.put("VFMODULE_ADDON_1", "contrailNetworkPolicyFqdn0", "MSOTest:DefaultPolicyFQDN1");
\r
366 rollbackData.put("VFMODULE_ADDON_1", "contrailNetworkPolicyFqdn1", "MSOTest:DefaultPolicyFQDN2");
\r
367 rollbackData.put("VFMODULE_ADDON_1", "oamManagementV6Address", "2000:abc:bce:1111");
\r
368 rollbackData.put("VFMODULE_ADDON_1", "oamManagementV4Address", "127.0.0.1");
\r
369 rollbackData.put("VFMODULE_ADDON_1", "rollbackPrepareUpdateVfModule", "true");
\r
370 rollbackData.put("VFMODULE_ADDON_1", "rollbackVnfAdapterCreate", "true");
\r
371 rollbackData.put("VFMODULE_ADDON_1", "rollbackUpdateAAIVfModule", "true");
\r
372 rollbackData.put("VFMODULE_ADDON_1", "rollbackSDNCRequestActivate", "true");
\r
373 rollbackData.put("VFMODULE_ADDON_1", "rollbackCreateAAIVfModule", "true");
\r
374 rollbackData.put("VFMODULE_ADDON_1", "rollbackCreateNetworkPoliciesAAI", "true");
\r
375 rollbackData.put("VFMODULE_ADDON_1", "rollbackUpdateVnfAAI", "true");
\r
376 rollbackData.put("VFMODULE_ADDON_1", "msorequestid", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
\r
377 rollbackData.put("VFMODULE_ADDON_1", "serviceinstanceid", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
\r
379 rollbackData.put("VNF", "vnfId", "testVnfId123");
\r
381 rollbackData.put("VNFANDMODULES", "numOfCreatedAddOnModules", "1");
\r
383 variables.put("isDebugLogEnabled", "true");
\r
384 variables.put("mso-request-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
\r
385 variables.put("mso-service-instance-id", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
\r
388 variables.put("rollbackData", rollbackData);
\r
389 invokeSubProcess("DoCreateVnfAndModulesRollback", businessKey, variables);
\r
391 // "changedelete" operation not required for deleting a Vf Module
\r
392 // injectSDNCCallbacks(callbacks, "sdncChangeDelete");
\r
393 injectVNFRestCallbacks(callbacks, "vnfDelete");
\r
394 injectVNFRestCallbacks(callbacks, "vnfDelete");
\r
395 //waitForRunningProcessCount("DoCreateVnfAndModulesRollback", 0, 120000);
\r
396 injectSDNCCallbacks(callbacks, "sdncDelete");
\r
398 waitForProcessEnd(businessKey, 10000);
\r
399 WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
\r
400 checkVariable(businessKey, "WorkflowException", null);
\r
402 System.out.println("TestCreateVfModuleSuccess: ErrorCode=" + wfe.getErrorCode() +
\r
403 ", ErrorMessage=" + wfe.getErrorMessage());
\r
408 public static void MockDoDeleteVfModule_SDNCSuccess() {
\r
409 stubFor(post(urlEqualTo("/SDNCAdapter"))
\r
410 .withRequestBody(containing("SvcAction>deactivate"))
\r
411 .willReturn(aResponse()
\r
413 .withHeader("Content-Type", "text/xml")
\r
414 .withBodyFile("DeleteGenericVNFV1/sdncAdapterResponse.xml")));
\r
415 stubFor(post(urlEqualTo("/SDNCAdapter"))
\r
416 .withRequestBody(containing("SvcAction>unassign"))
\r
417 .willReturn(aResponse()
\r
419 .withHeader("Content-Type", "text/xml")
\r
420 .withBodyFile("DeleteGenericVNFV1/sdncAdapterResponse.xml")));
\r