a94dc85d06ba1871f3f61b48b70353d22fe53f4b
[so.git] /
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.openecomp.mso.bpmn.vcpe;
22
23 import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
24 import static com.github.tomakehurst.wiremock.client.WireMock.post;
25 import static com.github.tomakehurst.wiremock.client.WireMock.stubFor;
26 import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;
27 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetCustomer;
28 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetServiceInstance;
29 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockNodeQueryServiceInstanceById;
30 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPatchAllottedResource;
31 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPutAllottedResource;
32 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPutGenericVnf;
33 import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.MockGetServiceResourcesCatalogData;
34 import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB;
35 import static org.openecomp.mso.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapter;
36 //              TODO: uncomment when Homing BB is merged
37 // import static org.openecomp.mso.bpmn.mock.StubResponseSNIRO.mockSNIRO;
38
39 import java.io.IOException;
40 import java.util.HashMap;
41 import java.util.Map;
42 import java.util.UUID;
43
44 import org.camunda.bpm.engine.test.Deployment;
45 import org.junit.Ignore;
46 import org.junit.Test;
47 import org.openecomp.mso.bpmn.common.WorkflowTest;
48 import org.openecomp.mso.bpmn.common.workflow.service.WorkflowResponse;
49 import org.openecomp.mso.bpmn.mock.FileUtil;
50
51 public class CreateVcpeResCustServiceTest extends WorkflowTest {
52
53         private final CallbackSet callbacks = new CallbackSet();
54         private final String request;
55         
56         public CreateVcpeResCustServiceTest() throws IOException {
57                 callbacks.put("assign", FileUtil.readResourceFile("__files/VCPE/VfModularity/SDNCTopologyAssignCallback.xml"));
58                 callbacks.put("query", FileUtil.readResourceFile("__files/VCPE/SDNCTopologyQueryCallbackNetworkInstance.xml"));
59                 callbacks.put("activate", FileUtil.readResourceFile("__files/VCPE/VfModularity/SDNCTopologyActivateCallback.xml"));
60                 callbacks.put("vnfCreate", FileUtil.readResourceFile("__files/VCPE/VfModularity/VNFAdapterRestCreateCallback.xml"));
61                 callbacks.put("create", FileUtil.readResourceFile("__files/VCPE/VfModularity/SDNCTopologyCreateCallback.xml"));
62                 callbacks.put("queryTXC", FileUtil.readResourceFile("__files/VCPE/DoCreateAllottedResourceTXC/SDNCTopologyQueryCallback.xml"));
63                 callbacks.put("queryBRG", FileUtil.readResourceFile("__files/VCPE/DoCreateAllottedResourceBRG/SDNCTopologyQueryCallback.xml"));
64                 
65                 callbacks.put("sniro", JSON, "SNIROResponse", FileUtil.readResourceFile("__files/BuildingBlocks/sniroCallback2AR1Vnf"));
66                 callbacks.put("sniro2", JSON, "SNIROResponse", FileUtil.readResourceFile("__files/BuildingBlocks/sniroCallback2AR1Vnf2Net"));
67                 callbacks.put("sniroNoSol", JSON, "SNIROResponse", FileUtil.readResourceFile("__files/BuildingBlocks/sniroCallbackNoSolutionFound"));
68                 callbacks.put("sniroPolicyEx", JSON, "SNIROResponse", FileUtil.readResourceFile("__files/BuildingBlocks/sniroCallbackPolicyException"));
69                 callbacks.put("sniroServiceEx", JSON, "SNIROResponse", FileUtil.readResourceFile("__files/BuildingBlocks/sniroCallbackServiceException"));
70                 
71                 request = FileUtil.readResourceFile("__files/VCPE/request.json");
72         }
73
74
75 //      /**
76 //       * End-to-End flow - Unit test for CreateVcpeResCustService.bpmn
77 //       *  - String input & String response
78 //       */
79 //
80 //      @Test
81 //      @Ignore
82 //      @Deployment(resources = {"process/CreateVcpeResCustService.bpmn",
83 //                                       "subprocess/DoCreateServiceInstance.bpmn",
84 //                                       "subprocess/DoCreateServiceInstanceRollback.bpmn",
85 //                                       "subprocess/DoCreateNetworkInstance.bpmn",
86 //                                       "subprocess/DoCreateNetworkInstanceRollback.bpmn",
87 //                                       "subprocess/DoCreateVnfAndModules.bpmn",
88 //                                       "subprocess/DoCreateAllottedResourceTXC.bpmn",
89 //                                       "subprocess/DoCreateAllottedResourceTXCRollback.bpmn",
90 //                                       "subprocess/DoCreateAllottedResourceBRG.bpmn",
91 //                                       "subprocess/DoCreateAllottedResourceBRGRollback.bpmn",
92 //                                       "subprocess/BuildingBlock/DecomposeService.bpmn",
93 //                                       "subprocess/BuildingBlock/Homing.bpmn",
94 //                                       "subprocess/GenericGetService.bpmn",
95 //                                       "subprocess/GenericPutService.bpmn",
96 //                                       "subprocess/SDNCAdapterV1.bpmn",
97 //                                       "subprocess/DoCreateVnf.bpmn",
98 //                                       "subprocess/GenericGetVnf.bpmn",
99 //                                       "subprocess/GenericPutVnf.bpmn",
100 //                                       "subprocess/FalloutHandler.bpmn",
101 //                                       "subprocess/GenericDeleteService.bpmn",
102 //                                       "subprocess/ReceiveWorkflowMessage.bpmn",
103 //                               "subprocess/CompleteMsoProcess.bpmn"})
104 //
105 //      public void invokeCreateServiceInstanceInfra_Success() throws Exception {
106 //
107 //              logStart();
108 //
109 //              // setup simulators
110 //              //MockGetCustomer_VCPE();
111 //              MockGetCustomer("MCBH-1610", "VCPE/getCustomer.xml");
112 //              //MockGetNetworkCatalogData_VCPE();
113 //              MockGetNetworkCatalogData("uuid-miu-svc-011-abcdef", "2", "VCPE/getCatalogNetworkData.json");
114 //              //MockGetVnfCatalogData_VCPE();
115 //              MockGetVnfCatalogData("uuid-miu-svc-011-abcdef", "2", "VCPE/getCatalogVnfData.json");
116 //              //MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef", "VCPE/getCatalogServiceResourcesData.json");
117 //              MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef", "VCPE/getCatalogServiceResourcesDataNoNetworkVnf.json");
118 //              MockGetServiceInstanceById_VCPE();
119 //              MockPutServiceInstance_VCPE();
120 //
121 //              //SDNC Adapter Mocks
122 //              mockSDNCAdapterRest();
123 //              mockSDNCAdapter();
124 //
125 //              //from CreateNetworkInstanceTest
126 //              sdncAdapterNetworkTopologySimulator_CreateNetworkV2();
127 //              MockNetworkAdapterResponse_CreateSuccessV2();
128 //              MockAAIResponse_queryName_CreateNetwork_404V2();         // 'network-name' not in AAI , Ok to Create.
129 //              MockAAIResponse_cloudRegion25_Success();
130 //              MockAAIResponse_queryId_CreateNetwork_SuccessV2();
131 //              MockAAIResponse_queryVpnBinding_CreateNetwork_SuccessV2();
132 //              MockAAIResponse_queryVpnBinding2_CreateNetwork_SuccessV2();
133 //              MockAAIResponse_queryNetworkPolicy_CreateNetwork_SuccessV2();
134 //              MockAAIResponse_queryNetworkTableRef_CreateNetwork_SuccessV2();
135 //              MockAAIResponse_updateContrail_CreateNetwork_SuccessV2();
136 //              MockDBUpdate_Success();
137 //              MocksAAIResponse_queryNetworkInstance_CreateNetwork_Success();
138 //
139 //              //network AAI Mocks
140 //              MockGetNetworkById("680b7453-0ec4-4d96-b355-280d981d418f", "VCPE/getNetwork.xml");
141 //              MockGetNetworkById("444a701a-6419-45b2-aa52-b45a1b719cf6", "VCPE/getNetwork.xml");
142 //              MockGetNetworkById("cf82a73f-de7f-4f84-8dfc-16a487c63a36", "VCPE/getNetwork.xml");
143 //              MockPutNetwork("680b7453-0ec4-4d96-b355-280d981d418f");
144 //              MockPutNetwork("cf82a73f-de7f-4f84-8dfc-16a487c63a36");
145 //
146 //              MockPutGenericVnf("9c61db87-345c-49ae-ac80-472211df5deb");
147 //              
148 //              mockSNIRO();
149 //
150 //              String businessKey = UUID.randomUUID().toString();
151 ////            String createVfModuleRequest =
152 ////                    FileUtil.readResourceFile("__files/VCPE/CreateVfModule_VID_request.json");
153 //
154 //              Map<String, Object> variables = setupVariablesObjectMap();
155 //
156 //              TestAsyncResponse asyncResponse = invokeAsyncProcess("CreateVcpeResCustService",
157 //                      "v1", businessKey, getRequest(), variables);
158 //
159 //              WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000);
160 //
161 //              String responseBody = response.getResponse();
162 //              System.out.println("Workflow (Synch) Response:\n" + responseBody);
163 //
164 //              injectSDNCCallbacks(callbacks, "assign, query");
165 //              injectSDNCCallbacks(callbacks, "activate");
166 //
167 //              // TODO add appropriate assertions
168 //
169 //              waitForProcessEnd(businessKey, 10000);
170 //              checkVariable(businessKey, "CreateVcpeResCustServiceSuccessIndicator", true);
171 //
172 //              logEnd();
173 //      }
174         
175         
176         /**
177          * TEST Decompose + Homing - Unit test for CreateVcpeResCustService.bpmn
178          *  - String input & String response
179          */
180
181         @Test
182 //  TODO: run this test when Homing BB is merged
183         @Ignore
184         @Deployment(resources = {"process/CreateVcpeResCustService.bpmn",
185                                          "subprocess/DoCreateServiceInstance.bpmn",
186                                          "subprocess/DoCreateServiceInstanceRollback.bpmn",
187                                          "subprocess/DoCreateNetworkInstance.bpmn",
188                                          "subprocess/DoCreateNetworkInstanceRollback.bpmn",
189                                          "subprocess/BuildingBlock/DecomposeService.bpmn",
190                                          "subprocess/BuildingBlock/Homing.bpmn",
191                                          "subprocess/GenericGetService.bpmn",
192                                          "subprocess/GenericPutService.bpmn",
193                                          "subprocess/SDNCAdapterV1.bpmn",
194                                          "subprocess/DoCreateVnf.bpmn",
195                                          "subprocess/GenericGetVnf.bpmn",
196                                          "subprocess/GenericPutVnf.bpmn",
197                                          "subprocess/FalloutHandler.bpmn",
198                                          "subprocess/GenericDeleteService.bpmn",
199                                          "subprocess/DoCreateAllottedResourceBRG.bpmn",
200                                          "subprocess/DoCreateAllottedResourceBRGRollback.bpmn",
201                                          "subprocess/DoCreateAllottedResourceTXC.bpmn",
202                                          "subprocess/DoCreateAllottedResourceTXCRollback.bpmn",
203                                  "subprocess/CompleteMsoProcess.bpmn"})
204
205         public void invokeDecompositionHomingCreateServiceInstanceNetwork() throws Exception {
206
207                 logStart();
208
209                 // setup simulators
210                 MockGetCustomer("MCBH-1610", "VCPE/getCustomer.xml");
211
212                 MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef", "2", "VCPE/getCatalogVcpe.json");
213                 
214 //              MockPutServiceInstance_VCPE();
215                 
216 //              MockGetNetworkByIdWithDepth("680b7453-0ec4-4d96-b355-280d981d418f", "VCPE/CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml", "1");
217 //              MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "VCPE/CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml", "1");
218
219                 MockPutGenericVnf("39ae1b77-4edd-4e94-846a-d087a35a2260");
220                 
221                 // stuff to satisfy TXC & BRG subflows
222                 MockNodeQueryServiceInstanceById("MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getSIUrlById.xml");
223                 MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getServiceInstance.xml");
224                 MockNodeQueryServiceInstanceById("MIS%252F1604%252F0027%252FSW_INTERNET", "GenericFlows/getParentSIUrlById.xml");
225                 MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0027%252FSW_INTERNET", "GenericFlows/getParentServiceInstance.xml");
226                 MockPutAllottedResource("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0027%252FSW_INTERNET", "arId-1");
227                 MockPatchAllottedResource("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0027%252FSW_INTERNET", "arId-1");
228                 
229                 mockSDNCAdapter(200);
230
231                 mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");
232
233 //              TODO: uncomment when Homing BB is merged
234 //              mockSNIRO();
235
236                 //Below works for Homing/Sniro
237                 
238                 Map<String, Object> variables = setupVariablesObjectMap();
239
240                 String businessKey = UUID.randomUUID().toString();
241                 TestAsyncResponse asyncResponse = invokeAsyncProcess("CreateVcpeResCustService",
242                         "v1", businessKey, request, variables);
243                                 
244                 WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000);
245                 
246                 String responseBody = response.getResponse();
247                 System.out.println("Workflow (Synch) Response:\n" + responseBody);
248
249                 injectWorkflowMessages(callbacks, "sniro");
250                 injectSDNCCallbacks(callbacks, "assign, create, activate, queryTXC");
251                 injectSDNCCallbacks(callbacks, "assign, create, activate, queryBRG");
252
253                 waitForProcessEnd(businessKey, 10000);
254                 checkVariable(businessKey, "CreateVcpeResCustServiceSuccessIndicator", true);
255
256                 logEnd();
257         }
258         
259         
260         /**
261          * TEST Decompose + Homing - Unit test for CreateVcpeResCustService.bpmn
262          *  - String input & String response
263          */
264
265 //      @Test
266 //      @Deployment(resources = {"process/CreateVcpeResCustService.bpmn",
267 //                                       "subprocess/DoCreateServiceInstance.bpmn",
268 //                                       "subprocess/DoCreateServiceInstanceRollback.bpmn",
269 //                                       "subprocess/DoCreateNetworkInstance.bpmn",
270 //                                       "subprocess/DoCreateNetworkInstanceRollback.bpmn",
271 //                                       "subprocess/BuildingBlock/DecomposeService.bpmn",
272 //                                       "subprocess/BuildingBlock/Homing.bpmn",
273 //                                       "subprocess/DoCreateAllottedResourceTXC.bpmn",
274 //                                       "subprocess/DoCreateAllottedResourceTXCRollback.bpmn",
275 //                                       "subprocess/DoCreateAllottedResourceBRG.bpmn",
276 //                                       "subprocess/DoCreateAllottedResourceBRGRollback.bpmn",
277 //                                       "subprocess/GenericGetService.bpmn",
278 //                                       "subprocess/GenericPutService.bpmn",
279 //                                       "subprocess/SDNCAdapterV1.bpmn",
280 //                                       "subprocess/DoCreateVnf.bpmn",
281 //                                       "subprocess/GenericGetVnf.bpmn",
282 //                                       "subprocess/GenericPutVnf.bpmn",
283 //                                       "subprocess/FalloutHandler.bpmn",
284 //                                       "subprocess/GenericDeleteService.bpmn",
285 //                                       "subprocess/ReceiveWorkflowMessage.bpmn",
286 //                               "subprocess/CompleteMsoProcess.bpmn"})
287 //
288 //      public void invokeDecompositionHomingCreateServiceInstanceARs() throws Exception {
289 //
290 //              logStart();
291 //
292 //              // setup simulators
293 //              MockGetCustomer("MCBH-1610", "VCPE/getCustomer.xml");
294 //
295 //              MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef", "VCPE/getCatalogServiceResourcesDataServiceAllotted.json");
296 //              
297 //              MockPutServiceInstance_VCPE();
298 //              //network AAI Mocks
299 //              MockGetNetworkById("cf82a73f-de7f-4f84-8dfc-16a487c63a36", "VCPE/getNetwork.xml");
300 //              MockPutNetwork("cf82a73f-de7f-4f84-8dfc-16a487c63a36");
301 //              
302 //              MockNodeQueryServiceInstanceById("c763d462-dfe4-4577-9706-fa3a9db640be", "VCPE/getSIUrlById.xml");
303 //              
304 //              mockSDNCAdapter();
305 //
306 //              MockNodeQueryServiceInstanceById("MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getSIUrlById.xml");
307 //              MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET");
308 //              MockPutAllottedResource("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "arId-1");
309 //              MockPutAllottedResource("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET_in-use", "arId-1");
310 //              MockPatchAllottedResource("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET_in-use", "arId-1");
311 //              
312 //              
313 //              MockDBUpdateVfModule();
314 //              
315 //              mockSNIRO();
316 //
317 //              String businessKey = UUID.randomUUID().toString();
318 //
319 //              //Below works for Homing/Sniro
320 //              
321 //              Map<String, Object> variables = setupVariablesObjectMap();
322 //              TestAsyncResponse asyncResponse = invokeAsyncProcess("CreateVcpeResCustService", "v1", businessKey, getRequest(), variables);
323 //              WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000);
324 //              String responseBody = response.getResponse();
325 //              System.out.println("Workflow (Synch) Response:\n" + responseBody);
326 //              
327 //              //Below is from CreateVcpeResCustService
328 ////            Map<String, String> variables = setupVariables();
329 ////            WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "CreateVcpeResCustService", variables);
330 ////            waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
331 ////            String workflowResp = BPMNUtil.getVariable(processEngineRule, "CreateVcpeResCustService", "WorkflowResponse");
332 //
333 //              injectWorkflowMessages(callbacks, "sniro");
334 //              // TODO add appropriate assertions
335 //              injectSDNCCallbacks(callbacks, "assign, query, create, activate, queryTXC, assign, create, activate, queryBRG");
336 //              waitForProcessEnd(businessKey, 10000);
337 //
338 ////            checkVariable(businessKey, "CreateVcpeResCustServiceSuccessIndicator", true);
339 //
340 //              logEnd();
341 //      }
342 //
343 //      
344 //      /**
345 //       * TEST Decompose + Homing - Unit test for CreateVcpeResCustService.bpmn
346 //       *  - String input & String response
347 //       */
348 //
349 //      @Test
350 //      //@Ignore
351 //      @Deployment(resources = {"process/CreateVcpeResCustService.bpmn",
352 //                                       "subprocess/DoCreateServiceInstance.bpmn",
353 //                                       "subprocess/DoCreateServiceInstanceRollback.bpmn",
354 //                                       "subprocess/DoCreateNetworkInstance.bpmn",
355 //                                       "subprocess/DoCreateNetworkInstanceRollback.bpmn",
356 //                                       "subprocess/BuildingBlock/DecomposeService.bpmn",
357 //                                       "subprocess/BuildingBlock/Homing.bpmn",
358 //                                       "subprocess/DoCreateVnfAndModules.bpmn",
359 //                                       "subprocess/DoCreateVnfAndModulesRollback.bpmn",
360 //                                       "subprocess/DoCreateAllottedResourceTXC.bpmn",
361 //                                       "subprocess/DoCreateAllottedResourceTXCRollback.bpmn",
362 //                                       "subprocess/DoCreateAllottedResourceBRG.bpmn",
363 //                                       "subprocess/DoCreateAllottedResourceBRGRollback.bpmn",
364 //                                       "subprocess/GenericGetService.bpmn",
365 //                                       "subprocess/GenericPutService.bpmn",
366 //                                       "subprocess/SDNCAdapterV1.bpmn",
367 //                                       "subprocess/DoCreateVnf.bpmn",
368 //                                       "subprocess/GenericGetVnf.bpmn",
369 //                                       "subprocess/GenericPutVnf.bpmn",
370 //                                       "subprocess/FalloutHandler.bpmn",
371 //                                       "subprocess/GenericDeleteService.bpmn",
372 //                                       "subprocess/ReceiveWorkflowMessage.bpmn",
373 //                               "subprocess/CompleteMsoProcess.bpmn"})
374 //
375 //      public void invokeDecompositionHomingCreateServiceVnf() throws Exception {
376 //
377 //              logStart();
378 //
379 //              // setup simulators
380 //              MockGetCustomer("MCBH-1610", "VCPE/getCustomer.xml");
381 //
382 //              MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef", "VCPE/getCatalogServiceResourcesServiceVnf.json");
383 //              
384 //              MockPutServiceInstance_VCPE();
385 //              //network AAI Mocks
386 //              MockGetNetworkById("cf82a73f-de7f-4f84-8dfc-16a487c63a36", "VCPE/getNetwork.xml");
387 //              MockPutNetwork("cf82a73f-de7f-4f84-8dfc-16a487c63a36");
388 //              
389 //              MockNodeQueryServiceInstanceById("c763d462-dfe4-4577-9706-fa3a9db640be", "VCPE/getSIUrlById.xml");
390 //              
391 //              
392 //              MockNodeQueryServiceInstanceById("MIS%2F1604%2F0026%2FSW_INTERNET", "GenericFlows/getSIUrlByIdVcpe.xml");
393 //              MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET");
394 //              MockGetGenericVnfById_404("testVnfId");
395 //              MockPutGenericVnf(".*");
396 //              MockAAIVfModule();
397 //              MockPatchGenericVnf("skask");
398 //              MockPatchVfModuleId("skask", ".*");
399 //              MockSDNCAdapterVfModule();              
400 //              MockVNFAdapterRestVfModule();
401 //              MockDBUpdateVfModule(); 
402 //              
403 //              
404 //              mockSDNCAdapter();
405 //              //mockSDNCAdapterRest();
406 //              
407 //              //MockSDNCAdapterServiceInstanceModule();
408 //              
409 //              //mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologyRsrcAssignResponse.xml", "SvcAction>assign");
410 //              
411 //              MockDBUpdateVfModule();
412 //              
413 //              mockSNIRO();
414 //
415 //              String businessKey = UUID.randomUUID().toString();
416 //
417 //              //Below works for Homing/Sniro
418 //              
419 //              Map<String, Object> variables = setupVariablesObjectMap();
420 //              TestAsyncResponse asyncResponse = invokeAsyncProcess("CreateVcpeResCustService", "v1", businessKey, getRequest(), variables);
421 //              WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000);
422 //              String responseBody = response.getResponse();
423 //              System.out.println("Workflow (Synch) Response:\n" + responseBody);
424 //              
425 //              //Below is from CreateVcpeResCustService
426 ////            Map<String, String> variables = setupVariables();
427 ////            WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "CreateVcpeResCustService", variables);
428 ////            waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
429 ////            String workflowResp = BPMNUtil.getVariable(processEngineRule, "CreateVcpeResCustService", "WorkflowResponse");
430 //
431 //              injectWorkflowMessages(callbacks, "sniro");
432 //              // TODO add appropriate assertions
433 //              injectSDNCCallbacks(callbacks, "assign, query");
434 //              waitForProcessEnd(businessKey, 10000);
435 //
436 ////            checkVariable(businessKey, "CreateVcpeResCustServiceSuccessIndicator", true);
437 //
438 //              logEnd();
439 //      }
440 //      
441 //      
442 //      /**
443 //       * TEST Decompose + Homing - Unit test for CreateVcpeResCustService.bpmn
444 //       *  - String input & String response
445 //       */
446 //
447 //      @Test
448 //      //@Ignore
449 //      @Deployment(resources = {"process/CreateVcpeResCustService.bpmn",
450 //                                       "subprocess/DoCreateServiceInstance.bpmn",
451 //                                       "subprocess/DoCreateServiceInstanceRollback.bpmn",
452 //                                       "subprocess/DoCreateNetworkInstance.bpmn",
453 //                                       "subprocess/DoCreateNetworkInstanceRollback.bpmn",
454 //                                       "subprocess/BuildingBlock/DecomposeService.bpmn",
455 //                                       "subprocess/BuildingBlock/Homing.bpmn",
456 //                                       "subprocess/DoCreateVnfAndModules.bpmn",
457 //                                       "subprocess/DoCreateVnfAndModulesRollback.bpmn",
458 //                                       "subprocess/DoCreateAllottedResourceTXC.bpmn",
459 //                                       "subprocess/DoCreateAllottedResourceTXCRollback.bpmn",
460 //                                       "subprocess/DoCreateAllottedResourceBRG.bpmn",
461 //                                       "subprocess/DoCreateAllottedResourceBRGRollback.bpmn",
462 //                                       "subprocess/GenericGetService.bpmn",
463 //                                       "subprocess/GenericPutService.bpmn",
464 //                                       "subprocess/SDNCAdapterV1.bpmn",
465 //                                       "subprocess/DoCreateVnf.bpmn",
466 //                                       "subprocess/GenericGetVnf.bpmn",
467 //                                       "subprocess/GenericPutVnf.bpmn",
468 //                                       "subprocess/FalloutHandler.bpmn",
469 //                                       "subprocess/GenericDeleteService.bpmn",
470 //                                       "subprocess/ReceiveWorkflowMessage.bpmn",
471 //                               "subprocess/CompleteMsoProcess.bpmn"})
472 //
473 //      public void invokeCreateAll() throws Exception {
474 //
475 //              logStart();
476 //
477 //              // setup simulators
478 //              MockGetCustomer("MCBH-1610", "VCPE/getCustomer.xml");
479 //
480 //              MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef", "VCPE/getCatalogServiceResourcesData.json");
481 //              
482 //              MockPutServiceInstance_VCPE();
483 //              //network AAI Mocks
484 //              MockGetNetworkById("cf82a73f-de7f-4f84-8dfc-16a487c63a36", "VCPE/getNetwork.xml");
485 //              MockPutNetwork("cf82a73f-de7f-4f84-8dfc-16a487c63a36");
486 //              
487 //              MockNodeQueryServiceInstanceById("c763d462-dfe4-4577-9706-fa3a9db640be", "VCPE/getSIUrlById.xml");
488 //              
489 //              MockGetNetworkByIdWithDepth("680b7453-0ec4-4d96-b355-280d981d418f", "VCPE/CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml", "1");
490 //              MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "VCPE/CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml", "1");
491 //              MockNetworkAdapterPost("CreateNetworkV2/createNetworkResponse_Success.xml", "VCPE/createNetworkRequest");
492 //              MockGetNetworkVpnBindingWithDepth("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "85f015d0-2e32-4c30-96d2-87a1a27f8017", "all");
493 //              MockGetNetworkVpnBindingWithDepth("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "c980a6ef-3b88-49f0-9751-dbad8608d0a6", "all");
494 //              MockGetNetworkPolicyWithDepth("CreateNetworkV2/createNetwork_queryNetworkPolicy_AAIResponse_Success.xml", "cee6d136-e378-4678-a024-2cd15f0ee0cg", "all");
495 //              MockGetNetworkTableReferenceWithDepth("CreateNetworkV2/createNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", "refFQDN1", "all");
496 //              MockGetNetworkTableReferenceWithDepth("CreateNetworkV2/createNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", "refFQDN2", "all");
497 //              MockPutNetworkIdWithDepth("CreateNetworkV2/createNetwork_updateContrail_AAIResponse_Success.xml", "680b7453-0ec4-4d96-b355-280d981d418f", "1");
498 //              MockPutNetworkIdWithDepth("CreateNetworkV2/createNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "1");
499 //              
500 //              
501 //              MockNodeQueryServiceInstanceById("MIS%2F1604%2F0026%2FSW_INTERNET", "GenericFlows/getSIUrlByIdVcpe.xml");
502 //              MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET");
503 //              MockGetGenericVnfById_404("testVnfId");
504 //              MockPutGenericVnf(".*");
505 //              MockAAIVfModule();
506 //              MockPatchGenericVnf("skask");
507 //              MockPatchVfModuleId("skask", ".*");
508 //              MockSDNCAdapterVfModule();              
509 //              MockVNFAdapterRestVfModule();
510 //              MockDBUpdateVfModule(); 
511 //              
512 //              
513 //              mockSDNCAdapter();
514 //              //mockSDNCAdapterRest();
515 //              
516 //              //MockSDNCAdapterServiceInstanceModule();
517 //              
518 //              //mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologyRsrcAssignResponse.xml", "SvcAction>assign");
519 //              
520 //              MockDBUpdateVfModule();
521 //              
522 //              mockSNIRO();
523 //
524 //              String businessKey = UUID.randomUUID().toString();
525 //
526 //              //Below works for Homing/Sniro
527 //              
528 //              Map<String, Object> variables = setupVariablesObjectMap();
529 //              TestAsyncResponse asyncResponse = invokeAsyncProcess("CreateVcpeResCustService", "v1", businessKey, getRequest(), variables);
530 //              WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000);
531 //              String responseBody = response.getResponse();
532 //              System.out.println("Workflow (Synch) Response:\n" + responseBody);
533 //              
534 //              //Below is from CreateVcpeResCustService
535 ////            Map<String, String> variables = setupVariables();
536 ////            WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "CreateVcpeResCustService", variables);
537 ////            waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
538 ////            String workflowResp = BPMNUtil.getVariable(processEngineRule, "CreateVcpeResCustService", "WorkflowResponse");
539 //
540 //              injectWorkflowMessages(callbacks, "sniro");
541 //              // TODO add appropriate assertions
542 //              injectSDNCCallbacks(callbacks, "assign, query");
543 //              waitForProcessEnd(businessKey, 10000);
544 //
545 ////            checkVariable(businessKey, "CreateVcpeResCustServiceSuccessIndicator", true);
546 //
547 //              logEnd();
548 //      }
549         
550         // *****************
551         // Utility Section
552         // *****************
553
554         // Success Scenario
555         private Map<String, Object> setupVariablesObjectMap() {
556                 Map<String, Object> variables = new HashMap<>();
557                 variables.put("requestId", "testRequestId");
558                 variables.put("request-id", "testRequestId");
559                 variables.put("CREVAS_testServiceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); // assigned for testing
560                 variables.put("serviceInstanceId", "c763d462-dfe4-4577-9706-fa3a9db640be");// unit test
561                 variables.put("sourceNetworkId", "c763d462-dfe4-4577-9706-fa3a9db640be");// unit test
562                 variables.put("networkId", "c763d462-dfe4-4577-9706-fa3a9db640be");// unit test
563                 variables.put("sourceNetworkRole", "whoknows");// unit test
564                 variables.put("allottedResourceId", "arId-1");
565                 variables.put("junitSleepMs", "5");
566                 return variables;
567
568         }
569
570 //      private Map<String, String> setupVariables() {
571 //              Map<String, String> variables = new HashMap<String, String>();
572 //              variables.put("bpmnRequest", getRequest());
573 //              variables.put("mso-request-id", "testRequestId");
574 //              variables.put("CREVAS_testServiceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4"); // assigned for testing
575 //              variables.put("serviceInstanceId", "c763d462-dfe4-4577-9706-fa3a9db640be");// unit test
576 //              variables.put("sourceNetworkId", "c763d462-dfe4-4577-9706-fa3a9db640be");// unit test
577 //              variables.put("sourceNetworkRole", "whoknows");// unit test
578 //              variables.put("allottedResourceId", "arId-1");
579 //              variables.put("junitSleepMs", "5");
580 //              return variables;
581 //
582 //      }
583         
584         // start of mocks used locally and by other VF Module unit tests
585         public static void MockSDNCAdapterVfModule() {
586                 // simplified the implementation to return "success" for all requests
587                 stubFor(post(urlEqualTo("/SDNCAdapter"))
588 //                      .withRequestBody(containing("SvcInstanceId><"))
589                         .willReturn(aResponse()
590                                 .withStatus(200)
591                                 .withHeader("Content-Type", "text/xml")
592                                 .withBodyFile("VfModularity/StandardSDNCSynchResponse.xml")));
593 //              stubFor(post(urlEqualTo("/SDNCAdapter"))
594 //                              .withRequestBody(containing("vnf-type>STMTN"))
595 //                              .willReturn(aResponse()
596 //                                      .withStatus(200)
597 //                                      .withHeader("Content-Type", "text/xml")
598 //                                      .withBodyFile("VfModularity/StandardSDNCSynchResponse.xml")));
599 //              stubFor(post(urlEqualTo("/SDNCAdapter"))
600 //                              .withRequestBody(containing("SvcAction>query"))
601 //                              .willReturn(aResponse()
602 //                                      .withStatus(200)
603 //                                      .withHeader("Content-Type", "text/xml")
604 //                                      .withBodyFile("VfModularity/StandardSDNCSynchResponse.xml")));
605         }
606         
607
608         
609         
610 }