@Test public void testVariableRefInIntermediateThrowEvent() throws Exception { KieBase kbase = createKnowledgeBase("BPMN2-WorkingMessageModel.bpmn2"); KieSession ksession = createKnowledgeSession(kbase); ksession.getWorkItemManager().registerWorkItemHandler("Send Task", new DoNothingWorkItemHandler()); ksession.getWorkItemManager().registerWorkItemHandler("Service Task", new DoNothingWorkItemHandler()); HashMap<String, Object> parameters = new HashMap<>(); parameters.put("messageContent", "some text"); ProcessInstance processInstance = ksession.startProcess("workingMessageModel", parameters); assertThat(processInstance).isNotNull(); }
@Test public void testMessageEnd() throws Exception { KieBase kbase = createKnowledgeBase("BPMN2-MessageEndEvent.bpmn2"); StatefulKnowledgeSession ksession = createKnowledgeSession(kbase); ksession.getWorkItemManager().registerWorkItemHandler("Send Task", new SendTaskHandler()); Map<String, Object> params = new HashMap<String, Object>(); params.put("x", "MyValue"); ProcessInstance processInstance = ksession.startProcess( "MessageEndEvent", params); assertProcessInstanceCompleted(processInstance); }
@Test public void testSignalEndWithData() throws Exception { KieBase kbase = createKnowledgeBaseWithoutDumper("BPMN2-IntermediateThrowEventSignalWithData.bpmn2"); StatefulKnowledgeSession ksession = createKnowledgeSession(kbase); ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new SystemOutWorkItemHandler()); Map<String, Object> params = new HashMap<String, Object>(); ProcessInstance processInstance = ksession.startProcess("testThrowingSignalEvent", params); assertProcessInstanceActive(processInstance); ksession.signalEvent("mysignal", null, processInstance.getId()); assertProcessInstanceCompleted(processInstance); }
@Test public void testEvaluationProcess3() throws Exception { KieBase kbase = createKnowledgeBase("BPMN2-EvaluationProcess3.bpmn2"); KieSession ksession = createKnowledgeSession(kbase); ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new SystemOutWorkItemHandler()); ksession.getWorkItemManager().registerWorkItemHandler("RegisterRequest", new SystemOutWorkItemHandler()); Map<String, Object> params = new HashMap<String, Object>(); params.put("employee", "john2"); ProcessInstance processInstance = ksession.startProcess("Evaluation", params); assertThat(processInstance.getState()).isEqualTo(ProcessInstance.STATE_COMPLETED); }
@Test public void testEvaluationProcess2() throws Exception { KieBase kbase = createKnowledgeBase("BPMN2-EvaluationProcess2.bpmn2"); ksession = createKnowledgeSession(kbase); ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new SystemOutWorkItemHandler()); Map<String, Object> params = new HashMap<String, Object>(); params.put("employee", "UserId-12345"); ProcessInstance processInstance = ksession.startProcess( "com.sample.evaluation", params); assertProcessInstanceCompleted(processInstance); }
@Test public void testEvaluationProcess() throws Exception { KieBase kbase = createKnowledgeBase("BPMN2-EvaluationProcess.bpmn2"); KieSession ksession = createKnowledgeSession(kbase); ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new SystemOutWorkItemHandler()); ksession.getWorkItemManager().registerWorkItemHandler("RegisterRequest", new SystemOutWorkItemHandler()); Map<String, Object> params = new HashMap<String, Object>(); params.put("employee", "UserId-12345"); ProcessInstance processInstance = ksession.startProcess("Evaluation", params); assertThat(processInstance.getState()).isEqualTo(ProcessInstance.STATE_COMPLETED); }
@Test(expected=IllegalArgumentException.class) public void testNotExistingVarBooleanStructureRefOnStart() throws Exception { KieBase kbase = createKnowledgeBaseWithoutDumper("BPMN2-BooleanStructureRef.bpmn2"); KieSession ksession = createKnowledgeSession(kbase); TestWorkItemHandler workItemHandler = new TestWorkItemHandler(); ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler); Map<String, Object> params = new HashMap<String, Object>(); params.put("not existing", "invalid boolean"); ksession.startProcess("StructureRef", params); }
@Test public void compensationInvokingSubProcess() throws Exception { KieSession ksession = createKnowledgeSession("compensation/BPMN2-UserTaskCompensation.bpmn2"); ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new SystemOutWorkItemHandler()); Map<String, Object> params = new HashMap<String, Object>(); params.put("compensation", "True"); ProcessInstance processInstance = ksession.startProcess("UserTaskCompensation", params); assertProcessInstanceCompleted(processInstance.getId(), ksession); assertProcessVarValue(processInstance, "compensation", "compensation"); }
@Test(expected=IllegalArgumentException.class) public void testInvalidBooleanStructureRefOnStart() throws Exception { KieBase kbase = createKnowledgeBaseWithoutDumper("BPMN2-BooleanStructureRef.bpmn2"); KieSession ksession = createKnowledgeSession(kbase); TestWorkItemHandler workItemHandler = new TestWorkItemHandler(); ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler); Map<String, Object> params = new HashMap<String, Object>(); params.put("test", "invalid boolean"); ksession.startProcess("StructureRef", params); }
@Test public void testExclusiveSplit() throws Exception { KieBase kbase = createKnowledgeBase("BPMN2-ExclusiveSplit.bpmn2"); KieSession ksession = createKnowledgeSession(kbase); ksession.getWorkItemManager().registerWorkItemHandler("Email", new SystemOutWorkItemHandler()); Map<String, Object> params = new HashMap<String, Object>(); params.put("x", "First"); params.put("y", "Second"); ProcessInstance processInstance = ksession.startProcess("com.sample.test", params); assertThat(processInstance.getState()).isEqualTo(ProcessInstance.STATE_COMPLETED); }
@Test public void testExclusiveSplitDefault() throws Exception { KieBase kbase = createKnowledgeBase("BPMN2-ExclusiveSplitDefault.bpmn2"); KieSession ksession = createKnowledgeSession(kbase); ksession.getWorkItemManager().registerWorkItemHandler("Email", new SystemOutWorkItemHandler()); Map<String, Object> params = new HashMap<String, Object>(); params.put("x", "NotFirst"); params.put("y", "Second"); ProcessInstance processInstance = ksession.startProcess("com.sample.test", params); assertThat(processInstance.getState()).isEqualTo(ProcessInstance.STATE_COMPLETED); }
@Test public void testMessageIntermediateThrow() throws Exception { KieBase kbase = createKnowledgeBase("BPMN2-IntermediateThrowEventMessage.bpmn2"); KieSession ksession = createKnowledgeSession(kbase); ksession.getWorkItemManager().registerWorkItemHandler("Send Task", new SendTaskHandler()); Map<String, Object> params = new HashMap<String, Object>(); params.put("x", "MyValue"); ProcessInstance processInstance = ksession.startProcess("MessageIntermediateEvent", params); assertThat(processInstance.getState()).isEqualTo(ProcessInstance.STATE_COMPLETED); }
@Test public void testEvaluationProcess2() throws Exception { KieBase kbase = createKnowledgeBase("BPMN2-EvaluationProcess2.bpmn2"); KieSession ksession = createKnowledgeSession(kbase); ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new SystemOutWorkItemHandler()); Map<String, Object> params = new HashMap<String, Object>(); params.put("employee", "UserId-12345"); ProcessInstance processInstance = ksession.startProcess("com.sample.evaluation", params); assertThat(processInstance.getState()).isEqualTo(ProcessInstance.STATE_COMPLETED); }
@Test public void testMessageEnd() throws Exception { KieBase kbase = createKnowledgeBase("BPMN2-MessageEndEvent.bpmn2"); KieSession ksession = createKnowledgeSession(kbase); ksession.getWorkItemManager().registerWorkItemHandler("Send Task", new SendTaskHandler()); Map<String, Object> params = new HashMap<String, Object>(); params.put("x", "MyValue"); ProcessInstance processInstance = ksession.startProcess("MessageEndEvent", params); assertThat(processInstance.getState()).isEqualTo(ProcessInstance.STATE_COMPLETED); }
@Test public void testSendTask() throws Exception { KieBase kbase = createKnowledgeBase("BPMN2-SendTask.bpmn2"); ksession = createKnowledgeSession(kbase); ksession.getWorkItemManager().registerWorkItemHandler("Send Task", new SendTaskHandler()); Map<String, Object> params = new HashMap<String, Object>(); params.put("s", "john"); WorkflowProcessInstance processInstance = (WorkflowProcessInstance) ksession .startProcess("SendTask", params); assertProcessInstanceFinished(processInstance, ksession); }
@Test public void testMessageIntermediateThrow() throws Exception { KieBase kbase = createKnowledgeBase("BPMN2-IntermediateThrowEventMessage.bpmn2"); ksession = createKnowledgeSession(kbase); ksession.getWorkItemManager().registerWorkItemHandler("Send Task", new SendTaskHandler()); Map<String, Object> params = new HashMap<String, Object>(); params.put("x", "MyValue"); ProcessInstance processInstance = ksession.startProcess( "MessageIntermediateEvent", params); assertProcessInstanceCompleted(processInstance); }
@Test public void testExclusiveSplitPriority() throws Exception { KieBase kbase = createKnowledgeBase("BPMN2-ExclusiveSplitPriority.bpmn2"); ksession = createKnowledgeSession(kbase); ksession.getWorkItemManager().registerWorkItemHandler("Email", new SystemOutWorkItemHandler()); Map<String, Object> params = new HashMap<String, Object>(); params.put("x", "First"); params.put("y", "Second"); ProcessInstance processInstance = ksession.startProcess( "com.sample.test", params); assertProcessInstanceCompleted(processInstance); }
@Test public void testExclusiveSplitDefault() throws Exception { KieBase kbase = createKnowledgeBase("BPMN2-ExclusiveSplitDefault.bpmn2"); ksession = createKnowledgeSession(kbase); ksession.getWorkItemManager().registerWorkItemHandler("Email", new SystemOutWorkItemHandler()); Map<String, Object> params = new HashMap<String, Object>(); params.put("x", "NotFirst"); params.put("y", "Second"); ProcessInstance processInstance = ksession.startProcess( "com.sample.test", params); assertProcessInstanceCompleted(processInstance); }
@Test public void testExclusiveSplit() throws Exception { KieBase kbase = createKnowledgeBase("BPMN2-ExclusiveSplit.bpmn2"); ksession = createKnowledgeSession(kbase); ksession.getWorkItemManager().registerWorkItemHandler("Email", new SystemOutWorkItemHandler()); Map<String, Object> params = new HashMap<String, Object>(); params.put("x", "First"); params.put("y", "Second"); ProcessInstance processInstance = ksession.startProcess( "com.sample.test", params); assertProcessInstanceCompleted(processInstance); }
@Test public void testMultiInstanceLoopCharacteristicsTask() throws Exception { KieBase kbase = createKnowledgeBaseWithoutDumper("BPMN2-MultiInstanceLoopCharacteristicsTask.bpmn2"); ksession = createKnowledgeSession(kbase); ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new SystemOutWorkItemHandler()); Map<String, Object> params = new HashMap<String, Object>(); List<String> myList = new ArrayList<String>(); myList.add("First Item"); myList.add("Second Item"); params.put("list", myList); ProcessInstance processInstance = ksession.startProcess( "MultiInstanceLoopCharacteristicsTask", params); assertProcessInstanceCompleted(processInstance); }