Refine search
@Test public void testGetTasksAssignedAsBusinessAdministratorWithUserLangOneTask() { // One potential owner, should go straight to state Reserved String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { } ), "; str += "peopleAssignments = (with ( new PeopleAssignments() ) { businessAdministrators = [new User('Bobba Fet')], }),"; str += "name = 'This is my task name' })"; Task task = TaskFactory.evalTask(new StringReader(str)); taskService.addTask(task, new HashMap<String, Object>()); List<TaskSummary> tasks = taskService.getTasksAssignedAsBusinessAdministrator("Bobba Fet", "en-UK"); assertEquals(1, tasks.size()); }
@Test public void testAssignmentBasedOnBussynessNoPotentialOwners() { String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { } ), "; str += "peopleAssignments = (with ( new PeopleAssignments() ) { businessAdministrators = [ new User('Administrator') ],}),"; str += "name = 'This is my task name' })"; Task task = TaskFactory.evalTask(new StringReader(str)); assertPotentialOwners(task, 0); taskService.addTask(task, new HashMap<String, Object>()); assertPotentialOwners(task, 0); assertNoActualOwner(task); }
@Test public void testAdminTasks() { Task task = new TaskFluent().setName("This is my task name") .setAdminUser("salaboy") .getTask(); taskService.addTask(task, new HashMap<String, Object>()); List<TaskSummary> allAdminTasks = taskService.getTasksAssignedAsBusinessAdministrator("salaboy", null); assertEquals(1, allAdminTasks.size()); List<AuditTask> allAdminAuditTasksByUser = taskAuditService.getAllAdminAuditTasksByUser("salaboy", new QueryFilter(0, 10)); assertEquals(1, allAdminAuditTasksByUser.size()); }
protected void testCompleteWithContentAndVarListener(TaskLifeCycleEventListener listener) { // One potential owner, should go straight to state Reserved String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { } ), "; str += "peopleAssignments = (with ( new PeopleAssignments() ) { potentialOwners = [new User('Bobba Fet'), new User('Darth Vader') ],businessAdministrators = [ new User('Administrator') ], }),"; str += "name = 'This is my task name' })"; ((EventService<TaskLifeCycleEventListener>)taskService).registerTaskEventListener(listener); Map<String, Object> params = new HashMap<String, Object>(); params.put("input", "simple input"); Task task = TaskFactory.evalTask(new StringReader(str)); taskService.addTask(task, params); long taskId = task.getId(); // start task taskService.start(taskId, "Darth Vader"); Task task1 = taskService.getTaskById(taskId); assertEquals(Status.InProgress, task1.getTaskData().getStatus()); assertEquals("Darth Vader", task1.getTaskData().getActualOwner().getId()); // complete task with output params = new HashMap<String, Object>(); params.put("content", "content"); taskService.complete(taskId, "Darth Vader", params); }
protected long createAndAssertTask(TaskFluent tf, String expectedOwner) { Task task = tf.getTask(); taskService.addTask(task, data); long taskId = task.getId(); assertEquals("Owner mismatch",expectedOwner,taskService.getTaskById(taskId).getTaskData().getActualOwner().getId()); return taskId; }
protected Task createForCompletionTask(String taskExpression, String actualOwner, int expectedPotOwners, String... expectedPotOwnerNames) { Task task = TaskFactory.evalTask(new StringReader(taskExpression)); assertPotentialOwners(task, expectedPotOwners); taskService.addTask(task, new HashMap<String,Object>()); assertPotentialOwners(task, expectedPotOwners, expectedPotOwnerNames); assertActualOwner(task, actualOwner); return task; }
@Test public void testGetTasksAssignedAsRecipientWithUserLangOneTask() { // One potential owner, should go straight to state Reserved String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { } ), "; str += "peopleAssignments = (with ( new PeopleAssignments() ) { recipients = [new User('Bobba Fet')],businessAdministrators = [ new User('Administrator') ], }),"; str += "name = 'This is my task name'})"; Task task = TaskFactory.evalTask(new StringReader(str)); taskService.addTask(task, new HashMap<String, Object>()); List<TaskSummary> tasks = taskService.getTasksAssignedAsRecipient("Bobba Fet"); assertEquals(1, tasks.size()); }
@Test public void testNewTaskWithSingleInvalidPotentialOwner() { // One potential owner, should go straight to state Reserved String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { } ), "; str += "peopleAssignments = (with ( new PeopleAssignments() ) { potentialOwners = [new Group('invalid') ],businessAdministrators = [ new User('Administrator') ], }),"; str += "name = 'This is my task name' })"; Task task = TaskFactory.evalTask(new StringReader(str)); taskService.addTask(task, new HashMap<String, Object>()); try { String potOwner = "invalid"; taskService.getTasksAssignedAsPotentialOwner(potOwner, "en-UK"); fail("Should fail due to same id for group and user"); } catch (RuntimeException e) { assertTrue(e.getMessage().endsWith("please check that there is no group and user with same id")); } }
@Test public void testExitBeforeClaim() { Task task = new TaskFluent().setName("This is my task name 2") .addPotentialGroup("Knights Templer") .setAdminUser("Administrator") .getTask(); taskService.addTask(task, new HashMap<String, Object>()); long taskId = task.getId(); List<TaskSummary> allGroupAuditTasks = taskService.getTasksAssignedAsPotentialOwner("salaboy", null, null, null); assertEquals(1, allGroupAuditTasks.size()); assertTrue(allGroupAuditTasks.get(0).getStatusId().equals("Ready")); taskService.exit(taskId, "Administrator"); List<AuditTask> allHistoryAuditTasks = taskAuditService.getAllAuditTasks(new QueryFilter(0, 10)); assertEquals(1, allHistoryAuditTasks.size()); allGroupAuditTasks = taskService.getTasksAssignedAsPotentialOwner("salaboy", null, null, null); assertEquals(0, allGroupAuditTasks.size()); }
public void testReleaseFromReserved() { // One potential owner, should go straight to state Reserved String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { } ), "; str += "peopleAssignments = (with ( new PeopleAssignments() ) { potentialOwners = [new User('Bobba Fet'), new User('Darth Vader') ],businessAdministrators = [ new User('Administrator') ], }),"; str += "name = 'This is my task name'})"; Task task = TaskFactory.evalTask(new StringReader(str)); taskService.addTask(task, new HashMap<String, Object>()); long taskId = task.getId(); // Go straight from Ready to Inprogress taskService.claim(taskId, "Darth Vader"); Task task1 = taskService.getTaskById(taskId); assertEquals(Status.Reserved, task1.getTaskData().getStatus()); assertEquals("Darth Vader", task1.getTaskData().getActualOwner().getId()); // Check is Released taskService.release(taskId, "Darth Vader"); Task task2 = taskService.getTaskById(taskId); assertEquals(Status.Ready, task2.getTaskData().getStatus()); assertNull(task2.getTaskData().getActualOwner()); }
protected long createAndAssertTask(String taskExpression, String actualOwner, int expectedPotentialOwners, String... expectedPotentialOwnerNames) { Task task = TaskFactory.evalTask(new StringReader(taskExpression)); assertPotentialOwners(task, expectedPotentialOwners); long taskId = taskService.addTask(task, Collections.emptyMap()); task = taskService.getTaskById(taskId); assertPotentialOwners(task, expectedPotentialOwners, expectedPotentialOwnerNames); assertActualOwner(task, actualOwner); return taskId; }
@Test public void testGetTasksAssignedAsBusinessAdministratorWithUserOfWrongGroupLangOneTask() { // JBPM-4862 String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { } ), "; str += "peopleAssignments = (with ( new PeopleAssignments() ) { businessAdministrators = [new Group('Crusaders')], }),"; str += "name = 'This is my task name' })"; Task task = TaskFactory.evalTask(new StringReader(str)); taskService.addTask(task, new HashMap<String, Object>()); List<TaskSummary> tasks = taskService.getTasksAssignedAsBusinessAdministrator("nocrusadaer", "en-UK"); assertEquals(0, tasks.size()); }
@Test public void testCreateTaskWithDisallowedCreationByRule() { // One potential owner, should go straight to state Reserved String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { workItemId = 1 } ), "; str += "peopleAssignments = (with ( new PeopleAssignments() ) { potentialOwners = [new User('peter')],businessAdministrators = [ new User('Administrator') ], }),"; str += "descriptions = [ new I18NText( 'en-UK', 'This is my description')], "; str += "subjects = [ new I18NText( 'en-UK', 'This is my subject')], "; str += "names = [ new I18NText( 'en-UK', 'This is my task name')] })"; Task task = (Task) TaskFactory.evalTask(new StringReader(str)); try { taskService.addTask(task, new HashMap<String, Object>()); fail("Task should not be created due to rule violation"); } catch (CannotAddTaskException e) { assertTrue(e.getMessage().indexOf("peter does not work here any more") != -1); } }
@Test public void testGroupTasks() { Task task = new TaskFluent().setName("This is my task name") .addPotentialUser("salaboy") .addPotentialGroup("Knights Templer") .setAdminUser("Administrator") .getTask(); taskService.addTask(task, new HashMap<String, Object>()); List<TaskSummary> allGroupTasks = taskService.getTasksAssignedAsPotentialOwner("salaboy", null, null, null); assertEquals(1, allGroupTasks.size()); assertTrue(allGroupTasks.get(0).getStatusId().equals("Ready")); List<AuditTask> allGroupAuditTasksByUser = taskAuditService.getAllGroupAuditTasksByUser("salaboy", new QueryFilter(0, 10)); assertEquals(1, allGroupAuditTasksByUser.size()); assertTrue(allGroupAuditTasksByUser.get(0).getStatus().equals("Ready")); } }
private TaskImpl addTask( long workItemId, long procInstId, String busAdmin, String potOwner, String name, String deploymentId) { String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { } ), "; str += "peopleAssignments = (with ( new PeopleAssignments() ) { " + "taskStakeholders = [new User('" + stakeHolder + "')]," + "businessAdministrators = [new User('" + busAdmin + "')]," + "potentialOwners = [new User('" + potOwner + "')]" + " }),"; str += "name = '" + name + "' })"; Task taskImpl = TaskFactory.evalTask(new StringReader(str)); ((InternalTaskData) taskImpl.getTaskData()).setWorkItemId(workItemId); ((InternalTaskData) taskImpl.getTaskData()).setProcessInstanceId(procInstId); ((InternalTaskData) taskImpl.getTaskData()).setDeploymentId(deploymentId); taskService.addTask(taskImpl, new HashMap<String, Object>()); assertNotNull( "Null task id", taskImpl.getId()); return (TaskImpl) taskImpl; }
@Test public void testGetTasksAssignedByGroupWithGroupLangOneTask() { // One potential owner, should go straight to state Reserved String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { } ), "; str += "peopleAssignments = (with ( new PeopleAssignments() ) { potentialOwners = [new Group('Crusaders') ],businessAdministrators = [ new User('Administrator') ], }),"; str += "name = 'This is my task name' })"; Task task = TaskFactory.evalTask(new StringReader(str)); taskService.addTask(task, new HashMap<String, Object>()); List<TaskSummary> tasks = taskService.getTasksAssignedByGroup("Crusaders"); assertEquals(1, tasks.size()); }
@Test public void testCreateTaskWithDisallowedCreationBasedOnContentByRule() { // One potential owner, should go straight to state Reserved String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { workItemId = 1 } ), "; str += "peopleAssignments = (with ( new PeopleAssignments() ) { potentialOwners = [new User('john')],businessAdministrators = [ new User('Administrator') ], }),"; str += "descriptions = [ new I18NText( 'en-UK', 'This is my description')], "; str += "subjects = [ new I18NText( 'en-UK', 'This is my subject')], "; str += "names = [ new I18NText( 'en-UK', 'This is my task name')] })"; Task task = (Task) TaskFactory.evalTask(new StringReader(str)); Map<String, Object> params = new HashMap<String, Object>(); params.put("manager", "John"); try { taskService.addTask(task, params); fail("Task should not be created due to rule violation"); } catch (CannotAddTaskException e) { assertTrue(e.getMessage().indexOf("John (manager) does not work here any more") != -1); } }
@Test public void testAddTaskWithEventDate() { Task task = new TaskFluent().setName("This is my task name") .setAdminUser("Administrator") .addPotentialUser("Darth Vader") .getTask(); taskService.addTask(task, new HashMap<String, Object>()); long taskId = task.getId(); List<TaskEvent> taskEvents = taskAuditService.getAllTaskEvents(taskId, new QueryFilter()); Assertions.assertThat(taskEvents).hasSize(1); Assertions.assertThat(taskEvents.get(0).getType()).isEqualTo(TaskEventType.ADDED); Assertions.assertThat(taskEvents.get(0).getUserId()).isNull(); List<AuditTask> allGroupAuditTasks = taskAuditService.getAllAuditTasks(new QueryFilter()); assertEquals(1, allGroupAuditTasks.size()); AuditTaskImpl auditTask = (AuditTaskImpl)allGroupAuditTasks.get(0); assertNotNull(auditTask.getLastModificationDate()); }
@Test public void testGetTasksAssignedAsExcludedOwnerWithUserLangOneTask() { // One potential owner, should go straight to state Reserved String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { } ), "; str += "peopleAssignments = (with ( new PeopleAssignments() ) { excludedOwners = [new User('Bobba Fet')],businessAdministrators = [ new User('Administrator') ], }),"; str += "name = 'This is my task name' })"; Task task = TaskFactory.evalTask(new StringReader(str)); taskService.addTask(task, new HashMap<String, Object>()); List<TaskSummary> tasks = taskService.getTasksAssignedAsExcludedOwner("Bobba Fet"); assertEquals(1, tasks.size()); }
@Test public void testNoUsersInGroup() { final String taskString = createTaskString(NO_USERS_IN_GROUP_ASSIGNMENTS, "NoUsersInGroupRoundRobinTask"); Task task = TaskFactory.evalTask(new StringReader(taskString)); assertPotentialOwners(task, 1, NOBODIES); taskService.addTask(task, Collections.emptyMap()); assertPotentialOwners(task, 0); assertNoActualOwner(task); }