diff --git a/e2e-test/java/org/alfresco/rest/workflow/tasks/items/AddTaskItemFullTests.java b/e2e-test/java/org/alfresco/rest/workflow/tasks/items/AddTaskItemFullTests.java index 93a804e9e..c929d2652 100644 --- a/e2e-test/java/org/alfresco/rest/workflow/tasks/items/AddTaskItemFullTests.java +++ b/e2e-test/java/org/alfresco/rest/workflow/tasks/items/AddTaskItemFullTests.java @@ -1,11 +1,14 @@ package org.alfresco.rest.workflow.tasks.items; import org.alfresco.dataprep.CMISUtil.DocumentType; +import org.alfresco.dataprep.CMISUtil.Priority; import org.alfresco.rest.RestTest; import org.alfresco.rest.exception.JsonToModelConversionException; import org.alfresco.rest.model.RestErrorModel; import org.alfresco.rest.model.RestItemModel; import org.alfresco.rest.model.RestItemModelsCollection; +import org.alfresco.rest.model.RestProcessModel; +import org.alfresco.rest.model.RestTaskModel; import org.alfresco.utility.model.FileModel; import org.alfresco.utility.model.SiteModel; import org.alfresco.utility.model.TaskModel; @@ -19,7 +22,7 @@ import org.testng.annotations.Test; public class AddTaskItemFullTests extends RestTest { - private UserModel userModel, adminUser,userWhoStartsTask, assigneeUser, adminTenantUser, tenantUser, tenantUserAssignee, adminTenantUser2; + private UserModel userModel, adminUser,userWhoStartsTask, assigneeUser; private SiteModel siteModel; private FileModel fileModel, fileModel1, document1, document2,document3; private TaskModel taskModel; @@ -92,23 +95,26 @@ public class AddTaskItemFullTests extends RestTest @Test(groups = { TestGroup.REST_API, TestGroup.WORKFLOW, TestGroup.TASKS, TestGroup.FULL, TestGroup.NETWORKS }) public void addTaskItemByAdminInOtherNetwork() throws Exception { - adminTenantUser = UserModel.getAdminTenantUser(); - adminTenantUser2 = UserModel.getAdminTenantUser(); - - restClient.authenticateUser(adminUser).usingTenant().createTenant(adminTenantUser); - tenantUserAssignee = dataUser.usingUser(adminTenantUser).createUserWithTenant("uTenantAssignee"); - restClient.usingTenant().createTenant(adminTenantUser2); - siteModel = dataSite.usingUser(adminTenantUser).createPublicRandomSite(); - dataWorkflow.usingUser(tenantUser).usingSite(siteModel).usingResource(fileModel).createNewTaskAndAssignTo(tenantUserAssignee); - - document1 = dataContent.usingUser(adminTenantUser).usingSite(siteModel).createContent(DocumentType.XML); - restClient.authenticateUser(adminTenantUser2).withWorkflowAPI().usingTask(taskModel).addTaskItem(document1); + UserModel adminTenantUser1 = UserModel.getAdminTenantUser(); + UserModel adminTenantUser2 = UserModel.getAdminTenantUser(); + + restClient.authenticateUser(adminUser).usingTenant().createTenant(adminTenantUser1); + restClient.usingTenant().createTenant(adminTenantUser2); + + UserModel tenantUser1 = dataUser.usingUser(adminTenantUser1).createUserWithTenant("uTenant"); + UserModel tenantUserAssignee1 = dataUser.usingUser(adminTenantUser1).createUserWithTenant("uTenantAssignee"); + + siteModel = dataSite.usingUser(adminTenantUser1).createPublicRandomSite(); + fileModel = dataContent.usingUser(adminTenantUser1).usingSite(siteModel).createContent(DocumentType.XML); + RestProcessModel addedProcess = restClient.authenticateUser(tenantUser1).withWorkflowAPI().addProcess("activitiAdhoc", tenantUserAssignee1, false, Priority.Normal); + RestTaskModel addedTask = restClient.withWorkflowAPI().getTasks().getTaskModelByProcess(addedProcess); + restClient.authenticateUser(adminTenantUser2).withWorkflowAPI().usingTask(addedTask).addTaskItem(fileModel); restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN).assertLastError() - .containsSummary(RestErrorModel.PROCESS_RUNNING_IN_ANOTHER_TENANT) + .containsSummary(RestErrorModel.PERMISSION_WAS_DENIED) .descriptionURLIs(RestErrorModel.RESTAPIEXPLORER) - .containsErrorKey(RestErrorModel.PROCESS_RUNNING_IN_ANOTHER_TENANT) - .stackTraceIs(RestErrorModel.STACKTRACE); + .containsErrorKey(RestErrorModel.PERMISSION_DENIED_ERRORKEY) + .stackTraceIs(RestErrorModel.STACKTRACE); } @TestRail(section = { TestGroup.REST_API, TestGroup.WORKFLOW,TestGroup.TASKS }, executionType = ExecutionType.REGRESSION, @@ -116,24 +122,27 @@ public class AddTaskItemFullTests extends RestTest @Test(groups = { TestGroup.REST_API, TestGroup.WORKFLOW, TestGroup.TASKS, TestGroup.FULL, TestGroup.NETWORKS }) public void addMultipleTaskItemByAdminInOtherNetwork() throws Exception { - adminTenantUser = UserModel.getAdminTenantUser(); - adminTenantUser2 = UserModel.getAdminTenantUser(); - - restClient.authenticateUser(adminUser).usingTenant().createTenant(adminTenantUser); - tenantUserAssignee = dataUser.usingUser(adminTenantUser).createUserWithTenant("uTenantAssignee"); - restClient.usingTenant().createTenant(adminTenantUser2); - siteModel = dataSite.usingUser(adminTenantUser).createPublicRandomSite(); - dataWorkflow.usingUser(tenantUser).usingSite(siteModel).usingResource(fileModel).createNewTaskAndAssignTo(tenantUserAssignee); - - document1 = dataContent.usingUser(adminTenantUser).usingSite(siteModel).createContent(DocumentType.XML); - document2 = dataContent.usingUser(adminTenantUser).usingSite(siteModel).createContent(DocumentType.XML); + UserModel adminTenantUser1 = UserModel.getAdminTenantUser(); + UserModel adminTenantUser2 = UserModel.getAdminTenantUser(); - restClient.authenticateUser(adminTenantUser2).withWorkflowAPI().usingTask(taskModel).addTaskItems(document1, document2); - + restClient.authenticateUser(adminUser).usingTenant().createTenant(adminTenantUser1); + restClient.usingTenant().createTenant(adminTenantUser2); + + UserModel tenantUser1 = dataUser.usingUser(adminTenantUser1).createUserWithTenant("uTenant"); + UserModel tenantUserAssignee1 = dataUser.usingUser(adminTenantUser1).createUserWithTenant("uTenantAssignee"); + + siteModel = dataSite.usingUser(adminTenantUser1).createPublicRandomSite(); + document1 = dataContent.usingUser(adminTenantUser1).usingSite(siteModel).createContent(DocumentType.XML); + document2 = dataContent.usingSite(siteModel).createContent(DocumentType.XML); + + RestProcessModel addedProcess = restClient.authenticateUser(tenantUser1).withWorkflowAPI().addProcess("activitiAdhoc", tenantUserAssignee1, false, Priority.Normal); + RestTaskModel addedTask = restClient.withWorkflowAPI().getTasks().getTaskModelByProcess(addedProcess); + restClient.authenticateUser(adminTenantUser2).withWorkflowAPI().usingTask(addedTask).addTaskItems(document1, document2); + restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN).assertLastError() - .containsSummary(RestErrorModel.PROCESS_RUNNING_IN_ANOTHER_TENANT) + .containsSummary(RestErrorModel.PERMISSION_WAS_DENIED) .descriptionURLIs(RestErrorModel.RESTAPIEXPLORER) - .containsErrorKey(RestErrorModel.PROCESS_RUNNING_IN_ANOTHER_TENANT) + .containsErrorKey(RestErrorModel.PERMISSION_DENIED_ERRORKEY) .stackTraceIs(RestErrorModel.STACKTRACE);; } diff --git a/e2e-test/java/org/alfresco/rest/workflow/tasks/items/AddTaskItemSanityTests.java b/e2e-test/java/org/alfresco/rest/workflow/tasks/items/AddTaskItemSanityTests.java index 7b271c3ac..6e5b66bc7 100644 --- a/e2e-test/java/org/alfresco/rest/workflow/tasks/items/AddTaskItemSanityTests.java +++ b/e2e-test/java/org/alfresco/rest/workflow/tasks/items/AddTaskItemSanityTests.java @@ -1,10 +1,13 @@ package org.alfresco.rest.workflow.tasks.items; import org.alfresco.dataprep.CMISUtil.DocumentType; +import org.alfresco.dataprep.CMISUtil.Priority; import org.alfresco.rest.RestTest; import org.alfresco.rest.exception.JsonToModelConversionException; import org.alfresco.rest.model.RestItemModel; import org.alfresco.rest.model.RestItemModelsCollection; +import org.alfresco.rest.model.RestProcessModel; +import org.alfresco.rest.model.RestTaskModel; import org.alfresco.utility.model.FileModel; import org.alfresco.utility.model.SiteModel; import org.alfresco.utility.model.TaskModel; @@ -20,7 +23,7 @@ import org.testng.annotations.Test; public class AddTaskItemSanityTests extends RestTest { - private UserModel userModel, userWhoStartsTask, assigneeUser, adminTenantUser, tenantUser, tenantUserAssignee;; + private UserModel userModel, userWhoStartsTask, assigneeUser; private SiteModel siteModel; private FileModel fileModel, document2, document3, document4; private TaskModel taskModel; @@ -162,21 +165,20 @@ public class AddTaskItemSanityTests extends RestTest description = "Add task item using admin user from same network") public void addTaskItemByAdminSameNetwork() throws JsonToModelConversionException, Exception { - UserModel adminuser = dataUser.getAdminUser(); - restClient.authenticateUser(adminuser); + UserModel adminUser = dataUser.getAdminUser(); + restClient.authenticateUser(adminUser); + UserModel adminTenantUser1 = UserModel.getAdminTenantUser(); + restClient.authenticateUser(adminUser).usingTenant().createTenant(adminTenantUser1); + + UserModel tenantUser1 = dataUser.usingUser(adminTenantUser1).createUserWithTenant("uTenant"); + UserModel tenantUserAssignee1 = dataUser.usingUser(adminTenantUser1).createUserWithTenant("uTenantAssignee"); - adminTenantUser = UserModel.getAdminTenantUser(); - restClient.usingTenant().createTenant(adminTenantUser); - - tenantUser = dataUser.usingUser(adminTenantUser).createUserWithTenant("uTenant"); - tenantUserAssignee = dataUser.usingUser(adminTenantUser).createUserWithTenant("uTenantAssignee"); - - siteModel = dataSite.usingUser(adminTenantUser).createPublicRandomSite(); - dataWorkflow.usingUser(tenantUser).usingSite(siteModel).usingResource(fileModel).createNewTaskAndAssignTo(tenantUserAssignee); - - document4 = dataContent.usingSite(siteModel).createContent(DocumentType.XML); - - taskItem = restClient.withWorkflowAPI().usingTask(taskModel).addTaskItem(document4); + siteModel = dataSite.usingUser(adminTenantUser1).createPublicRandomSite(); + document4 = dataContent.usingUser(adminTenantUser1).usingSite(siteModel).createContent(DocumentType.XML); + RestProcessModel addedProcess = restClient.authenticateUser(tenantUser1).withWorkflowAPI().addProcess("activitiAdhoc", tenantUserAssignee1, false, Priority.Normal); + RestTaskModel addedTask = restClient.authenticateUser(adminTenantUser1).withWorkflowAPI().getTasks().getTaskModelByProcess(addedProcess); + + taskItem = restClient.withWorkflowAPI().usingTask(addedTask).addTaskItem(document4); restClient.assertStatusCodeIs(HttpStatus.CREATED); taskItem.assertThat().field("createdAt").is(taskItem.getCreatedAt()) .and().field("size").is(taskItem.getSize()) @@ -193,22 +195,22 @@ public class AddTaskItemSanityTests extends RestTest description = "Add task item using admin user from same network") public void addMultipleTaskItemByAdminSameNetwork() throws JsonToModelConversionException, Exception { - UserModel adminuser = dataUser.getAdminUser(); - restClient.authenticateUser(adminuser); + UserModel adminUser = dataUser.getAdminUser(); + restClient.authenticateUser(adminUser); + UserModel adminTenantUser1 = UserModel.getAdminTenantUser(); + restClient.authenticateUser(adminUser).usingTenant().createTenant(adminTenantUser1); + + UserModel tenantUser1 = dataUser.usingUser(adminTenantUser1).createUserWithTenant("uTenant"); + UserModel tenantUserAssignee1 = dataUser.usingUser(adminTenantUser1).createUserWithTenant("uTenantAssignee"); - adminTenantUser = UserModel.getAdminTenantUser(); - restClient.usingTenant().createTenant(adminTenantUser); - - tenantUser = dataUser.usingUser(adminTenantUser).createUserWithTenant("uTenant"); - tenantUserAssignee = dataUser.usingUser(adminTenantUser).createUserWithTenant("uTenantAssignee"); - - siteModel = dataSite.usingUser(adminTenantUser).createPublicRandomSite(); - dataWorkflow.usingUser(tenantUser).usingSite(siteModel).usingResource(fileModel).createNewTaskAndAssignTo(tenantUserAssignee); - - document4 = dataContent.usingSite(siteModel).createContent(DocumentType.XML); - document3 = dataContent.usingSite(siteModel).createContent(DocumentType.XML); - - taskItems = restClient.withWorkflowAPI().usingTask(taskModel).addTaskItems(document4,document3); + siteModel = dataSite.usingUser(adminTenantUser1).createPublicRandomSite(); + document3 = dataContent.usingUser(adminTenantUser1).usingSite(siteModel).createContent(DocumentType.XML); + document4 = dataContent.usingUser(adminTenantUser1).usingUser(adminTenantUser1).usingSite(siteModel).createContent(DocumentType.XML); + RestProcessModel addedProcess = restClient.authenticateUser(tenantUser1).withWorkflowAPI().addProcess("activitiAdhoc", tenantUserAssignee1, false, Priority.Normal); + RestTaskModel addedTask = restClient.authenticateUser(adminTenantUser1).withWorkflowAPI().getTasks().getTaskModelByProcess(addedProcess); + + taskItems = restClient.authenticateUser(adminTenantUser1).withWorkflowAPI().usingTask(addedTask) + .addTaskItems(document4,document3); restClient.assertStatusCodeIs(HttpStatus.CREATED); taskItems.getEntries().get(0).onModel() diff --git a/e2e-test/java/org/alfresco/rest/workflow/tasks/items/GetTaskItemsSanityTests.java b/e2e-test/java/org/alfresco/rest/workflow/tasks/items/GetTaskItemsSanityTests.java index c8990f431..88fd21c02 100644 --- a/e2e-test/java/org/alfresco/rest/workflow/tasks/items/GetTaskItemsSanityTests.java +++ b/e2e-test/java/org/alfresco/rest/workflow/tasks/items/GetTaskItemsSanityTests.java @@ -1,9 +1,12 @@ package org.alfresco.rest.workflow.tasks.items; import org.alfresco.dataprep.CMISUtil.DocumentType; +import org.alfresco.dataprep.CMISUtil.Priority; import org.alfresco.rest.RestTest; import org.alfresco.rest.model.RestItemModel; import org.alfresco.rest.model.RestItemModelsCollection; +import org.alfresco.rest.model.RestProcessModel; +import org.alfresco.rest.model.RestTaskModel; import org.alfresco.utility.Utility; import org.alfresco.utility.model.FileModel; import org.alfresco.utility.model.SiteModel; @@ -78,22 +81,21 @@ public class GetTaskItemsSanityTests extends RestTest @Test(groups = { TestGroup.NETWORKS,TestGroup.REST_API, TestGroup.WORKFLOW, TestGroup.TASKS, TestGroup.SANITY}) public void getTaskItemsByAdminInSameNetwork() throws Exception { - UserModel adminuser = dataUser.getAdminUser(); - restClient.authenticateUser(adminuser); + UserModel adminUser = dataUser.getAdminUser(); + restClient.authenticateUser(adminUser); + UserModel adminTenantUser1 = UserModel.getAdminTenantUser(); + restClient.authenticateUser(adminUser).usingTenant().createTenant(adminTenantUser1); + + UserModel tenantUser1 = dataUser.usingUser(adminTenantUser1).createUserWithTenant("uTenant"); + UserModel tenantUserAssignee1 = dataUser.usingUser(adminTenantUser1).createUserWithTenant("uTenantAssignee"); - adminTenantUser = UserModel.getAdminTenantUser(); - restClient.usingTenant().createTenant(adminTenantUser); - - tenantUser = dataUser.usingUser(adminTenantUser).createUserWithTenant("uTenant"); - tenantUserAssignee = dataUser.usingUser(adminTenantUser).createUserWithTenant("uTenantAssignee"); - - siteModel = dataSite.usingUser(adminTenantUser).createPublicRandomSite(); - dataWorkflow.usingUser(tenantUser).usingSite(siteModel).usingResource(fileModel).createNewTaskAndAssignTo(tenantUserAssignee); - - document1 = dataContent.usingSite(siteModel).createContent(DocumentType.XML); - taskItem = restClient.withWorkflowAPI().usingTask(taskModel).addTaskItem(document1); + siteModel = dataSite.usingUser(adminTenantUser1).createPublicRandomSite(); + document1 = dataContent.usingUser(adminTenantUser1).usingSite(siteModel).createContent(DocumentType.XML); + RestProcessModel addedProcess = restClient.authenticateUser(tenantUser1).withWorkflowAPI().addProcess("activitiAdhoc", tenantUserAssignee1, false, Priority.Normal); + RestTaskModel addedTask = restClient.authenticateUser(adminTenantUser1).withWorkflowAPI().getTasks().getTaskModelByProcess(addedProcess); + taskItem = restClient.withWorkflowAPI().usingTask(addedTask).addTaskItem(document1); - itemModels = restClient.withWorkflowAPI().usingTask(taskModel).getTaskItems(); + itemModels = restClient.withWorkflowAPI().usingTask(addedTask).getTaskItems(); restClient.assertStatusCodeIs(HttpStatus.OK); itemModels.assertThat() .entriesListIsNotEmpty().and() diff --git a/e2e-test/java/org/alfresco/rest/workflow/tasks/variables/AddTaskVariablesFullTests.java b/e2e-test/java/org/alfresco/rest/workflow/tasks/variables/AddTaskVariablesFullTests.java index 495cd72b7..bd22c1893 100644 --- a/e2e-test/java/org/alfresco/rest/workflow/tasks/variables/AddTaskVariablesFullTests.java +++ b/e2e-test/java/org/alfresco/rest/workflow/tasks/variables/AddTaskVariablesFullTests.java @@ -232,7 +232,6 @@ public class AddTaskVariablesFullTests extends RestTest .addProcess("activitiReview", tenantUser1, false, CMISUtil.Priority.High); RestTaskModel task = restClient.authenticateUser(adminTenantUser1) .withWorkflowAPI().usingProcess(networkProcess1).getProcessTasks().getOneRandomEntry(); - restClient.authenticateUser(adminTenantUser1); RestVariableModel variableModel = RestVariableModel.getRandomTaskVariableModel("local", "d:text"); restVariablemodel = restClient.authenticateUser(adminTenantUser2).withWorkflowAPI() .usingTask(task.onModel()) diff --git a/e2e-test/java/org/alfresco/rest/workflow/tasks/variables/UpdateTaskVariableSanityTests.java b/e2e-test/java/org/alfresco/rest/workflow/tasks/variables/UpdateTaskVariableSanityTests.java index 4456d4f6e..51246cde3 100644 --- a/e2e-test/java/org/alfresco/rest/workflow/tasks/variables/UpdateTaskVariableSanityTests.java +++ b/e2e-test/java/org/alfresco/rest/workflow/tasks/variables/UpdateTaskVariableSanityTests.java @@ -1,7 +1,10 @@ package org.alfresco.rest.workflow.tasks.variables; +import org.alfresco.dataprep.CMISUtil; import org.alfresco.dataprep.CMISUtil.DocumentType; import org.alfresco.rest.RestTest; +import org.alfresco.rest.model.RestProcessModel; +import org.alfresco.rest.model.RestTaskModel; import org.alfresco.rest.model.RestVariableModel; import org.alfresco.utility.model.FileModel; import org.alfresco.utility.model.SiteModel; @@ -81,23 +84,21 @@ public class UpdateTaskVariableSanityTests extends RestTest @Test(groups = { TestGroup.REST_API, TestGroup.WORKFLOW, TestGroup.TASKS, TestGroup.SANITY, TestGroup.NETWORKS}) @TestRail(section = { TestGroup.REST_API, TestGroup.WORKFLOW, TestGroup.TASKS }, executionType = ExecutionType.SANITY, - description = "Update existing task variable by admin in the same network") - + description = "Update existing task variable by admin in the same network") public void updateTaskVariableByAdminInSameNetwork() throws Exception { - restClient.authenticateUser(adminUser); - - adminTenantUser = UserModel.getAdminTenantUser(); - restClient.usingTenant().createTenant(adminTenantUser); - - tenantUser = dataUser.usingUser(adminTenantUser).createUserWithTenant("uTenant"); - tenantUserAssignee = dataUser.usingUser(adminTenantUser).createUserWithTenant("uTenantAssignee"); - - siteModel = dataSite.usingUser(adminTenantUser).createPublicRandomSite(); - tenantTask = dataWorkflow.usingUser(tenantUser).usingSite(siteModel).usingResource(fileModel).createNewTaskAndAssignTo(tenantUserAssignee); + UserModel adminTenantUser1 = UserModel.getAdminTenantUser(); + restClient.authenticateUser(dataUser.getAdminUser()).usingTenant().createTenant(adminTenantUser1); + UserModel tenantUser1 = dataUser.usingUser(adminTenantUser1).createUserWithTenant("uTenant1"); + RestProcessModel networkProcess1 = restClient.authenticateUser(tenantUser1).withWorkflowAPI() + .addProcess("activitiReview", tenantUser1, false, CMISUtil.Priority.High); + RestTaskModel task = restClient.authenticateUser(adminTenantUser1) + .withWorkflowAPI().usingProcess(networkProcess1).getProcessTasks().getOneRandomEntry(); + variableModel = RestVariableModel.getRandomTaskVariableModel("local", "d:text"); - taskVariable = restClient.withWorkflowAPI().usingTask(tenantTask).updateTaskVariable(variableModel); + taskVariable = restClient.withWorkflowAPI().usingTask(task.onModel()) + .updateTaskVariable(variableModel); restClient.assertStatusCodeIs(HttpStatus.OK); taskVariable.assertThat().field("scope").is(taskVariable.getScope()) .and().field("name").is(taskVariable.getName()) @@ -105,7 +106,7 @@ public class UpdateTaskVariableSanityTests extends RestTest .and().field("value").is(taskVariable.getValue()); variableModel.setValue("updatedValue"); - taskVariable = restClient.withWorkflowAPI().usingTask(taskModel).updateTaskVariable(variableModel).and().field("value").is("updatedValue"); + taskVariable = restClient.withWorkflowAPI().usingTask(task.onModel()).updateTaskVariable(variableModel).and().field("value").is("updatedValue"); restClient.assertStatusCodeIs(HttpStatus.OK); } } \ No newline at end of file