From 6f6cfd2bfec0911463a1f807feeee49510c8581f Mon Sep 17 00:00:00 2001 From: Cristina Jalba Date: Fri, 21 Oct 2016 17:46:24 +0300 Subject: [PATCH] TAS-1440, TAS-1614, TAS-1615, TAS-1616, TAS-1617 updateTask with different roles --- .../workflow/tasks/UploadTaskSanityTests.java | 92 +++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 e2e-test/java/org/alfresco/rest/workflow/tasks/UploadTaskSanityTests.java diff --git a/e2e-test/java/org/alfresco/rest/workflow/tasks/UploadTaskSanityTests.java b/e2e-test/java/org/alfresco/rest/workflow/tasks/UploadTaskSanityTests.java new file mode 100644 index 000000000..320fdfc65 --- /dev/null +++ b/e2e-test/java/org/alfresco/rest/workflow/tasks/UploadTaskSanityTests.java @@ -0,0 +1,92 @@ +package org.alfresco.rest.workflow.tasks; + +import org.alfresco.dataprep.CMISUtil.DocumentType; +import org.alfresco.rest.RestWorkflowTest; +import org.alfresco.rest.requests.RestTasksApi; +import org.alfresco.utility.model.FileModel; +import org.alfresco.utility.model.GroupModel; +import org.alfresco.utility.model.SiteModel; +import org.alfresco.utility.model.TaskModel; +import org.alfresco.utility.model.TestGroup; +import org.alfresco.utility.model.UserModel; +import org.alfresco.utility.testrail.ExecutionType; +import org.alfresco.utility.testrail.annotation.TestRail; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.Test; + +@Test(groups = { TestGroup.REST_API, TestGroup.WORKFLOW, TestGroup.TASKS, TestGroup.SANITY }) +public class UploadTaskSanityTests extends RestWorkflowTest +{ + @Autowired + RestTasksApi tasksApi; + + UserModel userModel; + SiteModel siteModel; + UserModel candidateUser; + FileModel fileModel; + UserModel assigneeUser; + TaskModel taskModel; + + @BeforeClass(alwaysRun=true) + public void dataPreparation() throws Exception + { + userModel = dataUser.createRandomTestUser(); + siteModel = dataSite.usingUser(userModel).createPublicRandomSite(); + fileModel = dataContent.usingSite(siteModel).createContent(DocumentType.TEXT_PLAIN); + assigneeUser = dataUser.createRandomTestUser(); + taskModel = dataWorkflow.usingUser(userModel).usingSite(siteModel).usingResource(fileModel).createNewTaskAndAssignTo(assigneeUser); + + tasksApi.useRestClient(restClient); + } + + @TestRail(section = { TestGroup.REST_API, TestGroup.WORKFLOW, TestGroup.TASKS }, executionType = ExecutionType.SANITY, description = "Verify admin user updates task with Rest API and response is successfull (200)") + public void adminUserUpdatesAnyTaskWithSuccess() throws Exception + { + UserModel adminUser = dataUser.getAdminUser(); + restClient.authenticateUser(adminUser); + tasksApi.updateTask(taskModel); + tasksApi.usingRestWrapper().assertStatusCodeIs(HttpStatus.OK); + } + + @TestRail(section = { TestGroup.REST_API, TestGroup.WORKFLOW, TestGroup.TASKS }, executionType = ExecutionType.SANITY, description = "Verify assignee user updates its assigned task with Rest API and response is successfull (200)") + public void assigneeUserUpdatesItsTaskWithSuccess() throws Exception + { + restClient.authenticateUser(assigneeUser); + tasksApi.updateTask(taskModel); + tasksApi.usingRestWrapper().assertStatusCodeIs(HttpStatus.OK); + } + + @TestRail(section = { TestGroup.REST_API, TestGroup.WORKFLOW, TestGroup.TASKS }, executionType = ExecutionType.SANITY, description = "Verify user that started the task updates the started task with Rest API and response is successfull (200)") + public void starterUserUpdatesItsTaskWithSuccess() throws Exception + { + restClient.authenticateUser(userModel); + tasksApi.updateTask(taskModel); + tasksApi.usingRestWrapper().assertStatusCodeIs(HttpStatus.OK); + } + + @TestRail(section = { TestGroup.REST_API, TestGroup.WORKFLOW, TestGroup.TASKS }, executionType = ExecutionType.SANITY, description = "Verify any user with no relation to task is forbidden to update other task with Rest API (403)") + public void anyUserIsForbiddenToUpdateOtherTask() throws Exception + { + UserModel anyUser= dataUser.createRandomTestUser(); + + restClient.authenticateUser(anyUser); + tasksApi.updateTask(taskModel); + tasksApi.usingRestWrapper().assertStatusCodeIs(HttpStatus.FORBIDDEN); + } + + @TestRail(section = { TestGroup.REST_API, TestGroup.WORKFLOW, TestGroup.TASKS }, executionType = ExecutionType.SANITY, description = "Verify candidate user updates its specific task and no other user claimed the task with Rest API and response is successfull (200)") + public void candidateUserUpdatesItsTasks() throws Exception + { + UserModel userModel1 = dataUser.createRandomTestUser(); + UserModel userModel2 = dataUser.createRandomTestUser(); + GroupModel group = dataGroup.createRandomGroup(); + dataGroup.addListOfUsersToGroup(group, userModel1, userModel2); + TaskModel taskModel = dataWorkflow.usingUser(userModel).usingSite(siteModel).usingResource(fileModel).createPooledReviewTaskAndAssignTo(group); + + restClient.authenticateUser(userModel1); + tasksApi.updateTask(taskModel); + tasksApi.usingRestWrapper().assertStatusCodeIs(HttpStatus.OK); + } +}