From e30f04ba1e0eca7e58eefc19a5ca8325d611d953 Mon Sep 17 00:00:00 2001 From: Patrick Treyer <22633198+ptreyer@users.noreply.github.com> Date: Fri, 26 Feb 2021 09:55:16 +0100 Subject: [PATCH] TSK-1576: Implemented tests to retrieve tasks for different user roles (#1505) * TSK-1576: Implemented tests to retrieve tasks for different user roles * TSK-1576: Apply suggestions from code review Co-authored-by: Mustapha Zorgati <15628173+mustaphazorgati@users.noreply.github.com> Co-authored-by: Patrick Treyer Co-authored-by: Mustapha Zorgati <15628173+mustaphazorgati@users.noreply.github.com> --- .../ClassificationQueryAccTest.java | 2 +- .../acceptance/security/TaskQueryAccTest.java | 57 ------------ .../task/QueryTasksByRoleAccTest.java | 88 +++++++++++++++++++ .../{security => task}/TaskEngineAccTest.java | 2 +- .../WorkbasketQueryAccTest.java | 2 +- 5 files changed, 91 insertions(+), 60 deletions(-) rename lib/taskana-core/src/test/java/acceptance/{security => classification}/ClassificationQueryAccTest.java (98%) delete mode 100644 lib/taskana-core/src/test/java/acceptance/security/TaskQueryAccTest.java create mode 100644 lib/taskana-core/src/test/java/acceptance/task/QueryTasksByRoleAccTest.java rename lib/taskana-core/src/test/java/acceptance/{security => task}/TaskEngineAccTest.java (99%) rename lib/taskana-core/src/test/java/acceptance/{security => workbasket}/WorkbasketQueryAccTest.java (99%) diff --git a/lib/taskana-core/src/test/java/acceptance/security/ClassificationQueryAccTest.java b/lib/taskana-core/src/test/java/acceptance/classification/ClassificationQueryAccTest.java similarity index 98% rename from lib/taskana-core/src/test/java/acceptance/security/ClassificationQueryAccTest.java rename to lib/taskana-core/src/test/java/acceptance/classification/ClassificationQueryAccTest.java index 29fea8c63..042a8b445 100644 --- a/lib/taskana-core/src/test/java/acceptance/security/ClassificationQueryAccTest.java +++ b/lib/taskana-core/src/test/java/acceptance/classification/ClassificationQueryAccTest.java @@ -1,4 +1,4 @@ -package acceptance.security; +package acceptance.classification; import static org.assertj.core.api.Assertions.assertThat; diff --git a/lib/taskana-core/src/test/java/acceptance/security/TaskQueryAccTest.java b/lib/taskana-core/src/test/java/acceptance/security/TaskQueryAccTest.java deleted file mode 100644 index 818f9dac4..000000000 --- a/lib/taskana-core/src/test/java/acceptance/security/TaskQueryAccTest.java +++ /dev/null @@ -1,57 +0,0 @@ -package acceptance.security; - -import static org.assertj.core.api.Assertions.assertThat; - -import acceptance.AbstractAccTest; -import java.util.List; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; - -import pro.taskana.common.test.security.JaasExtension; -import pro.taskana.common.test.security.WithAccessId; -import pro.taskana.task.api.TaskService; -import pro.taskana.task.api.models.TaskSummary; - -/** Acceptance test for task queries and authorization. */ -@ExtendWith(JaasExtension.class) -class TaskQueryAccTest extends AbstractAccTest { - - @Test - void testTaskQueryUnauthenticated() { - TaskService taskService = taskanaEngine.getTaskService(); - - List results = taskService.createTaskQuery().ownerLike("%a%", "%u%").list(); - - assertThat(results).isEmpty(); - } - - @WithAccessId(user = "user-1-1") - @Test - void testTaskQueryUser_1_1() { - TaskService taskService = taskanaEngine.getTaskService(); - - List results = taskService.createTaskQuery().ownerLike("%a%", "%u%").list(); - - assertThat(results).hasSize(7); - } - - @WithAccessId(user = "user-1-1", groups = "businessadmin") - @Test - void testTaskQueryUser_1_1BusinessAdm() { - TaskService taskService = taskanaEngine.getTaskService(); - - List results = taskService.createTaskQuery().ownerLike("%a%", "%u%").list(); - - assertThat(results).hasSize(7); - } - - @WithAccessId(user = "user-1-1", groups = "admin") - @Test - void testTaskQueryUser_1_1Admin() { - TaskService taskService = taskanaEngine.getTaskService(); - - List results = taskService.createTaskQuery().ownerLike("%a%", "%u%").list(); - - assertThat(results).hasSize(39); - } -} diff --git a/lib/taskana-core/src/test/java/acceptance/task/QueryTasksByRoleAccTest.java b/lib/taskana-core/src/test/java/acceptance/task/QueryTasksByRoleAccTest.java new file mode 100644 index 000000000..4df1fe7a7 --- /dev/null +++ b/lib/taskana-core/src/test/java/acceptance/task/QueryTasksByRoleAccTest.java @@ -0,0 +1,88 @@ +package acceptance.task; + +import static org.assertj.core.api.Assertions.assertThat; + +import acceptance.AbstractAccTest; +import java.util.List; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import pro.taskana.common.test.security.JaasExtension; +import pro.taskana.common.test.security.WithAccessId; +import pro.taskana.task.api.TaskService; +import pro.taskana.task.api.models.TaskSummary; + +/** Acceptance test for task queries and authorization. */ +@ExtendWith(JaasExtension.class) +class QueryTasksByRoleAccTest extends AbstractAccTest { + + @Test + void should_ReturnNoResult_When_UserIsNotAuthenticated() { + TaskService taskService = taskanaEngine.getTaskService(); + + List results = taskService.createTaskQuery().list(); + + assertThat(results).isEmpty(); + } + + @WithAccessId(user = "admin") + @Test + void should_ReturnAllTasks_For_Admin() { + TaskService taskService = taskanaEngine.getTaskService(); + + List results = taskService.createTaskQuery().list(); + + assertThat(results).hasSize(87); + } + + @WithAccessId(user = "taskadmin") + @Test + void should_ReturnAllTasks_For_TaskAdmin() { + TaskService taskService = taskanaEngine.getTaskService(); + + List results = taskService.createTaskQuery().list(); + + assertThat(results).hasSize(87); + } + + @WithAccessId(user = "businessadmin") + @Test + void should_ReturnAllTasks_For_BusinessAdmin() { + TaskService taskService = taskanaEngine.getTaskService(); + + List results = taskService.createTaskQuery().list(); + + assertThat(results).isEmpty(); + } + + @WithAccessId(user = "monitor") + @Test + void should_ReturnAllTasks_For_MonitorUser() { + TaskService taskService = taskanaEngine.getTaskService(); + + List results = taskService.createTaskQuery().list(); + + assertThat(results).isEmpty(); + } + + @WithAccessId(user = "teamlead-1") + @Test + void should_ReturnAllTasks_For_TeamLead1() { + TaskService taskService = taskanaEngine.getTaskService(); + + List results = taskService.createTaskQuery().list(); + + assertThat(results).hasSize(25); + } + + @WithAccessId(user = "user-1-1") + @Test + void should_ReturnAllTasks_For_User11() { + TaskService taskService = taskanaEngine.getTaskService(); + + List results = taskService.createTaskQuery().list(); + + assertThat(results).hasSize(7); + } + +} diff --git a/lib/taskana-core/src/test/java/acceptance/security/TaskEngineAccTest.java b/lib/taskana-core/src/test/java/acceptance/task/TaskEngineAccTest.java similarity index 99% rename from lib/taskana-core/src/test/java/acceptance/security/TaskEngineAccTest.java rename to lib/taskana-core/src/test/java/acceptance/task/TaskEngineAccTest.java index d4772ca01..2028b4009 100644 --- a/lib/taskana-core/src/test/java/acceptance/security/TaskEngineAccTest.java +++ b/lib/taskana-core/src/test/java/acceptance/task/TaskEngineAccTest.java @@ -1,4 +1,4 @@ -package acceptance.security; +package acceptance.task; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; diff --git a/lib/taskana-core/src/test/java/acceptance/security/WorkbasketQueryAccTest.java b/lib/taskana-core/src/test/java/acceptance/workbasket/WorkbasketQueryAccTest.java similarity index 99% rename from lib/taskana-core/src/test/java/acceptance/security/WorkbasketQueryAccTest.java rename to lib/taskana-core/src/test/java/acceptance/workbasket/WorkbasketQueryAccTest.java index 7ca27135e..59552a503 100644 --- a/lib/taskana-core/src/test/java/acceptance/security/WorkbasketQueryAccTest.java +++ b/lib/taskana-core/src/test/java/acceptance/workbasket/WorkbasketQueryAccTest.java @@ -1,4 +1,4 @@ -package acceptance.security; +package acceptance.workbasket; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy;