mirror of
https://github.com/Alfresco/SearchServices.git
synced 2026-09-16 18:12:56 +00:00
+9
-3
@@ -13,7 +13,7 @@ import org.springframework.http.HttpStatus;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
public class GetSiteMembershipInformationCoreTests extends RestTest
|
||||
public class GetSitesMembershipInformationCoreTests extends RestTest
|
||||
{
|
||||
private SiteModel publicSiteModel;
|
||||
private SiteModel moderatedSiteModel;
|
||||
@@ -48,7 +48,10 @@ public class GetSiteMembershipInformationCoreTests extends RestTest
|
||||
restClient.authenticateUser(userModel).withCoreAPI().usingUser(new UserModel("invalidPersonId", "password")).getSitesMembershipInformation()
|
||||
.assertThat().entriesListIsEmpty();
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND);
|
||||
restClient.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, "invalidPersonId"));
|
||||
restClient.assertLastError().containsErrorKey(RestErrorModel.ENTITY_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, "invalidPersonId"))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
@@ -89,7 +92,10 @@ public class GetSiteMembershipInformationCoreTests extends RestTest
|
||||
|
||||
restClient.withParams("skipCount=test").withCoreAPI().usingAuthUser().getSitesMembershipInformation().assertThat().entriesListIsEmpty();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST);
|
||||
restClient.assertLastError().containsSummary(String.format(RestErrorModel.INVALID_SKIPCOUNT, "test"));
|
||||
restClient.assertLastError().containsErrorKey(String.format(RestErrorModel.INVALID_SKIPCOUNT, "test"))
|
||||
.containsSummary(String.format(RestErrorModel.INVALID_SKIPCOUNT, "test"))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
@@ -0,0 +1,216 @@
|
||||
package org.alfresco.rest.people;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.model.RestSiteMembershipModelsCollection;
|
||||
import org.alfresco.rest.model.RestTaskModel;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.exception.DataPreparationException;
|
||||
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 GetSitesMembershipInformationFullTests extends RestTest
|
||||
{
|
||||
private SiteModel publicSiteModel;
|
||||
private SiteModel moderatedSiteModel;
|
||||
private SiteModel privateSiteModel;
|
||||
private SiteModel anotherUserSite;
|
||||
private UserModel userModel, adminUser, anotherUserModel;
|
||||
private RestSiteMembershipModelsCollection sitesMembershipInformation;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void dataPreparation() throws DataPreparationException
|
||||
{
|
||||
adminUser = dataUser.getAdminUser();
|
||||
anotherUserSite = dataSite.usingUser(adminUser).createPublicRandomSite();
|
||||
userModel = dataUser.createRandomTestUser();
|
||||
anotherUserModel = dataUser.createRandomTestUser();
|
||||
publicSiteModel = dataSite.usingUser(adminUser).createPublicRandomSite();
|
||||
dataUser.addUserToSite(userModel, publicSiteModel, UserRole.SiteCollaborator);
|
||||
moderatedSiteModel = dataSite.usingUser(adminUser).createModeratedRandomSite();
|
||||
dataUser.addUserToSite(userModel, moderatedSiteModel, UserRole.SiteConsumer);
|
||||
privateSiteModel = dataSite.usingUser(userModel).createPrivateRandomSite();
|
||||
dataUser.addUserToSite(anotherUserModel, anotherUserSite, UserRole.SiteCollaborator);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify if get site membership information request returns status code 200 for valid properties parameter")
|
||||
public void getSiteMembershipInformationUsingPropertiesParameter() throws Exception
|
||||
{
|
||||
sitesMembershipInformation = restClient.authenticateUser(userModel).withParams("properties=id").withCoreAPI().usingAuthUser().getSitesMembershipInformation();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sitesMembershipInformation.assertThat().entriesListIsNotEmpty().getPagination().assertThat().field("count").is("3");
|
||||
sitesMembershipInformation.assertThat().entriesListContains("id", publicSiteModel.getId())
|
||||
.and().entriesListContains("id", moderatedSiteModel.getId())
|
||||
.and().entriesListContains("id", privateSiteModel.getId())
|
||||
.and().entriesListDoesNotContain("site")
|
||||
.and().entriesListDoesNotContain("role")
|
||||
.and().entriesListDoesNotContain("guid");
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify if get site membership information request returns status code 200 for order ASC by parameter")
|
||||
public void getSiteMembershipInformationUsingOrderAscByParameter() throws Exception
|
||||
{
|
||||
sitesMembershipInformation = restClient.authenticateUser(userModel).withParams("orderBy=id ASC").withCoreAPI().usingAuthUser().getSitesMembershipInformation();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sitesMembershipInformation.assertThat().entriesListIsNotEmpty().getPagination().assertThat().field("count").is("3");
|
||||
sitesMembershipInformation.assertThat().entriesListIsSortedAscBy("id");
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify if get site membership information request returns status code 200 for order DESC by parameter")
|
||||
public void getSiteMembershipInformationUsingOrderDescByParameter() throws Exception
|
||||
{
|
||||
sitesMembershipInformation = restClient.authenticateUser(userModel).withParams("orderBy=id Desc").withCoreAPI().usingAuthUser().getSitesMembershipInformation();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sitesMembershipInformation.assertThat().entriesListIsNotEmpty().getPagination().assertThat().field("count").is("3");
|
||||
sitesMembershipInformation.assertThat().entriesListIsSortedDescBy("id");
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify if get site membership information request returns status code 200 for order by parameter")
|
||||
public void getSiteMembershipInformationUsingOrderByParameter() throws Exception
|
||||
{
|
||||
sitesMembershipInformation = restClient.authenticateUser(userModel).withParams("orderBy=id").withCoreAPI().usingAuthUser().getSitesMembershipInformation();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sitesMembershipInformation.assertThat().entriesListIsNotEmpty().getPagination().assertThat().field("count").is("3");
|
||||
sitesMembershipInformation.assertThat().entriesListIsSortedAscBy("id");
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify if get site membership information request returns status code 200 for order by role parameter")
|
||||
public void getSiteMembershipInformationUsingOrderByRoleParameter() throws Exception
|
||||
{
|
||||
sitesMembershipInformation = restClient.authenticateUser(userModel).withParams("orderBy=role").withCoreAPI().usingAuthUser().getSitesMembershipInformation();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sitesMembershipInformation.assertThat().entriesListIsNotEmpty().getPagination().assertThat().field("count").is("3");
|
||||
sitesMembershipInformation.assertThat().entriesListIsSortedAscBy("role");
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify if user gets site membership information of another user successfully")
|
||||
public void userCanGetSiteMembershipInformationOfAnotherUser() throws Exception
|
||||
{
|
||||
sitesMembershipInformation = restClient.authenticateUser(userModel).withCoreAPI().usingUser(anotherUserModel).getSitesMembershipInformation();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sitesMembershipInformation.assertThat().entriesListIsNotEmpty().getPagination().assertThat().field("count").is("1");
|
||||
sitesMembershipInformation.getEntries().get(0).onModel()
|
||||
.assertThat().field("site.visibility").is(anotherUserSite.getVisibility().toString())
|
||||
.and().field("site.guid").is(anotherUserSite.getGuid())
|
||||
.and().field("site.description").is(anotherUserSite.getDescription())
|
||||
.and().field("site.id").is(anotherUserSite.getId())
|
||||
.and().field("site.preset").is("site-dashboard")
|
||||
.and().field("site.title").is(anotherUserSite.getTitle())
|
||||
.and().field("id").is(anotherUserSite.getId())
|
||||
.and().field("guid").is(anotherUserSite.getGuid())
|
||||
.and().field("role").is(UserRole.SiteCollaborator.toString());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify if get site membership information request returns status code 200 for relations parameter")
|
||||
public void getSiteMembershipInformationUsingRelationsParameter() throws Exception
|
||||
{
|
||||
sitesMembershipInformation = restClient.authenticateUser(userModel).withParams("relations=site-membership-requests").withCoreAPI().usingAuthUser().getSitesMembershipInformation();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sitesMembershipInformation.assertThat().entriesListIsNotEmpty().getPagination().assertThat().field("count").is("3");
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify get site membership information request when a site membership request is rejected")
|
||||
public void getSiteMembershipInformationWhenASiteRequestIsRejected() throws Exception
|
||||
{
|
||||
UserModel userWithRequests = dataUser.createRandomTestUser();
|
||||
|
||||
restClient.authenticateUser(userWithRequests).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSiteModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
|
||||
sitesMembershipInformation = restClient.authenticateUser(adminUser).withCoreAPI().usingUser(userWithRequests).getSitesMembershipInformation();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sitesMembershipInformation.assertThat().entriesListIsEmpty()
|
||||
.and().paginationField("count").is("0");
|
||||
|
||||
RestTaskModel taskModel = restClient.authenticateUser(userWithRequests).withWorkflowAPI().getTasks().getTaskModelByDescription(moderatedSiteModel);
|
||||
workflow.approveSiteMembershipRequest(adminUser.getUsername(), adminUser.getPassword(), taskModel.getId(), false, "Rejected");
|
||||
|
||||
sitesMembershipInformation = restClient.authenticateUser(adminUser).withCoreAPI().usingUser(userWithRequests).getSitesMembershipInformation();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sitesMembershipInformation.assertThat().entriesListIsEmpty()
|
||||
.and().paginationField("count").is("0");
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify get site membership information request when a site membership request is approved")
|
||||
public void getSiteMembershipInformationWhenASiteRequestIsAppropved() throws Exception
|
||||
{
|
||||
UserModel userWithRequests = dataUser.createRandomTestUser();
|
||||
|
||||
restClient.authenticateUser(userWithRequests).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSiteModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
|
||||
sitesMembershipInformation = restClient.authenticateUser(adminUser).withCoreAPI().usingUser(userWithRequests).getSitesMembershipInformation();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sitesMembershipInformation.assertThat().entriesListIsEmpty()
|
||||
.and().paginationField("count").is("0");
|
||||
|
||||
RestTaskModel taskModel = restClient.authenticateUser(userWithRequests).withWorkflowAPI().getTasks().getTaskModelByDescription(moderatedSiteModel);
|
||||
workflow.approveSiteMembershipRequest(adminUser.getUsername(), adminUser.getPassword(), taskModel.getId(), true, "Approve");
|
||||
|
||||
sitesMembershipInformation = restClient.authenticateUser(adminUser).withCoreAPI().usingUser(userWithRequests).getSitesMembershipInformation();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sitesMembershipInformation.assertThat().entriesListIsNotEmpty()
|
||||
.and().entriesListContains("role", UserRole.SiteConsumer.toString())
|
||||
.and().entriesListContains("guid", moderatedSiteModel.getGuid())
|
||||
.and().entriesListContains("id", moderatedSiteModel.getId())
|
||||
.and().paginationField("count").is("1");
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify if get site membership information request returns status code 200 for valid maxItems parameter")
|
||||
public void getSiteMembershipInformationUsingMaxItemsParameter() throws Exception
|
||||
{
|
||||
sitesMembershipInformation = restClient.authenticateUser(userModel).withParams("maxItems=2").withCoreAPI().usingAuthUser().getSitesMembershipInformation();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sitesMembershipInformation.assertThat().entriesListCountIs(2)
|
||||
.getPagination().assertThat().field("count").is("2")
|
||||
.and().field("hasMoreItems").is("true")
|
||||
.and().field("totalItems").is("3")
|
||||
.and().field("skipCount").is("0")
|
||||
.and().field("maxItems").is("2");
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify if get site membership information request returns status code 200 for valid skipCount parameter")
|
||||
public void getSiteMembershipInformationUsingSkipCountParameter() throws Exception
|
||||
{
|
||||
sitesMembershipInformation = restClient.authenticateUser(userModel).withParams("skipCount=2").withCoreAPI().usingAuthUser().getSitesMembershipInformation();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sitesMembershipInformation.assertThat().entriesListCountIs(1)
|
||||
.getPagination().assertThat().field("count").is("1")
|
||||
.and().field("hasMoreItems").is("false")
|
||||
.and().field("totalItems").is("3")
|
||||
.and().field("skipCount").is("2")
|
||||
.and().field("maxItems").is("100");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user