public void testGetAssignedTasks() { WorkflowDefinition workflowDef = getTestDefinition(); Map<QName, Serializable> parameters = new HashMap<QName, Serializable>(); parameters.put( QName.createQName(NamespaceService.DEFAULT_URI, "reviewer"), AuthenticationUtil.getAdminUserName()); parameters.put(QName.createQName(NamespaceService.DEFAULT_URI, "testNode"), rootNodeRef); parameters.put( QName.createQName(NamespaceService.BPM_MODEL_1_0_URI, "package"), packageComponent.createPackage(null)); WorkflowPath path = workflowComponent.startWorkflow(workflowDef.getId(), parameters); assertNotNull(path); List<WorkflowTask> tasks = workflowComponent.getTasksForWorkflowPath(path.getId()); assertNotNull(tasks); assertEquals(1, tasks.size()); WorkflowTask updatedTask = taskComponent.endTask(tasks.get(0).getId(), path.getNode().getTransitions()[0].getId()); assertNotNull(updatedTask); List<WorkflowTask> completedTasks = taskComponent.getAssignedTasks( AuthenticationUtil.getAdminUserName(), WorkflowTaskState.COMPLETED); assertNotNull(completedTasks); completedTasks = filterTasksByWorkflowInstance(completedTasks, path.getInstance().getId()); assertEquals(1, completedTasks.size()); List<WorkflowTask> assignedTasks = taskComponent.getAssignedTasks( AuthenticationUtil.getAdminUserName(), WorkflowTaskState.IN_PROGRESS); assertNotNull(assignedTasks); assignedTasks = filterTasksByWorkflowInstance(assignedTasks, path.getInstance().getId()); assertEquals(1, assignedTasks.size()); assertEquals("review", assignedTasks.get(0).getName()); }
public void testCancelWorkflowInstance() throws Exception { WorkflowDefinition workflowDef = getTestDefinition(); workflowComponent.startWorkflow(workflowDef.getId(), null); List<WorkflowInstance> instances1 = workflowComponent.getActiveWorkflows(workflowDef.getId()); assertNotNull(instances1); assertEquals(1, instances1.size()); List<WorkflowTask> tasks = taskComponent.getAssignedTasks( AuthenticationUtil.getAdminUserName(), WorkflowTaskState.IN_PROGRESS); assertNotNull(tasks); assertTrue(tasks.size() > 0); WorkflowInstance cancelledInstance = workflowComponent.cancelWorkflow(instances1.get(0).getId()); assertNotNull(cancelledInstance); assertFalse(cancelledInstance.isActive()); List<WorkflowInstance> instances2 = workflowComponent.getActiveWorkflows(workflowDef.getId()); assertNotNull(instances2); assertEquals(0, instances2.size()); List<WorkflowTask> tasks1 = taskComponent.getAssignedTasks( AuthenticationUtil.getAdminUserName(), WorkflowTaskState.IN_PROGRESS); assertNotNull(tasks1); tasks1 = filterTasksByWorkflowInstance(tasks1, cancelledInstance.getId()); assertEquals(0, tasks1.size()); }
private void ParallelReject(String user) { List<WorkflowTask> tasks = taskComponent.getAssignedTasks(user, WorkflowTaskState.IN_PROGRESS); assertEquals(1, tasks.size()); WorkflowTask task = tasks.get(0); taskComponent.endTask(task.getId(), "reject"); }