@Test public void testGetProcessByDeploymentIdAndProcessId() { ProcessDefinition definition = runtimeDataService .getProcessesByDeploymentIdProcessId(deploymentUnit.getIdentifier(), "org.jbpm.writedocument"); assertNotNull(definition); assertEquals("org.jbpm.writedocument", definition.getId()); }
@Test public void testGetProcessByDeploymentId() { Collection<ProcessDefinition> definitions = runtimeDataService.getProcessesByDeploymentId(deploymentUnit.getIdentifier(), new QueryContext()); assertNotNull(definitions); assertEquals(3, definitions.size()); List<String> expectedProcessIds = new ArrayList<String>(); expectedProcessIds.add("org.jbpm.writedocument.empty"); expectedProcessIds.add("org.jbpm.writedocument"); expectedProcessIds.add("org.jboss.qa.bpms.HumanTask"); for (ProcessDefinition def : definitions) { assertTrue(expectedProcessIds.contains(def.getId())); } }
@Test public void testExecute() { processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "org.jbpm.writedocument"); assertNotNull(processInstanceId); List<Long> taskIds = runtimeDataService.getTasksByProcessInstanceId(processInstanceId); assertNotNull(taskIds); assertEquals(1, taskIds.size()); Long taskId = taskIds.get(0); Task task = userTaskService.execute(deploymentUnit.getIdentifier(), new GetTaskCommand(taskId)); assertNotNull(task); assertEquals(taskId, task.getId()); assertEquals("Write a Document", task.getName()); } }
@Test public void testGetProcessIds() { Collection<String> definitions = runtimeDataService.getProcessIds(deploymentUnit.getIdentifier(), new QueryContext()); assertNotNull(definitions); assertEquals(3, definitions.size()); assertTrue(definitions.contains("org.jbpm.writedocument.empty")); assertTrue(definitions.contains("org.jbpm.writedocument")); assertTrue(definitions.contains("org.jboss.qa.bpms.HumanTask")); }
@Test public void testStartProcess() throws InterruptedException { assertNotNull(deploymentService); KModuleDeploymentUnit deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION); deploymentService.deploy(deploymentUnit); units.add(deploymentUnit); assertNotNull(processService); Map<String, Object> params = new HashMap<String, Object>(); params.put("expiresAt", "2s"); long processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "timer-test.timer-process", params); assertNotNull(processInstanceId); ProcessInstance pi = processService.getProcessInstance(processInstanceId); assertNotNull(pi); Thread.sleep(3000); pi = processService.getProcessInstance(processInstanceId); assertNull(pi); }
@Test public void testGetTaskAssignedAsBusinessAdmin() { processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "org.jbpm.writedocument"); assertNotNull(processInstanceId); processService.getProcessInstance(processInstanceId); List<TaskSummary> tasks = runtimeDataService.getTasksAssignedAsBusinessAdministrator("Administrator", new QueryFilter(0, 5)); assertNotNull(tasks); assertEquals(1, tasks.size()); TaskSummary userTask = tasks.get(0); assertNotNull(userTask); assertEquals(processInstanceId, userTask.getProcessInstanceId()); assertEquals("Write a Document", userTask.getName()); }
@Test public void testStartProcessAfterDeactivation() { assertNotNull(deploymentService); KModuleDeploymentUnit deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION); deploymentService.deploy(deploymentUnit); units.add(deploymentUnit); boolean isDeployed = deploymentService.isDeployed(deploymentUnit.getIdentifier()); assertTrue(isDeployed); assertNotNull(processService); deploymentService.deactivate(deploymentUnit.getIdentifier()); try { processService.startProcess(deploymentUnit.getIdentifier(), "customtask"); fail("Deployment is deactivated so cannot start new process instances"); } catch (Exception e) { assertEquals("org.jbpm.services.api.DeploymentActiveFoundException: Deployment org.jbpm.test:test-module:1.0.0 is not active", e.getMessage()); } }
@Test public void testActivate() { processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "org.jbpm.writedocument.empty"); assertNotNull(processInstanceId); List<Long> taskIds = runtimeDataService.getTasksByProcessInstanceId(processInstanceId); assertNotNull(taskIds); assertEquals(1, taskIds.size()); Long taskId = taskIds.get(0); userTaskService.activate(taskId, "Administrator"); UserTaskInstanceDesc task = runtimeDataService.getTaskById(taskId); assertNotNull(task); assertEquals(Status.Ready.toString(), task.getStatus()); }
@Test public void testSkip() { processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "org.jbpm.writedocument"); assertNotNull(processInstanceId); List<Long> taskIds = runtimeDataService.getTasksByProcessInstanceId(processInstanceId); assertNotNull(taskIds); assertEquals(1, taskIds.size()); Long taskId = taskIds.get(0); userTaskService.skip(taskId, "Administrator"); UserTaskInstanceDesc task = runtimeDataService.getTaskById(taskId); assertNotNull(task); assertEquals(Status.Obsolete.toString(), task.getStatus()); }
@Test public void testExit() { processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "org.jbpm.writedocument"); assertNotNull(processInstanceId); List<Long> taskIds = runtimeDataService.getTasksByProcessInstanceId(processInstanceId); assertNotNull(taskIds); assertEquals(1, taskIds.size()); Long taskId = taskIds.get(0); userTaskService.exit(taskId, "Administrator"); UserTaskInstanceDesc task = runtimeDataService.getTaskById(taskId); assertNotNull(task); assertEquals(Status.Exited.toString(), task.getStatus()); }
@Test public void testGetProcessInstancesByDeploymentIdAndState() { Collection<ProcessInstanceDesc> instances = runtimeDataService.getProcessInstances(new QueryContext()); assertNotNull(instances); assertEquals(0, instances.size()); processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "org.jbpm.writedocument"); assertNotNull(processInstanceId); List<Integer> states = new ArrayList<Integer>(); // search for aborted only states.add(3); instances = runtimeDataService.getProcessInstancesByDeploymentId(deploymentUnit.getIdentifier(), states, new QueryContext()); assertNotNull(instances); assertEquals(0, instances.size()); processService.abortProcessInstance(processInstanceId); processInstanceId = null; instances = runtimeDataService.getProcessInstancesByDeploymentId(deploymentUnit.getIdentifier(), states, new QueryContext()); assertNotNull(instances); assertEquals(1, instances.size()); assertEquals(3, (int)instances.iterator().next().getState()); }
@Test public void testGetProcessInstancesByDeploymentIdAndStateNoAccess() { List<String> roles = new ArrayList<String>(); identityProvider.setRoles(roles); Collection<ProcessInstanceDesc> instances = runtimeDataService.getProcessInstances(new QueryContext()); assertNotNull(instances); assertEquals(0, instances.size()); processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "org.jbpm.writedocument"); assertNotNull(processInstanceId); List<Integer> states = new ArrayList<Integer>(); // search for aborted only states.add(3); instances = runtimeDataService.getProcessInstancesByDeploymentId(deploymentUnit.getIdentifier(), states, new QueryContext()); assertNotNull(instances); assertEquals(0, instances.size()); processService.abortProcessInstance(processInstanceId); processInstanceId = null; instances = runtimeDataService.getProcessInstancesByDeploymentId(deploymentUnit.getIdentifier(), states, new QueryContext()); assertNotNull(instances); assertEquals(0, instances.size()); }
@Test public void testGetTaskById() { processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "org.jbpm.writedocument"); assertNotNull(processInstanceId); ProcessInstance instance = processService.getProcessInstance(processInstanceId); assertNotNull(instance); List<Long> taskIds = runtimeDataService.getTasksByProcessInstanceId(processInstanceId); assertNotNull(taskIds); assertEquals(1, taskIds.size()); Long taskId = taskIds.get(0); UserTaskInstanceDesc userTask = runtimeDataService.getTaskById(taskId); assertNotNull(userTask); assertEquals(processInstanceId, userTask.getProcessInstanceId()); assertEquals("Write a Document", userTask.getName()); }
@Test public void testDelegate() { processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "org.jbpm.writedocument"); assertNotNull(processInstanceId); List<Long> taskIds = runtimeDataService.getTasksByProcessInstanceId(processInstanceId); assertNotNull(taskIds); assertEquals(1, taskIds.size()); Long taskId = taskIds.get(0); userTaskService.delegate(taskId, "Administrator", "john"); UserTaskInstanceDesc task = runtimeDataService.getTaskById(taskId); assertNotNull(task); assertEquals(Status.Reserved.toString(), task.getStatus()); assertEquals("john", task.getActualOwner()); }
@Test public void testGetProcessInstancesByDeploymentIdAndState() { roles.add("managers"); identityProvider.setRoles(roles); assertNotNull(instances); assertEquals(0, instances.size()); processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "org.jbpm.writedocument"); assertNotNull(processInstanceId); List<Integer> states = new ArrayList<Integer>(); states.add(3); instances = runtimeDataService.getProcessInstancesByDeploymentId(deploymentUnit.getIdentifier(), states, new QueryContext()); assertNotNull(instances); assertEquals(0, instances.size()); instances = runtimeDataService.getProcessInstancesByDeploymentId(deploymentUnit.getIdentifier(), states, new QueryContext()); assertNotNull(instances); assertEquals(1, instances.size()); assertEquals(3, (int)instances.iterator().next().getState());
@Test public void testGetTaskAudit() { processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "org.jbpm.writedocument"); assertNotNull(processInstanceId); ProcessInstance instance = processService.getProcessInstance(processInstanceId); assertNotNull(instance); Collection<NodeInstance> activeNodes = ((WorkflowProcessInstanceImpl) instance).getNodeInstances(); assertNotNull(activeNodes); assertEquals(1, activeNodes.size()); NodeInstance node = activeNodes.iterator().next(); assertNotNull(node); assertTrue(node instanceof WorkItemNodeInstance); Long workItemId = ((WorkItemNodeInstance) node).getWorkItemId(); assertNotNull(workItemId); List<AuditTask> auditTasks = runtimeDataService.getAllAuditTask("salaboy", new QueryFilter(0, 10)); assertNotNull(auditTasks); assertEquals(1, auditTasks.size()); assertEquals("Write a Document", auditTasks.get(0).getName()); }
@Test public void testStartProcessWithParms() { assertNotNull(deploymentService); KModuleDeploymentUnit deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION); deploymentService.deploy(deploymentUnit); units.add(deploymentUnit); boolean isDeployed = deploymentService.isDeployed(deploymentUnit.getIdentifier()); assertTrue(isDeployed); assertNotNull(processService); Map<String, Object> params = new HashMap<String, Object>(); params.put("id", "test"); long processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "customtask", params); assertNotNull(processInstanceId); ProcessInstance pi = processService.getProcessInstance(processInstanceId); assertNull(pi); }
@Test public void testStartProcess() { assertNotNull(deploymentService); KModuleDeploymentUnit deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION); deploymentService.deploy(deploymentUnit); units.add(deploymentUnit); boolean isDeployed = deploymentService.isDeployed(deploymentUnit.getIdentifier()); assertTrue(isDeployed); assertNotNull(processService); long processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "customtask"); assertNotNull(processInstanceId); ProcessInstance pi = processService.getProcessInstance(processInstanceId); assertNull(pi); }
@Test public void testGetProcessInstancesByPartialProcessNameAndState() { Collection<ProcessInstanceDesc> instances = runtimeDataService.getProcessInstances(new QueryContext()); assertNotNull(instances); assertEquals(0, instances.size()); processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "org.jbpm.writedocument"); assertNotNull(processInstanceId); List<Integer> states = new ArrayList<Integer>(); // search for aborted only states.add(3); instances = runtimeDataService.getProcessInstancesByProcessName(states, "human%", null, new QueryContext()); assertNotNull(instances); assertEquals(0, instances.size()); processService.abortProcessInstance(processInstanceId); processInstanceId = null; instances = runtimeDataService.getProcessInstancesByProcessName(states, "human%", null, new QueryContext()); assertNotNull(instances); assertEquals(1, instances.size()); assertEquals(3, (int)instances.iterator().next().getState()); }
@Test public void testGetTaskOwned() { processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "org.jboss.qa.bpms.HumanTask"); assertNotNull(processInstanceId); ProcessInstance instance = processService.getProcessInstance(processInstanceId); assertNotNull(instance); List<TaskSummary> tasks = runtimeDataService.getTasksOwned("john", new QueryFilter(0, 5)); assertNotNull(tasks); assertEquals(1, tasks.size()); TaskSummary userTask = tasks.get(0); assertNotNull(userTask); assertEquals(processInstanceId, userTask.getProcessInstanceId()); assertEquals("Hello", userTask.getName()); assertEquals("john", userTask.getActualOwnerId()); assertEquals("Reserved", userTask.getStatusId()); assertNotNull(userTask.getActualOwner()); }