From a223bd893c50ef5a878a2ee709ff898c48dd9d1e Mon Sep 17 00:00:00 2001 From: Valentin Popa Date: Tue, 27 Sep 2016 17:16:17 +0300 Subject: [PATCH 1/6] TAS-912 - REST API - valid site membership information request returns success status code 200 with Manager role --- ...etSiteMembershipInformationSanityTest.java | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 e2e-test/java/org/alfresco/rest/sites/GetSiteMembershipInformationSanityTest.java diff --git a/e2e-test/java/org/alfresco/rest/sites/GetSiteMembershipInformationSanityTest.java b/e2e-test/java/org/alfresco/rest/sites/GetSiteMembershipInformationSanityTest.java new file mode 100644 index 000000000..abfe6fb0f --- /dev/null +++ b/e2e-test/java/org/alfresco/rest/sites/GetSiteMembershipInformationSanityTest.java @@ -0,0 +1,61 @@ +package org.alfresco.rest.sites; + +import java.util.Arrays; +import java.util.HashMap; + +import org.alfresco.rest.RestTest; +import org.alfresco.rest.body.SiteMembership; +import org.alfresco.rest.exception.JsonToModelConversionException; +import org.alfresco.rest.requests.RestSitesApi; +import org.alfresco.utility.data.DataSite; +import org.alfresco.utility.data.DataUser; +import org.alfresco.utility.data.UserRole; +import org.alfresco.utility.exception.DataPreparationException; +import org.alfresco.utility.model.SiteModel; +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 = { "rest-api", "sites", "sanity" }) +public class GetSiteMembershipInformationSanityTest extends RestTest +{ + @Autowired + RestSitesApi siteAPI; + + @Autowired + DataUser dataUser; + + @Autowired + DataSite dataSite; + + private SiteModel siteModel; + + private HashMap usersWithRoles; + + private UserModel adminUser; + + @BeforeClass + public void initTest() throws DataPreparationException + { + adminUser = dataUser.getAdminUser(); + siteModel = dataSite.usingUser(adminUser).createPublicRandomSite(); + usersWithRoles = dataUser.addUsersToSiteWithRoles(siteModel, + Arrays.asList(UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer, UserRole.SiteContributor)); + + siteAPI.useRestClient(restClient); + } + + @TestRail(section = { "rest-api", + "sites" }, executionType = ExecutionType.SANITY, description = "Verify site manager is able to retrieve site membership information of another user") + public void siteManagerCanRetrieveSiteMembershipInformation() throws JsonToModelConversionException, Exception + { + restClient.authenticateUser(usersWithRoles.get(UserRole.SiteManager)); + siteAPI.getSiteMembershipInformation(adminUser.getUsername()); + siteAPI.usingRestWrapper().assertStatusCodeIs(HttpStatus.OK.toString()); + } + +} \ No newline at end of file From 35195c024ec75b807f6085657ae7ccda909f813e Mon Sep 17 00:00:00 2001 From: Valentin Popa Date: Tue, 27 Sep 2016 17:19:49 +0300 Subject: [PATCH 2/6] TAS-913 - REST API - valid site membership information request returns success status code 200 with Collaborator role --- ...etSiteMembershipInformationSanityTest.java | 26 +++++++++++++------ 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/e2e-test/java/org/alfresco/rest/sites/GetSiteMembershipInformationSanityTest.java b/e2e-test/java/org/alfresco/rest/sites/GetSiteMembershipInformationSanityTest.java index abfe6fb0f..48b03ef79 100644 --- a/e2e-test/java/org/alfresco/rest/sites/GetSiteMembershipInformationSanityTest.java +++ b/e2e-test/java/org/alfresco/rest/sites/GetSiteMembershipInformationSanityTest.java @@ -4,7 +4,6 @@ import java.util.Arrays; import java.util.HashMap; import org.alfresco.rest.RestTest; -import org.alfresco.rest.body.SiteMembership; import org.alfresco.rest.exception.JsonToModelConversionException; import org.alfresco.rest.requests.RestSitesApi; import org.alfresco.utility.data.DataSite; @@ -33,10 +32,8 @@ public class GetSiteMembershipInformationSanityTest extends RestTest DataSite dataSite; private SiteModel siteModel; - - private HashMap usersWithRoles; - private UserModel adminUser; + private HashMap usersWithRoles; @BeforeClass public void initTest() throws DataPreparationException @@ -45,17 +42,30 @@ public class GetSiteMembershipInformationSanityTest extends RestTest siteModel = dataSite.usingUser(adminUser).createPublicRandomSite(); usersWithRoles = dataUser.addUsersToSiteWithRoles(siteModel, Arrays.asList(UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer, UserRole.SiteContributor)); - + siteAPI.useRestClient(restClient); } - @TestRail(section = { "rest-api", - "sites" }, executionType = ExecutionType.SANITY, description = "Verify site manager is able to retrieve site membership information of another user") + @TestRail(section = { "rest-api", "sites" }, + executionType = ExecutionType.SANITY, + description = "Verify site manager is able to retrieve site membership information of another user") public void siteManagerCanRetrieveSiteMembershipInformation() throws JsonToModelConversionException, Exception { restClient.authenticateUser(usersWithRoles.get(UserRole.SiteManager)); siteAPI.getSiteMembershipInformation(adminUser.getUsername()); - siteAPI.usingRestWrapper().assertStatusCodeIs(HttpStatus.OK.toString()); + siteAPI.usingRestWrapper() + .assertStatusCodeIs(HttpStatus.OK.toString()); + } + + @TestRail(section = { "rest-api", "sites" }, + executionType = ExecutionType.SANITY, + description = "Verify site collaborator is able to retrieve site membership information of another user") + public void siteCollaboratorCanRetrieveSiteMembershipInformation() throws JsonToModelConversionException, Exception + { + restClient.authenticateUser(usersWithRoles.get(UserRole.SiteCollaborator)); + siteAPI.getSiteMembershipInformation(adminUser.getUsername()); + siteAPI.usingRestWrapper() + .assertStatusCodeIs(HttpStatus.OK.toString()); } } \ No newline at end of file From eafcc41859b2672deb4cbe36e2e04c047a8550d3 Mon Sep 17 00:00:00 2001 From: Valentin Popa Date: Tue, 27 Sep 2016 17:21:18 +0300 Subject: [PATCH 3/6] TAS-914 - REST API - valid site membership information request returns success status code 200 with Contributor role --- .../sites/GetSiteMembershipInformationSanityTest.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/e2e-test/java/org/alfresco/rest/sites/GetSiteMembershipInformationSanityTest.java b/e2e-test/java/org/alfresco/rest/sites/GetSiteMembershipInformationSanityTest.java index 48b03ef79..4a9bbc9a5 100644 --- a/e2e-test/java/org/alfresco/rest/sites/GetSiteMembershipInformationSanityTest.java +++ b/e2e-test/java/org/alfresco/rest/sites/GetSiteMembershipInformationSanityTest.java @@ -67,5 +67,16 @@ public class GetSiteMembershipInformationSanityTest extends RestTest siteAPI.usingRestWrapper() .assertStatusCodeIs(HttpStatus.OK.toString()); } + + @TestRail(section = { "rest-api", "sites" }, + executionType = ExecutionType.SANITY, + description = "Verify site contributor is able to retrieve site membership information of another user") + public void siteContributorCanRetrieveSiteMembershipInformation() throws JsonToModelConversionException, Exception + { + restClient.authenticateUser(usersWithRoles.get(UserRole.SiteContributor)); + siteAPI.getSiteMembershipInformation(adminUser.getUsername()); + siteAPI.usingRestWrapper() + .assertStatusCodeIs(HttpStatus.OK.toString()); + } } \ No newline at end of file From d04577c7ee4c28b196cd003cce943fc081b029a3 Mon Sep 17 00:00:00 2001 From: Valentin Popa Date: Tue, 27 Sep 2016 17:24:04 +0300 Subject: [PATCH 4/6] TAS-915 - REST API - valid site membership information request returns success status code 200 with Consumer role --- .../sites/GetSiteMembershipInformationSanityTest.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/e2e-test/java/org/alfresco/rest/sites/GetSiteMembershipInformationSanityTest.java b/e2e-test/java/org/alfresco/rest/sites/GetSiteMembershipInformationSanityTest.java index 4a9bbc9a5..6eda2d010 100644 --- a/e2e-test/java/org/alfresco/rest/sites/GetSiteMembershipInformationSanityTest.java +++ b/e2e-test/java/org/alfresco/rest/sites/GetSiteMembershipInformationSanityTest.java @@ -78,5 +78,16 @@ public class GetSiteMembershipInformationSanityTest extends RestTest siteAPI.usingRestWrapper() .assertStatusCodeIs(HttpStatus.OK.toString()); } + + @TestRail(section = { "rest-api", "sites" }, + executionType = ExecutionType.SANITY, + description = "Verify site consumer is able to retrieve site membership information of another user") + public void siteConsumerCanRetrieveSiteMembershipInformation() throws JsonToModelConversionException, Exception + { + restClient.authenticateUser(usersWithRoles.get(UserRole.SiteConsumer)); + siteAPI.getSiteMembershipInformation(adminUser.getUsername()); + siteAPI.usingRestWrapper() + .assertStatusCodeIs(HttpStatus.OK.toString()); + } } \ No newline at end of file From eff154b61ec5f2abb48aabbdf072cceb218e81ed Mon Sep 17 00:00:00 2001 From: Valentin Popa Date: Tue, 27 Sep 2016 17:27:48 +0300 Subject: [PATCH 5/6] TAS-916 - REST API - valid site membership information request returns success status code 200 with admin user --- .../sites/GetSiteMembershipInformationSanityTest.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/e2e-test/java/org/alfresco/rest/sites/GetSiteMembershipInformationSanityTest.java b/e2e-test/java/org/alfresco/rest/sites/GetSiteMembershipInformationSanityTest.java index 6eda2d010..2437bdffa 100644 --- a/e2e-test/java/org/alfresco/rest/sites/GetSiteMembershipInformationSanityTest.java +++ b/e2e-test/java/org/alfresco/rest/sites/GetSiteMembershipInformationSanityTest.java @@ -89,5 +89,16 @@ public class GetSiteMembershipInformationSanityTest extends RestTest siteAPI.usingRestWrapper() .assertStatusCodeIs(HttpStatus.OK.toString()); } + + @TestRail(section = { "rest-api", "sites" }, + executionType = ExecutionType.SANITY, + description = "Verify admin is able to retrieve site membership information of another user") + public void siteAdminCanRetrieveSiteMembershipInformation() throws JsonToModelConversionException, Exception + { + restClient.authenticateUser(adminUser); + siteAPI.getSiteMembershipInformation(usersWithRoles.get(UserRole.SiteManager).getUsername()); + siteAPI.usingRestWrapper() + .assertStatusCodeIs(HttpStatus.OK.toString()); + } } \ No newline at end of file From 2ab9812299725d2137daee0886ab3c15e5b3fa53 Mon Sep 17 00:00:00 2001 From: Valentin Popa Date: Wed, 28 Sep 2016 15:32:02 +0300 Subject: [PATCH 6/6] TAS-917 - REST API - failed authentication call returns status code 401 --- .../AddSiteMembershipRequestSanityTest.java | 4 ++-- .../GetSiteMembershipInformationSanityTest.java | 17 +++++++++++++++-- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/e2e-test/java/org/alfresco/rest/sites/AddSiteMembershipRequestSanityTest.java b/e2e-test/java/org/alfresco/rest/sites/AddSiteMembershipRequestSanityTest.java index 36183ed72..161382860 100644 --- a/e2e-test/java/org/alfresco/rest/sites/AddSiteMembershipRequestSanityTest.java +++ b/e2e-test/java/org/alfresco/rest/sites/AddSiteMembershipRequestSanityTest.java @@ -7,9 +7,9 @@ import org.alfresco.rest.RestTest; import org.alfresco.rest.body.SiteMembership; import org.alfresco.rest.exception.JsonToModelConversionException; import org.alfresco.rest.requests.RestSitesApi; +import org.alfresco.utility.constants.UserRole; import org.alfresco.utility.data.DataSite; import org.alfresco.utility.data.DataUser; -import org.alfresco.utility.data.UserRole; import org.alfresco.utility.exception.DataPreparationException; import org.alfresco.utility.model.SiteModel; import org.alfresco.utility.model.UserModel; @@ -42,7 +42,7 @@ public class AddSiteMembershipRequestSanityTest extends RestTest { adminUser = dataUser.getAdminUser(); siteModel = dataSite.usingUser(adminUser).createPublicRandomSite(); - usersWithRoles = dataUser.addUsersToSiteWithRoles(siteModel, + usersWithRoles = dataUser.addUsersWithRolesToSite(siteModel, Arrays.asList(UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer, UserRole.SiteContributor)); siteAPI.useRestClient(restClient); diff --git a/e2e-test/java/org/alfresco/rest/sites/GetSiteMembershipInformationSanityTest.java b/e2e-test/java/org/alfresco/rest/sites/GetSiteMembershipInformationSanityTest.java index 2437bdffa..e395d0177 100644 --- a/e2e-test/java/org/alfresco/rest/sites/GetSiteMembershipInformationSanityTest.java +++ b/e2e-test/java/org/alfresco/rest/sites/GetSiteMembershipInformationSanityTest.java @@ -6,9 +6,10 @@ import java.util.HashMap; import org.alfresco.rest.RestTest; import org.alfresco.rest.exception.JsonToModelConversionException; import org.alfresco.rest.requests.RestSitesApi; +import org.alfresco.utility.constants.UserRole; import org.alfresco.utility.data.DataSite; import org.alfresco.utility.data.DataUser; -import org.alfresco.utility.data.UserRole; +import org.alfresco.utility.data.TestData; import org.alfresco.utility.exception.DataPreparationException; import org.alfresco.utility.model.SiteModel; import org.alfresco.utility.model.UserModel; @@ -40,7 +41,7 @@ public class GetSiteMembershipInformationSanityTest extends RestTest { adminUser = dataUser.getAdminUser(); siteModel = dataSite.usingUser(adminUser).createPublicRandomSite(); - usersWithRoles = dataUser.addUsersToSiteWithRoles(siteModel, + usersWithRoles = dataUser.addUsersWithRolesToSite(siteModel, Arrays.asList(UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer, UserRole.SiteContributor)); siteAPI.useRestClient(restClient); @@ -100,5 +101,17 @@ public class GetSiteMembershipInformationSanityTest extends RestTest siteAPI.usingRestWrapper() .assertStatusCodeIs(HttpStatus.OK.toString()); } + + @TestRail(section = { "rest-api", "sites" }, + executionType = ExecutionType.SANITY, + description = "Verify that unauthenticated user is not able to retrieve site membership information") + public void unauthenticatedUserCannotRetrieveSiteMembershipInformation() throws JsonToModelConversionException, Exception + { + UserModel inexistentUser = new UserModel("inexistent user", "wrong password"); + restClient.authenticateUser(inexistentUser); + siteAPI.getSiteMembershipInformation(usersWithRoles.get(UserRole.SiteManager).getUsername()); + siteAPI.usingRestWrapper() + .assertStatusCodeIs(HttpStatus.UNAUTHORIZED.toString()); + } } \ No newline at end of file