public void testPurchaseOrderProcessFault() throws Exception { // Execute process WorkingMemory workingMemory = getWorkingMemory(); BPELProcessInstance processInstance = (BPELProcessInstance) workingMemory.startProcess("http://drools.jboss.org/example/bpel/purchase"); // start process BPELTestUtil.webServiceInvocation( processInstance, "purchasing", "{http://manufacturing.org/wsdl/purchase}purchaseOrderPT", "sendPurchaseOrder", "<POMessage><customerInfo>Jack</customerInfo><purchaseOrder>PURCHASE_ORDER</purchaseOrder></POMessage>"); // reply to web service invocations WorkItem workItem = BPELTestUtil.findWebServiceInvocation( workingMemory, "scheduling", "{http://manufacturing.org/wsdl/purchase}schedulingPT", "requestProductionScheduling"); BPELTestUtil.replyWebServiceInvocation(workingMemory, workItem, null); workItem = BPELTestUtil.findWebServiceInvocation( workingMemory, "invoicing", "{http://manufacturing.org/wsdl/purchase}computePricePT", "initiatePriceCalculation"); BPELTestUtil.replyWebServiceInvocation(workingMemory, workItem, null); workItem = BPELTestUtil.findWebServiceInvocation( workingMemory, "shipping", "{http://manufacturing.org/wsdl/purchase}shippingPT", "requestShipping"); BPELTestUtil.replyWebServiceInvocationFault( workingMemory, workItem, "{http://manufacturing.org/wsdl/purchase}cannotCompleteOrder", "SHIPPING FAULT"); workItem = BPELTestUtil.findWebServiceInvocation( workingMemory, "purchasing", "{http://manufacturing.org/wsdl/purchase}purchaseOrderPT", "sendPurchaseOrder"); BPELTestUtil.replyWebServiceInvocation(workingMemory, workItem, null); assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState()); }
public void testPurchaseOrderProcessNormalFlow() throws Exception { // Execute process WorkingMemory workingMemory = getWorkingMemory(); BPELProcessInstance processInstance = (BPELProcessInstance) workingMemory.startProcess("http://drools.jboss.org/example/bpel/purchase"); // start process BPELTestUtil.webServiceInvocation( processInstance, "purchasing", "{http://manufacturing.org/wsdl/purchase}purchaseOrderPT", "sendPurchaseOrder", "<POMessage><customerInfo>Jack</customerInfo><purchaseOrder>PURCHASE_ORDER</purchaseOrder></POMessage>"); // reply to web service invocations WorkItem workItem = BPELTestUtil.findWebServiceInvocation( workingMemory, "scheduling", "{http://manufacturing.org/wsdl/purchase}schedulingPT", "requestProductionScheduling"); BPELTestUtil.replyWebServiceInvocation(workingMemory, workItem, null); workItem = BPELTestUtil.findWebServiceInvocation( workingMemory, "invoicing", "{http://manufacturing.org/wsdl/purchase}computePricePT", "initiatePriceCalculation"); BPELTestUtil.replyWebServiceInvocation(workingMemory, workItem, null); workItem = BPELTestUtil.findWebServiceInvocation( workingMemory, "shipping", "{http://manufacturing.org/wsdl/purchase}shippingPT", "requestShipping"); BPELTestUtil.replyWebServiceInvocation( workingMemory, workItem, "<shippingInfoMessage><shippingInfo>SHIPPING_INFO</shippingInfo></shippingInfoMessage>"); workItem = BPELTestUtil.findWebServiceInvocation( workingMemory, "invoicing", "{http://manufacturing.org/wsdl/purchase}computePricePT", "sendShippingPrice"); BPELTestUtil.replyWebServiceInvocation(workingMemory, workItem, null); // invoke web service callbacks BPELTestUtil.webServiceInvocation( processInstance, "shipping", "{http://manufacturing.org/wsdl/purchase}shippingCallbackPT", "sendSchedule", "<scheduleMessage><schedule>SCHEDULE</schedule></scheduleMessage>"); BPELTestUtil.webServiceInvocation( processInstance, "invoicing", "{http://manufacturing.org/wsdl/purchase}invoiceCallbackPT", "sendInvoice", "<InvMessage><IVC>INVOICE</IVC></InvMessage>"); // reply to web service invocation workItem = BPELTestUtil.findWebServiceInvocation( workingMemory, "scheduling", "{http://manufacturing.org/wsdl/purchase}schedulingPT", "sendShippingSchedule"); BPELTestUtil.replyWebServiceInvocation(workingMemory, workItem, null); workItem = BPELTestUtil.findWebServiceInvocation( workingMemory, "purchasing", "{http://manufacturing.org/wsdl/purchase}purchaseOrderPT", "sendPurchaseOrder"); BPELTestUtil.replyWebServiceInvocation(workingMemory, workItem, null); assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState()); }