add full tests for GetSiteMembers and small updates

This commit is contained in:
Cristina Axinte
2017-01-20 11:34:13 +02:00
parent df429e3b84
commit cdffcf6c07
2 changed files with 165 additions and 1 deletions
@@ -58,7 +58,10 @@ public class GetSiteMembersCoreTests extends RestTest
restClient.authenticateUser(publicSiteContributor).withParams("maxItems=0")
.withCoreAPI().usingSite(publicSite).getSiteMembers();
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
.assertLastError().containsSummary(RestErrorModel.ONLY_POSITIVE_VALUES_MAXITEMS);
.assertLastError().containsSummary(RestErrorModel.ONLY_POSITIVE_VALUES_MAXITEMS)
.containsErrorKey(RestErrorModel.ONLY_POSITIVE_VALUES_MAXITEMS)
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
.stackTraceIs(RestErrorModel.STACKTRACE);
restClient.authenticateUser(publicSiteContributor).withParams("maxItems=A")
.withCoreAPI().usingSite(publicSite).getSiteMembers();
@@ -0,0 +1,161 @@
package org.alfresco.rest.sites;
import org.alfresco.rest.RestTest;
import org.alfresco.rest.model.RestSiteMemberModel;
import org.alfresco.rest.model.RestSiteMemberModelsCollection;
import org.alfresco.utility.constants.UserRole;
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.springframework.social.alfresco.api.entities.Role;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
/**
*
* @author Cristina Axinte
*
*/
public class GetSiteMembersFullTests extends RestTest
{
private UserModel userModel, publicSiteContributor;
private UserModel moderatedSiteContributor, moderatedSiteCollaborator, moderatedSiteConsumer;
private SiteModel publicSite, moderatedSite, moderatedSite2;
private RestSiteMemberModelsCollection siteMembers;
private RestSiteMemberModel firstSiteMember, secondSiteMember, thirdSiteMember, fourthSiteMember;
@BeforeClass(alwaysRun=true)
public void dataPreparation() throws Exception
{
userModel = dataUser.createRandomTestUser();
publicSiteContributor = dataUser.createRandomTestUser();
moderatedSiteContributor = dataUser.createRandomTestUser();
moderatedSiteCollaborator = dataUser.createRandomTestUser();
moderatedSiteConsumer = dataUser.createRandomTestUser();
publicSite = dataSite.usingUser(userModel).createPublicRandomSite();
moderatedSite = dataSite.usingUser(userModel).createModeratedRandomSite();
moderatedSite2 = dataSite.usingUser(userModel).createModeratedRandomSite();
dataUser.addUserToSite(publicSiteContributor, publicSite, UserRole.SiteContributor);
dataUser.addUserToSite(publicSiteContributor, publicSite, UserRole.SiteContributor);
dataUser.addUserToSite(moderatedSiteContributor, moderatedSite, UserRole.SiteContributor);
dataUser.addUserToSite(moderatedSiteCollaborator, moderatedSite, UserRole.SiteCollaborator);
dataUser.addUserToSite(moderatedSiteConsumer, moderatedSite, UserRole.SiteConsumer);
dataUser.addUserToSite(moderatedSiteContributor, moderatedSite2, UserRole.SiteContributor);
siteMembers = restClient.authenticateUser(userModel).withCoreAPI()
.usingSite(moderatedSite).usingParams("properties=role,id").getSiteMembers();
firstSiteMember = siteMembers.getEntries().get(0).onModel();
secondSiteMember = siteMembers.getEntries().get(1).onModel();
thirdSiteMember = siteMembers.getEntries().get(2).onModel();
fourthSiteMember = siteMembers.getEntries().get(2).onModel();
}
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
description= "Verify if any user gets moderated site members with properties parameter applied and status code is 200")
public void getModeratedSiteMembersUsingPropertiesParameter() throws Exception
{
siteMembers = restClient.authenticateUser(userModel).withCoreAPI()
.usingSite(moderatedSite).usingParams("properties=role,id").getSiteMembers();
restClient.assertStatusCodeIs(HttpStatus.OK);
siteMembers.assertThat().entriesListCountIs(4)
.and().entriesListDoesNotContain("person")
.and().entriesListContains("role", UserRole.SiteManager.toString())
.and().entriesListContains("id", userModel.getUsername())
.and().entriesListContains("role", UserRole.SiteContributor.toString())
.and().entriesListContains("id", moderatedSiteContributor.getUsername())
.and().entriesListContains("role", UserRole.SiteCollaborator.toString())
.and().entriesListContains("id", moderatedSiteCollaborator.getUsername())
.and().entriesListContains("role", UserRole.SiteConsumer.toString())
.and().entriesListContains("id", moderatedSiteConsumer.getUsername());
}
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
description= "Verify if any user gets moderated site members with skipCount parameter applied")
public void getModeratedSiteMembersUsingSkipCountParameter() throws Exception
{
siteMembers = restClient.authenticateUser(userModel).withCoreAPI()
.usingSite(moderatedSite).usingParams("skipCount=2").getSiteMembers();
restClient.assertStatusCodeIs(HttpStatus.OK);
siteMembers.assertThat().paginationField("count").is("2");
siteMembers.assertThat().paginationField("skipCount").is("2");
siteMembers.assertThat().entriesListDoesNotContain("id", firstSiteMember.getId())
.and().entriesListDoesNotContain("id", secondSiteMember.getId())
.and().entriesListContains("role", thirdSiteMember.getRole().toString())
.and().entriesListContains("id", thirdSiteMember.getId())
.and().entriesListContains("role", fourthSiteMember.getRole().toString())
.and().entriesListContains("id", fourthSiteMember.getId());
}
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
description= "Verify if any user gets moderated site members with high skipCount parameter applied")
public void getModeratedSiteMembersUsingHighSkipCountParameter() throws Exception
{
siteMembers = restClient.authenticateUser(userModel).withCoreAPI()
.usingSite(moderatedSite).usingParams("skipCount=100").getSiteMembers();
restClient.assertStatusCodeIs(HttpStatus.OK);
siteMembers.assertThat().paginationField("count").is("0");
siteMembers.assertThat().paginationField("skipCount").is("100");
siteMembers.assertThat().entriesListIsEmpty();
}
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
description= "Verify if any user gets moderated site members with maxItems parameter applied and check all pagination fields")
public void getModeratedSiteMembersUsingMaxItemsParameter() throws Exception
{
siteMembers = restClient.authenticateUser(userModel).withCoreAPI()
.usingSite(moderatedSite).usingParams("maxItems=1").getSiteMembers();
restClient.assertStatusCodeIs(HttpStatus.OK);
siteMembers.assertThat().paginationField("count").is("1");
siteMembers.assertThat().paginationField("hasMoreItems").is("true");
siteMembers.assertThat().paginationField("maxItems").is("1");
siteMembers.assertThat().paginationField("totalItems").isNotPresent();
siteMembers.assertThat().entriesListContains("id", firstSiteMember.getId())
.and().entriesListContains("role", firstSiteMember.getRole().toString())
.and().entriesListDoesNotContain("id", secondSiteMember.getId())
.and().entriesListDoesNotContain("id", thirdSiteMember.getId());
}
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
description= "Verify if user gets moderated site members with member not joined yet and status code is 200")
public void getSiteMembersFromNotJoinedModeratedSite() throws Exception
{
UserModel userNotJoined = dataUser.createRandomTestUser();
restClient.authenticateUser(userNotJoined).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite2);
restClient.assertStatusCodeIs(HttpStatus.CREATED);
siteMembers = restClient.authenticateUser(userModel).withCoreAPI()
.usingSite(moderatedSite2).getSiteMembers();
restClient.assertStatusCodeIs(HttpStatus.OK);
siteMembers.assertThat().entriesListContains("role", Role.SiteManager.toString())
.and().entriesListContains("id", userModel.getUsername())
.and().entriesListDoesNotContain("id", userNotJoined.getUsername());
}
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
description= "Verify if any user gets site members after the member was removed from site and status code is 200")
public void getSiteMembersAfterRemoveTheSiteMember() throws Exception
{
siteMembers = restClient.authenticateUser(userModel).withCoreAPI()
.usingSite(moderatedSite2).getSiteMembers();
restClient.assertStatusCodeIs(HttpStatus.OK);
siteMembers.assertThat().entriesListCountIs(2);
restClient.authenticateUser(userModel).withCoreAPI().usingSite(moderatedSite2).deleteSiteMember(moderatedSiteContributor);
siteMembers = restClient.authenticateUser(userModel).withCoreAPI()
.usingSite(moderatedSite2).getSiteMembers();
restClient.assertStatusCodeIs(HttpStatus.OK);
siteMembers.assertThat().entriesListCountIs(1)
.and().entriesListContains("role", Role.SiteManager.toString())
.and().entriesListContains("id", userModel.getUsername());
}
}