From 8259b6464efef763ee5f1584cc72f87b45e6ef82 Mon Sep 17 00:00:00 2001 From: Cristina Axinte Date: Wed, 7 Dec 2016 10:33:55 +0200 Subject: [PATCH] Added core tests for GetProcesses --- .../processes/GetProcessesCoreTests.java | 92 +++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 e2e-test/java/org/alfresco/rest/workflow/processes/GetProcessesCoreTests.java diff --git a/e2e-test/java/org/alfresco/rest/workflow/processes/GetProcessesCoreTests.java b/e2e-test/java/org/alfresco/rest/workflow/processes/GetProcessesCoreTests.java new file mode 100644 index 000000000..637b4c72f --- /dev/null +++ b/e2e-test/java/org/alfresco/rest/workflow/processes/GetProcessesCoreTests.java @@ -0,0 +1,92 @@ +package org.alfresco.rest.workflow.processes; + +import java.util.List; + +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.RestProcessModel; +import org.alfresco.rest.model.RestProcessModelsCollection; +import org.alfresco.utility.constants.UserRole; +import org.alfresco.utility.model.FileModel; +import org.alfresco.utility.model.ProcessModel; +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.http.HttpStatus; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.Test; + +/** + * + * @author Cristina Axinte + * + */ +@Test(groups = { TestGroup.REST_API, TestGroup.WORKFLOW, TestGroup.PROCESSES, TestGroup.CORE }) +public class GetProcessesCoreTests extends RestTest +{ + private FileModel document; + private SiteModel siteModel; + private UserModel adminUser, userWhoStartsTask, assignee, adminTenantUser; + private TaskModel task1, task2; + private ProcessModel process3; + + @BeforeClass(alwaysRun = true) + public void dataPreparation() throws Exception + { + adminUser = dataUser.getAdminUser(); + userWhoStartsTask = dataUser.createRandomTestUser(); + assignee = dataUser.createRandomTestUser(); + siteModel = dataSite.usingUser(userWhoStartsTask).createPublicRandomSite(); + document = dataContent.usingSite(siteModel).createContent(DocumentType.TEXT_PLAIN); + task1 = dataWorkflow.usingUser(userWhoStartsTask).usingSite(siteModel).usingResource(document).createNewTaskAndAssignTo(assignee); + task2 = dataWorkflow.usingUser(userWhoStartsTask).usingSite(siteModel).usingResource(document).createNewTaskAndAssignTo(adminUser); + process3 = dataWorkflow.usingUser(userWhoStartsTask).usingSite(siteModel).usingResource(document).createSingleReviewerTaskAndAssignTo(assignee); + } + + @Test(groups = { TestGroup.NETWORKS }) + @TestRail(section = {TestGroup.REST_API, TestGroup.PROCESSES }, executionType = ExecutionType.REGRESSION, + description = "Verify admin gets all processes from same network") + public void getProcessFromSameNetworkUsingAdmin() throws Exception + { + adminTenantUser = UserModel.getAdminTenantUser(); + restClient.authenticateUser(adminUser).usingTenant().createTenant(adminTenantUser); + UserModel tenantUser = dataUser.usingUser(adminTenantUser).createUserWithTenant("uTenant"); + UserModel tenantUserAssignee = dataUser.usingUser(adminTenantUser).createUserWithTenant("uTenantAssignee"); + RestProcessModel process = restClient.authenticateUser(tenantUser).withWorkflowAPI().addProcess("activitiAdhoc", tenantUserAssignee, false, Priority.Normal); + + RestProcessModelsCollection tenantProcesses = restClient.authenticateUser(adminTenantUser).withWorkflowAPI().getProcesses(); + restClient.assertStatusCodeIs(HttpStatus.OK); + + tenantProcesses.assertThat().entriesListContains("id", process.getId()); + } + + @TestRail(section = { TestGroup.REST_API, TestGroup.PROCESSES }, executionType = ExecutionType.REGRESSION, + description = "Verify user gets all processes started by him ordered descending by id") + public void getProcessesOrderedByIdDESC() throws Exception + { + RestProcessModelsCollection processes = restClient.authenticateUser(userWhoStartsTask).withParams("orderBy=id DESC") + .withWorkflowAPI().getProcesses(); + restClient.assertStatusCodeIs(HttpStatus.OK); + processes.assertThat().entriesListIsNotEmpty(); + List processesList = processes.getEntries(); + processesList.get(0).onModel().assertThat().field("id").is(process3.getId()); + processesList.get(1).onModel().assertThat().field("id").is(task2.getNodeRef()); + processesList.get(2).onModel().assertThat().field("id").is(task1.getNodeRef()); + } + + @TestRail(section = { TestGroup.REST_API, TestGroup.PROCESSES }, executionType = ExecutionType.REGRESSION, + description = "Verify user gets processes that matches a where clause") + public void getProcessesWithWhereClauseAsParameter() throws JsonToModelConversionException, Exception + { + RestProcessModelsCollection processes = restClient.authenticateUser(userWhoStartsTask).where("processDefinitionKey='activitiReview'") + .withWorkflowAPI().getProcesses(); + restClient.assertStatusCodeIs(HttpStatus.OK); + processes.assertThat().entriesListIsNotEmpty().and().entriesListContains("processDefinitionId", "activitiReview:1:8") + .and().entriesListDoesNotContain("processDefinitionId", "activitiAdhoc:1:4"); + } +}