From 263e7b856da1bf318f89f22ec2740acdf8f43cb2 Mon Sep 17 00:00:00 2001 From: Bogdan Bocancea Date: Mon, 28 Nov 2016 17:49:12 +0200 Subject: [PATCH 1/2] TAS-2031: add core tests for getSiteMembershipRequest api call --- .../GetSiteMembershipRequestCoreTests.java | 169 ++++++++++++++++++ .../GetSiteMembershipRequestsSanityTests.java | 4 +- 2 files changed, 171 insertions(+), 2 deletions(-) create mode 100644 e2e-test/java/org/alfresco/rest/people/GetSiteMembershipRequestCoreTests.java diff --git a/e2e-test/java/org/alfresco/rest/people/GetSiteMembershipRequestCoreTests.java b/e2e-test/java/org/alfresco/rest/people/GetSiteMembershipRequestCoreTests.java new file mode 100644 index 000000000..8bea2548e --- /dev/null +++ b/e2e-test/java/org/alfresco/rest/people/GetSiteMembershipRequestCoreTests.java @@ -0,0 +1,169 @@ +package org.alfresco.rest.people; + +import org.alfresco.rest.RestTest; +import org.alfresco.utility.constants.UserRole; +import org.alfresco.utility.model.ErrorModel; +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; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.Test; + +/** + * Tests for getSiteMembershipRequests (get /people/{personId}/site-membership-requests) RestAPI call + * + * @author Bogdan Bocancea + */ +@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE }) +public class GetSiteMembershipRequestCoreTests extends RestTest +{ + UserModel userModel; + SiteModel siteModel; + UserModel newMember; + + @BeforeClass(alwaysRun = true) + public void dataPreparation() throws Exception + { + userModel = dataUser.createRandomTestUser(); + siteModel = dataSite.usingUser(userModel).createModeratedRandomSite(); + newMember = dataUser.createRandomTestUser(); + restClient.authenticateUser(newMember) + .withCoreAPI() + .usingAuthUser().addSiteMembershipRequest(siteModel); + restClient.assertStatusCodeIs(HttpStatus.CREATED); + } + + @Bug(id="MNT-16904") + @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, + executionType = ExecutionType.REGRESSION, + description = "Verify contributor user fails to get all site membership requests of a specific person with Rest API when the authentication fails (401)") + public void unauthorizedContributorUserFailsToGetSiteMembershipRequests() throws Exception + { + UserModel contributor = dataUser.usingAdmin().createRandomTestUser(); + dataUser.usingUser(userModel).addUserToSite(contributor, siteModel, UserRole.SiteContributor); + contributor.setPassword("newpassword"); + restClient.authenticateUser(contributor) + .withCoreAPI() + .usingUser(newMember).getSiteMembershipRequest(siteModel); + restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED); + } + + @Bug(id="MNT-16904") + @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, + executionType = ExecutionType.REGRESSION, + description = "Verify collaborator user fails to get all site membership requests of a specific person with Rest API when the authentication fails (401)") + public void unauthorizedCollaboratorUserFailsToGetSiteMembershipRequests() throws Exception + { + UserModel collaborator = dataUser.usingAdmin().createRandomTestUser(); + dataUser.usingUser(userModel).addUserToSite(collaborator, siteModel, UserRole.SiteContributor); + collaborator.setPassword("newpassword"); + restClient.authenticateUser(collaborator) + .withCoreAPI() + .usingUser(newMember).getSiteMembershipRequest(siteModel); + restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED); + } + + @Bug(id="MNT-16904") + @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, + executionType = ExecutionType.REGRESSION, + description = "Verify consumer user fails to get all site membership requests of a specific person with Rest API when the authentication fails (401)") + public void unauthorizedConsumerUserFailsToGetSiteMembershipRequests() throws Exception + { + UserModel consumer = dataUser.usingAdmin().createRandomTestUser(); + dataUser.usingUser(userModel).addUserToSite(consumer, siteModel, UserRole.SiteContributor); + consumer.setPassword("newpassword"); + restClient.authenticateUser(consumer) + .withCoreAPI() + .usingUser(newMember).getSiteMembershipRequest(siteModel); + restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED); + } + + @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, + executionType = ExecutionType.REGRESSION, + description = "Verify a user gets all its own site membership requests using '-me-' with Rest API and response is successful (200)") + public void usingMeGetSiteMembershipRequestsWithSuccess() throws Exception + { + restClient.authenticateUser(newMember) + .withCoreAPI() + .usingMe().getSiteMembershipRequest(siteModel) + .assertThat().field("id").is(siteModel.getId()); + restClient.assertStatusCodeIs(HttpStatus.OK); + } + + @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, + executionType = ExecutionType.REGRESSION, + description = "Verify site manager can't get site membership requests for inexistent user and response is not found (404)") + public void siteManagerCantGetSiteMembershipRequestsInexistentUser() throws Exception + { + restClient.authenticateUser(newMember) + .withCoreAPI() + .usingUser(UserModel.getRandomUserModel()).getSiteMembershipRequest(siteModel); + restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND) + .assertLastError().containsSummary(String.format(ErrorModel.ENTITY_NOT_FOUND, "")); + } + + @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, + executionType = ExecutionType.REGRESSION, + description = "Verify user can get site membership requests on site with no requests and response is successful (200)") + public void userCantGetSiteMembershipRequestsWithNoRequests() throws Exception + { + UserModel noRequestUser = dataUser.createRandomTestUser(); + restClient.authenticateUser(noRequestUser) + .withCoreAPI() + .usingMe().getSiteMembershipRequest(siteModel); + restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND) + .assertLastError().containsSummary(String.format(ErrorModel.RELATIONSHIP_NOT_FOUND, noRequestUser.getUsername(), siteModel.getId())); + } + + @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, + executionType = ExecutionType.REGRESSION, + description = "Verify site manager can't get site membership requests on public site and response is not found (404)") + public void siteManagerCantGetPublicSiteMembershipRequests() throws Exception + { + UserModel publicUser = dataUser.createRandomTestUser(); + SiteModel publicSite = dataSite.usingUser(userModel).createPublicRandomSite(); + restClient.authenticateUser(publicUser) + .withCoreAPI() + .usingAuthUser().addSiteMembershipRequest(publicSite); + restClient.authenticateUser(userModel) + .withCoreAPI() + .usingUser(publicUser).getSiteMembershipRequest(publicSite); + restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND) + .assertLastError().containsSummary(String.format(ErrorModel.RELATIONSHIP_NOT_FOUND, publicUser.getUsername(), publicSite.getId())); + } + + @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, + executionType = ExecutionType.REGRESSION, + description = "Verify site manager can't get site membership requests on private site and response is not found (404)") + public void siteManagerCantGetPrivateSiteMembershipRequests() throws Exception + { + UserModel privateUser = dataUser.createRandomTestUser(); + SiteModel privateSite = dataSite.usingUser(userModel).createPrivateRandomSite(); + restClient.authenticateUser(privateUser) + .withCoreAPI() + .usingAuthUser().addSiteMembershipRequest(privateSite); + restClient.authenticateUser(userModel) + .withCoreAPI() + .usingUser(privateUser).getSiteMembershipRequest(privateSite); + restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND) + .assertLastError().containsSummary(String.format(ErrorModel.RELATIONSHIP_NOT_FOUND, privateUser.getUsername(), privateSite.getId())); + } + + @Bug(id = "MNT-17183", description = "reproduced only on 5.1.N") + @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, + executionType = ExecutionType.REGRESSION, + description = "Verify site manager can't get site membership requests for inexistent site and response is not found (404)") + public void siteManagerCantGetSiteMembershipRequestsForInexistentSite() throws Exception + { + SiteModel inexistentSite = SiteModel.getRandomSiteModel(); + restClient.authenticateUser(userModel) + .withCoreAPI() + .usingMe().getSiteMembershipRequest(inexistentSite); + restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND) + .assertLastError().containsSummary(String.format(ErrorModel.RELATIONSHIP_NOT_FOUND, newMember.getUsername(), inexistentSite.getId())); + } +} diff --git a/e2e-test/java/org/alfresco/rest/people/GetSiteMembershipRequestsSanityTests.java b/e2e-test/java/org/alfresco/rest/people/GetSiteMembershipRequestsSanityTests.java index d8360b4af..6a59261db 100644 --- a/e2e-test/java/org/alfresco/rest/people/GetSiteMembershipRequestsSanityTests.java +++ b/e2e-test/java/org/alfresco/rest/people/GetSiteMembershipRequestsSanityTests.java @@ -3,6 +3,7 @@ package org.alfresco.rest.people; import org.alfresco.rest.RestTest; import org.alfresco.utility.constants.UserRole; import org.alfresco.utility.data.RandomData; +import org.alfresco.utility.model.ErrorModel; import org.alfresco.utility.model.SiteModel; import org.alfresco.utility.model.TestGroup; import org.alfresco.utility.model.UserModel; @@ -124,11 +125,10 @@ public class GetSiteMembershipRequestsSanityTests extends RestTest UserModel managerUser = dataUser.usingAdmin().createRandomTestUser(); dataUser.usingUser(userModel).addUserToSite(managerUser, siteModel, UserRole.SiteManager); managerUser.setPassword("newpassword"); - restClient.authenticateUser(managerUser) .withCoreAPI() .usingUser(newMember).getSiteMembershipRequests(); - restClient.assertStatusCodeIs(HttpStatus.OK); + restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED); } @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, From 337190147540646e55d1401bebea078baf0a9855 Mon Sep 17 00:00:00 2001 From: Cristina Axinte Date: Tue, 29 Nov 2016 17:15:30 +0200 Subject: [PATCH 2/2] Removed @Bug for 5.2.N tests. --- .../rest/people/GetSiteMembershipRequestCoreTests.java | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/e2e-test/java/org/alfresco/rest/people/GetSiteMembershipRequestCoreTests.java b/e2e-test/java/org/alfresco/rest/people/GetSiteMembershipRequestCoreTests.java index 8bea2548e..b5d4100b6 100644 --- a/e2e-test/java/org/alfresco/rest/people/GetSiteMembershipRequestCoreTests.java +++ b/e2e-test/java/org/alfresco/rest/people/GetSiteMembershipRequestCoreTests.java @@ -6,7 +6,6 @@ import org.alfresco.utility.model.ErrorModel; 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; @@ -37,7 +36,7 @@ public class GetSiteMembershipRequestCoreTests extends RestTest restClient.assertStatusCodeIs(HttpStatus.CREATED); } - @Bug(id="MNT-16904") + @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify contributor user fails to get all site membership requests of a specific person with Rest API when the authentication fails (401)") @@ -52,7 +51,6 @@ public class GetSiteMembershipRequestCoreTests extends RestTest restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED); } - @Bug(id="MNT-16904") @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify collaborator user fails to get all site membership requests of a specific person with Rest API when the authentication fails (401)") @@ -67,7 +65,6 @@ public class GetSiteMembershipRequestCoreTests extends RestTest restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED); } - @Bug(id="MNT-16904") @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify consumer user fails to get all site membership requests of a specific person with Rest API when the authentication fails (401)") @@ -152,8 +149,7 @@ public class GetSiteMembershipRequestCoreTests extends RestTest restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND) .assertLastError().containsSummary(String.format(ErrorModel.RELATIONSHIP_NOT_FOUND, privateUser.getUsername(), privateSite.getId())); } - - @Bug(id = "MNT-17183", description = "reproduced only on 5.1.N") + @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify site manager can't get site membership requests for inexistent site and response is not found (404)") @@ -164,6 +160,6 @@ public class GetSiteMembershipRequestCoreTests extends RestTest .withCoreAPI() .usingMe().getSiteMembershipRequest(inexistentSite); restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND) - .assertLastError().containsSummary(String.format(ErrorModel.RELATIONSHIP_NOT_FOUND, newMember.getUsername(), inexistentSite.getId())); + .assertLastError().containsSummary(String.format(ErrorModel.RELATIONSHIP_NOT_FOUND, userModel.getUsername(), inexistentSite.getId())); } }