TSK-563: Improved task mapper test coverage

This commit is contained in:
julian.schallenmueller 2018-06-11 15:19:52 +02:00 committed by Holger Hagen
parent 7636fe584d
commit 4e04eb4f60
5 changed files with 147 additions and 21 deletions

View File

@ -0,0 +1,83 @@
package acceptance.task;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
import org.junit.runner.RunWith;
import acceptance.AbstractAccTest;
import java.util.HashMap;
import pro.taskana.Task;
import pro.taskana.TaskService;
import pro.taskana.TaskState;
import pro.taskana.exceptions.InvalidArgumentException;
import pro.taskana.exceptions.NotAuthorizedException;
import pro.taskana.exceptions.TaskNotFoundException;
import pro.taskana.security.JAASRunner;
import pro.taskana.security.WithAccessId;
/**
* Acceptance test for all "get task" scenarios.
*/
@RunWith(JAASRunner.class)
public class GetTaskAccTest extends AbstractAccTest {
public GetTaskAccTest() {
super();
}
@WithAccessId(
userName = "user_1_1",
groupNames = {"group_1"})
@Test
public void testGetTaskById() throws TaskNotFoundException, NotAuthorizedException, InvalidArgumentException {
TaskService taskService = taskanaEngine.getTaskService();
Task task = taskService.getTask("TKI:000000000000000000000000000000000000");
assertEquals(null, task.getCompleted());
assertEquals("Task99", task.getName());
assertEquals("creator_user_id", task.getCreator());
assertEquals("Lorem ipsum was n Quatsch dolor sit amet.", task.getDescription());
assertEquals("Some custom Note", task.getNote());
assertEquals(1, task.getPriority());
assertEquals(TaskState.CLAIMED, task.getState());
assertEquals("MANUAL", task.getClassificationCategory());
assertEquals("T2000", task.getClassificationSummary().getKey());
assertEquals("CLI:100000000000000000000000000000000016", task.getClassificationSummary().getId());
assertEquals("WBI:100000000000000000000000000000000006", task.getWorkbasketSummary().getId());
assertEquals("USER_1_1", task.getWorkbasketKey());
assertEquals("DOMAIN_A", task.getDomain());
assertEquals("BPI21", task.getBusinessProcessId());
assertEquals("PBPI21", task.getParentBusinessProcessId());
assertEquals("user_1_1", task.getOwner());
assertEquals("MyCompany1", task.getPrimaryObjRef().getCompany());
assertEquals("MySystem1", task.getPrimaryObjRef().getSystem());
assertEquals("MyInstance1", task.getPrimaryObjRef().getSystemInstance());
assertEquals("MyType1", task.getPrimaryObjRef().getType());
assertEquals("MyValue1", task.getPrimaryObjRef().getValue());
assertEquals(true, task.isRead());
assertEquals(false, task.isTransferred());
assertEquals(new HashMap<String, String>(), task.getCallbackInfo());
assertEquals(new HashMap<String, String>(), task.getCustomAttributes());
assertEquals("custom1", task.getCustomAttribute("1"));
assertEquals("custom2", task.getCustomAttribute("2"));
assertEquals("custom3", task.getCustomAttribute("3"));
assertEquals("custom4", task.getCustomAttribute("4"));
assertEquals("custom5", task.getCustomAttribute("5"));
assertEquals("custom6", task.getCustomAttribute("6"));
assertEquals("custom7", task.getCustomAttribute("7"));
assertEquals("custom8", task.getCustomAttribute("8"));
assertEquals("custom9", task.getCustomAttribute("9"));
assertEquals("custom10", task.getCustomAttribute("10"));
assertEquals("custom11", task.getCustomAttribute("11"));
assertEquals("custom12", task.getCustomAttribute("12"));
assertEquals("custom13", task.getCustomAttribute("13"));
assertEquals("abc", task.getCustomAttribute("14"));
assertEquals("custom15", task.getCustomAttribute("15"));
assertEquals("custom16", task.getCustomAttribute("16"));
}
}

View File

