From 91f01d21891548ad5434574143091eaf2da1c6c8 Mon Sep 17 00:00:00 2001 From: Cristina Axinte Date: Mon, 9 Jan 2017 19:30:47 +0200 Subject: [PATCH 1/6] TAS-2613 TAS-2623 added full tests for GetPeopleActivities --- .../people/GetPeopleActivitiesFullTests.java | 71 +++++++++++++++++++ .../rest/people/GetPeopleCoreTests.java | 1 - 2 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 e2e-test/java/org/alfresco/rest/people/GetPeopleActivitiesFullTests.java diff --git a/e2e-test/java/org/alfresco/rest/people/GetPeopleActivitiesFullTests.java b/e2e-test/java/org/alfresco/rest/people/GetPeopleActivitiesFullTests.java new file mode 100644 index 000000000..a19c049d1 --- /dev/null +++ b/e2e-test/java/org/alfresco/rest/people/GetPeopleActivitiesFullTests.java @@ -0,0 +1,71 @@ +package org.alfresco.rest.people; + +import org.alfresco.dataprep.CMISUtil.DocumentType; +import org.alfresco.rest.RestTest; +import org.alfresco.rest.model.RestActivityModelsCollection; +import org.alfresco.rest.model.RestErrorModel; +import org.alfresco.rest.model.RestSiteModelsCollection; +import org.alfresco.utility.constants.UserRole; +import org.alfresco.utility.data.DataUser; +import org.alfresco.utility.model.FileModel; +import org.alfresco.utility.model.FolderModel; +import org.alfresco.utility.model.SiteModel; +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 + * + */ +public class GetPeopleActivitiesFullTests extends RestTest +{ + UserModel userModel, managerUser; + SiteModel siteModel1, siteModel2; + FileModel fileInSite1, fileInSite2; + FolderModel folderInSite2; + private RestActivityModelsCollection restActivityModelsCollection; + + @BeforeClass(alwaysRun = true) + public void dataPreparation() throws Exception + { + userModel = dataUser.createRandomTestUser(); + siteModel1 = dataSite.usingUser(userModel).createPublicRandomSite(); + fileInSite1 = dataContent.usingUser(userModel).usingSite(siteModel1).createContent(DocumentType.TEXT_PLAIN); + + siteModel2 = dataSite.usingUser(userModel).createPublicRandomSite(); + folderInSite2 = dataContent.usingUser(userModel).usingSite(siteModel2).createFolder(); + fileInSite2 = dataContent.usingAdmin().usingSite(siteModel2).createContent(DocumentType.TEXT_PLAIN); + } + + @Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.ACTIVITIES, TestGroup.FULL }) + @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.ACTIVITIES }, executionType = ExecutionType.REGRESSION, description = "Verify user gets its activities using me with Rest API and response is successful") + public void userShouldGetItsPeopleActivitiesUsingMe() throws Exception + { + restActivityModelsCollection = restClient.authenticateUser(userModel).withCoreAPI().usingMe().getPersonActivities(); + restClient.assertStatusCodeIs(HttpStatus.OK); + restActivityModelsCollection.assertThat().paginationField("count").is("3"); + restActivityModelsCollection.assertThat().entriesListContains("title", fileInSite1.getName()) + .and().entriesListContains("title", folderInSite2.getName()) + .and().entriesListContains("title", fileInSite2.getName()); + } + + @Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.ACTIVITIES, TestGroup.FULL }) + @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.ACTIVITIES }, executionType = ExecutionType.REGRESSION, description = "Verify user cannot get activities for empty user with Rest API and response is 404") + public void userCannotGetPeopleActivitiesForEmptyPersonId() throws Exception + { + UserModel emptyUserName = new UserModel("", "password"); + + restActivityModelsCollection = restClient.authenticateUser(userModel).withCoreAPI().usingUser(emptyUserName).getPersonActivities(); + restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND) + .assertLastError().containsErrorKey(RestErrorModel.ENTITY_NOT_FOUND_ERRORKEY) + .containsSummary(RestErrorModel.LOCAL_NAME_CONSISTANCE) + .stackTraceIs(RestErrorModel.STACKTRACE) + .descriptionURLIs(RestErrorModel.RESTAPIEXPLORER); + } +} diff --git a/e2e-test/java/org/alfresco/rest/people/GetPeopleCoreTests.java b/e2e-test/java/org/alfresco/rest/people/GetPeopleCoreTests.java index c1ef69a85..3d814d594 100644 --- a/e2e-test/java/org/alfresco/rest/people/GetPeopleCoreTests.java +++ b/e2e-test/java/org/alfresco/rest/people/GetPeopleCoreTests.java @@ -2,7 +2,6 @@ package org.alfresco.rest.people; import org.alfresco.rest.RestTest; import org.alfresco.rest.model.RestErrorModel; -import org.alfresco.rest.model.RestPersonModel; import org.alfresco.utility.constants.UserRole; import org.alfresco.utility.model.SiteModel; import org.alfresco.utility.model.TestGroup; From 0ca2203d5f58ca83476a7a8aa6ba8ee97b1875c4 Mon Sep 17 00:00:00 2001 From: Cristina Axinte Date: Tue, 10 Jan 2017 10:07:10 +0200 Subject: [PATCH 2/6] TAS-2617, TAS-2618, TAS-2620 Added new full tests for GetPeopleActivities --- .../people/GetPeopleActivitiesFullTests.java | 40 ++++++++++++++++--- 1 file changed, 34 insertions(+), 6 deletions(-) diff --git a/e2e-test/java/org/alfresco/rest/people/GetPeopleActivitiesFullTests.java b/e2e-test/java/org/alfresco/rest/people/GetPeopleActivitiesFullTests.java index a19c049d1..7d2c30ffb 100644 --- a/e2e-test/java/org/alfresco/rest/people/GetPeopleActivitiesFullTests.java +++ b/e2e-test/java/org/alfresco/rest/people/GetPeopleActivitiesFullTests.java @@ -4,9 +4,8 @@ import org.alfresco.dataprep.CMISUtil.DocumentType; import org.alfresco.rest.RestTest; import org.alfresco.rest.model.RestActivityModelsCollection; import org.alfresco.rest.model.RestErrorModel; -import org.alfresco.rest.model.RestSiteModelsCollection; +import org.alfresco.utility.constants.ActivityType; import org.alfresco.utility.constants.UserRole; -import org.alfresco.utility.data.DataUser; import org.alfresco.utility.model.FileModel; import org.alfresco.utility.model.FolderModel; import org.alfresco.utility.model.SiteModel; @@ -25,7 +24,7 @@ import org.testng.annotations.Test; */ public class GetPeopleActivitiesFullTests extends RestTest { - UserModel userModel, managerUser; + UserModel userModel, adminUser, managerUser; SiteModel siteModel1, siteModel2; FileModel fileInSite1, fileInSite2; FolderModel folderInSite2; @@ -34,6 +33,7 @@ public class GetPeopleActivitiesFullTests extends RestTest @BeforeClass(alwaysRun = true) public void dataPreparation() throws Exception { + adminUser = dataUser.getAdminUser(); userModel = dataUser.createRandomTestUser(); siteModel1 = dataSite.usingUser(userModel).createPublicRandomSite(); fileInSite1 = dataContent.usingUser(userModel).usingSite(siteModel1).createContent(DocumentType.TEXT_PLAIN); @@ -41,18 +41,23 @@ public class GetPeopleActivitiesFullTests extends RestTest siteModel2 = dataSite.usingUser(userModel).createPublicRandomSite(); folderInSite2 = dataContent.usingUser(userModel).usingSite(siteModel2).createFolder(); fileInSite2 = dataContent.usingAdmin().usingSite(siteModel2).createContent(DocumentType.TEXT_PLAIN); + + managerUser = dataUser.createRandomTestUser(); + dataUser.usingUser(userModel).addUserToSite(managerUser, siteModel2, UserRole.SiteManager); } @Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.ACTIVITIES, TestGroup.FULL }) @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.ACTIVITIES }, executionType = ExecutionType.REGRESSION, description = "Verify user gets its activities using me with Rest API and response is successful") - public void userShouldGetItsPeopleActivitiesUsingMe() throws Exception + public void userGetsItsPeopleActivitiesUsingMe() throws Exception { restActivityModelsCollection = restClient.authenticateUser(userModel).withCoreAPI().usingMe().getPersonActivities(); restClient.assertStatusCodeIs(HttpStatus.OK); - restActivityModelsCollection.assertThat().paginationField("count").is("3"); + restActivityModelsCollection.assertThat().paginationField("count").is("4"); restActivityModelsCollection.assertThat().entriesListContains("title", fileInSite1.getName()) .and().entriesListContains("title", folderInSite2.getName()) - .and().entriesListContains("title", fileInSite2.getName()); + .and().entriesListContains("title", fileInSite2.getName()) + .and().entriesListContains("title", fileInSite2.getName()) + .and().entriesListContains("activityType", ActivityType.USER_JOINED.toString()); } @Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.ACTIVITIES, TestGroup.FULL }) @@ -68,4 +73,27 @@ public class GetPeopleActivitiesFullTests extends RestTest .stackTraceIs(RestErrorModel.STACKTRACE) .descriptionURLIs(RestErrorModel.RESTAPIEXPLORER); } + + @Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.ACTIVITIES, TestGroup.FULL }) + @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.ACTIVITIES }, executionType = ExecutionType.REGRESSION, description = "Verify user gets activities successfully using parameter 'who' with 'me'vale with Rest API") + public void userGetsPeopleActivitiesUsingMeForWhoParameter() throws Exception + { + restActivityModelsCollection = restClient.authenticateUser(userModel).withCoreAPI().usingUser(userModel).usingParams("who=me").getPersonActivities(); + restClient.assertStatusCodeIs(HttpStatus.OK); + restActivityModelsCollection.assertThat().paginationField("count").is("2"); + restActivityModelsCollection.assertThat().entriesListContains("postPersonId", userModel.getUsername().toLowerCase()) + .and().entriesListDoesNotContain("postPersonId", adminUser.getUsername().toLowerCase()) + .and().entriesListDoesNotContain("postPersonId", managerUser.getUsername().toLowerCase()); + } + + @Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.ACTIVITIES, TestGroup.FULL }) + @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.ACTIVITIES }, executionType = ExecutionType.REGRESSION, description = "Verify user gets its activities for siteId specified in siteId parameter using me with Rest API and response is successful") + public void userGetItsPeopleActivitiesForASpecificSite() throws Exception + { + restActivityModelsCollection = restClient.authenticateUser(userModel).withCoreAPI().usingUser(userModel).usingParams(String.format("siteId=%s", siteModel1.getId())).getPersonActivities(); + restClient.assertStatusCodeIs(HttpStatus.OK); + restActivityModelsCollection.assertThat().paginationField("count").is("1"); + restActivityModelsCollection.assertThat().entriesListContains("siteId", siteModel1.getId()) + .and().entriesListDoesNotContain("siteId", siteModel2.getId()); + } } From 152b99590f53d12ba7f56c59b3df0df7889983f4 Mon Sep 17 00:00:00 2001 From: Cristina Axinte Date: Tue, 10 Jan 2017 11:06:25 +0200 Subject: [PATCH 3/6] TAS-2621 new full test --- .../people/GetPeopleActivitiesFullTests.java | 47 +++++++++++++++++-- 1 file changed, 42 insertions(+), 5 deletions(-) diff --git a/e2e-test/java/org/alfresco/rest/people/GetPeopleActivitiesFullTests.java b/e2e-test/java/org/alfresco/rest/people/GetPeopleActivitiesFullTests.java index 7d2c30ffb..facd8cfed 100644 --- a/e2e-test/java/org/alfresco/rest/people/GetPeopleActivitiesFullTests.java +++ b/e2e-test/java/org/alfresco/rest/people/GetPeopleActivitiesFullTests.java @@ -1,8 +1,13 @@ package org.alfresco.rest.people; +import java.util.ArrayList; +import java.util.List; + import org.alfresco.dataprep.CMISUtil.DocumentType; import org.alfresco.rest.RestTest; +import org.alfresco.rest.model.RestActivityModel; import org.alfresco.rest.model.RestActivityModelsCollection; +import org.alfresco.rest.model.RestActivitySummaryModel; import org.alfresco.rest.model.RestErrorModel; import org.alfresco.utility.constants.ActivityType; import org.alfresco.utility.constants.UserRole; @@ -14,6 +19,7 @@ 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.Assert; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; @@ -53,11 +59,17 @@ public class GetPeopleActivitiesFullTests extends RestTest restActivityModelsCollection = restClient.authenticateUser(userModel).withCoreAPI().usingMe().getPersonActivities(); restClient.assertStatusCodeIs(HttpStatus.OK); restActivityModelsCollection.assertThat().paginationField("count").is("4"); - restActivityModelsCollection.assertThat().entriesListContains("title", fileInSite1.getName()) - .and().entriesListContains("title", folderInSite2.getName()) - .and().entriesListContains("title", fileInSite2.getName()) - .and().entriesListContains("title", fileInSite2.getName()) - .and().entriesListContains("activityType", ActivityType.USER_JOINED.toString()); + + List allActivitySummary = new ArrayList(); + for (RestActivityModel activityModel: restActivityModelsCollection.getEntries()) + { + allActivitySummary.add(activityModel.onModel().getActivitySummary()); + } + + assertActivitySummaryTitleIsPresent(allActivitySummary, fileInSite1.getName()); + assertActivitySummaryTitleIsPresent(allActivitySummary, folderInSite2.getName()); + assertActivitySummaryTitleIsPresent(allActivitySummary, fileInSite2.getName()); + restActivityModelsCollection.assertThat().entriesListContains("activityType", ActivityType.USER_JOINED.toString()); } @Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.ACTIVITIES, TestGroup.FULL }) @@ -96,4 +108,29 @@ public class GetPeopleActivitiesFullTests extends RestTest restActivityModelsCollection.assertThat().entriesListContains("siteId", siteModel1.getId()) .and().entriesListDoesNotContain("siteId", siteModel2.getId()); } + + @Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.ACTIVITIES, TestGroup.FULL }) + @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.ACTIVITIES }, executionType = ExecutionType.REGRESSION, description = "Verify user gets activities for user with no activities with Rest API and response is successful") + public void userGetPeopleActivitiesForUserWithNoActivities() throws Exception + { + UserModel userNoActivities = dataUser.createRandomTestUser(); + dataSite.usingUser(userNoActivities).createPublicRandomSite(); + + restActivityModelsCollection = restClient.authenticateUser(adminUser).withCoreAPI().usingUser(userNoActivities).getPersonActivities(); + restClient.assertStatusCodeIs(HttpStatus.OK); + restActivityModelsCollection.assertThat().paginationField("count").is("0"); + restActivityModelsCollection.assertThat().entriesListIsEmpty(); + } + + private void assertActivitySummaryTitleIsPresent(List allActivitySummary, String title) + { + for (RestActivitySummaryModel activitySummary: allActivitySummary) + { + if (activitySummary.getTitle().equals(title)) + { + Assert.assertEquals(activitySummary.getTitle(), title, String.format("%s title was not found in Activity Summary", title)); + break; + } + } + } } From c752ed817335d6c71fcb42c10c2e017dfd47c1ef Mon Sep 17 00:00:00 2001 From: Cristina Axinte Date: Tue, 10 Jan 2017 12:12:25 +0200 Subject: [PATCH 4/6] TAS-2623, TAS-2624 added 2 full tests --- .../people/GetPeopleActivitiesFullTests.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/e2e-test/java/org/alfresco/rest/people/GetPeopleActivitiesFullTests.java b/e2e-test/java/org/alfresco/rest/people/GetPeopleActivitiesFullTests.java index facd8cfed..5e01bb755 100644 --- a/e2e-test/java/org/alfresco/rest/people/GetPeopleActivitiesFullTests.java +++ b/e2e-test/java/org/alfresco/rest/people/GetPeopleActivitiesFullTests.java @@ -133,4 +133,24 @@ public class GetPeopleActivitiesFullTests extends RestTest } } } + + @Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.ACTIVITIES, TestGroup.FULL }) + @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.ACTIVITIES }, executionType = ExecutionType.REGRESSION, description = "Verify user cannot get activities for siteId that user doesn't have access to with Rest API and response is not found") + public void userGetPeopleActivitiesForASiteWithNoAccess() throws Exception + { + SiteModel siteNoAccess = dataSite.usingUser(managerUser).createPrivateRandomSite(); + + restActivityModelsCollection = restClient.authenticateUser(userModel).withCoreAPI().usingUser(userModel).usingParams(String.format("siteId=%s", siteNoAccess.getId())).getPersonActivities(); + restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND); + restClient.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, siteNoAccess.getId())); + } + + @Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.ACTIVITIES, TestGroup.FULL }) + @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.ACTIVITIES }, executionType = ExecutionType.REGRESSION, description = "Verify user cannot get activities for another user with Rest API and response is successful") + public void userGetPeopleActivitiesForAnotherUser() throws Exception + { + restActivityModelsCollection = restClient.authenticateUser(userModel).withCoreAPI().usingUser(managerUser).getPersonActivities(); + restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN); + restClient.assertLastError().containsSummary(RestErrorModel.PERMISSION_WAS_DENIED); + } } From fbdda1c6a8029d59960b9477d04903b2d909c76c Mon Sep 17 00:00:00 2001 From: Cristina Axinte Date: Tue, 10 Jan 2017 15:59:37 +0200 Subject: [PATCH 5/6] TAS-2626, TAS-2627, TAS-2628 added new full tests and method to assed field is not present in entries --- .../people/GetPeopleActivitiesFullTests.java | 46 ++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/e2e-test/java/org/alfresco/rest/people/GetPeopleActivitiesFullTests.java b/e2e-test/java/org/alfresco/rest/people/GetPeopleActivitiesFullTests.java index 5e01bb755..8950cd654 100644 --- a/e2e-test/java/org/alfresco/rest/people/GetPeopleActivitiesFullTests.java +++ b/e2e-test/java/org/alfresco/rest/people/GetPeopleActivitiesFullTests.java @@ -146,11 +146,55 @@ public class GetPeopleActivitiesFullTests extends RestTest } @Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.ACTIVITIES, TestGroup.FULL }) - @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.ACTIVITIES }, executionType = ExecutionType.REGRESSION, description = "Verify user cannot get activities for another user with Rest API and response is successful") + @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.ACTIVITIES }, executionType = ExecutionType.REGRESSION, description = "Verify user cannot get activities for another user with Rest API and response is permission denied") public void userGetPeopleActivitiesForAnotherUser() throws Exception { restActivityModelsCollection = restClient.authenticateUser(userModel).withCoreAPI().usingUser(managerUser).getPersonActivities(); restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN); restClient.assertLastError().containsSummary(RestErrorModel.PERMISSION_WAS_DENIED); } + + @Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.ACTIVITIES, TestGroup.FULL }) + @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.ACTIVITIES }, executionType = ExecutionType.REGRESSION, description = "Verify user gets activities with properties parameter applied with Rest API and response is successful") + public void userGetPeopleActivitiesUsingPropertiesParameter() throws Exception + { + restActivityModelsCollection = restClient.authenticateUser(userModel).withCoreAPI().usingMe().usingParams("properties=postPersonId").getPersonActivities(); + restClient.assertStatusCodeIs(HttpStatus.OK); + restActivityModelsCollection.assertThat().paginationField("count").is("4"); + restActivityModelsCollection.assertThat().entriesListContains("postPersonId", userModel.getUsername().toLowerCase()) + .and().entriesListContains("postPersonId", adminUser.getUsername().toLowerCase()) + .and().entriesListContains("postPersonId", managerUser.getUsername().toLowerCase()) + .and().entriesListDoesNotContain("postedAt") + .and().entriesListDoesNotContain("feedPersonId") + .and().entriesListDoesNotContain("siteId") + .and().entriesListDoesNotContain("activitySummary") + .and().entriesListDoesNotContain("id") + .and().entriesListDoesNotContain("activityType"); + } + + @Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.ACTIVITIES, TestGroup.FULL }) + @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.ACTIVITIES }, executionType = ExecutionType.REGRESSION, description = "Verify user gets activities with skipCount parameter applied with Rest API and response is successful") + public void userGetPeopleActivitiesUsingSkipCountParameter() throws Exception + { + restActivityModelsCollection = restClient.authenticateUser(userModel).withCoreAPI().usingMe().usingParams("skipCount=2").getPersonActivities(); + restClient.assertStatusCodeIs(HttpStatus.OK); + restActivityModelsCollection.assertThat().paginationField("count").is("2"); + restActivityModelsCollection.getEntries().get(0).onModel().assertThat().field("postPersonId").is(userModel.getUsername().toLowerCase()) + .and().field("activityType").is(ActivityType.FOLDER_ADDED.toString()); + restActivityModelsCollection.getEntries().get(1).onModel().assertThat().field("postPersonId").is(userModel.getUsername().toLowerCase()) + .and().field("activityType").is(ActivityType.FILE_ADDED.toString()); + } + + @Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.ACTIVITIES, TestGroup.FULL }) + @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.ACTIVITIES }, executionType = ExecutionType.REGRESSION, description = "Verify user gets activities with maxItems parameter applied with Rest API and response is successful") + public void userGetPeopleActivitiesUsingMaxItemsParameter() throws Exception + { + restActivityModelsCollection = restClient.authenticateUser(userModel).withCoreAPI().usingMe().usingParams("maxItems=2").getPersonActivities(); + restClient.assertStatusCodeIs(HttpStatus.OK); + restActivityModelsCollection.assertThat().paginationField("count").is("2"); + restActivityModelsCollection.getEntries().get(0).onModel().assertThat().field("postPersonId").is(managerUser.getUsername().toLowerCase()) + .and().field("activityType").is(ActivityType.USER_JOINED.toString()); + restActivityModelsCollection.getEntries().get(1).onModel().assertThat().field("postPersonId").is(adminUser.getUsername().toLowerCase()) + .and().field("activityType").is(ActivityType.FILE_ADDED.toString()); + } } From 0a749e340e56003f625c6d4506876aaf7ece68ed Mon Sep 17 00:00:00 2001 From: Cristina Axinte Date: Tue, 10 Jan 2017 16:59:33 +0200 Subject: [PATCH 6/6] TAS-2616 added new full test, added new method for get activity list without retry --- .../people/GetPeopleActivitiesFullTests.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/e2e-test/java/org/alfresco/rest/people/GetPeopleActivitiesFullTests.java b/e2e-test/java/org/alfresco/rest/people/GetPeopleActivitiesFullTests.java index 8950cd654..df5246458 100644 --- a/e2e-test/java/org/alfresco/rest/people/GetPeopleActivitiesFullTests.java +++ b/e2e-test/java/org/alfresco/rest/people/GetPeopleActivitiesFullTests.java @@ -16,6 +16,7 @@ import org.alfresco.utility.model.FolderModel; import org.alfresco.utility.model.SiteModel; import org.alfresco.utility.model.TestGroup; import org.alfresco.utility.model.UserModel; +import org.alfresco.utility.report.Bug; import org.alfresco.utility.testrail.ExecutionType; import org.alfresco.utility.testrail.annotation.TestRail; import org.springframework.http.HttpStatus; @@ -50,6 +51,11 @@ public class GetPeopleActivitiesFullTests extends RestTest managerUser = dataUser.createRandomTestUser(); dataUser.usingUser(userModel).addUserToSite(managerUser, siteModel2, UserRole.SiteManager); + + // only once the activity list is checked with retry in order not to wait the entire list in each test + restActivityModelsCollection = restClient.authenticateUser(userModel).withCoreAPI().usingMe().getPersonActivitiesWithRetry(); + restClient.assertStatusCodeIs(HttpStatus.OK); + restActivityModelsCollection.assertThat().paginationField("count").is("4"); } @Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.ACTIVITIES, TestGroup.FULL }) @@ -72,6 +78,24 @@ public class GetPeopleActivitiesFullTests extends RestTest restActivityModelsCollection.assertThat().entriesListContains("activityType", ActivityType.USER_JOINED.toString()); } + @Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.ACTIVITIES, TestGroup.FULL }) + @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.ACTIVITIES }, executionType = ExecutionType.REGRESSION, description = "Verify activity summary from user gets activities response with Rest API") + public void userGetPeopleActivitiesWithActivitySummaryCheck() throws Exception + { + restActivityModelsCollection = restClient.authenticateUser(userModel).withCoreAPI().usingMe().getPersonActivities(); + restClient.assertStatusCodeIs(HttpStatus.OK); + restActivityModelsCollection.assertThat().paginationField("count").is("4"); + RestActivitySummaryModel summary = restActivityModelsCollection.getEntries().get(0).onModel().getActivitySummary(); + summary.assertThat().field("firstName").is(managerUser.getUsername() + " FirstName") + .and().field("lastName").is("LN-" + managerUser.getUsername()) + .and().field("memberFirstName").is(managerUser.getUsername() + " FirstName") + .and().field("role").is(managerUser.getUserRole()) + .and().field("memberLastName").is("LN-" + managerUser.getUsername()) + .and().field("title").is(String.format("%s FirstName LN-%s (%s)", managerUser.getUsername(), managerUser.getUsername(), managerUser.getUsername())) + .and().field("memberPersonId").is(managerUser.getUsername()); + } + + @Bug(id = "ACE-5460") @Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.ACTIVITIES, TestGroup.FULL }) @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.ACTIVITIES }, executionType = ExecutionType.REGRESSION, description = "Verify user cannot get activities for empty user with Rest API and response is 404") public void userCannotGetPeopleActivitiesForEmptyPersonId() throws Exception