- /**
- * TEST Decompose + Homing - Unit test for CreateVcpeResCustService.bpmn
- * - String input & String response
- */
-
-// @Test
-// @Deployment(resources = {"process/CreateVcpeResCustService.bpmn",
-// "subprocess/DoCreateServiceInstance.bpmn",
-// "subprocess/DoCreateServiceInstanceRollback.bpmn",
-// "subprocess/DoCreateNetworkInstance.bpmn",
-// "subprocess/DoCreateNetworkInstanceRollback.bpmn",
-// "subprocess/BuildingBlock/DecomposeService.bpmn",
-// "subprocess/BuildingBlock/Homing.bpmn",
-// "subprocess/DoCreateAllottedResourceTXC.bpmn",
-// "subprocess/DoCreateAllottedResourceTXCRollback.bpmn",
-// "subprocess/DoCreateAllottedResourceBRG.bpmn",
-// "subprocess/DoCreateAllottedResourceBRGRollback.bpmn",
-// "subprocess/GenericGetService.bpmn",
-// "subprocess/GenericPutService.bpmn",
-// "subprocess/SDNCAdapterV1.bpmn",
-// "subprocess/DoCreateVnf.bpmn",
-// "subprocess/GenericGetVnf.bpmn",
-// "subprocess/GenericPutVnf.bpmn",
-// "subprocess/FalloutHandler.bpmn",
-// "subprocess/GenericDeleteService.bpmn",
-// "subprocess/ReceiveWorkflowMessage.bpmn",
-// "subprocess/CompleteMsoProcess.bpmn"})
-//
-// public void invokeDecompositionHomingCreateServiceInstanceARs() throws Exception {
-//
-// logStart();
-//
-// // setup simulators
-// MockGetCustomer("MCBH-1610", "VCPE/getCustomer.xml");
-//
-// MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef", "VCPE/getCatalogServiceResourcesDataServiceAllotted.json");
-//
-// MockPutServiceInstance_VCPE();
-// //network AAI Mocks
-// MockGetNetworkById("cf82a73f-de7f-4f84-8dfc-16a487c63a36", "VCPE/getNetwork.xml");
-// MockPutNetwork("cf82a73f-de7f-4f84-8dfc-16a487c63a36");
-//
-// MockNodeQueryServiceInstanceById("c763d462-dfe4-4577-9706-fa3a9db640be", "VCPE/getSIUrlById.xml");
-//
-// mockSDNCAdapter();
-//
-// MockNodeQueryServiceInstanceById("MIS%252F1604%252F0026%252FSW_INTERNET", "GenericFlows/getSIUrlById.xml");
-// MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET");
-// MockPutAllottedResource("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET", "arId-1");
-// MockPutAllottedResource("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET_in-use", "arId-1");
-// MockPatchAllottedResource("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET_in-use", "arId-1");
-//
-//
-// MockDBUpdateVfModule();
-//
-// mockSNIRO();
-//
-// String businessKey = UUID.randomUUID().toString();
-//
-// //Below works for Homing/Sniro
-//
-// Map<String, Object> variables = setupVariablesObjectMap();
-// TestAsyncResponse asyncResponse = invokeAsyncProcess("CreateVcpeResCustService", "v1", businessKey, getRequest(), variables);
-// WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000);
-// String responseBody = response.getResponse();
-// System.out.println("Workflow (Synch) Response:\n" + responseBody);
-//
-// //Below is from CreateVcpeResCustService
-//// Map<String, String> variables = setupVariables();
-//// WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "CreateVcpeResCustService", variables);
-//// waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
-//// String workflowResp = BPMNUtil.getVariable(processEngineRule, "CreateVcpeResCustService", "WorkflowResponse");
-//
-// injectWorkflowMessages(callbacks, "sniro");
-// // TODO add appropriate assertions
-// injectSDNCCallbacks(callbacks, "assign, query, create, activate, queryTXC, assign, create, activate, queryBRG");
-// waitForProcessEnd(businessKey, 10000);
-//
-//// checkVariable(businessKey, "CreateVcpeResCustServiceSuccessIndicator", true);
-//
-// logEnd();
-// }
-//
-//
-// /**
-// * TEST Decompose + Homing - Unit test for CreateVcpeResCustService.bpmn
-// * - String input & String response
-// */
-//
-// @Test
-// //@Ignore
-// @Deployment(resources = {"process/CreateVcpeResCustService.bpmn",
-// "subprocess/DoCreateServiceInstance.bpmn",
-// "subprocess/DoCreateServiceInstanceRollback.bpmn",
-// "subprocess/DoCreateNetworkInstance.bpmn",
-// "subprocess/DoCreateNetworkInstanceRollback.bpmn",
-// "subprocess/BuildingBlock/DecomposeService.bpmn",
-// "subprocess/BuildingBlock/Homing.bpmn",
-// "subprocess/DoCreateVnfAndModules.bpmn",
-// "subprocess/DoCreateVnfAndModulesRollback.bpmn",
-// "subprocess/DoCreateAllottedResourceTXC.bpmn",
-// "subprocess/DoCreateAllottedResourceTXCRollback.bpmn",
-// "subprocess/DoCreateAllottedResourceBRG.bpmn",
-// "subprocess/DoCreateAllottedResourceBRGRollback.bpmn",
-// "subprocess/GenericGetService.bpmn",
-// "subprocess/GenericPutService.bpmn",
-// "subprocess/SDNCAdapterV1.bpmn",
-// "subprocess/DoCreateVnf.bpmn",
-// "subprocess/GenericGetVnf.bpmn",
-// "subprocess/GenericPutVnf.bpmn",
-// "subprocess/FalloutHandler.bpmn",
-// "subprocess/GenericDeleteService.bpmn",
-// "subprocess/ReceiveWorkflowMessage.bpmn",
-// "subprocess/CompleteMsoProcess.bpmn"})
-//
-// public void invokeDecompositionHomingCreateServiceVnf() throws Exception {
-//
-// logStart();
-//
-// // setup simulators
-// MockGetCustomer("MCBH-1610", "VCPE/getCustomer.xml");
-//
-// MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef", "VCPE/getCatalogServiceResourcesServiceVnf.json");
-//
-// MockPutServiceInstance_VCPE();
-// //network AAI Mocks
-// MockGetNetworkById("cf82a73f-de7f-4f84-8dfc-16a487c63a36", "VCPE/getNetwork.xml");
-// MockPutNetwork("cf82a73f-de7f-4f84-8dfc-16a487c63a36");
-//
-// MockNodeQueryServiceInstanceById("c763d462-dfe4-4577-9706-fa3a9db640be", "VCPE/getSIUrlById.xml");
-//
-//
-// MockNodeQueryServiceInstanceById("MIS%2F1604%2F0026%2FSW_INTERNET", "GenericFlows/getSIUrlByIdVcpe.xml");
-// MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET");
-// MockGetGenericVnfById_404("testVnfId");
-// MockPutGenericVnf(".*");
-// MockAAIVfModule();
-// MockPatchGenericVnf("skask");
-// MockPatchVfModuleId("skask", ".*");
-// MockSDNCAdapterVfModule();
-// MockVNFAdapterRestVfModule();
-// MockDBUpdateVfModule();
-//
-//
-// mockSDNCAdapter();
-// //mockSDNCAdapterRest();
-//
-// //MockSDNCAdapterServiceInstanceModule();
-//
-// //mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologyRsrcAssignResponse.xml", "SvcAction>assign");
-//
-// MockDBUpdateVfModule();
-//
-// mockSNIRO();
-//
-// String businessKey = UUID.randomUUID().toString();
-//
-// //Below works for Homing/Sniro
-//
-// Map<String, Object> variables = setupVariablesObjectMap();
-// TestAsyncResponse asyncResponse = invokeAsyncProcess("CreateVcpeResCustService", "v1", businessKey, getRequest(), variables);
-// WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000);
-// String responseBody = response.getResponse();
-// System.out.println("Workflow (Synch) Response:\n" + responseBody);
-//
-// //Below is from CreateVcpeResCustService
-//// Map<String, String> variables = setupVariables();
-//// WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "CreateVcpeResCustService", variables);
-//// waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
-//// String workflowResp = BPMNUtil.getVariable(processEngineRule, "CreateVcpeResCustService", "WorkflowResponse");
-//
-// injectWorkflowMessages(callbacks, "sniro");
-// // TODO add appropriate assertions
-// injectSDNCCallbacks(callbacks, "assign, query");
-// waitForProcessEnd(businessKey, 10000);
-//
-//// checkVariable(businessKey, "CreateVcpeResCustServiceSuccessIndicator", true);
-//
-// logEnd();
-// }
-//
-//
-// /**
-// * TEST Decompose + Homing - Unit test for CreateVcpeResCustService.bpmn
-// * - String input & String response
-// */
-//
-// @Test
-// //@Ignore
-// @Deployment(resources = {"process/CreateVcpeResCustService.bpmn",
-// "subprocess/DoCreateServiceInstance.bpmn",
-// "subprocess/DoCreateServiceInstanceRollback.bpmn",
-// "subprocess/DoCreateNetworkInstance.bpmn",
-// "subprocess/DoCreateNetworkInstanceRollback.bpmn",
-// "subprocess/BuildingBlock/DecomposeService.bpmn",
-// "subprocess/BuildingBlock/Homing.bpmn",
-// "subprocess/DoCreateVnfAndModules.bpmn",
-// "subprocess/DoCreateVnfAndModulesRollback.bpmn",
-// "subprocess/DoCreateAllottedResourceTXC.bpmn",
-// "subprocess/DoCreateAllottedResourceTXCRollback.bpmn",
-// "subprocess/DoCreateAllottedResourceBRG.bpmn",
-// "subprocess/DoCreateAllottedResourceBRGRollback.bpmn",
-// "subprocess/GenericGetService.bpmn",
-// "subprocess/GenericPutService.bpmn",
-// "subprocess/SDNCAdapterV1.bpmn",
-// "subprocess/DoCreateVnf.bpmn",
-// "subprocess/GenericGetVnf.bpmn",
-// "subprocess/GenericPutVnf.bpmn",
-// "subprocess/FalloutHandler.bpmn",
-// "subprocess/GenericDeleteService.bpmn",
-// "subprocess/ReceiveWorkflowMessage.bpmn",
-// "subprocess/CompleteMsoProcess.bpmn"})
-//
-// public void invokeCreateAll() throws Exception {
-//
-// logStart();
-//
-// // setup simulators
-// MockGetCustomer("MCBH-1610", "VCPE/getCustomer.xml");
-//
-// MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef", "VCPE/getCatalogServiceResourcesData.json");
-//
-// MockPutServiceInstance_VCPE();
-// //network AAI Mocks
-// MockGetNetworkById("cf82a73f-de7f-4f84-8dfc-16a487c63a36", "VCPE/getNetwork.xml");
-// MockPutNetwork("cf82a73f-de7f-4f84-8dfc-16a487c63a36");
-//
-// MockNodeQueryServiceInstanceById("c763d462-dfe4-4577-9706-fa3a9db640be", "VCPE/getSIUrlById.xml");
-//
-// MockGetNetworkByIdWithDepth("680b7453-0ec4-4d96-b355-280d981d418f", "VCPE/CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml", "1");
-// MockGetNetworkByIdWithDepth("49c86598-f766-46f8-84f8-8d1c1b10f9b4", "VCPE/CreateNetworkV2/createNetwork_queryNetworkId_AAIResponse_Success.xml", "1");
-// MockNetworkAdapterPost("CreateNetworkV2/createNetworkResponse_Success.xml", "VCPE/createNetworkRequest");
-// MockGetNetworkVpnBindingWithDepth("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "85f015d0-2e32-4c30-96d2-87a1a27f8017", "all");
-// MockGetNetworkVpnBindingWithDepth("CreateNetworkV2/createNetwork_queryVpnBinding_AAIResponse_Success.xml", "c980a6ef-3b88-49f0-9751-dbad8608d0a6", "all");
-// MockGetNetworkPolicyWithDepth("CreateNetworkV2/createNetwork_queryNetworkPolicy_AAIResponse_Success.xml", "cee6d136-e378-4678-a024-2cd15f0ee0cg", "all");
-// MockGetNetworkTableReferenceWithDepth("CreateNetworkV2/createNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", "refFQDN1", "all");
-// MockGetNetworkTableReferenceWithDepth("CreateNetworkV2/createNetwork_queryNetworkTableRef1_AAIResponse_Success.xml", "refFQDN2", "all");
-// MockPutNetworkIdWithDepth("CreateNetworkV2/createNetwork_updateContrail_AAIResponse_Success.xml", "680b7453-0ec4-4d96-b355-280d981d418f", "1");
-// MockPutNetworkIdWithDepth("CreateNetworkV2/createNetwork_updateContrail_AAIResponse_Success.xml", "49c86598-f766-46f8-84f8-8d1c1b10f9b4", "1");
-//
-//
-// MockNodeQueryServiceInstanceById("MIS%2F1604%2F0026%2FSW_INTERNET", "GenericFlows/getSIUrlByIdVcpe.xml");
-// MockGetServiceInstance("SDN-ETHERNET-INTERNET", "123456789", "MIS%252F1604%252F0026%252FSW_INTERNET");
-// MockGetGenericVnfById_404("testVnfId");
-// MockPutGenericVnf(".*");
-// MockAAIVfModule();
-// MockPatchGenericVnf("skask");
-// MockPatchVfModuleId("skask", ".*");
-// MockSDNCAdapterVfModule();
-// MockVNFAdapterRestVfModule();
-// MockDBUpdateVfModule();
-//
-//
-// mockSDNCAdapter();
-// //mockSDNCAdapterRest();
-//
-// //MockSDNCAdapterServiceInstanceModule();
-//
-// //mockSDNCAdapterTopology("CreateNetworkV2mock/sdncCreateNetworkTopologyRsrcAssignResponse.xml", "SvcAction>assign");
-//
-// MockDBUpdateVfModule();
-//
-// mockSNIRO();
-//
-// String businessKey = UUID.randomUUID().toString();
-//
-// //Below works for Homing/Sniro
-//
-// Map<String, Object> variables = setupVariablesObjectMap();
-// TestAsyncResponse asyncResponse = invokeAsyncProcess("CreateVcpeResCustService", "v1", businessKey, getRequest(), variables);
-// WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000);
-// String responseBody = response.getResponse();
-// System.out.println("Workflow (Synch) Response:\n" + responseBody);
-//
-// //Below is from CreateVcpeResCustService
-//// Map<String, String> variables = setupVariables();
-//// WorkflowResponse workflowResponse = executeWorkFlow(processEngineRule, "CreateVcpeResCustService", variables);
-//// waitForWorkflowToFinish(processEngineRule, workflowResponse.getProcessInstanceID());
-//// String workflowResp = BPMNUtil.getVariable(processEngineRule, "CreateVcpeResCustService", "WorkflowResponse");
-//
-// injectWorkflowMessages(callbacks, "sniro");
-// // TODO add appropriate assertions
-// injectSDNCCallbacks(callbacks, "assign, query");
-// waitForProcessEnd(businessKey, 10000);
-//
-//// checkVariable(businessKey, "CreateVcpeResCustServiceSuccessIndicator", true);
-//
-// logEnd();
-// }
+ public void testCreateVcpeResCustService_Fault_Rollback() throws Exception {
+
+ System.out.println("starting: testCreateVcpeResCustService_Fault_Rollback\n");
+ MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef", "2", "VCPE/CreateVcpeResCustService/getCatalogServiceResourcesData.json");
+ MockGetServiceResourcesCatalogData("uuid-miu-svc-011-abcdef", "VCPE/CreateVcpeResCustService/getCatalogServiceResourcesData.json");
+ MockGetCustomer(CUST, "VCPE/CreateVcpeResCustService/getCustomer.xml");
+
+ // TODO: the SI should NOT have to be URL-encoded yet again!
+ MockPutServiceInstance(CUST, SVC, INST.replace("%", "%25"), "GenericFlows/getServiceInstance.xml");
+ MockGetServiceInstance(CUST, SVC, INST.replace("%", "%25"), "GenericFlows/getServiceInstance.xml");
+
+ MockNodeQueryServiceInstanceById(INST, "GenericFlows/getSIUrlById.xml");
+ MockNodeQueryServiceInstanceById(PARENT_INST, "GenericFlows/getParentSIUrlById.xml");
+ MockGetServiceInstance(CUST, SVC, INST, "GenericFlows/getServiceInstance.xml");
+ MockGetServiceInstance(CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml");
+ MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/CreateVcpeResCustService/arGetById.xml");
+ MockGetAllottedResource(CUST, SVC, PARENT_INST, ARID, "VCPE/CreateVcpeResCustService/arGetById.xml");
+ MockPutAllottedResource(CUST, SVC, PARENT_INST, ARID);
+ MockPatchAllottedResource(CUST, SVC, PARENT_INST, ARID);
+ MockDeleteAllottedResource(CUST, SVC, PARENT_INST, ARID, ARVERS);
+
+ mockSDNCAdapter(200);
+ mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");
+
+ Map<String, Object> variables = setupVariables();
+
+ String businessKey = UUID.randomUUID().toString();
+ invokeAsyncProcess(PROCNAME, "v1", businessKey, request, variables);
+
+ // for SI
+ injectSDNCCallbacks(callbacks, "assign");
+
+ // for TXC
+ injectSDNCCallbacks(callbacks, "assign");
+ injectSDNCCallbacks(callbacks, "create");
+ injectSDNCCallbacks(callbacks, "activate");
+ injectSDNCCallbacks(callbacks, "queryTXC");
+
+ // BRG is a stub so don't need SDNC callbacks
+
+ // for TXC rollback
+ injectSDNCCallbacks(callbacks, "deactivate");
+ injectSDNCCallbacks(callbacks, "delete");
+ injectSDNCCallbacks(callbacks, "unassign");
+
+ waitForProcessEnd(businessKey, 10000);
+
+ String workflowException = BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_WFEX);
+ System.out.println("workflowException:\n" + workflowException);
+
+ String completionReq = BPMNUtil.getVariable(processEngineRule, PROCNAME, Prefix+VAR_COMP_REQ);
+ System.out.println("completionReq:\n" + completionReq);
+
+ assertEquals(null, BPMNUtil.getVariable(processEngineRule, PROCNAME, PROCNAME+VAR_SUCCESS_IND));
+ assertEquals(null, BPMNUtil.getVariable(processEngineRule, PROCNAME, VAR_RESP_CODE));
+ assertEquals(null, completionReq);
+ assertNotNull(workflowException);
+
+ BPMNUtil.assertAnyProcessInstanceFinished(processEngineRule, "DoCreateAllottedResourceBRGRollback");
+ BPMNUtil.assertAnyProcessInstanceFinished(processEngineRule, "DoCreateVnfAndModulesRollback");
+ BPMNUtil.assertAnyProcessInstanceFinished(processEngineRule, "DoCreateAllottedResourceTXCRollback");
+ }