@ -201,7 +201,7 @@ public class QueryTasksAccTest extends AbstractAccTest {
"%n%", "%o%", "%p%",
"%q%", "%r%", "%s%", "%w%")
.list();
assertThat(results.size(), equalTo(2));
assertThat(results.size(), equalTo(3));
String[] ids = results.stream()
.map(t -> {
@ -218,7 +218,7 @@ public class QueryTasksAccTest extends AbstractAccTest {
List<TaskSummary> result2 = taskService.createTaskQuery()
.customAttributeIn("1", ids)
.list();
assertThat(result2.size(), equalTo(2));
assertThat(result2.size(), equalTo(3));
}
@WithAccessId(
@ -235,7 +235,7 @@ public class QueryTasksAccTest extends AbstractAccTest {
"%n%", "%o%", "%p%",
"%q%", "%r%", "%s%", "%w%")
.list();
assertThat(results.size(), equalTo(1));
assertThat(results.size(), equalTo(2));
String[] ids = results.stream()
.map(t -> {
@ -252,7 +252,7 @@ public class QueryTasksAccTest extends AbstractAccTest {
List<TaskSummary> result2 = taskService.createTaskQuery()
.customAttributeIn("2", ids)
.list();
assertThat(result2.size(), equalTo(1));
assertThat(result2.size(), equalTo(2));
}
@WithAccessId(
@ -269,7 +269,7 @@ public class QueryTasksAccTest extends AbstractAccTest {
"%n%", "%o%", "%p%",
"%q%", "%r%", "%s%", "%w%")
.list();
assertThat(results.size(), equalTo(1));
assertThat(results.size(), equalTo(2));
String[] ids = results.stream()
.map(t -> {
@ -286,7 +286,7 @@ public class QueryTasksAccTest extends AbstractAccTest {
List<TaskSummary> result2 = taskService.createTaskQuery()
.customAttributeIn("3", ids)
.list();
assertThat(result2.size(), equalTo(1));
assertThat(result2.size(), equalTo(2));
}
@WithAccessId(
@ -303,7 +303,7 @@ public class QueryTasksAccTest extends AbstractAccTest {
"%n%", "%o%", "%p%",
"%q%", "%r%", "%s%", "%w%")
.list();
assertThat(results.size(), equalTo(1));
assertThat(results.size(), equalTo(2));
String[] ids = results.stream()
.map(t -> {
@ -320,7 +320,7 @@ public class QueryTasksAccTest extends AbstractAccTest {
List<TaskSummary> result2 = taskService.createTaskQuery()
.customAttributeIn("4", ids)
.list();
assertThat(result2.size(), equalTo(1));
assertThat(result2.size(), equalTo(2));
}
@WithAccessId(
@ -337,7 +337,7 @@ public class QueryTasksAccTest extends AbstractAccTest {
"%n%", "%o%", "%p%",
"%q%", "%r%", "%s%", "%w%")
.list();
assertThat(results.size(), equalTo(3));
assertThat(results.size(), equalTo(4));
String[] ids = results.stream()
.map(t -> {
@ -354,7 +354,7 @@ public class QueryTasksAccTest extends AbstractAccTest {
List<TaskSummary> result2 = taskService.createTaskQuery()
.customAttributeIn("5", ids)
.list();
assertThat(result2.size(), equalTo(3));
assertThat(result2.size(), equalTo(4));
}
@WithAccessId(
@ -371,7 +371,7 @@ public class QueryTasksAccTest extends AbstractAccTest {
"%n%", "%o%", "%p%",
"%q%", "%r%", "%s%", "%w%")
.list();
assertThat(results.size(), equalTo(2));
assertThat(results.size(), equalTo(3));
String[] ids = results.stream()
.map(t -> {
@ -388,7 +388,7 @@ public class QueryTasksAccTest extends AbstractAccTest {
List<TaskSummary> result2 = taskService.createTaskQuery()
.customAttributeIn("6", ids)
.list();
assertThat(result2.size(), equalTo(2));
assertThat(result2.size(), equalTo(3));
}
@WithAccessId(
@ -405,7 +405,7 @@ public class QueryTasksAccTest extends AbstractAccTest {
"%n%", "%o%", "%p%",
"%q%", "%r%", "%s%", "%w%")
.list();
assertThat(results.size(), equalTo(1));
assertThat(results.size(), equalTo(2));
String[] ids = results.stream()
.map(t -> {
@ -422,7 +422,7 @@ public class QueryTasksAccTest extends AbstractAccTest {
List<TaskSummary> result2 = taskService.createTaskQuery()
.customAttributeIn("7", ids)
.list();
assertThat(result2.size(), equalTo(1));
assertThat(result2.size(), equalTo(2));
}
@WithAccessId(
@ -439,7 +439,7 @@ public class QueryTasksAccTest extends AbstractAccTest {
"%n%", "%o%", "%p%",
"%q%", "%r%", "%s%", "%w%")
.list();
assertThat(results.size(), equalTo(1));
assertThat(results.size(), equalTo(2));
String[] ids = results.stream()
.map(t -> {
@ -456,7 +456,7 @@ public class QueryTasksAccTest extends AbstractAccTest {
List<TaskSummary> result2 = taskService.createTaskQuery()
.customAttributeIn("8", ids)
.list();
assertThat(result2.size(), equalTo(1));
assertThat(result2.size(), equalTo(2));
}
@WithAccessId(
@ -473,7 +473,7 @@ public class QueryTasksAccTest extends AbstractAccTest {
"%n%", "%o%", "%p%",
"%q%", "%r%", "%s%", "%w%")
.list();
assertThat(results.size(), equalTo(1));
assertThat(results.size(), equalTo(2));
String[] ids = results.stream()
.map(t -> {
@ -490,7 +490,7 @@ public class QueryTasksAccTest extends AbstractAccTest {
List<TaskSummary> result2 = taskService.createTaskQuery()
.customAttributeIn("9", ids)
.list();
assertThat(result2.size(), equalTo(1));
assertThat(result2.size(), equalTo(2));
}
@WithAccessId(
@ -507,7 +507,7 @@ public class QueryTasksAccTest extends AbstractAccTest {
"%n%", "%o%", "%p%",
"%q%", "%r%", "%s%", "%w%")
.list();
assertThat(results.size(), equalTo(2));
assertThat(results.size(), equalTo(3));
String[] ids = results.stream()
.map(t -> {
@ -524,7 +524,7 @@ public class QueryTasksAccTest extends AbstractAccTest {
List<TaskSummary> result2 = taskService.createTaskQuery()
.customAttributeIn("10", ids)
.list();
assertThat(result2.size(), equalTo(2));
assertThat(result2.size(), equalTo(3));
}
@WithAccessId(

View File

@ -297,4 +297,42 @@ public class TransferTaskAccTest extends AbstractAccTest {
taskService.transferTasks("WBI:100000000000000000000000000000000006", taskIds);
}
@WithAccessId(
userName = "teamlead_1",
groupNames = {"group_1"})
@Test
public void testBulkTransferByWorkbasketAndDomainByKey()
throws WorkbasketNotFoundException, NotAuthorizedException, InvalidArgumentException, TaskNotFoundException {
Instant before = Instant.now();
TaskService taskService = taskanaEngine.getTaskService();
List<String> taskIdList = new ArrayList<>();
taskIdList.add("TKI:000000000000000000000000000000000023");
taskIdList.add("TKI:000000000000000000000000000000000024");
BulkOperationResults<String, TaskanaException> results = taskService
.transferTasks("GPK_B_KSC_1", "DOMAIN_B", taskIdList);
assertFalse(results.containsErrors());
Workbasket wb = taskanaEngine.getWorkbasketService().getWorkbasket("GPK_B_KSC_1", "DOMAIN_B");
Task transferredTask = taskService.getTask("TKI:000000000000000000000000000000000023");
assertNotNull(transferredTask);
assertTrue(transferredTask.isTransferred());
assertFalse(transferredTask.isRead());
assertEquals(TaskState.READY, transferredTask.getState());
assertThat(transferredTask.getWorkbasketKey(), equalTo(wb.getKey()));
assertThat(transferredTask.getDomain(), equalTo(wb.getDomain()));
assertFalse(transferredTask.getModified().isBefore(before));
assertThat(transferredTask.getOwner(), equalTo(null));
transferredTask = taskService.getTask("TKI:000000000000000000000000000000000024");
assertNotNull(transferredTask);
assertTrue(transferredTask.isTransferred());
assertFalse(transferredTask.isRead());
assertEquals(TaskState.READY, transferredTask.getState());
assertThat(transferredTask.getWorkbasketKey(), equalTo(wb.getKey()));
assertThat(transferredTask.getDomain(), equalTo(wb.getDomain()));
assertFalse(transferredTask.getModified().isBefore(before));
assertThat(transferredTask.getOwner(), equalTo(null));
}
}

View File

@ -89,6 +89,11 @@ public class UpdateTaskAttachmentsAccTest extends AbstractAccTest {
task = taskService.getTask(task.getId());
assertThat(task.getAttachments().size(), equalTo(attachmentCount + 1));
assertThat(task.getAttachments().get(0).getClassificationSummary().getKey(), equalTo("DOCTYPE_DEFAULT"));
assertThat(task.getAttachments().get(0).getObjectReference().getCompany(), equalTo("COMPANY_A"));
assertThat(task.getAttachments().get(0).getObjectReference().getSystem(), equalTo("SYSTEM_B"));
assertThat(task.getAttachments().get(0).getObjectReference().getSystemInstance(), equalTo("INSTANCE_B"));
assertThat(task.getAttachments().get(0).getObjectReference().getType(), equalTo("ArchiveId"));
assertThat(task.getAttachments().get(0).getObjectReference().getValue(), equalTo("12345678901234567890123456789012345678901234567890"));
assertTrue(task.getPriority() == 99);
assertTrue(task.getDue().equals(task.getPlanned().plus(Duration.ofDays(1))));
}

View File

@ -1,5 +1,5 @@
-- TASK TABLE (ID , CREATED , CLAIMED , COMPLETED , modified , planned , due , name , creator , description , note , priority, state , classification_category , classification_key , classification_id , workbasket_id , workbasket_key, domain , business_process_id, parent_business_process_id, owner , por_company , por_system , por_system_instance, por_type , por_value , is_read, is_transferred, callback_info, custom_attributes, custom1, custom2, custom3, custom4, custom5, custom6, custom7, custom8, custom9, custom10, custom11, custom12, custom13, custom14, custom15, custom16
INSERT INTO TASKANA.TASK VALUES('TKI:000000000000000000000000000000000000', '2018-01-29 15:55:00', '2018-01-30 15:55:00', null , '2018-01-30 15:55:00', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Task99' , 'creator_user_id' , 'Lorem ipsum was n Quatsch dolor sit amet.', 'Some custom Note' , 1 , 'CLAIMED' , 'MANUAL' , 'T2000' , 'CLI:100000000000000000000000000000000016', 'WBI:100000000000000000000000000000000006' , 'USER_1_1' , 'DOMAIN_A', 'BPI21' , 'PBPI21' , 'user_1_1' , 'MyCompany1', 'MySystem1', 'MyInstance1' , 'MyType1', 'MyValue1' , true , false , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , 'abc' , null , null );
INSERT INTO TASKANA.TASK VALUES('TKI:000000000000000000000000000000000000', '2018-01-29 15:55:00', '2018-01-30 15:55:00', null , '2018-01-30 15:55:00', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Task99' , 'creator_user_id' , 'Lorem ipsum was n Quatsch dolor sit amet.', 'Some custom Note' , 1 , 'CLAIMED' , 'MANUAL' , 'T2000' , 'CLI:100000000000000000000000000000000016', 'WBI:100000000000000000000000000000000006' , 'USER_1_1' , 'DOMAIN_A', 'BPI21' , 'PBPI21' , 'user_1_1' , 'MyCompany1', 'MySystem1', 'MyInstance1' , 'MyType1', 'MyValue1' , true , false , null , null , 'custom1' , 'custom2' , 'custom3' , 'custom4' , 'custom5' , 'custom6' , 'custom7' , 'custom8' , 'custom9' , 'custom10' , 'custom11' , 'custom12' , 'custom13' , 'abc' , 'custom15' , 'custom16' );
INSERT INTO TASKANA.TASK VALUES('TKI:000000000000000000000000000000000001', '2018-01-29 15:55:01', '2018-01-30 15:55:00', null , '2018-01-30 15:55:01', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Task01' , 'creator_user_id' , 'Lorem ipsum was n Quatsch dolor sit amet.', 'Some custom Note' , 2 , 'CLAIMED' , 'EXTERN' , 'L110102' , 'CLI:100000000000000000000000000000000005', 'WBI:100000000000000000000000000000000006' , 'USER_1_1' , 'DOMAIN_A', 'BPI21' , 'PBPI21' , 'user_1_1' , 'MyCompany1', 'MySystem1', 'MyInstance1' , 'MyType1', 'MyValue1' , true , false , null , null , 'pqr' , null , null , null , null , null , null , null , null , null , null , null , null , 'abc' , null , null );
INSERT INTO TASKANA.TASK VALUES('TKI:000000000000000000000000000000000002', '2018-01-29 15:55:02', '2018-01-30 15:55:00', null , '2018-01-30 15:55:02', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Task02' , 'creator_user_id' , 'Lorem ipsum was n Quatsch t. Aber stimmt.', 'Some custom Note' , 2 , 'CLAIMED' , 'MANUAL' , 'T2000' , 'CLI:100000000000000000000000000000000016', 'WBI:100000000000000000000000000000000006' , 'USER_1_1' , 'DOMAIN_A', 'BPI21' , 'PBPI21' , 'user_1_1' , 'MyCompany1', 'MySystem1', 'MyInstance1' , 'MyType1', 'MyValue1' , true , false , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , 'abc' , null , null );
INSERT INTO TASKANA.TASK VALUES('TKI:000000000000000000000000000000000003', '2018-01-29 15:55:03', null , null , '2018-01-29 15:55:03', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , 'READY' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000001' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000003' , 'DOC_0000000000000000003' , null , '00' , 'PASystem' , '00' , 'VNR' , '11223344' , false , false , null , null , 'efg' , null , null , null , null , null , null , null , null , null , null , null , null , 'abc' , null , null );