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