mirror of
https://github.com/Alfresco/SearchServices.git
synced 2026-09-16 18:12:56 +00:00
REPO-2755 / REPO-2251: changed CORE and FULL groups with REGRESSION in sites package
This commit is contained in:
@@ -1,118 +0,0 @@
|
||||
package org.alfresco.rest.sites;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.core.RestRequest;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.rest.model.RestSiteModel;
|
||||
import org.alfresco.rest.model.RestSiteModelsCollection;
|
||||
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.HttpMethod;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
/**
|
||||
* Created by Claudia Agache on 11/23/2016.
|
||||
*/
|
||||
public class GetSiteCoreTests extends RestTest
|
||||
{
|
||||
private UserModel userModel, privateSiteConsumer;
|
||||
private SiteModel publicSite, privateSite, moderatedSite;
|
||||
private RestSiteModel restSiteModel;
|
||||
|
||||
@BeforeClass(alwaysRun=true)
|
||||
public void dataPreparation() throws Exception
|
||||
{
|
||||
userModel = dataUser.createRandomTestUser();
|
||||
privateSiteConsumer = dataUser.createRandomTestUser();
|
||||
publicSite = dataSite.usingAdmin().createPublicRandomSite();
|
||||
privateSite = dataSite.usingAdmin().createPrivateRandomSite();
|
||||
moderatedSite = dataSite.usingAdmin().createModeratedRandomSite();
|
||||
dataUser.addUserToSite(privateSiteConsumer, privateSite, UserRole.SiteConsumer);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify invalid request returns status code 404 if siteId does not exist")
|
||||
public void checkStatusCodeForNonExistentSiteId() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(userModel).withCoreAPI()
|
||||
.usingSite("NonExistentSiteId").getSite();
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, "NonExistentSiteId"));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify user gets all public and moderated sites if an empty siteId is provided")
|
||||
public void checkStatusCodeForEmptySiteId() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(userModel).withCoreAPI();
|
||||
RestRequest request = RestRequest.simpleRequest(HttpMethod.GET, "sites/{siteId}", "");
|
||||
RestSiteModelsCollection sites = restClient.processModels(RestSiteModelsCollection.class, request);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sites.assertThat().entriesListIsNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if any user gets public site details and status code is 200")
|
||||
public void getPublicSite() throws Exception
|
||||
{
|
||||
restSiteModel = restClient.authenticateUser(userModel).withCoreAPI()
|
||||
.usingSite(publicSite).getSite();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
restSiteModel.assertThat().field("visibility").is(publicSite.getVisibility())
|
||||
.and().field("id").is(publicSite.getId())
|
||||
.and().field("description").is(publicSite.getDescription())
|
||||
.and().field("title").is(publicSite.getTitle())
|
||||
.and().field("guid").isNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if any user gets moderated site details and status code is 200")
|
||||
public void getModeratedSite() throws Exception
|
||||
{
|
||||
restSiteModel = restClient.authenticateUser(userModel).withCoreAPI()
|
||||
.usingSite(moderatedSite).getSite();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
restSiteModel.assertThat().field("visibility").is(moderatedSite.getVisibility())
|
||||
.and().field("id").is(moderatedSite.getId())
|
||||
.and().field("description").is(moderatedSite.getDescription())
|
||||
.and().field("title").is(moderatedSite.getTitle())
|
||||
.and().field("guid").isNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if member of a private site gets that site details and status code is 200")
|
||||
public void getPrivateSiteBySiteMember() throws Exception
|
||||
{
|
||||
restSiteModel = restClient.authenticateUser(privateSiteConsumer).withCoreAPI()
|
||||
.usingSite(privateSite).getSite();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
restSiteModel.assertThat().field("visibility").is(privateSite.getVisibility())
|
||||
.and().field("id").is(privateSite.getId())
|
||||
.and().field("description").is(privateSite.getDescription())
|
||||
.and().field("title").is(privateSite.getTitle())
|
||||
.and().field("guid").isNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if user that is not member of a private site does not get that site details and status code is 200")
|
||||
public void getPrivateSiteByNotASiteMember() throws Exception
|
||||
{
|
||||
restSiteModel = restClient.authenticateUser(userModel).withCoreAPI()
|
||||
.usingSite(privateSite).getSite();
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, privateSite.getTitle()));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,230 +0,0 @@
|
||||
package org.alfresco.rest.sites;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.equalTo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.alfresco.dataprep.SiteService.Visibility;
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.core.RestRequest;
|
||||
import org.alfresco.rest.core.RestResponse;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.rest.model.RestSiteContainerModelsCollection;
|
||||
import org.alfresco.rest.model.RestSiteMemberModelsCollection;
|
||||
import org.alfresco.rest.model.RestSiteModel;
|
||||
import org.alfresco.utility.constants.ContainerName;
|
||||
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.HttpMethod;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Test;
|
||||
public class GetSiteFullTests extends RestTest
|
||||
{
|
||||
private UserModel adminUserModel, testUser;
|
||||
private SiteModel publicSite;
|
||||
private RestSiteModel restSiteModel;
|
||||
|
||||
@BeforeClass(alwaysRun=true)
|
||||
public void dataPreparation() throws DataPreparationException
|
||||
{
|
||||
adminUserModel = dataUser.getAdminUser();
|
||||
testUser = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(adminUserModel);
|
||||
publicSite = dataSite.usingUser(adminUserModel).createPublicRandomSite();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Perform invalid request and check default error schema")
|
||||
public void checkDefaultErrorSchema() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite("NonExistentSiteId").getSite();
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError().containsErrorKey(RestErrorModel.ENTITY_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, "NonExistentSiteId"))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL }, expectedExceptions = java.lang.AssertionError.class)
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Check that properties parameter is applied (guid field is mandatory, thus assertion error is expected)")
|
||||
public void checkThatPropertiesParameterIsApplied() throws Exception
|
||||
{
|
||||
restSiteModel = restClient.authenticateUser(adminUserModel).withParams("properties=id, visibility").withCoreAPI().usingSite(publicSite).getSite();
|
||||
restSiteModel.assertThat().field("id").is(publicSite.getId()).and().field("visibility").is(Visibility.PUBLIC.toString());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL } )
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Check that properties parameter is applied")
|
||||
public void checkThatPropertiesParameterIsAppliedPositiveTest() throws Exception
|
||||
{
|
||||
restSiteModel = restClient.authenticateUser(adminUserModel).withParams("properties=id,guid,title,visibility").withCoreAPI().usingSite(publicSite).getSite();
|
||||
restSiteModel.assertThat().field("id").is(publicSite.getId()).and().field("visibility").is(Visibility.PUBLIC.toString())
|
||||
.and().field("description").isNull()
|
||||
.and().field("role").isNull();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL } )
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Delete site then get site details")
|
||||
public void deleteSiteThenGetSiteDetails() throws Exception
|
||||
{
|
||||
SiteModel newSite = dataSite.usingAdmin().createPublicRandomSite();
|
||||
dataSite.deleteSite(newSite);
|
||||
restSiteModel = restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(newSite).getSite();
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, newSite.getId()))
|
||||
.containsErrorKey(RestErrorModel.ENTITY_NOT_FOUND_ERRORKEY)
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL } )
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Delete site then get site details")
|
||||
public void updateSiteVisibilityToPrivateThenGetSite() throws Exception
|
||||
{
|
||||
SiteModel newSite = dataSite.usingAdmin().createPublicRandomSite();
|
||||
restSiteModel = restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(newSite).getSite();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
dataSite.updateSiteVisibility(newSite, Visibility.PRIVATE);
|
||||
restSiteModel = restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(newSite).getSite();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
restSiteModel.assertThat().field("id").is(newSite.getId())
|
||||
.and().field("visibility").is(Visibility.PRIVATE.toString());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL } )
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION, description= "Get private site with a non member")
|
||||
public void getPrivateSiteWithNonMemberUser() throws Exception
|
||||
{
|
||||
SiteModel newSite = dataSite.usingAdmin().createPrivateRandomSite();
|
||||
restSiteModel = restClient.authenticateUser(testUser).withCoreAPI().usingSite(newSite).getSite();
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, newSite.getId()))
|
||||
.containsErrorKey(RestErrorModel.ENTITY_NOT_FOUND_ERRORKEY)
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL } )
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION, description= "Get moderated site with a non member")
|
||||
public void getModeratedSiteWithNonMemberUser() throws Exception
|
||||
{
|
||||
SiteModel newSite = dataSite.usingAdmin().createModeratedRandomSite();
|
||||
restSiteModel = restClient.authenticateUser(testUser).withCoreAPI().usingSite(newSite).getSite();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
restSiteModel.assertThat().field("id").is(newSite.getId())
|
||||
.and().field("visibility").is(Visibility.MODERATED.toString());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL } )
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION, description= "Get public site with a non member")
|
||||
public void getPublicSiteWithNonMemberUser() throws Exception
|
||||
{
|
||||
SiteModel newSite = dataSite.usingAdmin().createPublicRandomSite();
|
||||
restSiteModel = restClient.authenticateUser(testUser).withCoreAPI().usingSite(newSite).getSite();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
restSiteModel.assertThat().field("id").is(newSite.getId())
|
||||
.and().field("visibility").is(Visibility.PUBLIC.toString());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL } )
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Check that relations parameter is applied for containers")
|
||||
public void checkThatRelationsParameterIsAppliedForContainers() throws Exception
|
||||
{
|
||||
List<Object> jsonObjects = restClient.authenticateUser(adminUserModel)
|
||||
.withParams("relations=containers").withCoreAPI().usingSite(publicSite).getSiteWithRelations();
|
||||
|
||||
RestSiteModel siteModel = (RestSiteModel) jsonObjects.get(0);
|
||||
RestSiteContainerModelsCollection containers = (RestSiteContainerModelsCollection) jsonObjects.get(1);
|
||||
|
||||
siteModel.assertThat().field("visibility").is(publicSite.getVisibility())
|
||||
.and().field("id").is(publicSite.getId())
|
||||
.and().field("description").is(publicSite.getDescription())
|
||||
.and().field("title").is(publicSite.getTitle())
|
||||
.and().field("preset").is("site-dashboard")
|
||||
.and().field("guid").isNotEmpty();
|
||||
|
||||
containers.assertThat().entriesListCountIs(1)
|
||||
.and().entriesListContains("folderId", ContainerName.documentLibrary.toString());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL } )
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Check that relations parameter is applied for members")
|
||||
public void checkThatRelationsParameterIsAppliedForMembers() throws Exception
|
||||
{
|
||||
List<Object> jsonObjects = restClient.authenticateUser(adminUserModel)
|
||||
.withParams("relations=members").withCoreAPI().usingSite(publicSite).getSiteWithRelations();
|
||||
|
||||
RestSiteModel siteModel = (RestSiteModel) jsonObjects.get(0);
|
||||
RestSiteMemberModelsCollection siteMembers = (RestSiteMemberModelsCollection) jsonObjects.get(1);
|
||||
|
||||
siteModel.assertThat().field("visibility").is(publicSite.getVisibility())
|
||||
.and().field("id").is(publicSite.getId())
|
||||
.and().field("description").is(publicSite.getDescription())
|
||||
.and().field("title").is(publicSite.getTitle())
|
||||
.and().field("preset").is("site-dashboard")
|
||||
.and().field("guid").isNotEmpty();
|
||||
|
||||
siteMembers.assertThat().entriesListCountIs(1)
|
||||
.assertThat().entriesListContains("id", adminUserModel.getUsername())
|
||||
.assertThat().entriesListContains("role", UserRole.SiteManager.toString());
|
||||
siteMembers.getOneRandomEntry().onModel().assertThat().field("person.firstName").is("Administrator")
|
||||
.and().field("person.id").is("admin");
|
||||
}
|
||||
|
||||
@Test(groups="demo")
|
||||
public void checkThatRelationsParameterIsAppliedForMembersCustom()
|
||||
{
|
||||
/*1 - select API endpoint*/
|
||||
restClient.withCoreAPI();
|
||||
|
||||
/*2 - define request */
|
||||
RestRequest request = RestRequest.simpleRequest(HttpMethod.GET, "sites/{siteId}?{parameters}", publicSite.getId(), "relations=members");
|
||||
|
||||
/*3 - send request */
|
||||
RestResponse response = restClient.authenticateUser(adminUserModel).process(request);
|
||||
|
||||
/*assertions */
|
||||
response.assertThat().body("entry.id", equalTo(publicSite.getId()));
|
||||
response.assertThat().body("relations.members.list.entries.entry[0].role", equalTo("SiteManager"));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL } )
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Check that relations parameter is applied for containers and members")
|
||||
public void checkThatRelationsParameterIsAppliedForContainersAndMembers() throws Exception
|
||||
{
|
||||
List<Object> jsonObjects = restClient.authenticateUser(adminUserModel)
|
||||
.withParams("relations=containers,members").withCoreAPI().usingSite(publicSite).getSiteWithRelations();
|
||||
|
||||
RestSiteModel siteModel = (RestSiteModel) jsonObjects.get(0);
|
||||
RestSiteContainerModelsCollection containers = (RestSiteContainerModelsCollection) jsonObjects.get(1);
|
||||
RestSiteMemberModelsCollection siteMembers = (RestSiteMemberModelsCollection) jsonObjects.get(2);
|
||||
|
||||
siteModel.assertThat().field("visibility").is(publicSite.getVisibility())
|
||||
.and().field("id").is(publicSite.getId())
|
||||
.and().field("description").is(publicSite.getDescription())
|
||||
.and().field("title").is(publicSite.getTitle())
|
||||
.and().field("preset").is("site-dashboard")
|
||||
.and().field("guid").isNotEmpty();
|
||||
|
||||
containers.assertThat().entriesListCountIs(1)
|
||||
.and().entriesListContains("folderId", ContainerName.documentLibrary.toString());
|
||||
|
||||
siteMembers.assertThat().entriesListCountIs(1)
|
||||
.assertThat().entriesListContains("id", adminUserModel.getUsername())
|
||||
.assertThat().entriesListContains("role", UserRole.SiteManager.toString());
|
||||
siteMembers.getOneRandomEntry().onModel().assertThat().field("person.firstName").is("Administrator")
|
||||
.and().field("person.id").is("admin");
|
||||
}
|
||||
}
|
||||
@@ -1,120 +0,0 @@
|
||||
package org.alfresco.rest.sites;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.exception.JsonToModelConversionException;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser.ListUserWithRoles;
|
||||
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.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;
|
||||
|
||||
/**
|
||||
* @author iulia.cojocea
|
||||
*/
|
||||
|
||||
public class GetSiteSanityTests extends RestTest
|
||||
{
|
||||
private UserModel adminUserModel;
|
||||
private ListUserWithRoles usersWithRoles;
|
||||
private UserModel userModel;
|
||||
private SiteModel siteModel;
|
||||
|
||||
@BeforeClass(alwaysRun=true)
|
||||
public void dataPreparation() throws DataPreparationException
|
||||
{
|
||||
adminUserModel = dataUser.getAdminUser();
|
||||
restClient.authenticateUser(adminUserModel);
|
||||
siteModel = dataSite.usingUser(adminUserModel).createPublicRandomSite();
|
||||
usersWithRoles = dataUser.addUsersWithRolesToSite(siteModel, UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer, UserRole.SiteContributor);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with Manager role gets site information and gets status code OK (200)")
|
||||
public void getSiteWithManagerRole() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager))
|
||||
.withCoreAPI().usingSite(siteModel)
|
||||
.getSite()
|
||||
.and().field("id").is(siteModel.getId())
|
||||
.and().field("title").is(siteModel.getTitle());
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with Collaborator role gets site information and gets status code OK (200)")
|
||||
public void getSiteWithCollaboratorRole() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator))
|
||||
.withCoreAPI().usingSite(siteModel)
|
||||
.getSite()
|
||||
.and().field("id").is(siteModel.getId())
|
||||
.and().field("title").is(siteModel.getTitle());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with Contributor role gets site information and gets status code OK (200)")
|
||||
public void getSiteWithContributorRole() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor))
|
||||
.withCoreAPI().usingSite(siteModel)
|
||||
.getSite()
|
||||
.and().field("id").is(siteModel.getId())
|
||||
.and().field("title").is(siteModel.getTitle());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with Consumer role gets site information and gets status code OK (200)")
|
||||
public void getSiteWithConsumerRole() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer))
|
||||
.withCoreAPI().usingSite(siteModel)
|
||||
.getSite()
|
||||
.and().field("id").is(siteModel.getId())
|
||||
.and().field("title").is(siteModel.getTitle());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with admin role gets site information and gets status code OK (200)")
|
||||
public void getSiteWithAdminRole() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel)
|
||||
.withCoreAPI().usingSite(siteModel)
|
||||
.getSite()
|
||||
.and().field("id").is(siteModel.getId())
|
||||
.and().field("title").is(siteModel.getTitle());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Failed authentication get site call returns status code 401")
|
||||
@Bug(id="MNT-16904", description = "It fails only on environment with tenants")
|
||||
public void unauthenticatedUserIsNotAuthorizedToRetrieveSite() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
userModel = dataUser.createRandomTestUser();
|
||||
userModel.setPassword("user wrong password");
|
||||
dataUser.addUserToSite(userModel, siteModel, UserRole.SiteManager);
|
||||
restClient.authenticateUser(userModel).withParams("maxItems=10000")
|
||||
.withCoreAPI()
|
||||
.getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED).assertLastError()
|
||||
.containsSummary(RestErrorModel.AUTHENTICATION_FAILED);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,362 @@
|
||||
package org.alfresco.rest.sites;
|
||||
|
||||
import org.alfresco.dataprep.SiteService;
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.core.RestRequest;
|
||||
import org.alfresco.rest.core.RestResponse;
|
||||
import org.alfresco.rest.model.*;
|
||||
import org.alfresco.utility.constants.ContainerName;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser.ListUserWithRoles;
|
||||
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.HttpMethod;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.equalTo;
|
||||
|
||||
/**
|
||||
* @author iulia.cojocea
|
||||
*/
|
||||
|
||||
public class GetSiteTests extends RestTest
|
||||
{
|
||||
private UserModel adminUserModel;
|
||||
private ListUserWithRoles usersWithRoles;
|
||||
private UserModel userModel, privateSiteConsumer;
|
||||
private SiteModel publicSite, privateSite, moderatedSite;
|
||||
private RestSiteModel restSiteModel;
|
||||
|
||||
@BeforeClass(alwaysRun=true)
|
||||
public void dataPreparation() throws DataPreparationException
|
||||
{
|
||||
adminUserModel = dataUser.getAdminUser();
|
||||
restClient.authenticateUser(adminUserModel);
|
||||
publicSite = dataSite.usingUser(adminUserModel).createPublicRandomSite();
|
||||
usersWithRoles = dataUser.addUsersWithRolesToSite(publicSite, UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer, UserRole.SiteContributor);
|
||||
|
||||
userModel = dataUser.createRandomTestUser();
|
||||
privateSiteConsumer = dataUser.createRandomTestUser();
|
||||
|
||||
privateSite = dataSite.usingAdmin().createPrivateRandomSite();
|
||||
moderatedSite = dataSite.usingAdmin().createModeratedRandomSite();
|
||||
dataUser.addUserToSite(privateSiteConsumer, privateSite, UserRole.SiteConsumer);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with Manager role gets site information and gets status code OK (200)")
|
||||
public void getSiteWithManagerRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager))
|
||||
.withCoreAPI().usingSite(publicSite)
|
||||
.getSite()
|
||||
.and().field("id").is(publicSite.getId())
|
||||
.and().field("title").is(publicSite.getTitle());
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Collaborator role gets site information and gets status code OK (200)")
|
||||
public void getSiteWithCollaboratorRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator))
|
||||
.withCoreAPI().usingSite(publicSite)
|
||||
.getSite()
|
||||
.and().field("id").is(publicSite.getId())
|
||||
.and().field("title").is(publicSite.getTitle());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Contributor role gets site information and gets status code OK (200)")
|
||||
public void getSiteWithContributorRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor))
|
||||
.withCoreAPI().usingSite(publicSite)
|
||||
.getSite()
|
||||
.and().field("id").is(publicSite.getId())
|
||||
.and().field("title").is(publicSite.getTitle());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Consumer role gets site information and gets status code OK (200)")
|
||||
public void getSiteWithConsumerRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer))
|
||||
.withCoreAPI().usingSite(publicSite)
|
||||
.getSite()
|
||||
.and().field("id").is(publicSite.getId())
|
||||
.and().field("title").is(publicSite.getTitle());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with admin role gets site information and gets status code OK (200)")
|
||||
public void getSiteWithAdminRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel)
|
||||
.withCoreAPI().usingSite(publicSite)
|
||||
.getSite()
|
||||
.and().field("id").is(publicSite.getId())
|
||||
.and().field("title").is(publicSite.getTitle());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Failed authentication get site call returns status code 401")
|
||||
// @Bug(id="MNT-16904", description = "It fails only on environment with tenants")
|
||||
public void unauthenticatedUserIsNotAuthorizedToRetrieveSite() throws Exception
|
||||
{
|
||||
UserModel unauthenticatedManager = dataUser.createRandomTestUser();
|
||||
unauthenticatedManager.setPassword("user wrong password");
|
||||
dataUser.addUserToSite(unauthenticatedManager, publicSite, UserRole.SiteManager);
|
||||
restClient.authenticateUser(unauthenticatedManager).withParams("maxItems=10000")
|
||||
.withCoreAPI()
|
||||
.getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED).assertLastError()
|
||||
.containsSummary(RestErrorModel.AUTHENTICATION_FAILED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify invalid request returns status code 404 if siteId does not exist")
|
||||
public void checkStatusCodeForNonExistentSiteId() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite("NonExistentSiteId").getSite();
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError().containsErrorKey(RestErrorModel.ENTITY_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, "NonExistentSiteId"))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify user gets all public and moderated sites if an empty siteId is provided")
|
||||
public void checkStatusCodeForEmptySiteId() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(userModel).withCoreAPI();
|
||||
RestRequest request = RestRequest.simpleRequest(HttpMethod.GET, "sites/{siteId}", "");
|
||||
RestSiteModelsCollection sites = restClient.processModels(RestSiteModelsCollection.class, request);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sites.assertThat().entriesListIsNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if any user gets public site details and status code is 200")
|
||||
public void getPublicSiteByNotASiteMember() throws Exception
|
||||
{
|
||||
restSiteModel = restClient.authenticateUser(userModel).withCoreAPI()
|
||||
.usingSite(publicSite).getSite();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
restSiteModel.assertThat().field("visibility").is(publicSite.getVisibility())
|
||||
.and().field("id").is(publicSite.getId())
|
||||
.and().field("description").is(publicSite.getDescription())
|
||||
.and().field("title").is(publicSite.getTitle())
|
||||
.and().field("guid").isNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if any user gets moderated site details and status code is 200")
|
||||
public void getModeratedSiteByNotASiteMember() throws Exception
|
||||
{
|
||||
restSiteModel = restClient.authenticateUser(userModel).withCoreAPI()
|
||||
.usingSite(moderatedSite).getSite();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
restSiteModel.assertThat().field("visibility").is(moderatedSite.getVisibility())
|
||||
.and().field("id").is(moderatedSite.getId())
|
||||
.and().field("description").is(moderatedSite.getDescription())
|
||||
.and().field("title").is(moderatedSite.getTitle())
|
||||
.and().field("guid").isNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if member of a private site gets that site details and status code is 200")
|
||||
public void getPrivateSiteBySiteMember() throws Exception
|
||||
{
|
||||
restSiteModel = restClient.authenticateUser(privateSiteConsumer).withCoreAPI()
|
||||
.usingSite(privateSite).getSite();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
restSiteModel.assertThat().field("visibility").is(privateSite.getVisibility())
|
||||
.and().field("id").is(privateSite.getId())
|
||||
.and().field("description").is(privateSite.getDescription())
|
||||
.and().field("title").is(privateSite.getTitle())
|
||||
.and().field("guid").isNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if user that is not member of a private site does not get that site details and status code is 200")
|
||||
public void getPrivateSiteByNotASiteMember() throws Exception
|
||||
{
|
||||
restSiteModel = restClient.authenticateUser(userModel).withCoreAPI()
|
||||
.usingSite(privateSite).getSite();
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, privateSite.getTitle()))
|
||||
.containsErrorKey(RestErrorModel.ENTITY_NOT_FOUND_ERRORKEY)
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION }, expectedExceptions = java.lang.AssertionError.class)
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Check that properties parameter is applied (guid field is mandatory, thus assertion error is expected)")
|
||||
public void checkThatPropertiesParameterIsApplied() throws Exception
|
||||
{
|
||||
restSiteModel = restClient.authenticateUser(adminUserModel).withParams("properties=id, visibility").withCoreAPI().usingSite(publicSite).getSite();
|
||||
restSiteModel.assertThat().field("id").is(publicSite.getId()).and().field("visibility").is(SiteService.Visibility.PUBLIC.toString());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION } )
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Check that properties parameter is applied")
|
||||
public void checkThatPropertiesParameterIsAppliedPositiveTest() throws Exception
|
||||
{
|
||||
restSiteModel = restClient.authenticateUser(adminUserModel).withParams("properties=id,guid,title,visibility").withCoreAPI().usingSite(publicSite).getSite();
|
||||
restSiteModel.assertThat().field("id").is(publicSite.getId()).and().field("visibility").is(SiteService.Visibility.PUBLIC.toString())
|
||||
.and().field("description").isNull()
|
||||
.and().field("role").isNull();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION } )
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Delete site then get site details")
|
||||
public void deleteSiteThenGetSiteDetails() throws Exception
|
||||
{
|
||||
SiteModel newSite = dataSite.usingAdmin().createPublicRandomSite();
|
||||
dataSite.deleteSite(newSite);
|
||||
restSiteModel = restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(newSite).getSite();
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, newSite.getId()))
|
||||
.containsErrorKey(RestErrorModel.ENTITY_NOT_FOUND_ERRORKEY)
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION } )
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Delete site then get site details")
|
||||
public void updateSiteVisibilityToPrivateThenGetSite() throws Exception
|
||||
{
|
||||
SiteModel newSite = dataSite.usingAdmin().createPublicRandomSite();
|
||||
restSiteModel = restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(newSite).getSite();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
dataSite.updateSiteVisibility(newSite, SiteService.Visibility.PRIVATE);
|
||||
restSiteModel = restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(newSite).getSite();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
restSiteModel.assertThat().field("id").is(newSite.getId())
|
||||
.and().field("visibility").is(SiteService.Visibility.PRIVATE.toString());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION } )
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Check that relations parameter is applied for containers")
|
||||
public void checkThatRelationsParameterIsAppliedForContainers() throws Exception
|
||||
{
|
||||
List<Object> jsonObjects = restClient.authenticateUser(adminUserModel)
|
||||
.withParams("relations=containers").withCoreAPI().usingSite(publicSite).getSiteWithRelations();
|
||||
|
||||
RestSiteModel siteModel = (RestSiteModel) jsonObjects.get(0);
|
||||
RestSiteContainerModelsCollection containers = (RestSiteContainerModelsCollection) jsonObjects.get(1);
|
||||
|
||||
siteModel.assertThat().field("visibility").is(publicSite.getVisibility())
|
||||
.and().field("id").is(publicSite.getId())
|
||||
.and().field("description").is(publicSite.getDescription())
|
||||
.and().field("title").is(publicSite.getTitle())
|
||||
.and().field("preset").is("site-dashboard")
|
||||
.and().field("guid").isNotEmpty();
|
||||
|
||||
containers.assertThat().entriesListCountIs(1)
|
||||
.and().entriesListContains("folderId", ContainerName.documentLibrary.toString());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION } )
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Check that relations parameter is applied for members")
|
||||
public void checkThatRelationsParameterIsAppliedForMembers() throws Exception
|
||||
{
|
||||
SiteModel publicRandomSite = dataSite.usingUser(adminUserModel).createPublicRandomSite();
|
||||
List<Object> jsonObjects = restClient.authenticateUser(adminUserModel)
|
||||
.withParams("relations=members").withCoreAPI().usingSite(publicRandomSite).getSiteWithRelations();
|
||||
|
||||
RestSiteModel siteModel = (RestSiteModel) jsonObjects.get(0);
|
||||
RestSiteMemberModelsCollection siteMembers = (RestSiteMemberModelsCollection) jsonObjects.get(1);
|
||||
|
||||
siteModel.assertThat().field("visibility").is(publicRandomSite.getVisibility())
|
||||
.and().field("id").is(publicRandomSite.getId())
|
||||
.and().field("description").is(publicRandomSite.getDescription())
|
||||
.and().field("title").is(publicRandomSite.getTitle())
|
||||
.and().field("preset").is("site-dashboard")
|
||||
.and().field("guid").isNotEmpty();
|
||||
|
||||
siteMembers.assertThat().entriesListCountIs(1)
|
||||
.assertThat().entriesListContains("id", adminUserModel.getUsername())
|
||||
.assertThat().entriesListContains("role", UserRole.SiteManager.toString());
|
||||
siteMembers.getOneRandomEntry().onModel().assertThat().field("person.firstName").is("Administrator")
|
||||
.and().field("person.id").is("admin");
|
||||
}
|
||||
|
||||
@Test(groups="demo")
|
||||
public void checkThatRelationsParameterIsAppliedForMembersCustom()
|
||||
{
|
||||
/*1 - select API endpoint*/
|
||||
restClient.withCoreAPI();
|
||||
|
||||
/*2 - define request */
|
||||
RestRequest request = RestRequest.simpleRequest(HttpMethod.GET, "sites/{siteId}?{parameters}", publicSite.getId(), "relations=members");
|
||||
|
||||
/*3 - send request */
|
||||
RestResponse response = restClient.authenticateUser(adminUserModel).process(request);
|
||||
|
||||
/*assertions */
|
||||
response.assertThat().body("entry.id", equalTo(publicSite.getId()));
|
||||
response.assertThat().body("relations.members.list.entries.entry[0].role", equalTo("SiteManager"));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION } )
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Check that relations parameter is applied for containers and members")
|
||||
public void checkThatRelationsParameterIsAppliedForContainersAndMembers() throws Exception
|
||||
{
|
||||
SiteModel publicRandomSite = dataSite.usingUser(adminUserModel).createPublicRandomSite();
|
||||
List<Object> jsonObjects = restClient.authenticateUser(adminUserModel)
|
||||
.withParams("relations=containers,members").withCoreAPI().usingSite(publicRandomSite).getSiteWithRelations();
|
||||
|
||||
RestSiteModel siteModel = (RestSiteModel) jsonObjects.get(0);
|
||||
RestSiteContainerModelsCollection containers = (RestSiteContainerModelsCollection) jsonObjects.get(1);
|
||||
RestSiteMemberModelsCollection siteMembers = (RestSiteMemberModelsCollection) jsonObjects.get(2);
|
||||
|
||||
siteModel.assertThat().field("visibility").is(publicRandomSite.getVisibility())
|
||||
.and().field("id").is(publicRandomSite.getId())
|
||||
.and().field("description").is(publicRandomSite.getDescription())
|
||||
.and().field("title").is(publicRandomSite.getTitle())
|
||||
.and().field("preset").is("site-dashboard")
|
||||
.and().field("guid").isNotEmpty();
|
||||
|
||||
containers.assertThat().entriesListCountIs(1)
|
||||
.and().entriesListContains("folderId", ContainerName.documentLibrary.toString());
|
||||
|
||||
siteMembers.assertThat().entriesListCountIs(1)
|
||||
.assertThat().entriesListContains("id", adminUserModel.getUsername())
|
||||
.assertThat().entriesListContains("role", UserRole.SiteManager.toString());
|
||||
siteMembers.getOneRandomEntry().onModel().assertThat().field("person.firstName").is("Administrator")
|
||||
.and().field("person.id").is("admin");
|
||||
}
|
||||
}
|
||||
@@ -1,150 +0,0 @@
|
||||
package org.alfresco.rest.sites;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.alfresco.dataprep.SiteService.Visibility;
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.rest.model.RestSiteModel;
|
||||
import org.alfresco.rest.model.RestSiteModelsCollection;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.RandomData;
|
||||
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.AfterClass;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
/**
|
||||
* Created by Claudia Agache on 11/22/2016.
|
||||
*/
|
||||
public class GetSitesCoreTests extends RestTest
|
||||
{
|
||||
private UserModel regularUser, privateSiteManager, privateSiteConsumer;
|
||||
private SiteModel publicSite, privateSite, moderatedSite, deletedSite;
|
||||
private RestSiteModelsCollection sites;
|
||||
private SiteModel siteModel;
|
||||
|
||||
@BeforeClass(alwaysRun=true)
|
||||
public void dataPreparation() throws Exception
|
||||
{
|
||||
regularUser = dataUser.createRandomTestUser();
|
||||
privateSiteManager = dataUser.createRandomTestUser();
|
||||
privateSiteConsumer = dataUser.createRandomTestUser();
|
||||
siteModel = new SiteModel(RandomData.getRandomName("0-PublicSite"));
|
||||
publicSite = dataSite.usingAdmin().createSite(siteModel);
|
||||
siteModel = new SiteModel(RandomData.getRandomName("0-PrivateSite"), Visibility.PRIVATE);
|
||||
privateSite = dataSite.usingAdmin().createSite(siteModel);
|
||||
siteModel = new SiteModel(RandomData.getRandomName("0-ModeratedSite"), Visibility.MODERATED);
|
||||
moderatedSite = dataSite.usingAdmin().createSite(siteModel);
|
||||
dataUser.addUserToSite(privateSiteManager, privateSite, UserRole.SiteManager);
|
||||
dataUser.addUserToSite(privateSiteConsumer, privateSite, UserRole.SiteConsumer);
|
||||
deletedSite = dataSite.usingAdmin().createPublicRandomSite();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get sites request returns status code 400 when invalid maxItems parameter is used")
|
||||
public void getSitesWithInvalidMaxItems() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(regularUser).withParams("maxItems=0=09")
|
||||
.withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.INVALID_MAXITEMS, "0=09"));
|
||||
|
||||
restClient.withParams("maxItems=A")
|
||||
.withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.INVALID_MAXITEMS, "A"));
|
||||
|
||||
restClient.withParams("maxItems=0")
|
||||
.withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(RestErrorModel.ONLY_POSITIVE_VALUES_MAXITEMS);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get sites request returns status code 400 when invalid skipCount parameter is used")
|
||||
public void getSitesWithInvalidSkipCount() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(regularUser).withParams("skipCount=A")
|
||||
.withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.INVALID_SKIPCOUNT, "A"));
|
||||
|
||||
restClient.authenticateUser(regularUser).withParams("skipCount=-1")
|
||||
.withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(RestErrorModel.NEGATIVE_VALUES_SKIPCOUNT);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if User gets sites ordered by title ascending and status code is 200")
|
||||
public void getSitesOrderedByNameASC() throws Exception
|
||||
{
|
||||
sites = restClient.authenticateUser(privateSiteManager).withParams("orderBy=title ASC")
|
||||
.withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sites.assertThat().entriesListIsNotEmpty();
|
||||
List<RestSiteModel> sitesList = sites.getEntries();
|
||||
sitesList.get(0).onModel().assertThat().field("title").is(moderatedSite.getTitle());
|
||||
sitesList.get(1).onModel().assertThat().field("title").is(privateSite.getTitle());
|
||||
sitesList.get(2).onModel().assertThat().field("title").is(publicSite.getTitle());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if a regular user gets all public and moderated sites and status code is 200")
|
||||
public void regularUserGetsOnlyPublicAndModeratedSites() throws Exception
|
||||
{
|
||||
sites = restClient.authenticateUser(regularUser).withParams("maxItems=5000")
|
||||
.withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sites.assertThat().entriesListContains("title", publicSite.getTitle())
|
||||
.and().entriesListContains("title", moderatedSite.getTitle())
|
||||
.and().entriesListDoesNotContain("title", privateSite.getTitle());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if a member of a private site gets the private site, all public sites and all moderated sites. Verify if status code is 200")
|
||||
public void privateSiteMemberGetsSitesVisibleForHim() throws Exception
|
||||
{
|
||||
sites = restClient.authenticateUser(privateSiteConsumer).withParams("maxItems=5000")
|
||||
.withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sites.assertThat().entriesListContains("title", publicSite.getTitle())
|
||||
.and().entriesListContains("title", moderatedSite.getTitle())
|
||||
.and().entriesListContains("title", privateSite.getTitle());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if a site is not retrieved anymore after deletion and status code is 200")
|
||||
public void checkDeletedSiteIsNotRetrieved() throws Exception
|
||||
{
|
||||
sites = restClient.authenticateUser(regularUser).withParams("maxItems=5000").withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sites.assertThat().entriesListContains("title", deletedSite.getTitle());
|
||||
|
||||
dataSite.usingAdmin().deleteSite(deletedSite);
|
||||
|
||||
sites = restClient.withParams("maxItems=5000").withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sites.assertThat().entriesListDoesNotContain("title", deletedSite.getTitle());
|
||||
}
|
||||
|
||||
@AfterClass(alwaysRun=true)
|
||||
public void cleanup() throws Exception
|
||||
{
|
||||
dataSite.usingAdmin().deleteSite(moderatedSite);
|
||||
dataSite.usingAdmin().deleteSite(privateSite);
|
||||
dataSite.usingAdmin().deleteSite(publicSite);
|
||||
}
|
||||
}
|
||||
@@ -1,298 +0,0 @@
|
||||
package org.alfresco.rest.sites;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.alfresco.dataprep.SiteService.Visibility;
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.rest.model.RestSiteContainerModelsCollection;
|
||||
import org.alfresco.rest.model.RestSiteMemberModelsCollection;
|
||||
import org.alfresco.rest.model.RestSiteModel;
|
||||
import org.alfresco.rest.model.RestSiteModelsCollection;
|
||||
import org.alfresco.utility.constants.ContainerName;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.RandomData;
|
||||
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.AfterClass;
|
||||
import org.testng.annotations.AfterMethod;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
public class GetSitesFullTests extends RestTest
|
||||
{
|
||||
private UserModel regularUser;
|
||||
private SiteModel publicSite, secondSite, privateSite, moderatedSite;
|
||||
private RestSiteModelsCollection sites;
|
||||
private String name;
|
||||
private UserModel adminUser;
|
||||
private SiteModel secondPublicSite, thirdPublicSite;
|
||||
|
||||
@BeforeClass(alwaysRun=true)
|
||||
public void dataPreparation() throws Exception
|
||||
{
|
||||
adminUser = dataUser.getAdminUser();
|
||||
name = RandomData.getRandomName("ZZZZZZZZZ-PublicSite");
|
||||
regularUser = dataUser.createRandomTestUser();
|
||||
publicSite = dataSite.usingAdmin().createSite(new SiteModel(Visibility.PUBLIC, "guid", name, name, name));
|
||||
privateSite = dataSite.usingAdmin().createSite(new SiteModel(RandomData.getRandomName("ZZZZZZZZZ-PrivateSite"), Visibility.PRIVATE));
|
||||
moderatedSite = dataSite.usingAdmin().createSite(new SiteModel(RandomData.getRandomName("ZZZZZZZZZ-ModeratedSite"), Visibility.MODERATED));
|
||||
secondSite = dataSite.usingAdmin().createSite(new SiteModel(RandomData.getRandomName("000000000-PublicSite")));
|
||||
dataUser.addUserToSite(regularUser, privateSite, UserRole.SiteManager);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if User gets sites ordered by title descending and status code is 200")
|
||||
public void getSitesOrderedByTitleDESC() throws Exception
|
||||
{
|
||||
int totalItems = restClient.authenticateUser(regularUser).withCoreAPI().getSites().getPagination().getTotalItems();
|
||||
sites = restClient.authenticateUser(regularUser).withParams(String.format("maxItems=%s&orderBy=title DESC", totalItems))
|
||||
.withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sites.assertThat().entriesListIsNotEmpty();
|
||||
List<RestSiteModel> sitesList = sites.getEntries();
|
||||
sitesList.get(0).onModel().assertThat().field("title").is(publicSite.getTitle());
|
||||
sitesList.get(1).onModel().assertThat().field("title").is(privateSite.getTitle());
|
||||
sitesList.get(2).onModel().assertThat().field("title").is(moderatedSite.getTitle());
|
||||
sitesList.get(sitesList.size()-1).onModel().assertThat().field("title").is(secondSite.getTitle());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if User gets sites ordered by id ascending and status code is 200")
|
||||
public void getSitesOrderedByIdASC() throws Exception
|
||||
{
|
||||
int totalItems = restClient.authenticateUser(regularUser).withCoreAPI().getSites().getPagination().getTotalItems();
|
||||
sites = restClient.authenticateUser(regularUser).withParams(String.format("maxItems=%s&orderBy=id ASC", totalItems))
|
||||
.withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sites.assertThat().entriesListIsNotEmpty();
|
||||
List<RestSiteModel> sitesList = sites.getEntries();
|
||||
sitesList.get(sitesList.size()-1).onModel().assertThat().field("id").is(publicSite.getId());
|
||||
sitesList.get(sitesList.size()-2).onModel().assertThat().field("id").is(privateSite.getId());
|
||||
sitesList.get(sitesList.size()-3).onModel().assertThat().field("id").is(moderatedSite.getId());
|
||||
sitesList.get(0).onModel().assertThat().field("id").is(secondSite.getId());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify pagination")
|
||||
public void checkPagination() throws Exception
|
||||
{
|
||||
sites = restClient.authenticateUser(regularUser).withCoreAPI().getSites();
|
||||
sites.getPagination().assertThat()
|
||||
.field("totalItems").isNotEmpty().and()
|
||||
.field("maxItems").is("100").and()
|
||||
.field("hasMoreItems").is((sites.getPagination().getTotalItems() > sites.getPagination().getMaxItems()) ? "true" : "false").and()
|
||||
.field("skipCount").is("0").and()
|
||||
.field("count").is((sites.getPagination().isHasMoreItems()) ? sites.getPagination().getMaxItems() : sites.getPagination().getTotalItems());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify user can get only first two sites and status code is 200")
|
||||
public void getFirstTwoSites() throws Exception
|
||||
{
|
||||
sites = restClient.authenticateUser(regularUser).withParams(String.format("maxItems=%s&orderBy=id DESC", 2))
|
||||
.withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sites.getPagination().assertThat().field("maxItems").is("2").and().field("count").is("2");
|
||||
sites.assertThat().entriesListCountIs(2).and().entriesListDoesNotContain(moderatedSite.getId());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify user can get sites using high skipCount parameter and status code is 200")
|
||||
public void getSitesUsingHighSkipCount() throws Exception
|
||||
{
|
||||
RestSiteModelsCollection allSites = restClient.authenticateUser(regularUser).withCoreAPI().getSites();
|
||||
sites = restClient.withParams("skipCount=100").withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sites.assertThat().paginationField("skipCount").is("100");
|
||||
if(allSites.getPagination().getTotalItems() > 100)
|
||||
sites.assertThat().entriesListIsNotEmpty();
|
||||
else
|
||||
sites.assertThat().entriesListIsEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify user can not get sites using zero maxItems parameter and status code is 400")
|
||||
public void userCanNotGetSitesUsingZeroMaxItems() throws Exception
|
||||
{
|
||||
sites = restClient.authenticateUser(regularUser).withParams("maxItems=0").withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError()
|
||||
.containsErrorKey(RestErrorModel.ONLY_POSITIVE_VALUES_MAXITEMS)
|
||||
.containsSummary(RestErrorModel.ONLY_POSITIVE_VALUES_MAXITEMS)
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify that getSites request applies valid properties param and status code is 200")
|
||||
public void getSitesRequestWithValidPropertiesParam() throws Exception
|
||||
{
|
||||
sites = restClient.authenticateUser(regularUser).withParams("properties=id").withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sites.assertThat().entriesListDoesNotContain("description")
|
||||
.assertThat().entriesListDoesNotContain("title")
|
||||
.assertThat().entriesListDoesNotContain("visibility")
|
||||
.assertThat().entriesListDoesNotContain("guid")
|
||||
.assertThat().entriesListContains("id");
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify pagination when skipCount and MaxItems are used")
|
||||
public void checkPaginationWithSkipCountAndMaxItems() throws Exception
|
||||
{
|
||||
sites = restClient.authenticateUser(regularUser).withParams("skipCount=10&maxItems=110").withCoreAPI().getSites();
|
||||
sites.getPagination().assertThat()
|
||||
.field("totalItems").isNotEmpty().and()
|
||||
.field("maxItems").is("110").and()
|
||||
.field("hasMoreItems").is((sites.getPagination().getTotalItems() - sites.getPagination().getSkipCount() > sites.getPagination().getMaxItems())?"true":"false").and()
|
||||
.field("skipCount").is("10").and()
|
||||
.field("count").is((sites.getPagination().isHasMoreItems()) ? sites.getPagination().getMaxItems()
|
||||
: sites.getPagination().getTotalItems() - sites.getPagination().getSkipCount());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if User gets sites ordered by id ascending and status code is 200")
|
||||
public void getSitesOrderedByTitleASCAndVisibilityASC() throws Exception
|
||||
{
|
||||
secondPublicSite = dataSite.usingAdmin().createSite(
|
||||
new SiteModel(Visibility.PUBLIC, "guid", name+"A", name+"A", name));
|
||||
thirdPublicSite = dataSite.usingAdmin().createSite(
|
||||
new SiteModel(Visibility.PUBLIC, "guid", name+"B", name+"B", name));
|
||||
|
||||
int totalItems = restClient.authenticateUser(regularUser).withCoreAPI().getSites().getPagination().getTotalItems();
|
||||
sites = restClient.authenticateUser(regularUser).withParams(String.format("maxItems=%s&orderBy=title ASC&orderBy=description ASC", totalItems))
|
||||
.withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sites.assertThat().entriesListIsNotEmpty();
|
||||
List<RestSiteModel> sitesList = sites.getEntries();
|
||||
sitesList.get(sitesList.size()-1).onModel().assertThat().field("title").is(thirdPublicSite.getTitle());
|
||||
sitesList.get(sitesList.size()-2).onModel().assertThat().field("title").is(secondPublicSite.getTitle());
|
||||
|
||||
dataSite.deleteSite(secondPublicSite);
|
||||
secondPublicSite = null;
|
||||
dataSite.deleteSite(thirdPublicSite);
|
||||
thirdPublicSite = null;
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL } )
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Check that relations parameter is applied for containers")
|
||||
public void checkThatRelationsParameterIsAppliedForContainers() throws Exception
|
||||
{
|
||||
List<List<Object>> jsonObjects = restClient.authenticateUser(adminUser)
|
||||
.withParams("relations=containers").withCoreAPI().usingSite(publicSite).getSitesWithRelations();
|
||||
|
||||
List<Object> siteObjects = jsonObjects.get(0);
|
||||
for (int i = 0; i < siteObjects.size(); i++)
|
||||
{
|
||||
RestSiteModel siteModel = (RestSiteModel) siteObjects.get(i);
|
||||
siteModel.assertThat().field("visibility").isNotEmpty()
|
||||
.and().field("id").isNotEmpty()
|
||||
.and().field("title").isNotEmpty()
|
||||
.and().field("preset").is("site-dashboard")
|
||||
.and().field("guid").isNotEmpty();
|
||||
}
|
||||
|
||||
List<Object> containerObjects = jsonObjects.get(1);
|
||||
for (int i = 0; i < containerObjects.size(); i++)
|
||||
{
|
||||
RestSiteContainerModelsCollection containers = (RestSiteContainerModelsCollection) containerObjects.get(i);
|
||||
containers.assertThat().entriesListIsNotEmpty().and().entriesListContains("folderId", ContainerName.documentLibrary.toString());
|
||||
}
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL } )
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Check that relations parameter is applied for members")
|
||||
public void checkThatRelationsParameterIsAppliedForMembers() throws Exception
|
||||
{
|
||||
List<List<Object>> jsonObjects = restClient.authenticateUser(adminUser)
|
||||
.withParams("relations=members").withCoreAPI().usingSite(publicSite).getSitesWithRelations();
|
||||
|
||||
List<Object> siteObjects = jsonObjects.get(0);
|
||||
for (int i = 0; i < siteObjects.size(); i++)
|
||||
{
|
||||
RestSiteModel siteModel = (RestSiteModel) siteObjects.get(i);
|
||||
siteModel.assertThat().field("visibility").isNotEmpty()
|
||||
.and().field("id").isNotEmpty()
|
||||
.and().field("title").isNotEmpty()
|
||||
.and().field("preset").is("site-dashboard")
|
||||
.and().field("guid").isNotEmpty();
|
||||
}
|
||||
|
||||
List<Object> memberObjects = jsonObjects.get(1);
|
||||
for (int i = 0; i < memberObjects.size(); i++)
|
||||
{
|
||||
RestSiteMemberModelsCollection siteMembers = (RestSiteMemberModelsCollection) memberObjects.get(i);
|
||||
siteMembers.assertThat().entriesListIsNotEmpty().assertThat().entriesListContains("id").assertThat().entriesListContains("role", UserRole.SiteManager.toString());
|
||||
siteMembers.getOneRandomEntry().onModel().assertThat().field("person.firstName").isNotEmpty().and().field("person.id").isNotEmpty();
|
||||
}
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL } )
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Check that relations parameter is applied for members and containers")
|
||||
public void checkThatRelationsParameterIsAppliedForMembersAndContainers() throws Exception
|
||||
{
|
||||
List<List<Object>> jsonObjects = restClient.authenticateUser(adminUser)
|
||||
.withParams("relations=containers,members").withCoreAPI().usingSite(publicSite).getSitesWithRelations();
|
||||
|
||||
List<Object> siteObjects = jsonObjects.get(0);
|
||||
for (int i = 0; i < siteObjects.size(); i++)
|
||||
{
|
||||
RestSiteModel siteModel = (RestSiteModel) siteObjects.get(i);
|
||||
siteModel.assertThat().field("visibility").isNotEmpty()
|
||||
.and().field("id").isNotEmpty()
|
||||
.and().field("title").isNotEmpty()
|
||||
.and().field("preset").is("site-dashboard")
|
||||
.and().field("guid").isNotEmpty();
|
||||
}
|
||||
|
||||
List<Object> containerObjects = jsonObjects.get(1);
|
||||
for (int i = 0; i < containerObjects.size(); i++)
|
||||
{
|
||||
RestSiteContainerModelsCollection containers = (RestSiteContainerModelsCollection) containerObjects.get(i);
|
||||
containers.assertThat().entriesListIsNotEmpty().and().entriesListContains("folderId", ContainerName.documentLibrary.toString());
|
||||
}
|
||||
|
||||
List<Object> memberObjects = jsonObjects.get(2);
|
||||
for (int i = 0; i < memberObjects.size(); i++)
|
||||
{
|
||||
RestSiteMemberModelsCollection siteMembers = (RestSiteMemberModelsCollection) memberObjects.get(i);
|
||||
siteMembers.assertThat().entriesListIsNotEmpty().assertThat().entriesListContains("id").assertThat().entriesListContains("role", UserRole.SiteManager.toString());
|
||||
siteMembers.getOneRandomEntry().onModel().assertThat().field("person.firstName").isNotEmpty().and().field("person.id").isNotEmpty();
|
||||
}
|
||||
}
|
||||
|
||||
@AfterMethod(alwaysRun=true)
|
||||
public void deleteSites() throws Exception
|
||||
{
|
||||
if(secondPublicSite != null)
|
||||
dataSite.deleteSite(secondPublicSite);
|
||||
if(thirdPublicSite != null)
|
||||
dataSite.deleteSite(thirdPublicSite);
|
||||
}
|
||||
|
||||
@AfterClass(alwaysRun=true)
|
||||
public void tearDown() throws Exception
|
||||
{
|
||||
dataSite.deleteSite(publicSite);
|
||||
dataSite.deleteSite(privateSite);
|
||||
dataSite.deleteSite(moderatedSite);
|
||||
dataSite.deleteSite(secondSite);
|
||||
}
|
||||
}
|
||||
@@ -1,117 +0,0 @@
|
||||
package org.alfresco.rest.sites;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.exception.JsonToModelConversionException;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser.ListUserWithRoles;
|
||||
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;
|
||||
|
||||
/**
|
||||
* @author iulia.cojocea
|
||||
*/
|
||||
public class GetSitesSanityTests extends RestTest
|
||||
{
|
||||
private UserModel adminUserModel;
|
||||
private UserModel userModel;
|
||||
private ListUserWithRoles usersWithRoles;
|
||||
private SiteModel siteModel;
|
||||
|
||||
@BeforeClass(alwaysRun=true)
|
||||
public void dataPreparation() throws Exception
|
||||
{
|
||||
adminUserModel = dataUser.getAdminUser();
|
||||
siteModel = dataSite.usingUser(adminUserModel).createPublicRandomSite();
|
||||
usersWithRoles = dataUser.addUsersWithRolesToSite(siteModel,UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer, UserRole.SiteContributor);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY, description = "Verify user with Manager role gets sites information and gets status code OK (200)")
|
||||
public void managerIsAbleToRetrieveSites() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager)).withParams("maxItems=10000")
|
||||
.withCoreAPI().getSites()
|
||||
.assertThat().entriesListIsNotEmpty()
|
||||
.assertThat().entriesListContains("id", siteModel.getId())
|
||||
.and().paginationExist();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with Collaborator role gets sites information and gets status code OK (200)")
|
||||
public void collaboratorIsAbleToRetrieveSites() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator)).withParams("maxItems=10000")
|
||||
.withCoreAPI().getSites().assertThat().entriesListIsNotEmpty()
|
||||
.assertThat().entriesListContains("id", siteModel.getId())
|
||||
.and().paginationExist();
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with Contributor role gets sites information and gets status code OK (200)")
|
||||
public void contributorIsAbleToRetrieveSites() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor)).withParams("maxItems=10000")
|
||||
.withCoreAPI().getSites()
|
||||
.assertThat().entriesListIsNotEmpty()
|
||||
.assertThat().entriesListContains("id", siteModel.getId())
|
||||
.and().paginationExist();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with Consumer role gets sites information and gets status code OK (200)")
|
||||
public void consumerIsAbleToRetrieveSites() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer)).withParams("maxItems=10000")
|
||||
.withCoreAPI().getSites()
|
||||
.assertThat().entriesListIsNotEmpty()
|
||||
.assertThat().entriesListContains("id", siteModel.getId())
|
||||
.and().paginationExist();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with Admin user gets sites information and gets status code OK (200)")
|
||||
public void adminUserIsAbleToRetrieveSites() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel).withParams("maxItems=10000")
|
||||
.withCoreAPI().getSites()
|
||||
.assertThat().entriesListIsNotEmpty()
|
||||
.assertThat().entriesListContains("id", siteModel.getId())
|
||||
.and().paginationExist();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Failed authentication get sites call returns status code 401")
|
||||
@Bug(id="MNT-16904", description = "It fails only on environment with tenants")
|
||||
public void unauthenticatedUserIsNotAuthorizedToRetrieveSites() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager));
|
||||
userModel = dataUser.createRandomTestUser();
|
||||
userModel.setPassword("user wrong password");
|
||||
dataUser.addUserToSite(userModel, siteModel, UserRole.SiteManager);
|
||||
restClient.authenticateUser(userModel).withParams("maxItems=1")
|
||||
.withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED).assertLastError()
|
||||
.containsSummary(RestErrorModel.AUTHENTICATION_FAILED);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,484 @@
|
||||
package org.alfresco.rest.sites;
|
||||
|
||||
import org.alfresco.dataprep.SiteService;
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.model.*;
|
||||
import org.alfresco.utility.constants.ContainerName;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser.ListUserWithRoles;
|
||||
import org.alfresco.utility.data.RandomData;
|
||||
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.AfterClass;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author iulia.cojocea
|
||||
*/
|
||||
public class GetSitesTests extends RestTest
|
||||
{
|
||||
private UserModel adminUser;
|
||||
private UserModel lastPrivateSiteManager;
|
||||
private ListUserWithRoles usersWithRoles;
|
||||
private SiteModel siteModel;
|
||||
private UserModel regularUser, privateSiteManager, privateSiteConsumer;
|
||||
private SiteModel firstPublicSite, firstPrivateSite, firstModeratedSite, deletedSite;
|
||||
private SiteModel lastPublicSite, lastPrivateSite, lastModeratedSite;
|
||||
private RestSiteModelsCollection sites;
|
||||
private String name;
|
||||
|
||||
@BeforeClass(alwaysRun=true)
|
||||
public void dataPreparation() throws Exception
|
||||
{
|
||||
regularUser = dataUser.createRandomTestUser();
|
||||
lastPrivateSiteManager = dataUser.createRandomTestUser();
|
||||
privateSiteManager = dataUser.createRandomTestUser();
|
||||
privateSiteConsumer = dataUser.createRandomTestUser();
|
||||
|
||||
siteModel = new SiteModel(RandomData.getRandomName("0-PublicSite"));
|
||||
firstPublicSite = dataSite.usingAdmin().createSite(siteModel);
|
||||
siteModel = new SiteModel(RandomData.getRandomName("0-PrivateSite"), SiteService.Visibility.PRIVATE);
|
||||
firstPrivateSite = dataSite.usingAdmin().createSite(siteModel);
|
||||
siteModel = new SiteModel(RandomData.getRandomName("0-ModeratedSite"), SiteService.Visibility.MODERATED);
|
||||
firstModeratedSite = dataSite.usingAdmin().createSite(siteModel);
|
||||
dataUser.addUserToSite(privateSiteManager, firstPrivateSite, UserRole.SiteManager);
|
||||
dataUser.addUserToSite(privateSiteConsumer, firstPrivateSite, UserRole.SiteConsumer);
|
||||
deletedSite = dataSite.usingAdmin().createPublicRandomSite();
|
||||
|
||||
name = RandomData.getRandomName("ZZZZZZZZZ-PublicSite");
|
||||
lastPublicSite = dataSite.usingAdmin().createSite(new SiteModel(SiteService.Visibility.PUBLIC, "guid", name, name, name));
|
||||
lastPrivateSite = dataSite.usingAdmin().createSite(new SiteModel(RandomData.getRandomName("ZZZZZZZZZ-PrivateSite"), SiteService.Visibility.PRIVATE));
|
||||
lastModeratedSite = dataSite.usingAdmin().createSite(new SiteModel(RandomData.getRandomName("ZZZZZZZZZ-ModeratedSite"), SiteService.Visibility.MODERATED));
|
||||
|
||||
adminUser = dataUser.getAdminUser();
|
||||
siteModel = dataSite.usingAdmin().createPublicRandomSite();
|
||||
usersWithRoles = dataUser.addUsersWithRolesToSite(siteModel,UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer, UserRole.SiteContributor);
|
||||
dataUser.addUserToSite(lastPrivateSiteManager, lastPrivateSite, UserRole.SiteManager);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with Manager role gets sites information and gets status code OK (200)")
|
||||
public void managerIsAbleToRetrieveSites() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager)).withParams("maxItems=10000")
|
||||
.withCoreAPI().getSites()
|
||||
.assertThat().entriesListIsNotEmpty()
|
||||
.assertThat().entriesListContains("id", siteModel.getId())
|
||||
.and().paginationExist();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Collaborator role gets sites information and gets status code OK (200)")
|
||||
public void collaboratorIsAbleToRetrieveSites() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator)).withParams("maxItems=10000")
|
||||
.withCoreAPI().getSites().assertThat().entriesListIsNotEmpty()
|
||||
.assertThat().entriesListContains("id", siteModel.getId())
|
||||
.and().paginationExist();
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Contributor role gets sites information and gets status code OK (200)")
|
||||
public void contributorIsAbleToRetrieveSites() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor)).withParams("maxItems=10000")
|
||||
.withCoreAPI().getSites()
|
||||
.assertThat().entriesListIsNotEmpty()
|
||||
.assertThat().entriesListContains("id", siteModel.getId())
|
||||
.and().paginationExist();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Consumer role gets sites information and gets status code OK (200)")
|
||||
public void consumerIsAbleToRetrieveSites() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer)).withParams("maxItems=10000")
|
||||
.withCoreAPI().getSites()
|
||||
.assertThat().entriesListIsNotEmpty()
|
||||
.assertThat().entriesListContains("id", siteModel.getId())
|
||||
.and().paginationExist();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Admin user gets sites information and gets status code OK (200)")
|
||||
public void adminUserIsAbleToRetrieveSites() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUser).withParams("maxItems=10000")
|
||||
.withCoreAPI().getSites()
|
||||
.assertThat().entriesListIsNotEmpty()
|
||||
.assertThat().entriesListContains("id", siteModel.getId())
|
||||
.and().paginationExist();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Failed authentication get sites call returns status code 401")
|
||||
// @Bug(id="MNT-16904", description = "It fails only on environment with tenants")
|
||||
public void unauthenticatedUserIsNotAuthorizedToRetrieveSites() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager));
|
||||
UserModel userModel = dataUser.createRandomTestUser();
|
||||
userModel.setPassword("user wrong password");
|
||||
dataUser.addUserToSite(userModel, siteModel, UserRole.SiteManager);
|
||||
restClient.authenticateUser(userModel).withParams("maxItems=1")
|
||||
.withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED).assertLastError()
|
||||
.containsSummary(RestErrorModel.AUTHENTICATION_FAILED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get sites request returns status code 400 when invalid maxItems parameter is used")
|
||||
public void getSitesWithInvalidMaxItems() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(regularUser).withParams("maxItems=0=09")
|
||||
.withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.INVALID_MAXITEMS, "0=09"));
|
||||
|
||||
restClient.withParams("maxItems=A")
|
||||
.withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.INVALID_MAXITEMS, "A"));
|
||||
|
||||
restClient.withParams("maxItems=0")
|
||||
.withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(RestErrorModel.ONLY_POSITIVE_VALUES_MAXITEMS);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get sites request returns status code 400 when invalid skipCount parameter is used")
|
||||
public void getSitesWithInvalidSkipCount() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(regularUser).withParams("skipCount=A")
|
||||
.withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.INVALID_SKIPCOUNT, "A"));
|
||||
|
||||
restClient.authenticateUser(regularUser).withParams("skipCount=-1")
|
||||
.withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(RestErrorModel.NEGATIVE_VALUES_SKIPCOUNT);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if User gets sites ordered by title ascending and status code is 200")
|
||||
public void getSitesOrderedByTitleASC() throws Exception
|
||||
{
|
||||
sites = restClient.authenticateUser(privateSiteManager).withParams("orderBy=title ASC")
|
||||
.withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sites.assertThat().entriesListIsNotEmpty();
|
||||
List<RestSiteModel> sitesList = sites.getEntries();
|
||||
sitesList.get(0).onModel().assertThat().field("title").is(firstModeratedSite.getTitle());
|
||||
sitesList.get(1).onModel().assertThat().field("title").is(firstPrivateSite.getTitle());
|
||||
sitesList.get(2).onModel().assertThat().field("title").is(firstPublicSite.getTitle());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if a regular user gets all public and moderated sites and status code is 200")
|
||||
public void regularUserGetsOnlyPublicAndModeratedSites() throws Exception
|
||||
{
|
||||
sites = restClient.authenticateUser(regularUser).withParams("maxItems=5000")
|
||||
.withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sites.assertThat().entriesListContains("title", firstPublicSite.getTitle())
|
||||
.and().entriesListContains("title", firstModeratedSite.getTitle())
|
||||
.and().entriesListDoesNotContain("title", firstPrivateSite.getTitle());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if a member of a private site gets the private site, all public sites and all moderated sites. Verify if status code is 200")
|
||||
public void privateSiteMemberGetsSitesVisibleForHim() throws Exception
|
||||
{
|
||||
sites = restClient.authenticateUser(privateSiteConsumer).withParams("maxItems=5000")
|
||||
.withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sites.assertThat().entriesListContains("title", firstPublicSite.getTitle())
|
||||
.and().entriesListContains("title", firstModeratedSite.getTitle())
|
||||
.and().entriesListContains("title", firstPrivateSite.getTitle());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if a site is not retrieved anymore after deletion and status code is 200")
|
||||
public void checkDeletedSiteIsNotRetrieved() throws Exception
|
||||
{
|
||||
sites = restClient.authenticateUser(regularUser).withParams("maxItems=5000").withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sites.assertThat().entriesListContains("title", deletedSite.getTitle());
|
||||
|
||||
dataSite.usingAdmin().deleteSite(deletedSite);
|
||||
|
||||
sites = restClient.withParams("maxItems=5000").withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sites.assertThat().entriesListDoesNotContain("title", deletedSite.getTitle());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION})
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if User gets sites ordered by title descending and status code is 200")
|
||||
public void getSitesOrderedByTitleDESC() throws Exception
|
||||
{
|
||||
int totalItems = restClient.authenticateUser(lastPrivateSiteManager).withCoreAPI().getSites().getPagination().getTotalItems();
|
||||
sites = restClient.authenticateUser(lastPrivateSiteManager).withParams(String.format("maxItems=%s&orderBy=title DESC", totalItems))
|
||||
.withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sites.assertThat().entriesListIsNotEmpty();
|
||||
List<RestSiteModel> sitesList = sites.getEntries();
|
||||
sitesList.get(0).onModel().assertThat().field("title").is(lastPublicSite.getTitle());
|
||||
sitesList.get(1).onModel().assertThat().field("title").is(lastPrivateSite.getTitle());
|
||||
sitesList.get(2).onModel().assertThat().field("title").is(lastModeratedSite.getTitle());
|
||||
sitesList.get(sitesList.size()-1).onModel().assertThat().field("title").is(firstModeratedSite.getTitle());
|
||||
}
|
||||
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION})
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if User gets sites ordered by id ascending and status code is 200")
|
||||
public void getSitesOrderedByIdASC() throws Exception
|
||||
{
|
||||
int totalItems = restClient.authenticateUser(lastPrivateSiteManager).withCoreAPI().getSites().getPagination().getTotalItems();
|
||||
sites = restClient.authenticateUser(lastPrivateSiteManager).withParams(String.format("maxItems=%s&orderBy=id ASC", totalItems))
|
||||
.withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sites.assertThat().entriesListIsNotEmpty();
|
||||
List<RestSiteModel> sitesList = sites.getEntries();
|
||||
sitesList.get(sitesList.size()-1).onModel().assertThat().field("id").is(lastPublicSite.getId());
|
||||
sitesList.get(sitesList.size()-2).onModel().assertThat().field("id").is(lastPrivateSite.getId());
|
||||
sitesList.get(sitesList.size()-3).onModel().assertThat().field("id").is(lastModeratedSite.getId());
|
||||
sitesList.get(0).onModel().assertThat().field("id").is(firstModeratedSite.getId());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION})
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify pagination")
|
||||
public void checkPagination() throws Exception
|
||||
{
|
||||
sites = restClient.authenticateUser(regularUser).withCoreAPI().getSites();
|
||||
sites.getPagination().assertThat()
|
||||
.field("totalItems").isNotEmpty().and()
|
||||
.field("maxItems").is("100").and()
|
||||
.field("hasMoreItems").is((sites.getPagination().getTotalItems() > sites.getPagination().getMaxItems()) ? "true" : "false").and()
|
||||
.field("skipCount").is("0").and()
|
||||
.field("count").is((sites.getPagination().isHasMoreItems()) ? sites.getPagination().getMaxItems() : sites.getPagination().getTotalItems());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION})
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify user can get only first two sites and status code is 200")
|
||||
public void getFirstTwoSites() throws Exception
|
||||
{
|
||||
sites = restClient.authenticateUser(regularUser).withParams(String.format("maxItems=%s&orderBy=title ASC", 2))
|
||||
.withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sites.getPagination().assertThat().field("maxItems").is("2").and().field("count").is("2");
|
||||
sites.assertThat().entriesListCountIs(2).and().entriesListDoesNotContain(firstPublicSite.getId());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION})
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify user can get sites using high skipCount parameter and status code is 200")
|
||||
public void getSitesUsingHighSkipCount() throws Exception
|
||||
{
|
||||
RestSiteModelsCollection allSites = restClient.authenticateUser(regularUser).withCoreAPI().getSites();
|
||||
sites = restClient.withParams("skipCount=100").withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sites.assertThat().paginationField("skipCount").is("100");
|
||||
if(allSites.getPagination().getTotalItems() > 100)
|
||||
sites.assertThat().entriesListIsNotEmpty();
|
||||
else
|
||||
sites.assertThat().entriesListIsEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION})
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify user can not get sites using zero maxItems parameter and status code is 400")
|
||||
public void userCanNotGetSitesUsingZeroMaxItems() throws Exception
|
||||
{
|
||||
sites = restClient.authenticateUser(regularUser).withParams("maxItems=0").withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError()
|
||||
.containsErrorKey(RestErrorModel.ONLY_POSITIVE_VALUES_MAXITEMS)
|
||||
.containsSummary(RestErrorModel.ONLY_POSITIVE_VALUES_MAXITEMS)
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION})
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify that getSites request applies valid properties param and status code is 200")
|
||||
public void getSitesRequestWithValidPropertiesParam() throws Exception
|
||||
{
|
||||
sites = restClient.authenticateUser(regularUser).withParams("properties=id").withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sites.assertThat().entriesListDoesNotContain("description")
|
||||
.assertThat().entriesListDoesNotContain("title")
|
||||
.assertThat().entriesListDoesNotContain("visibility")
|
||||
.assertThat().entriesListDoesNotContain("guid")
|
||||
.assertThat().entriesListContains("id");
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION})
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify pagination when skipCount and MaxItems are used")
|
||||
public void checkPaginationWithSkipCountAndMaxItems() throws Exception
|
||||
{
|
||||
sites = restClient.authenticateUser(regularUser).withParams("skipCount=10&maxItems=110").withCoreAPI().getSites();
|
||||
sites.getPagination().assertThat()
|
||||
.field("totalItems").isNotEmpty().and()
|
||||
.field("maxItems").is("110").and()
|
||||
.field("hasMoreItems").is((sites.getPagination().getTotalItems() - sites.getPagination().getSkipCount() > sites.getPagination().getMaxItems())?"true":"false").and()
|
||||
.field("skipCount").is("10").and()
|
||||
.field("count").is((sites.getPagination().isHasMoreItems()) ? sites.getPagination().getMaxItems()
|
||||
: sites.getPagination().getTotalItems() - sites.getPagination().getSkipCount());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION})
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if User gets sites ordered by id ascending and status code is 200")
|
||||
public void getSitesOrderedByTitleASCAndVisibilityASC() throws Exception
|
||||
{
|
||||
SiteModel secondPublicSite = dataSite.usingAdmin().createSite(
|
||||
new SiteModel(SiteService.Visibility.PUBLIC, "guid", name+"A", name+"A", name));
|
||||
SiteModel thirdPublicSite = dataSite.usingAdmin().createSite(
|
||||
new SiteModel(SiteService.Visibility.PUBLIC, "guid", name+"B", name+"B", name));
|
||||
|
||||
int totalItems = restClient.authenticateUser(regularUser).withCoreAPI().getSites().getPagination().getTotalItems();
|
||||
sites = restClient.authenticateUser(regularUser).withParams(String.format("maxItems=%s&orderBy=title ASC&orderBy=description ASC", totalItems))
|
||||
.withCoreAPI().getSites();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
sites.assertThat().entriesListIsNotEmpty();
|
||||
List<RestSiteModel> sitesList = sites.getEntries();
|
||||
sitesList.get(sitesList.size()-1).onModel().assertThat().field("title").is(thirdPublicSite.getTitle());
|
||||
sitesList.get(sitesList.size()-2).onModel().assertThat().field("title").is(secondPublicSite.getTitle());
|
||||
|
||||
dataSite.usingAdmin().deleteSite(secondPublicSite);
|
||||
dataSite.usingAdmin().deleteSite(thirdPublicSite);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION} )
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Check that relations parameter is applied for containers")
|
||||
public void checkThatRelationsParameterIsAppliedForContainers() throws Exception
|
||||
{
|
||||
List<List<Object>> jsonObjects = restClient.authenticateUser(adminUser)
|
||||
.withParams("relations=containers").withCoreAPI().usingSite(lastPublicSite).getSitesWithRelations();
|
||||
|
||||
List<Object> siteObjects = jsonObjects.get(0);
|
||||
for (int i = 0; i < siteObjects.size(); i++)
|
||||
{
|
||||
RestSiteModel siteModel = (RestSiteModel) siteObjects.get(i);
|
||||
siteModel.assertThat().field("visibility").isNotEmpty()
|
||||
.and().field("id").isNotEmpty()
|
||||
.and().field("title").isNotEmpty()
|
||||
.and().field("preset").is("site-dashboard")
|
||||
.and().field("guid").isNotEmpty();
|
||||
}
|
||||
|
||||
List<Object> containerObjects = jsonObjects.get(1);
|
||||
for (int i = 0; i < containerObjects.size(); i++)
|
||||
{
|
||||
RestSiteContainerModelsCollection containers = (RestSiteContainerModelsCollection) containerObjects.get(i);
|
||||
containers.assertThat().entriesListIsNotEmpty().and().entriesListContains("folderId", ContainerName.documentLibrary.toString());
|
||||
}
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION} )
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Check that relations parameter is applied for members")
|
||||
public void checkThatRelationsParameterIsAppliedForMembers() throws Exception
|
||||
{
|
||||
List<List<Object>> jsonObjects = restClient.authenticateUser(adminUser)
|
||||
.withParams("relations=members").withCoreAPI().usingSite(lastPublicSite).getSitesWithRelations();
|
||||
|
||||
List<Object> siteObjects = jsonObjects.get(0);
|
||||
for (int i = 0; i < siteObjects.size(); i++)
|
||||
{
|
||||
RestSiteModel siteModel = (RestSiteModel) siteObjects.get(i);
|
||||
siteModel.assertThat().field("visibility").isNotEmpty()
|
||||
.and().field("id").isNotEmpty()
|
||||
.and().field("title").isNotEmpty()
|
||||
.and().field("preset").is("site-dashboard")
|
||||
.and().field("guid").isNotEmpty();
|
||||
}
|
||||
|
||||
List<Object> memberObjects = jsonObjects.get(1);
|
||||
for (int i = 0; i < memberObjects.size(); i++)
|
||||
{
|
||||
RestSiteMemberModelsCollection siteMembers = (RestSiteMemberModelsCollection) memberObjects.get(i);
|
||||
siteMembers.assertThat().entriesListIsNotEmpty().assertThat().entriesListContains("id").assertThat().entriesListContains("role", UserRole.SiteManager.toString());
|
||||
siteMembers.getOneRandomEntry().onModel().assertThat().field("person.firstName").isNotEmpty().and().field("person.id").isNotEmpty();
|
||||
}
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION} )
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Check that relations parameter is applied for members and containers")
|
||||
public void checkThatRelationsParameterIsAppliedForMembersAndContainers() throws Exception
|
||||
{
|
||||
List<List<Object>> jsonObjects = restClient.authenticateUser(adminUser)
|
||||
.withParams("relations=containers,members").withCoreAPI().usingSite(lastPublicSite).getSitesWithRelations();
|
||||
|
||||
List<Object> siteObjects = jsonObjects.get(0);
|
||||
for (int i = 0; i < siteObjects.size(); i++)
|
||||
{
|
||||
RestSiteModel siteModel = (RestSiteModel) siteObjects.get(i);
|
||||
siteModel.assertThat().field("visibility").isNotEmpty()
|
||||
.and().field("id").isNotEmpty()
|
||||
.and().field("title").isNotEmpty()
|
||||
.and().field("preset").is("site-dashboard")
|
||||
.and().field("guid").isNotEmpty();
|
||||
}
|
||||
|
||||
List<Object> containerObjects = jsonObjects.get(1);
|
||||
for (int i = 0; i < containerObjects.size(); i++)
|
||||
{
|
||||
RestSiteContainerModelsCollection containers = (RestSiteContainerModelsCollection) containerObjects.get(i);
|
||||
containers.assertThat().entriesListIsNotEmpty().and().entriesListContains("folderId", ContainerName.documentLibrary.toString());
|
||||
}
|
||||
|
||||
List<Object> memberObjects = jsonObjects.get(2);
|
||||
for (int i = 0; i < memberObjects.size(); i++)
|
||||
{
|
||||
RestSiteMemberModelsCollection siteMembers = (RestSiteMemberModelsCollection) memberObjects.get(i);
|
||||
siteMembers.assertThat().entriesListIsNotEmpty().assertThat().entriesListContains("id").assertThat().entriesListContains("role", UserRole.SiteManager.toString());
|
||||
siteMembers.getOneRandomEntry().onModel().assertThat().field("person.firstName").isNotEmpty().and().field("person.id").isNotEmpty();
|
||||
}
|
||||
}
|
||||
|
||||
@AfterClass(alwaysRun=true)
|
||||
public void cleanup() throws Exception
|
||||
{
|
||||
dataSite.usingAdmin().deleteSite(firstModeratedSite);
|
||||
dataSite.usingAdmin().deleteSite(firstPrivateSite);
|
||||
dataSite.usingAdmin().deleteSite(firstPublicSite);
|
||||
|
||||
dataSite.usingAdmin().deleteSite(lastPublicSite);
|
||||
dataSite.usingAdmin().deleteSite(lastPrivateSite);
|
||||
dataSite.usingAdmin().deleteSite(lastModeratedSite);
|
||||
}
|
||||
}
|
||||
@@ -17,7 +17,7 @@ import org.testng.annotations.Test;
|
||||
public class SitesTests extends RestTest
|
||||
{
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY, description = "Tests the creation of a site")
|
||||
public void testCreateSite() throws Exception
|
||||
{
|
||||
|
||||
@@ -1,107 +0,0 @@
|
||||
package org.alfresco.rest.sites.containers;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.utility.constants.ContainerName;
|
||||
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;
|
||||
|
||||
public class GetSiteContainerCoreTests extends RestTest{
|
||||
|
||||
private UserModel adminUserModel, testUserModel;
|
||||
private SiteModel publicSiteModel, moderatedSiteModel, privateSiteModel;
|
||||
|
||||
@BeforeClass(alwaysRun=true)
|
||||
public void dataPreparation() throws Exception
|
||||
{
|
||||
adminUserModel = dataUser.getAdminUser();
|
||||
testUserModel = dataUser.createRandomTestUser();
|
||||
publicSiteModel = dataSite.usingAdmin().createPublicRandomSite();
|
||||
moderatedSiteModel = dataSite.usingAdmin().createModeratedRandomSite();
|
||||
privateSiteModel = dataSite.usingAdmin().createPrivateRandomSite();
|
||||
|
||||
dataLink.usingAdmin().usingSite(publicSiteModel).createRandomLink();
|
||||
dataDiscussion.usingAdmin().usingSite(publicSiteModel).createRandomDiscussion();
|
||||
|
||||
dataLink.usingAdmin().usingSite(moderatedSiteModel).createRandomLink();
|
||||
dataDiscussion.usingAdmin().usingSite(moderatedSiteModel).createRandomDiscussion();
|
||||
|
||||
dataLink.usingAdmin().usingSite(privateSiteModel).createRandomLink();
|
||||
dataDiscussion.usingAdmin().usingSite(privateSiteModel).createRandomDiscussion();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get container request returns status code 400 when site doesn't exist")
|
||||
public void getContainerWithNonExistentSite() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(testUserModel)
|
||||
.withCoreAPI().usingSite("NonExistentSiteId").getSiteContainer(ContainerName.discussions.toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, "NonExistentSiteId", ContainerName.discussions.toString()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get container request returns status code 400 when container item doesn't exist")
|
||||
public void getContainerWithNonExistentItem() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(testUserModel)
|
||||
.withCoreAPI().usingSite(publicSiteModel).getSiteContainer("NonExistentFolder");
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, publicSiteModel.getId(), "NonExistentFolder"));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify get container request returns status 200 for public site")
|
||||
public void getContainerForPublicSite() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(testUserModel)
|
||||
.withCoreAPI().usingSite(publicSiteModel).getSiteContainer(ContainerName.discussions.toString())
|
||||
.assertThat().field("folderId").is(ContainerName.discussions.toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
|
||||
restClient.authenticateUser(testUserModel)
|
||||
.withCoreAPI().usingSite(publicSiteModel).getSiteContainer(ContainerName.links.toString())
|
||||
.assertThat().field("folderId").is(ContainerName.links.toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify get container request returns status 200 for private site")
|
||||
public void getContainerForPrivateSite() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel)
|
||||
.withCoreAPI().usingSite(privateSiteModel).getSiteContainer(ContainerName.discussions.toString())
|
||||
.assertThat().field("folderId").is(ContainerName.discussions.toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
|
||||
restClient.withCoreAPI().usingSite(privateSiteModel).getSiteContainer(ContainerName.links.toString())
|
||||
.assertThat().field("folderId").is(ContainerName.links.toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify get container request returns status 200 for moderated site")
|
||||
public void getContainerForModeratedSite() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel)
|
||||
.withCoreAPI().usingSite(moderatedSiteModel).getSiteContainer(ContainerName.discussions.toString())
|
||||
.assertThat().field("folderId").is(ContainerName.discussions.toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
|
||||
restClient.withCoreAPI().usingSite(moderatedSiteModel).getSiteContainer(ContainerName.links.toString())
|
||||
.assertThat().field("folderId").is(ContainerName.links.toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,176 +0,0 @@
|
||||
package org.alfresco.rest.sites.containers;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.utility.constants.ContainerName;
|
||||
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.apache.commons.lang3.RandomStringUtils;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Cristina Axinte
|
||||
*
|
||||
*/
|
||||
public class GetSiteContainerFullTests extends RestTest
|
||||
{
|
||||
private UserModel adminUserModel, testUserModel;
|
||||
private SiteModel publicSiteModel, moderatedSiteModel, privateSiteModelByAdmin, privateSiteModelByUser;
|
||||
|
||||
@BeforeClass(alwaysRun=true)
|
||||
public void dataPreparation() throws Exception
|
||||
{
|
||||
adminUserModel = dataUser.getAdminUser();
|
||||
testUserModel = dataUser.createRandomTestUser();
|
||||
publicSiteModel = dataSite.usingAdmin().createPublicRandomSite();
|
||||
moderatedSiteModel = dataSite.usingUser(testUserModel).createModeratedRandomSite();
|
||||
privateSiteModelByAdmin = dataSite.usingAdmin().createPrivateRandomSite();
|
||||
|
||||
privateSiteModelByUser = dataSite.usingUser(testUserModel).createPrivateRandomSite();
|
||||
|
||||
dataLink.usingAdmin().usingSite(publicSiteModel).createRandomLink();
|
||||
dataDiscussion.usingAdmin().usingSite(publicSiteModel).createRandomDiscussion();
|
||||
|
||||
dataLink.usingUser(testUserModel).usingSite(moderatedSiteModel).createRandomLink();
|
||||
|
||||
dataLink.usingAdmin().usingSite(privateSiteModelByAdmin).createRandomLink();
|
||||
|
||||
dataDiscussion.usingUser(testUserModel).usingSite(privateSiteModelByUser).createRandomDiscussion();
|
||||
dataLink.usingUser(testUserModel).usingSite(privateSiteModelByUser).createRandomLink();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get container request with properties parameter returns status code 200 and parameter is applied")
|
||||
public void getContainerUsingPropertiesParameter() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(testUserModel)
|
||||
.withCoreAPI().usingSite(publicSiteModel).usingParams("properties=id").getSiteContainer(ContainerName.discussions.toString())
|
||||
.assertThat().fieldsCount().is(1)
|
||||
.and().field("id").isNotEmpty()
|
||||
.and().field("folderId").isNull();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get container request for a container that does not belong to site returns status code 404")
|
||||
public void getContainerThatDoesNotBelongToSite() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(testUserModel)
|
||||
.withCoreAPI().usingSite(moderatedSiteModel).getSiteContainer(ContainerName.discussions.toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, moderatedSiteModel.getId(), ContainerName.discussions.toString()))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get container request for empty siteId returns status code 404")
|
||||
public void getContainerForEmptySiteId() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(testUserModel)
|
||||
.withCoreAPI().usingSite("").getSiteContainer(ContainerName.discussions.toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, "", ContainerName.discussions.toString()))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get container request for empty container returns status code 200 and the list of containers")
|
||||
public void getContainerForEmptyContainer() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(testUserModel)
|
||||
.withCoreAPI().usingSite(moderatedSiteModel).getSiteContainer("");
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get container with name containing special chars returns status code 404")
|
||||
public void getContainerWithNameContainingSpecialChars() throws Exception
|
||||
{
|
||||
String containerSpecialName = RandomStringUtils.randomAlphabetic(2) + "~!%40%23%24%25%5E%26*()_%2B%5B%5D%7B%7D%7C%5C%3B%27%3A%22%2C.%2F%3C%3E";
|
||||
|
||||
restClient.authenticateUser(testUserModel)
|
||||
.withCoreAPI().usingSite(publicSiteModel).getSiteContainer(containerSpecialName);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, publicSiteModel.getId(), containerSpecialName))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if admin can get container request for a private site created by another user and status code is 200")
|
||||
public void adminCanGetContainerForPrivateSiteCreatedByUser() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel)
|
||||
.withCoreAPI().usingSite(privateSiteModelByUser).getSiteContainer(ContainerName.discussions.toString())
|
||||
.assertThat().field("folderId").is(ContainerName.discussions.toString())
|
||||
.and().field("id").isNotEmpty();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if user cannot get container request for a private site created by admin and status code is 404")
|
||||
public void userCannotGetContainerForPrivateSiteCreatedByAdmin() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(testUserModel)
|
||||
.withCoreAPI().usingSite(privateSiteModelByAdmin).getSiteContainer(ContainerName.links.toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, privateSiteModelByAdmin.getId(), ContainerName.links.toString()))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if user can get container request for a public site created by admin and status code is 200")
|
||||
public void userCanGetContainerForPublicSiteCreatedByAdmin() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(testUserModel)
|
||||
.withCoreAPI().usingSite(publicSiteModel).getSiteContainer(ContainerName.links.toString())
|
||||
.assertThat().field("folderId").is(ContainerName.links.toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get container request for a deleted container returns status code is 404")
|
||||
public void getContainerThatWasDeleted() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(testUserModel)
|
||||
.withCoreAPI().usingSite(privateSiteModelByUser).getSiteContainer(ContainerName.links.toString())
|
||||
.assertThat().field("folderId").is(ContainerName.links.toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
|
||||
//use dataprep for delete 'links' container
|
||||
FolderModel folder= new FolderModel("links");
|
||||
folder.setCmisLocation(String.format("/Sites/%s/%s", privateSiteModelByUser.getId(), ContainerName.links.toString()));
|
||||
dataContent.deleteTree(folder);
|
||||
|
||||
restClient.authenticateUser(testUserModel)
|
||||
.withCoreAPI().usingSite(privateSiteModelByUser).getSiteContainer(ContainerName.links.toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, privateSiteModelByUser.getId(), ContainerName.links.toString()))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
}
|
||||
@@ -1,117 +0,0 @@
|
||||
package org.alfresco.rest.sites.containers;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.rest.model.RestSiteContainerModel;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser.ListUserWithRoles;
|
||||
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 iulia.cojocea
|
||||
*/
|
||||
public class GetSiteContainerSanityTests extends RestTest
|
||||
{
|
||||
private UserModel adminUserModel;
|
||||
private SiteModel siteModel;
|
||||
private ListUserWithRoles usersWithRoles;
|
||||
private RestSiteContainerModel siteContainerModel;
|
||||
private UserModel userModel;
|
||||
|
||||
@BeforeClass(alwaysRun=true)
|
||||
public void dataPreparation() throws Exception
|
||||
{
|
||||
adminUserModel = dataUser.getAdminUser();
|
||||
siteModel = dataSite.usingUser(adminUserModel).createPublicRandomSite();
|
||||
usersWithRoles = dataUser.addUsersWithRolesToSite(siteModel, UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer,
|
||||
UserRole.SiteContributor);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with Manager role gets site container and gets status code OK (200)")
|
||||
public void getSiteContainerWithManagerRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager));
|
||||
siteContainerModel = restClient.withCoreAPI().usingSite(siteModel).getSiteContainers().getOneRandomEntry();
|
||||
restClient.withCoreAPI().usingSite(siteModel).getSiteContainer(siteContainerModel.onModel())
|
||||
.assertThat().field("id").is(siteContainerModel.onModel().getId())
|
||||
.and().field("folderId").is(siteContainerModel.onModel().getFolderId());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with Collaborator role gets site container and gets status code OK (200)")
|
||||
public void getSiteContainerWithCollaboratorRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator));
|
||||
siteContainerModel = restClient.withCoreAPI().usingSite(siteModel).getSiteContainers().getOneRandomEntry();
|
||||
restClient.withCoreAPI().usingSite(siteModel).getSiteContainer(siteContainerModel.onModel())
|
||||
.and().field("id").is(siteContainerModel.onModel().getId())
|
||||
.and().field("folderId").is(siteContainerModel.onModel().getFolderId());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with Contributor role gets site container and gets status code OK (200)")
|
||||
public void getSiteContainerWithContributorRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor));
|
||||
siteContainerModel = restClient.withCoreAPI().usingSite(siteModel).getSiteContainers().getOneRandomEntry();
|
||||
restClient.withCoreAPI().usingSite(siteModel).getSiteContainer(siteContainerModel.onModel())
|
||||
.assertThat().field("id").is(siteContainerModel.onModel().getId())
|
||||
.and().field("folderId").is(siteContainerModel.onModel().getFolderId());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with Consumer role gets site container and gets status code OK (200)")
|
||||
public void getSiteContainerWithConsumerRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer));
|
||||
siteContainerModel = restClient.withCoreAPI().usingSite(siteModel).getSiteContainers().getOneRandomEntry();
|
||||
restClient.withCoreAPI().usingSite(siteModel).getSiteContainer(siteContainerModel.onModel())
|
||||
.assertThat().field("id").is(siteContainerModel.onModel().getId())
|
||||
.and().field("folderId").is(siteContainerModel.onModel().getFolderId());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with admin user gets site container and gets status code OK (200)")
|
||||
public void getSiteContainerWithAdminUser() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel);
|
||||
siteContainerModel = restClient.withCoreAPI().usingSite(siteModel).getSiteContainers().getOneRandomEntry();
|
||||
restClient.withCoreAPI().usingSite(siteModel).getSiteContainer(siteContainerModel.onModel())
|
||||
.assertThat().field("id").is(siteContainerModel.onModel().getId())
|
||||
.and().field("folderId").is(siteContainerModel.onModel().getFolderId());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Failed authentication get site container call returns status code 401")
|
||||
public void unauthenticatedUserIsNotAuthorizedToRetrieveSiteContainer() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager));
|
||||
siteContainerModel = restClient.withCoreAPI().usingSite(siteModel).getSiteContainers().getOneRandomEntry();
|
||||
userModel = dataUser.createRandomTestUser();
|
||||
userModel.setPassword("user wrong password");
|
||||
dataUser.addUserToSite(userModel, siteModel, UserRole.SiteManager);
|
||||
restClient.authenticateUser(userModel)
|
||||
.withCoreAPI().usingSite(siteModel).getSiteContainer(siteContainerModel.onModel());
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED).assertLastError()
|
||||
.containsSummary(RestErrorModel.AUTHENTICATION_FAILED);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,313 @@
|
||||
package org.alfresco.rest.sites.containers;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.rest.model.RestSiteContainerModel;
|
||||
import org.alfresco.utility.constants.ContainerName;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser.ListUserWithRoles;
|
||||
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.apache.commons.lang3.RandomStringUtils;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
/**
|
||||
* @author iulia.cojocea
|
||||
*/
|
||||
public class GetSiteContainerTests extends RestTest
|
||||
{
|
||||
private UserModel adminUserModel;
|
||||
private SiteModel publicSiteModel, moderatedSiteModel, privateSiteModel, adminPrivateSiteModel;
|
||||
private ListUserWithRoles usersWithRoles;
|
||||
private RestSiteContainerModel siteContainerModel;
|
||||
private UserModel testUser;
|
||||
|
||||
@BeforeClass(alwaysRun=true)
|
||||
public void dataPreparation() throws Exception
|
||||
{
|
||||
adminUserModel = dataUser.getAdminUser();
|
||||
testUser = dataUser.createRandomTestUser();
|
||||
|
||||
publicSiteModel = dataSite.usingAdmin().createPublicRandomSite();
|
||||
moderatedSiteModel = dataSite.usingUser(testUser).createModeratedRandomSite();
|
||||
privateSiteModel = dataSite.usingUser(testUser).createPrivateRandomSite();
|
||||
adminPrivateSiteModel = dataSite.usingAdmin().createPrivateRandomSite();
|
||||
|
||||
usersWithRoles = dataUser.addUsersWithRolesToSite(publicSiteModel, UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer,
|
||||
UserRole.SiteContributor);
|
||||
|
||||
dataLink.usingAdmin().usingSite(publicSiteModel).createRandomLink();
|
||||
dataDiscussion.usingAdmin().usingSite(publicSiteModel).createRandomDiscussion();
|
||||
|
||||
dataLink.usingUser(testUser).usingSite(moderatedSiteModel).createRandomLink();
|
||||
|
||||
dataLink.usingAdmin().usingSite(adminPrivateSiteModel).createRandomLink();
|
||||
|
||||
dataLink.usingUser(testUser).usingSite(privateSiteModel).createRandomLink();
|
||||
dataDiscussion.usingUser(testUser).usingSite(privateSiteModel).createRandomDiscussion();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with Manager role gets site container and gets status code OK (200)")
|
||||
public void getSiteContainerWithManagerRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager));
|
||||
siteContainerModel = restClient.withCoreAPI().usingSite(publicSiteModel).getSiteContainers().getOneRandomEntry();
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).getSiteContainer(siteContainerModel.onModel())
|
||||
.assertThat().field("id").is(siteContainerModel.onModel().getId())
|
||||
.and().field("folderId").is(siteContainerModel.onModel().getFolderId());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Collaborator role gets site container and gets status code OK (200)")
|
||||
public void getSiteContainerWithCollaboratorRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator));
|
||||
siteContainerModel = restClient.withCoreAPI().usingSite(publicSiteModel).getSiteContainers().getOneRandomEntry();
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).getSiteContainer(siteContainerModel.onModel())
|
||||
.and().field("id").is(siteContainerModel.onModel().getId())
|
||||
.and().field("folderId").is(siteContainerModel.onModel().getFolderId());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Contributor role gets site container and gets status code OK (200)")
|
||||
public void getSiteContainerWithContributorRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor));
|
||||
siteContainerModel = restClient.withCoreAPI().usingSite(publicSiteModel).getSiteContainers().getOneRandomEntry();
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).getSiteContainer(siteContainerModel.onModel())
|
||||
.assertThat().field("id").is(siteContainerModel.onModel().getId())
|
||||
.and().field("folderId").is(siteContainerModel.onModel().getFolderId());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Consumer role gets site container and gets status code OK (200)")
|
||||
public void getSiteContainerWithConsumerRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer));
|
||||
siteContainerModel = restClient.withCoreAPI().usingSite(publicSiteModel).getSiteContainers().getOneRandomEntry();
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).getSiteContainer(siteContainerModel.onModel())
|
||||
.assertThat().field("id").is(siteContainerModel.onModel().getId())
|
||||
.and().field("folderId").is(siteContainerModel.onModel().getFolderId());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with admin user gets site container and gets status code OK (200)")
|
||||
public void getSiteContainerWithAdminUser() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel);
|
||||
siteContainerModel = restClient.withCoreAPI().usingSite(publicSiteModel).getSiteContainers().getOneRandomEntry();
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).getSiteContainer(siteContainerModel.onModel())
|
||||
.assertThat().field("id").is(siteContainerModel.onModel().getId())
|
||||
.and().field("folderId").is(siteContainerModel.onModel().getFolderId());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Failed authentication get site container call returns status code 401")
|
||||
public void unauthenticatedUserIsNotAuthorizedToRetrieveSiteContainer() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager));
|
||||
siteContainerModel = restClient.withCoreAPI().usingSite(publicSiteModel).getSiteContainers().getOneRandomEntry();
|
||||
UserModel userModel = dataUser.createRandomTestUser();
|
||||
userModel.setPassword("user wrong password");
|
||||
dataUser.addUserToSite(userModel, publicSiteModel, UserRole.SiteManager);
|
||||
restClient.authenticateUser(userModel)
|
||||
.withCoreAPI().usingSite(publicSiteModel).getSiteContainer(siteContainerModel.onModel());
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED).assertLastError()
|
||||
.containsSummary(RestErrorModel.AUTHENTICATION_FAILED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get container request returns status code 400 when site doesn't exist")
|
||||
public void getContainerWithNonExistentSite() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(testUser)
|
||||
.withCoreAPI().usingSite("NonExistentSiteId").getSiteContainer(ContainerName.discussions.toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, "NonExistentSiteId", ContainerName.discussions.toString()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get container request returns status code 400 when container item doesn't exist")
|
||||
public void getContainerWithNonExistentItem() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(testUser)
|
||||
.withCoreAPI().usingSite(publicSiteModel).getSiteContainer("NonExistentFolder");
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, publicSiteModel.getId(), "NonExistentFolder"));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify regular user can get container for public site and request returns status 200")
|
||||
public void getContainerForPublicSite() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(testUser)
|
||||
.withCoreAPI().usingSite(publicSiteModel).getSiteContainer(ContainerName.discussions.toString())
|
||||
.assertThat().field("folderId").is(ContainerName.discussions.toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
|
||||
restClient.authenticateUser(testUser)
|
||||
.withCoreAPI().usingSite(publicSiteModel).getSiteContainer(ContainerName.links.toString())
|
||||
.assertThat().field("folderId").is(ContainerName.links.toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify manager is able to get container for his private site and request returns status 200")
|
||||
public void getContainerForPrivateSite() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(testUser)
|
||||
.withCoreAPI().usingSite(privateSiteModel).getSiteContainer(ContainerName.discussions.toString())
|
||||
.assertThat().field("folderId").is(ContainerName.discussions.toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify get container request returns status 200 for moderated site")
|
||||
public void getContainerForModeratedSite() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(testUser)
|
||||
.withCoreAPI().usingSite(moderatedSiteModel).getSiteContainer(ContainerName.links.toString())
|
||||
.assertThat().field("folderId").is(ContainerName.links.toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get container request with properties parameter returns status code 200 and parameter is applied")
|
||||
public void getContainerUsingPropertiesParameter() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(testUser)
|
||||
.withCoreAPI().usingSite(publicSiteModel).usingParams("properties=id").getSiteContainer(ContainerName.discussions.toString())
|
||||
.assertThat().fieldsCount().is(1)
|
||||
.and().field("id").isNotEmpty()
|
||||
.and().field("folderId").isNull();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get container request for a container that does not belong to site returns status code 404")
|
||||
public void getContainerThatDoesNotBelongToSite() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(testUser)
|
||||
.withCoreAPI().usingSite(moderatedSiteModel).getSiteContainer(ContainerName.discussions.toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, moderatedSiteModel.getId(), ContainerName.discussions.toString()))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get container request for empty siteId returns status code 404")
|
||||
public void getContainerForEmptySiteId() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(testUser)
|
||||
.withCoreAPI().usingSite("").getSiteContainer(ContainerName.discussions.toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, "", ContainerName.discussions.toString()))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get container request for empty container returns status code 200 and the list of containers")
|
||||
public void getContainerForEmptyContainer() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(testUser)
|
||||
.withCoreAPI().usingSite(moderatedSiteModel).getSiteContainer("");
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get container with name containing special chars returns status code 404")
|
||||
public void getContainerWithNameContainingSpecialChars() throws Exception
|
||||
{
|
||||
String containerSpecialName = RandomStringUtils.randomAlphabetic(2) + "~!%40%23%24%25%5E%26*()_%2B%5B%5D%7B%7D%7C%5C%3B%27%3A%22%2C.%2F%3C%3E";
|
||||
|
||||
restClient.authenticateUser(testUser)
|
||||
.withCoreAPI().usingSite(publicSiteModel).getSiteContainer(containerSpecialName);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, publicSiteModel.getId(), containerSpecialName))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if admin can get container request for a private site created by another user and status code is 200")
|
||||
public void adminCanGetContainerForPrivateSiteCreatedByUser() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel)
|
||||
.withCoreAPI().usingSite(privateSiteModel).getSiteContainer(ContainerName.discussions.toString())
|
||||
.assertThat().field("folderId").is(ContainerName.discussions.toString())
|
||||
.and().field("id").isNotEmpty();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if user cannot get container request for a private site created by admin and status code is 404")
|
||||
public void userCannotGetContainerForPrivateSiteCreatedByAdmin() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(testUser)
|
||||
.withCoreAPI().usingSite(adminPrivateSiteModel).getSiteContainer(ContainerName.links.toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, adminPrivateSiteModel.getId(), ContainerName.links.toString()))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get container request for a deleted container returns status code is 404")
|
||||
public void getContainerThatWasDeleted() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(testUser)
|
||||
.withCoreAPI().usingSite(privateSiteModel).getSiteContainer(ContainerName.links.toString())
|
||||
.assertThat().field("folderId").is(ContainerName.links.toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
|
||||
//use dataprep for delete 'links' container
|
||||
FolderModel folder= new FolderModel("links");
|
||||
folder.setCmisLocation(String.format("/Sites/%s/%s", privateSiteModel.getId(), ContainerName.links.toString()));
|
||||
dataContent.deleteTree(folder);
|
||||
|
||||
restClient.authenticateUser(testUser)
|
||||
.withCoreAPI().usingSite(privateSiteModel).getSiteContainer(ContainerName.links.toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, privateSiteModel.getId(), ContainerName.links.toString()))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
}
|
||||
@@ -1,219 +0,0 @@
|
||||
package org.alfresco.rest.sites.containers;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.utility.constants.ContainerName;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser.ListUserWithRoles;
|
||||
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;
|
||||
|
||||
public class GetSiteContainersCoreTests extends RestTest
|
||||
{
|
||||
private UserModel adminUserModel;
|
||||
private SiteModel publicSiteModel, publicSiteWithContainers;
|
||||
private SiteModel moderatedSiteModel, privateSiteModel;
|
||||
private ListUserWithRoles publicSiteUsers;
|
||||
private ListUserWithRoles publicSiteWithContainersUsers;
|
||||
|
||||
@BeforeClass(alwaysRun=true)
|
||||
public void dataPreparation() throws Exception
|
||||
{
|
||||
adminUserModel = dataUser.getAdminUser();
|
||||
|
||||
publicSiteModel = dataSite.usingAdmin().createPublicRandomSite();
|
||||
publicSiteWithContainers = dataSite.usingAdmin().createPublicRandomSite();
|
||||
moderatedSiteModel = dataSite.usingAdmin().createModeratedRandomSite();
|
||||
privateSiteModel = dataSite.usingAdmin().createPrivateRandomSite();
|
||||
|
||||
publicSiteUsers = dataUser
|
||||
.addUsersWithRolesToSite(publicSiteModel, UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer, UserRole.SiteContributor);
|
||||
|
||||
publicSiteWithContainersUsers = dataUser
|
||||
.addUsersWithRolesToSite(publicSiteWithContainers, UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer,
|
||||
UserRole.SiteContributor);
|
||||
|
||||
dataLink.usingAdmin().usingSite(publicSiteWithContainers).createRandomLink();
|
||||
dataDiscussion.usingAdmin().usingSite(publicSiteWithContainers).createRandomDiscussion();
|
||||
|
||||
dataLink.usingAdmin().usingSite(moderatedSiteModel).createRandomLink();
|
||||
dataDiscussion.usingAdmin().usingSite(moderatedSiteModel).createRandomDiscussion();
|
||||
|
||||
dataLink.usingAdmin().usingSite(privateSiteModel).createRandomLink();
|
||||
dataDiscussion.usingAdmin().usingSite(privateSiteModel).createRandomDiscussion();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get site container request returns status code 200 with valid maxItems parameter")
|
||||
public void getContainersWithValidMaxItems() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteWithContainersUsers.getOneUserWithRole(UserRole.SiteManager))
|
||||
.withParams("maxItems=5")
|
||||
.withCoreAPI().usingSite(publicSiteWithContainers).getSiteContainers()
|
||||
.assertThat().entriesListCountIs(3)
|
||||
.and().entriesListContains("folderId" ,ContainerName.documentLibrary.toString())
|
||||
.and().entriesListContains("folderId", ContainerName.links.toString())
|
||||
.and().entriesListContains("folderId", ContainerName.discussions.toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
|
||||
restClient.withParams("maxItems=1")
|
||||
.withCoreAPI().usingSite(publicSiteWithContainers).getSiteContainers()
|
||||
.assertThat().entriesListCountIs(1);
|
||||
|
||||
restClient.withParams("maxItems=3")
|
||||
.withCoreAPI().usingSite(publicSiteModel).getSiteContainers()
|
||||
.assertThat().entriesListCountIs(1)
|
||||
.and().entriesListContains("folderId", ContainerName.documentLibrary.toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get site container request returns status code 400 when invalid maxItems parameter is used")
|
||||
public void getContainersWithMaxItemsZero () throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteUsers.getOneUserWithRole(UserRole.SiteManager))
|
||||
.withParams("maxItems=0")
|
||||
.withCoreAPI().usingSite(publicSiteModel).getSiteContainers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary("Only positive values supported for maxItems");
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get site container request returns status code 400 when invalid maxItems parameter is used")
|
||||
public void getContainersWithMaxItemsCharacter () throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteUsers.getOneUserWithRole(UserRole.SiteCollaborator))
|
||||
.withParams("maxItems=test")
|
||||
.withCoreAPI().usingSite(publicSiteModel).getSiteContainers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.INVALID_MAXITEMS, "test"));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get site container request returns status code 200 when maxItems parameter starts with multiple zero")
|
||||
public void getContainersWithMaxItemsMultipleZero () throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteWithContainersUsers.getOneUserWithRole(UserRole.SiteCollaborator))
|
||||
.withParams("maxItems=000007")
|
||||
.withCoreAPI().usingSite(publicSiteWithContainers).getSiteContainers()
|
||||
.assertThat().entriesListCountIs(3);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get site containers request returns status code 200 when valid skipCount parameter is used")
|
||||
public void getSiteContainersWithValidSkipCount() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteUsers.getOneUserWithRole(UserRole.SiteManager)).withParams("skipCount=1")
|
||||
.withCoreAPI().usingSite(publicSiteModel).getSiteContainers()
|
||||
.assertThat().entriesListCountIs(0);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
|
||||
restClient.authenticateUser(publicSiteWithContainersUsers.getOneUserWithRole(UserRole.SiteCollaborator)).withParams("skipCount=1")
|
||||
.withCoreAPI().usingSite(publicSiteWithContainers).getSiteContainers()
|
||||
.assertThat().entriesListCountIs(2);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
|
||||
restClient.authenticateUser(publicSiteWithContainersUsers.getOneUserWithRole(UserRole.SiteConsumer)).withParams("skipCount=2")
|
||||
.withCoreAPI().usingSite(publicSiteWithContainers).getSiteContainers()
|
||||
.assertThat().entriesListCountIs(1);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
|
||||
restClient.authenticateUser(publicSiteWithContainersUsers.getOneUserWithRole(UserRole.SiteCollaborator)).withParams("skipCount=0")
|
||||
.withCoreAPI().usingSite(publicSiteWithContainers).getSiteContainers()
|
||||
.assertThat().entriesListCountIs(3);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get site containers request returns status code 400 when invalid skipCount parameter is used")
|
||||
public void getSiteContainersWithSkipCountCharacter() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteUsers.getOneUserWithRole(UserRole.SiteCollaborator)).withParams("skipCount=abc")
|
||||
.withCoreAPI().usingSite(publicSiteModel).getSiteContainers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.INVALID_SKIPCOUNT, "abc"));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get site containers request returns status code 200 when skipCount parameter starts with multiple zero")
|
||||
public void getSiteContainersWithSkipCountMultipleZero() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteUsers.getOneUserWithRole(UserRole.SiteCollaborator)).withParams("skipCount=00002")
|
||||
.withCoreAPI().usingSite(publicSiteWithContainers).getSiteContainers()
|
||||
.assertThat().entriesListCountIs(1);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get site containers request returns status code 400 when site doesn't exist")
|
||||
public void getSiteContainersWithNonExistentSite() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteUsers.getOneUserWithRole(UserRole.SiteCollaborator))
|
||||
.withCoreAPI().usingSite("NonExistentSiteId").getSiteContainers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, "NonExistentSiteId"));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify get site containers request returns status 200 for private site")
|
||||
public void getSiteContainersForPrivateSite() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel)
|
||||
.withCoreAPI().usingSite(privateSiteModel).getSiteContainers()
|
||||
.assertThat().entriesListCountIs(3);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify get site containers request returns status 200 for moderated site")
|
||||
public void getSiteContainersForModeratedSite() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel)
|
||||
.withCoreAPI().usingSite(moderatedSiteModel).getSiteContainers()
|
||||
.assertThat().entriesListCountIs(3);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify get site containers request returns status 200 for several containers")
|
||||
public void getSiteContainersForSeveralItems() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel)
|
||||
.withCoreAPI().usingSite(publicSiteWithContainers).getSiteContainers()
|
||||
.assertThat().entriesListCountIs(3)
|
||||
.and().entriesListContains("folderId" ,ContainerName.documentLibrary.toString())
|
||||
.and().entriesListContains("folderId", ContainerName.links.toString())
|
||||
.and().entriesListContains("folderId", ContainerName.discussions.toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify get site containers request returns status 200 for one container")
|
||||
public void getSiteContainersWithOneItem() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel)
|
||||
.withCoreAPI().usingSite(publicSiteModel).getSiteContainers()
|
||||
.assertThat().entriesListCountIs(1)
|
||||
.and().entriesListContains("folderId" ,ContainerName.documentLibrary.toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
@@ -1,144 +0,0 @@
|
||||
package org.alfresco.rest.sites.containers;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.rest.model.RestSiteContainerModelsCollection;
|
||||
import org.alfresco.utility.constants.ContainerName;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser.ListUserWithRoles;
|
||||
import org.alfresco.utility.model.SiteModel;
|
||||
import org.alfresco.utility.model.TestGroup;
|
||||
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 GetSiteContainersFullTests extends RestTest
|
||||
{
|
||||
private SiteModel publicSiteWithContainers;
|
||||
private ListUserWithRoles publicSiteWithContainersUsers;
|
||||
RestSiteContainerModelsCollection restSiteContainers;
|
||||
int totalItems;
|
||||
|
||||
@BeforeClass(alwaysRun=true)
|
||||
public void dataPreparation() throws Exception
|
||||
{
|
||||
publicSiteWithContainers = dataSite.usingAdmin().createPublicRandomSite();
|
||||
|
||||
publicSiteWithContainersUsers = dataUser
|
||||
.addUsersWithRolesToSite(publicSiteWithContainers, UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer,
|
||||
UserRole.SiteContributor);
|
||||
|
||||
dataLink.usingAdmin().usingSite(publicSiteWithContainers).createRandomLink();
|
||||
dataDiscussion.usingAdmin().usingSite(publicSiteWithContainers).createRandomDiscussion();
|
||||
dataContent.usingAdmin().usingSite(publicSiteWithContainers).createFolder();
|
||||
|
||||
restSiteContainers = restClient.authenticateUser(publicSiteWithContainersUsers.getOneUserWithRole(UserRole.SiteManager))
|
||||
.withCoreAPI().usingSite(publicSiteWithContainers).getSiteContainers();
|
||||
totalItems = restSiteContainers.getPagination().getTotalItems();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get site container request with properties parameter applied returns status code 200")
|
||||
public void getSiteContainersUsingPropertiesParameter() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteWithContainersUsers.getOneUserWithRole(UserRole.SiteManager))
|
||||
.withCoreAPI().usingSite(publicSiteWithContainers).usingParams("properties=folderId").getSiteContainers()
|
||||
.assertThat().entriesListCountIs(3)
|
||||
.and().entriesListContains("folderId", ContainerName.discussions.toString())
|
||||
.and().entriesListContains("folderId", ContainerName.documentLibrary.toString())
|
||||
.and().entriesListContains("folderId", ContainerName.links.toString())
|
||||
.and().entriesListDoesNotContain("id");
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get site container request for a container that is not empty returns status code 200")
|
||||
public void getSiteContainersThatIsNotEmpty() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteWithContainersUsers.getOneUserWithRole(UserRole.SiteManager))
|
||||
.withCoreAPI().usingSite(publicSiteWithContainers).getSiteContainers()
|
||||
.assertThat().entriesListCountIs(3)
|
||||
.and().entriesListContains("folderId", ContainerName.documentLibrary.toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get site containers request returns status code 200 when first container is skipped")
|
||||
public void getSiteContainersAndSkipFirst() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteWithContainersUsers.getOneUserWithRole(UserRole.SiteCollaborator))
|
||||
.withParams("skipCount=1").withCoreAPI().usingSite(publicSiteWithContainers).getSiteContainers()
|
||||
.assertThat().entriesListCountIs(2)
|
||||
.and().entriesListDoesNotContain("folderId", restSiteContainers.getEntries().get(0).onModel().getFolderId())
|
||||
.and().entriesListContains("folderId", restSiteContainers.getEntries().get(1).onModel().getFolderId())
|
||||
.and().entriesListContains("folderId", restSiteContainers.getEntries().get(2).onModel().getFolderId());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get site containers request and get last container returns status code 200")
|
||||
public void getLastSiteContainer() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteWithContainersUsers.getOneUserWithRole(UserRole.SiteCollaborator))
|
||||
.withParams("skipCount=" + String.valueOf(totalItems-1)).withCoreAPI().usingSite(publicSiteWithContainers).getSiteContainers()
|
||||
.assertThat().entriesListCountIs(1)
|
||||
.and().entriesListDoesNotContain("folderId", restSiteContainers.getEntries().get(0).onModel().getFolderId())
|
||||
.and().entriesListDoesNotContain("folderId", restSiteContainers.getEntries().get(1).onModel().getFolderId())
|
||||
.and().entriesListContains("folderId", restSiteContainers.getEntries().get(2).onModel().getFolderId());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get site containers request returns status code 200 when high skipCount parameter is used")
|
||||
public void getSiteContainersWithHighSkipCount() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteWithContainersUsers.getOneUserWithRole(UserRole.SiteCollaborator))
|
||||
.withParams("skipCount=999999").withCoreAPI().usingSite(publicSiteWithContainers).getSiteContainers()
|
||||
.assertThat().entriesListIsEmpty()
|
||||
.and().entriesListCountIs(0)
|
||||
.and().paginationField("skipCount").is("999999");
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get site container request for an empty siteId returns status code 404")
|
||||
public void getSiteContainersForEmptySiteId() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteWithContainersUsers.getOneUserWithRole(UserRole.SiteManager))
|
||||
.withCoreAPI().usingSite("").getSiteContainers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsErrorKey(RestErrorModel.ENTITY_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, ""))
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE)
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get site container request returns status code 200 with valid maxItems parameter")
|
||||
public void getContainersWithValidMaxItems() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteWithContainersUsers.getOneUserWithRole(UserRole.SiteManager))
|
||||
.withParams("maxItems=2").withCoreAPI().usingSite(publicSiteWithContainers).getSiteContainers()
|
||||
.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");
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
@@ -1,115 +0,0 @@
|
||||
package org.alfresco.rest.sites.containers;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.exception.JsonToModelConversionException;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser.ListUserWithRoles;
|
||||
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;
|
||||
|
||||
/**
|
||||
* @author iulia.cojocea
|
||||
*/
|
||||
public class GetSiteContainersSanityTests extends RestTest
|
||||
{
|
||||
private UserModel adminUserModel;
|
||||
private SiteModel siteModel;
|
||||
private ListUserWithRoles usersWithRoles;
|
||||
private UserModel userModel;
|
||||
|
||||
@BeforeClass(alwaysRun=true)
|
||||
public void dataPreparation() throws Exception
|
||||
{
|
||||
adminUserModel = dataUser.getAdminUser();
|
||||
siteModel = dataSite.usingUser(adminUserModel).createPublicRandomSite();
|
||||
usersWithRoles = dataUser.addUsersWithRolesToSite(siteModel, UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer, UserRole.SiteContributor);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with Manager role gets site containers and gets status code OK (200)")
|
||||
public void getSiteContainersWithManagerRole() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager));
|
||||
restClient.withCoreAPI().usingSite(siteModel).getSiteContainers()
|
||||
.assertThat().entriesListIsNotEmpty()
|
||||
.assertThat().paginationExist()
|
||||
.and().paginationField("count").isNot("0");
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with Collaborator role gets site containers and gets status code OK (200)")
|
||||
public void getSiteContainersWithCollaboratorRole() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator));
|
||||
restClient.withCoreAPI().usingSite(siteModel).getSiteContainers()
|
||||
.assertThat().entriesListIsNotEmpty()
|
||||
.assertThat().paginationExist()
|
||||
.and().paginationField("count").isNot("0");
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with Contributor role gets site containers and gets status code OK (200)")
|
||||
public void getSiteContainersWithContributorRole() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor));
|
||||
restClient.withCoreAPI().usingSite(siteModel).getSiteContainers()
|
||||
.assertThat().entriesListIsNotEmpty()
|
||||
.assertThat().paginationExist()
|
||||
.and().paginationField("count").isNot("0");
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with Consumer role gets site containers and gets status code OK (200)")
|
||||
public void getSiteContainersWithConsumerRole() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer));
|
||||
restClient.withCoreAPI().usingSite(siteModel).getSiteContainers()
|
||||
.assertThat().entriesListIsNotEmpty()
|
||||
.assertThat().paginationExist()
|
||||
.and().paginationField("count").isNot("0");
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with Admin user gets site containers information and gets status code OK (200)")
|
||||
public void getSiteContainersWithAdminUser() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel);
|
||||
restClient.withCoreAPI().usingSite(siteModel).getSiteContainers()
|
||||
.assertThat().entriesListIsNotEmpty()
|
||||
.assertThat().paginationExist()
|
||||
.and().paginationField("count").isNot("0");
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Failed authentication get site containers call returns status code 401 with Manager role")
|
||||
@Bug(id="MNT-16904", description = "It fails only on environment with tenants")
|
||||
public void unauthenticatedUserIsNotAuthorizedToRetrieveSiteContainers() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
userModel = dataUser.createRandomTestUser();
|
||||
userModel.setPassword("user wrong password");
|
||||
dataUser.addUserToSite(userModel, siteModel, UserRole.SiteManager);
|
||||
restClient.authenticateUser(userModel)
|
||||
.withCoreAPI().usingSite(siteModel).getSiteContainers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED).assertLastError()
|
||||
.containsSummary(RestErrorModel.AUTHENTICATION_FAILED);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,390 @@
|
||||
package org.alfresco.rest.sites.containers;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.rest.model.RestSiteContainerModelsCollection;
|
||||
import org.alfresco.utility.constants.ContainerName;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser.ListUserWithRoles;
|
||||
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 iulia.cojocea
|
||||
*/
|
||||
public class GetSiteContainersTests extends RestTest
|
||||
{
|
||||
private UserModel adminUserModel;
|
||||
private SiteModel publicSiteModel, publicSiteWithContainers;
|
||||
private SiteModel moderatedSiteModel, privateSiteModel;
|
||||
private ListUserWithRoles publicSiteUsers;
|
||||
private ListUserWithRoles publicSiteWithContainersUsers;
|
||||
private RestSiteContainerModelsCollection restSiteContainers;
|
||||
private int totalItems;
|
||||
|
||||
@BeforeClass(alwaysRun=true)
|
||||
public void dataPreparation() throws Exception
|
||||
{
|
||||
adminUserModel = dataUser.getAdminUser();
|
||||
publicSiteModel = dataSite.usingAdmin().createPublicRandomSite();
|
||||
publicSiteWithContainers = dataSite.usingAdmin().createPublicRandomSite();
|
||||
moderatedSiteModel = dataSite.usingAdmin().createModeratedRandomSite();
|
||||
privateSiteModel = dataSite.usingAdmin().createPrivateRandomSite();
|
||||
|
||||
publicSiteUsers = dataUser.addUsersWithRolesToSite(publicSiteModel, UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer, UserRole.SiteContributor);
|
||||
|
||||
publicSiteWithContainersUsers = dataUser
|
||||
.addUsersWithRolesToSite(publicSiteWithContainers, UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer,
|
||||
UserRole.SiteContributor);
|
||||
|
||||
dataLink.usingAdmin().usingSite(publicSiteWithContainers).createRandomLink();
|
||||
dataDiscussion.usingAdmin().usingSite(publicSiteWithContainers).createRandomDiscussion();
|
||||
|
||||
dataLink.usingAdmin().usingSite(moderatedSiteModel).createRandomLink();
|
||||
dataDiscussion.usingAdmin().usingSite(moderatedSiteModel).createRandomDiscussion();
|
||||
|
||||
dataLink.usingAdmin().usingSite(privateSiteModel).createRandomLink();
|
||||
dataDiscussion.usingAdmin().usingSite(privateSiteModel).createRandomDiscussion();
|
||||
|
||||
|
||||
restSiteContainers = restClient.authenticateUser(publicSiteWithContainersUsers.getOneUserWithRole(UserRole.SiteManager))
|
||||
.withCoreAPI().usingSite(publicSiteWithContainers).getSiteContainers();
|
||||
totalItems = restSiteContainers.getPagination().getTotalItems();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with Manager role gets site containers and gets status code OK (200)")
|
||||
public void getSiteContainersWithManagerRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteUsers.getOneUserWithRole(UserRole.SiteManager));
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).getSiteContainers()
|
||||
.assertThat().entriesListIsNotEmpty()
|
||||
.assertThat().paginationExist()
|
||||
.and().paginationField("count").isNot("0");
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Collaborator role gets site containers and gets status code OK (200)")
|
||||
public void getSiteContainersWithCollaboratorRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteUsers.getOneUserWithRole(UserRole.SiteCollaborator));
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).getSiteContainers()
|
||||
.assertThat().entriesListIsNotEmpty()
|
||||
.assertThat().paginationExist()
|
||||
.and().paginationField("count").isNot("0");
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Contributor role gets site containers and gets status code OK (200)")
|
||||
public void getSiteContainersWithContributorRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteUsers.getOneUserWithRole(UserRole.SiteContributor));
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).getSiteContainers()
|
||||
.assertThat().entriesListIsNotEmpty()
|
||||
.assertThat().paginationExist()
|
||||
.and().paginationField("count").isNot("0");
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Consumer role gets site containers and gets status code OK (200)")
|
||||
public void getSiteContainersWithConsumerRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteUsers.getOneUserWithRole(UserRole.SiteConsumer));
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).getSiteContainers()
|
||||
.assertThat().entriesListIsNotEmpty()
|
||||
.assertThat().paginationExist()
|
||||
.and().paginationField("count").isNot("0");
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Admin user gets site containers information and gets status code OK (200)")
|
||||
public void getSiteContainersWithAdminUser() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel);
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).getSiteContainers()
|
||||
.assertThat().entriesListIsNotEmpty()
|
||||
.assertThat().paginationExist()
|
||||
.and().paginationField("count").isNot("0");
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Failed authentication get site containers call returns status code 401 with Manager role")
|
||||
// @Bug(id="MNT-16904", description = "It fails only on environment with tenants")
|
||||
public void unauthenticatedUserIsNotAuthorizedToRetrieveSiteContainers() throws Exception
|
||||
{
|
||||
UserModel userModel = dataUser.createRandomTestUser();
|
||||
userModel.setPassword("user wrong password");
|
||||
dataUser.addUserToSite(userModel, publicSiteModel, UserRole.SiteManager);
|
||||
restClient.authenticateUser(userModel)
|
||||
.withCoreAPI().usingSite(publicSiteModel).getSiteContainers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED).assertLastError()
|
||||
.containsSummary(RestErrorModel.AUTHENTICATION_FAILED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get site container request returns status code 200 with valid maxItems parameter")
|
||||
public void getContainersWithValidMaxItems() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteWithContainersUsers.getOneUserWithRole(UserRole.SiteManager))
|
||||
.withParams("maxItems=5")
|
||||
.withCoreAPI().usingSite(publicSiteWithContainers).getSiteContainers()
|
||||
.assertThat().entriesListCountIs(3)
|
||||
.and().entriesListContains("folderId" , ContainerName.documentLibrary.toString())
|
||||
.and().entriesListContains("folderId", ContainerName.links.toString())
|
||||
.and().entriesListContains("folderId", ContainerName.discussions.toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
|
||||
restClient.withParams("maxItems=1")
|
||||
.withCoreAPI().usingSite(publicSiteWithContainers).getSiteContainers()
|
||||
.assertThat().entriesListCountIs(1);
|
||||
|
||||
restClient.withParams("maxItems=3")
|
||||
.withCoreAPI().usingSite(publicSiteModel).getSiteContainers()
|
||||
.assertThat().entriesListCountIs(1)
|
||||
.and().entriesListContains("folderId", ContainerName.documentLibrary.toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get site container request returns status code 400 when invalid maxItems parameter is used")
|
||||
public void getContainersWithMaxItemsZero () throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteUsers.getOneUserWithRole(UserRole.SiteManager))
|
||||
.withParams("maxItems=0")
|
||||
.withCoreAPI().usingSite(publicSiteModel).getSiteContainers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary("Only positive values supported for maxItems");
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get site container request returns status code 400 when invalid maxItems parameter is used")
|
||||
public void getContainersWithMaxItemsCharacter () throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteUsers.getOneUserWithRole(UserRole.SiteCollaborator))
|
||||
.withParams("maxItems=test")
|
||||
.withCoreAPI().usingSite(publicSiteModel).getSiteContainers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.INVALID_MAXITEMS, "test"));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get site container request returns status code 200 when maxItems parameter starts with multiple zero")
|
||||
public void getContainersWithMaxItemsMultipleZero () throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteWithContainersUsers.getOneUserWithRole(UserRole.SiteCollaborator))
|
||||
.withParams("maxItems=000007")
|
||||
.withCoreAPI().usingSite(publicSiteWithContainers).getSiteContainers()
|
||||
.assertThat().entriesListCountIs(3);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get site containers request returns status code 200 when valid skipCount parameter is used")
|
||||
public void getSiteContainersWithValidSkipCount() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteUsers.getOneUserWithRole(UserRole.SiteManager)).withParams("skipCount=1")
|
||||
.withCoreAPI().usingSite(publicSiteModel).getSiteContainers()
|
||||
.assertThat().entriesListCountIs(0);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
|
||||
restClient.authenticateUser(publicSiteWithContainersUsers.getOneUserWithRole(UserRole.SiteCollaborator)).withParams("skipCount=1")
|
||||
.withCoreAPI().usingSite(publicSiteWithContainers).getSiteContainers()
|
||||
.assertThat().entriesListCountIs(2);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
|
||||
restClient.authenticateUser(publicSiteWithContainersUsers.getOneUserWithRole(UserRole.SiteConsumer)).withParams("skipCount=2")
|
||||
.withCoreAPI().usingSite(publicSiteWithContainers).getSiteContainers()
|
||||
.assertThat().entriesListCountIs(1);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
|
||||
restClient.authenticateUser(publicSiteWithContainersUsers.getOneUserWithRole(UserRole.SiteCollaborator)).withParams("skipCount=0")
|
||||
.withCoreAPI().usingSite(publicSiteWithContainers).getSiteContainers()
|
||||
.assertThat().entriesListCountIs(3);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get site containers request returns status code 400 when invalid skipCount parameter is used")
|
||||
public void getSiteContainersWithSkipCountCharacter() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteUsers.getOneUserWithRole(UserRole.SiteCollaborator)).withParams("skipCount=abc")
|
||||
.withCoreAPI().usingSite(publicSiteModel).getSiteContainers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.INVALID_SKIPCOUNT, "abc"));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get site containers request returns status code 200 when skipCount parameter starts with multiple zero")
|
||||
public void getSiteContainersWithSkipCountMultipleZero() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteUsers.getOneUserWithRole(UserRole.SiteCollaborator)).withParams("skipCount=00002")
|
||||
.withCoreAPI().usingSite(publicSiteWithContainers).getSiteContainers()
|
||||
.assertThat().entriesListCountIs(1);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get site containers request returns status code 400 when site doesn't exist")
|
||||
public void getSiteContainersWithNonExistentSite() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteUsers.getOneUserWithRole(UserRole.SiteCollaborator))
|
||||
.withCoreAPI().usingSite("NonExistentSiteId").getSiteContainers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, "NonExistentSiteId"));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify get site containers request returns status 200 for private site")
|
||||
public void getSiteContainersForPrivateSite() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel)
|
||||
.withCoreAPI().usingSite(privateSiteModel).getSiteContainers()
|
||||
.assertThat().entriesListCountIs(3);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify get site containers request returns status 200 for moderated site")
|
||||
public void getSiteContainersForModeratedSite() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel)
|
||||
.withCoreAPI().usingSite(moderatedSiteModel).getSiteContainers()
|
||||
.assertThat().entriesListCountIs(3);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify get site containers request returns status 200 for several containers")
|
||||
public void getSiteContainersForSeveralItems() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel)
|
||||
.withCoreAPI().usingSite(publicSiteWithContainers).getSiteContainers()
|
||||
.assertThat().entriesListCountIs(3)
|
||||
.and().entriesListContains("folderId" ,ContainerName.documentLibrary.toString())
|
||||
.and().entriesListContains("folderId", ContainerName.links.toString())
|
||||
.and().entriesListContains("folderId", ContainerName.discussions.toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify get site containers request returns status 200 for one container")
|
||||
public void getSiteContainersWithOneItem() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel)
|
||||
.withCoreAPI().usingSite(publicSiteModel).getSiteContainers()
|
||||
.assertThat().entriesListCountIs(1)
|
||||
.and().entriesListContains("folderId" ,ContainerName.documentLibrary.toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get site container request with properties parameter applied returns status code 200")
|
||||
public void getSiteContainersUsingPropertiesParameter() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteWithContainersUsers.getOneUserWithRole(UserRole.SiteManager))
|
||||
.withCoreAPI().usingSite(publicSiteWithContainers).usingParams("properties=folderId").getSiteContainers()
|
||||
.assertThat().entriesListCountIs(3)
|
||||
.and().entriesListContains("folderId", ContainerName.discussions.toString())
|
||||
.and().entriesListContains("folderId", ContainerName.documentLibrary.toString())
|
||||
.and().entriesListContains("folderId", ContainerName.links.toString())
|
||||
.and().entriesListDoesNotContain("id");
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get site container request for a container that is not empty returns status code 200")
|
||||
public void getSiteContainersThatIsNotEmpty() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteWithContainersUsers.getOneUserWithRole(UserRole.SiteManager))
|
||||
.withCoreAPI().usingSite(publicSiteWithContainers).getSiteContainers()
|
||||
.assertThat().entriesListCountIs(3)
|
||||
.and().entriesListContains("folderId", ContainerName.documentLibrary.toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get site containers request returns status code 200 when first container is skipped")
|
||||
public void getSiteContainersAndSkipFirst() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteWithContainersUsers.getOneUserWithRole(UserRole.SiteCollaborator))
|
||||
.withParams("skipCount=1").withCoreAPI().usingSite(publicSiteWithContainers).getSiteContainers()
|
||||
.assertThat().entriesListCountIs(2)
|
||||
.and().entriesListDoesNotContain("folderId", restSiteContainers.getEntries().get(0).onModel().getFolderId())
|
||||
.and().entriesListContains("folderId", restSiteContainers.getEntries().get(1).onModel().getFolderId())
|
||||
.and().entriesListContains("folderId", restSiteContainers.getEntries().get(2).onModel().getFolderId());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get site containers request and get last container returns status code 200")
|
||||
public void getLastSiteContainer() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteWithContainersUsers.getOneUserWithRole(UserRole.SiteCollaborator))
|
||||
.withParams("skipCount=" + String.valueOf(totalItems-1)).withCoreAPI().usingSite(publicSiteWithContainers).getSiteContainers()
|
||||
.assertThat().entriesListCountIs(1)
|
||||
.and().entriesListDoesNotContain("folderId", restSiteContainers.getEntries().get(0).onModel().getFolderId())
|
||||
.and().entriesListDoesNotContain("folderId", restSiteContainers.getEntries().get(1).onModel().getFolderId())
|
||||
.and().entriesListContains("folderId", restSiteContainers.getEntries().get(2).onModel().getFolderId());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get site containers request returns status code 200 when high skipCount parameter is used")
|
||||
public void getSiteContainersWithHighSkipCount() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteWithContainersUsers.getOneUserWithRole(UserRole.SiteCollaborator))
|
||||
.withParams("skipCount=999999").withCoreAPI().usingSite(publicSiteWithContainers).getSiteContainers()
|
||||
.assertThat().entriesListIsEmpty()
|
||||
.and().entriesListCountIs(0)
|
||||
.and().paginationField("skipCount").is("999999");
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get site container request for an empty siteId returns status code 404")
|
||||
public void getSiteContainersForEmptySiteId() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteWithContainersUsers.getOneUserWithRole(UserRole.SiteManager))
|
||||
.withCoreAPI().usingSite("").getSiteContainers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsErrorKey(RestErrorModel.ENTITY_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, ""))
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE)
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER);
|
||||
}
|
||||
}
|
||||
@@ -1,310 +0,0 @@
|
||||
package org.alfresco.rest.sites.members;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.core.JsonBodyGenerator;
|
||||
import org.alfresco.rest.core.RestRequest;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.rest.model.RestSiteMemberModel;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser.ListUserWithRoles;
|
||||
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.HttpMethod;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
public class AddSiteMemberCoreTests extends RestTest
|
||||
{
|
||||
private UserModel adminUserModel;
|
||||
private SiteModel publicSiteModel;
|
||||
private SiteModel moderatedSiteModel;
|
||||
private SiteModel privateSiteModel;
|
||||
private ListUserWithRoles usersWithRolesToModeratedSite;
|
||||
private ListUserWithRoles usersWithRolesToPrivateSite;
|
||||
private String addMembersJson;
|
||||
private RestSiteMemberModel memberModel;
|
||||
|
||||
@BeforeClass(alwaysRun=true)
|
||||
public void dataPreparation() throws Exception
|
||||
{
|
||||
adminUserModel = dataUser.getAdminUser();
|
||||
publicSiteModel = dataSite.usingUser(adminUserModel).createPublicRandomSite();
|
||||
moderatedSiteModel = dataSite.usingUser(adminUserModel).createModeratedRandomSite();
|
||||
privateSiteModel = dataSite.usingUser(adminUserModel).createPrivateRandomSite();
|
||||
usersWithRolesToModeratedSite = dataUser.addUsersWithRolesToSite(moderatedSiteModel, UserRole.SiteManager, UserRole.SiteCollaborator,
|
||||
UserRole.SiteConsumer,UserRole.SiteContributor);
|
||||
usersWithRolesToPrivateSite = dataUser.addUsersWithRolesToSite(privateSiteModel, UserRole.SiteManager, UserRole.SiteCollaborator,
|
||||
UserRole.SiteConsumer,UserRole.SiteContributor);
|
||||
addMembersJson = "{\"role\":\"%s\",\"id\":\"%s\"}, {\"role\":\"%s\",\"id\":\"%s\"}";
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that manager can add another user as manager to a public site and gets status code CREATED (201)")
|
||||
public void addManagerToPublicSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteManager);
|
||||
memberModel = restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(publicSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
memberModel.assertThat().field("id").is(testUser.getUsername())
|
||||
.and().field("role").is(testUser.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that manager can add another user as manager to a moderated site and gets status code CREATED (201)")
|
||||
public void addManagerToModeratedSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteManager);
|
||||
memberModel = restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(moderatedSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
memberModel.assertThat().field("id").is(testUser.getUsername())
|
||||
.and().field("role").is(testUser.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that manager can add another user as manager to a private site and gets status code CREATED (201)")
|
||||
public void addManagerToPrivateSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteManager);
|
||||
memberModel = restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(privateSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
memberModel.assertThat().field("id").is(testUser.getUsername())
|
||||
.and().field("role").is(testUser.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that consumer role is not able to add another user to a moderated site and gets status code 403")
|
||||
public void addUserByConsumerToModeratedSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteConsumer);
|
||||
restClient.authenticateUser(usersWithRolesToModeratedSite.getOneUserWithRole(UserRole.SiteConsumer)).withCoreAPI().usingSite(moderatedSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN).assertLastError().containsSummary(RestErrorModel.PERMISSION_WAS_DENIED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that consumer role is not able to add another user to a private site and gets status code 403")
|
||||
public void addUserByConsumerToPrivateSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteConsumer);
|
||||
restClient.authenticateUser(usersWithRolesToPrivateSite.getOneUserWithRole(UserRole.SiteConsumer)).withCoreAPI().usingSite(privateSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN).assertLastError().containsSummary(RestErrorModel.PERMISSION_WAS_DENIED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that collaborator role is not able to add another user to a moderated site and gets status code 403")
|
||||
public void addUserByCollaboratorToModeratedSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteConsumer);
|
||||
restClient.authenticateUser(usersWithRolesToModeratedSite.getOneUserWithRole(UserRole.SiteCollaborator)).withCoreAPI().usingSite(moderatedSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN).assertLastError().containsSummary(RestErrorModel.PERMISSION_WAS_DENIED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that collaborator role is not able to add another user to a private site and gets status code 403")
|
||||
public void addUserByCollaboratorToPrivateSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteConsumer);
|
||||
restClient.authenticateUser(usersWithRolesToPrivateSite.getOneUserWithRole(UserRole.SiteCollaborator)).withCoreAPI().usingSite(privateSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN).assertLastError().containsSummary(RestErrorModel.PERMISSION_WAS_DENIED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that contributor role is not able to add another user to a moderated site and gets status code 403")
|
||||
public void addUserByContributorToModeratedSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteConsumer);
|
||||
restClient.authenticateUser(usersWithRolesToModeratedSite.getOneUserWithRole(UserRole.SiteContributor)).withCoreAPI().usingSite(moderatedSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN).assertLastError().containsSummary(RestErrorModel.PERMISSION_WAS_DENIED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that contributor role is not able to add another user to a private site and gets status code 403")
|
||||
public void addUserByContributorToPrivateSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteConsumer);
|
||||
restClient.authenticateUser(usersWithRolesToPrivateSite.getOneUserWithRole(UserRole.SiteContributor)).withCoreAPI().usingSite(privateSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN).assertLastError().containsSummary(RestErrorModel.PERMISSION_WAS_DENIED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that a user without specified role can not be added to a site and gets status code 400")
|
||||
public void canNotAddUserWithoutSpecifyingRoleToSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI();
|
||||
String json = JsonBodyGenerator.keyValueJson("id", testUser.getUsername());
|
||||
RestRequest request = RestRequest.requestWithBody(HttpMethod.POST, json, "sites/{siteId}/members?{parameters}", publicSiteModel.getId(), restClient.getParameters());
|
||||
restClient.processModel(RestSiteMemberModel.class, request);
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST).assertLastError().containsSummary(RestErrorModel.MUST_PROVIDE_ROLE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that a user with inexistent role can not be added to a site and gets status code 400")
|
||||
public void canNotAddUserWithInexistentRoleToSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI();
|
||||
RestRequest request = RestRequest.requestWithBody(HttpMethod.POST, String.format("{\"role\":\"inexistentRole\",\"id\":\"%s\"}", testUser.getUsername()), "sites/{siteId}/members?{parameters}", publicSiteModel.getId(), restClient.getParameters());
|
||||
restClient.processModel(RestSiteMemberModel.class, request);
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST).assertLastError().containsSummary(String.format(RestErrorModel.UNKNOWN_ROLE, "inexistentRole"));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that user can not add himself as a manager to a public site and gets status code 403")
|
||||
public void userAddHimselfAsManagerToPublicSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteManager);
|
||||
restClient.authenticateUser(testUser).withCoreAPI().usingSite(publicSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN).assertLastError().containsSummary(RestErrorModel.PERMISSION_WAS_DENIED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that user can not add himself as a manager to a moderated site and gets status code 403")
|
||||
public void userAddHimselfAsManagerToModeratedSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteManager);
|
||||
restClient.authenticateUser(testUser).withCoreAPI().usingSite(moderatedSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN).assertLastError().containsSummary(RestErrorModel.PERMISSION_WAS_DENIED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that user can not add himself as a manager to a private site and gets status code 404")
|
||||
public void userAddHimselfAsManagerToPrivateSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteManager);
|
||||
restClient.authenticateUser(testUser).withCoreAPI().usingSite(privateSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, privateSiteModel.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that user can not be added to an inexistent site and gets status code 404")
|
||||
public void userIsNotAbleToAddUserToAnInexistentSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteManager);
|
||||
SiteModel inexistentSite = new SiteModel("inexistentSite");
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(inexistentSite).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, inexistentSite.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that user can not be added to a site if an empty site id is provided and gets status code 404")
|
||||
public void userIsNotAbleToAddAnotherUserUsingEmptySiteId() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteManager);
|
||||
SiteModel inexistentSite = new SiteModel("");
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(inexistentSite).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, inexistentSite.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that inexistent user can not be added to site and gets status code 404")
|
||||
public void userIsNotAbleToAddInexistentUserToSite() throws Exception
|
||||
{
|
||||
UserModel testUser = new UserModel("inexistentUser", "password");
|
||||
testUser.setUserRole(UserRole.SiteManager);
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(publicSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, testUser.getUsername()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that empty username can not be added to site and gets status code 400")
|
||||
public void userIsNotAbleToAddEmptyUserIdToSite() throws Exception
|
||||
{
|
||||
UserModel testUser = new UserModel("", "password");
|
||||
testUser.setUserRole(UserRole.SiteManager);
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(publicSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST).assertLastError().containsSummary(String.format(RestErrorModel.NO_CONTENT, testUser.getUsername()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that user can not add another user that is already a memeber and gets status code 409")
|
||||
public void userIsNotAbleToAddUserThatIsAlreadyAMember() throws Exception
|
||||
{
|
||||
UserModel collaborator = usersWithRolesToModeratedSite.getOneUserWithRole(UserRole.SiteCollaborator);
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(moderatedSiteModel).addPerson(collaborator);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CONFLICT).assertLastError().containsSummary(String.format(RestErrorModel.ALREADY_Site_MEMBER, collaborator.getUsername(), moderatedSiteModel.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that several users with different roles can be added once in a row to a site and gets status code 201")
|
||||
public void addSeveralUsersWithDifferentRolesToASite() throws Exception
|
||||
{
|
||||
UserModel firstUser = dataUser.createRandomTestUser("testUser");
|
||||
firstUser.setUserRole(UserRole.SiteContributor);
|
||||
UserModel secondUser = dataUser.createRandomTestUser("testUser");
|
||||
secondUser.setUserRole(UserRole.SiteCollaborator);
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI();
|
||||
String json = String.format(addMembersJson, firstUser.getUserRole(), firstUser.getUsername(), secondUser.getUserRole(), secondUser.getUsername());
|
||||
RestRequest request = RestRequest.requestWithBody(HttpMethod.POST, json, "sites/{siteId}/members?{parameters}", publicSiteModel.getId(), restClient.getParameters());
|
||||
restClient.processModel(RestSiteMemberModel.class, request);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that several users with same roles can be added once in a row to a site and gets status code 201")
|
||||
public void addSeveralUsersWithSameRolesToASite() throws Exception
|
||||
{
|
||||
UserModel firstUser = dataUser.createRandomTestUser("testUser");
|
||||
firstUser.setUserRole(UserRole.SiteCollaborator);
|
||||
UserModel secondUser = dataUser.createRandomTestUser("testUser");
|
||||
secondUser.setUserRole(UserRole.SiteCollaborator);
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI();
|
||||
String json = String.format(addMembersJson, firstUser.getUserRole(), firstUser.getUsername(), secondUser.getUserRole(), secondUser.getUsername());
|
||||
RestRequest request = RestRequest.requestWithBody(HttpMethod.POST, json, "sites/{siteId}/members?{parameters}", publicSiteModel.getId(), restClient.getParameters());
|
||||
restClient.processModel(RestSiteMemberModel.class, request);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that several users that are already added to the site can not be added once in a row and gets status code 400")
|
||||
public void addSeveralUsersThatAreAlreadyAddedToASite() throws Exception
|
||||
{
|
||||
UserModel collaborator = usersWithRolesToModeratedSite.getOneUserWithRole(UserRole.SiteCollaborator);
|
||||
UserModel consumer = usersWithRolesToModeratedSite.getOneUserWithRole(UserRole.SiteConsumer);
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI();
|
||||
String json = String.format(addMembersJson, collaborator.getUserRole(), collaborator.getUsername(), consumer.getUserRole(), consumer.getUsername());
|
||||
RestRequest request = RestRequest.requestWithBody(HttpMethod.POST, json, "sites/{siteId}/members?{parameters}", moderatedSiteModel.getId(), restClient.getParameters());
|
||||
restClient.processModel(RestSiteMemberModel.class, request);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CONFLICT).assertLastError().containsSummary(String.format(RestErrorModel.ALREADY_Site_MEMBER, collaborator.getUsername(), moderatedSiteModel.getId()));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,256 +0,0 @@
|
||||
package org.alfresco.rest.sites.members;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.core.RestRequest;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.rest.model.RestSiteMemberModel;
|
||||
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.HttpMethod;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
public class AddSiteMemberFullTests extends RestTest
|
||||
{
|
||||
private UserModel adminUserModel;
|
||||
private SiteModel publicSiteModel;
|
||||
private SiteModel moderatedSiteModel;
|
||||
private SiteModel privateSiteModel;
|
||||
private String addMembersJson;
|
||||
private RestSiteMemberModel memberModel;
|
||||
|
||||
@BeforeClass(alwaysRun=true)
|
||||
public void dataPreparation() throws Exception
|
||||
{
|
||||
adminUserModel = dataUser.getAdminUser();
|
||||
publicSiteModel = dataSite.usingUser(adminUserModel).createPublicRandomSite();
|
||||
moderatedSiteModel = dataSite.usingUser(adminUserModel).createModeratedRandomSite();
|
||||
privateSiteModel = dataSite.usingUser(adminUserModel).createPrivateRandomSite();
|
||||
addMembersJson = "{\"role\":\"%s\",\"id\":\"%s\"}";
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION, description = "Check default error schema when request fails")
|
||||
public void checkDefaultErrorSchema() throws Exception
|
||||
{
|
||||
UserModel testUser = new UserModel("inexistentUser", "password");
|
||||
testUser.setUserRole(UserRole.SiteManager);
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(publicSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsErrorKey(RestErrorModel.ENTITY_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, testUser.getUsername()))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Add new site member request by providing an empty body")
|
||||
public void addSiteMemberUsingEmptyBody() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI();
|
||||
RestRequest request = RestRequest.requestWithBody(HttpMethod.POST, "", "sites/{siteId}/members?{parameters}",
|
||||
publicSiteModel.getId(), restClient.getParameters());
|
||||
restClient.processModel(RestSiteMemberModel.class, request);
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST).assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.NO_CONTENT, "No content to map to Object due to end of input"))
|
||||
.containsErrorKey(String.format(RestErrorModel.NO_CONTENT, "No content to map to Object due to end of input"))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Check lower and upper case letters for role field")
|
||||
public void checkLowerUpperCaseLettersForRole() throws Exception
|
||||
{
|
||||
UserModel user = dataUser.createRandomTestUser();
|
||||
|
||||
String json = String.format(addMembersJson, "SITEMANAGER", user.getUsername());
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI();
|
||||
RestRequest request = RestRequest.requestWithBody(HttpMethod.POST, json, "sites/{siteId}/members?{parameters}", publicSiteModel.getId(), restClient.getParameters());
|
||||
restClient.processModel(RestSiteMemberModel.class, request);
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST).assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.UNKNOWN_ROLE, "SITEMANAGER"))
|
||||
.containsErrorKey(String.format(RestErrorModel.UNKNOWN_ROLE, "SITEMANAGER"))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
|
||||
json = String.format(addMembersJson, "sitemanager", user.getUsername());
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI();
|
||||
request = RestRequest.requestWithBody(HttpMethod.POST, json, "sites/{siteId}/members?{parameters}", publicSiteModel.getId(), restClient.getParameters());
|
||||
restClient.processModel(RestSiteMemberModel.class, request);
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST).assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.UNKNOWN_ROLE, "sitemanager"))
|
||||
.containsErrorKey(String.format(RestErrorModel.UNKNOWN_ROLE, "sitemanager"))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Check empty value for user role")
|
||||
public void checkEmptyValueForRole() throws Exception
|
||||
{
|
||||
UserModel user = dataUser.createRandomTestUser();
|
||||
|
||||
String json = String.format(addMembersJson, "", user.getUsername());
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI();
|
||||
RestRequest request = RestRequest.requestWithBody(HttpMethod.POST, json, "sites/{siteId}/members?{parameters}", publicSiteModel.getId(), restClient.getParameters());
|
||||
restClient.processModel(RestSiteMemberModel.class, request);
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST).assertLastError()
|
||||
.containsErrorKey(String.format(RestErrorModel.NO_CONTENT, "N/A (through reference chain: org.alfresco.rest.api.model.SiteMember[\"role\"])"))
|
||||
.containsSummary(String.format(RestErrorModel.NO_CONTENT, "N/A (through reference chain: org.alfresco.rest.api.model.SiteMember[\"role\"])"))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that collaborator role can be added to public site")
|
||||
public void addCollaboratorToPublicSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteCollaborator);
|
||||
memberModel = restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(publicSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
memberModel.assertThat().field("id").is(testUser.getUsername())
|
||||
.and().field("role").is(testUser.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that contributor role can be added to public site")
|
||||
public void addContributorToPublicSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteContributor);
|
||||
memberModel = restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(publicSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
memberModel.assertThat().field("id").is(testUser.getUsername())
|
||||
.and().field("role").is(testUser.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that consumer role can be added to public site")
|
||||
public void addConsumerToPublicSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteConsumer);
|
||||
memberModel = restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(publicSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
memberModel.assertThat().field("id").is(testUser.getUsername())
|
||||
.and().field("role").is(testUser.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that collaborator role can be added to moderated site")
|
||||
public void addCollaboratorToModeratedSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteCollaborator);
|
||||
memberModel = restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(moderatedSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
memberModel.assertThat().field("id").is(testUser.getUsername())
|
||||
.and().field("role").is(testUser.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that contributor role can be added to moderated site")
|
||||
public void addContributorToModeratedSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteContributor);
|
||||
memberModel = restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(moderatedSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
memberModel.assertThat().field("id").is(testUser.getUsername())
|
||||
.and().field("role").is(testUser.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that consumer role can be added to moderated site")
|
||||
public void addConsumerToModeratedSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteConsumer);
|
||||
memberModel = restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(moderatedSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
memberModel.assertThat().field("id").is(testUser.getUsername())
|
||||
.and().field("role").is(testUser.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that collaborator role can be added to private site")
|
||||
public void addCollaboratorToPrivateSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteCollaborator);
|
||||
memberModel = restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(privateSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
memberModel.assertThat().field("id").is(testUser.getUsername())
|
||||
.and().field("role").is(testUser.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that contributor role can be added to private site")
|
||||
public void addContributorToPrivateSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteContributor);
|
||||
memberModel = restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(privateSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
memberModel.assertThat().field("id").is(testUser.getUsername())
|
||||
.and().field("role").is(testUser.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that consumer role can be added to private site")
|
||||
public void addConsumerToPrivateSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteConsumer);
|
||||
memberModel = restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(privateSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
memberModel.assertThat().field("id").is(testUser.getUsername())
|
||||
.and().field("role").is(testUser.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that admin can be added to private site by site manager")
|
||||
public void adminCanBeAddedToPrivateSiteBySiteManager() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser();
|
||||
SiteModel privateSite = dataSite.usingUser(testUser).createPrivateRandomSite();
|
||||
adminUserModel.setUserRole(UserRole.SiteContributor);
|
||||
memberModel = restClient.authenticateUser(testUser).withCoreAPI().usingSite(privateSite).addPerson(adminUserModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
memberModel.assertThat().field("id").is(adminUserModel.getUsername()).and().field("role").is(adminUserModel.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that admin cannot be added to private site by site collaborator")
|
||||
public void adminCannotBeAddedToPrivateSiteBySiteCollaborator() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser();
|
||||
SiteModel privateSite = dataSite.usingUser(testUser).createPrivateRandomSite();
|
||||
UserModel siteCollaborator = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(siteCollaborator, privateSite, UserRole.SiteCollaborator);
|
||||
adminUserModel.setUserRole(UserRole.SiteContributor);
|
||||
memberModel = restClient.authenticateUser(siteCollaborator).withCoreAPI().usingSite(privateSite).addPerson(adminUserModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN).assertLastError().containsSummary(RestErrorModel.PERMISSION_WAS_DENIED);
|
||||
}
|
||||
}
|
||||
@@ -1,118 +0,0 @@
|
||||
package org.alfresco.rest.sites.members;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser.ListUserWithRoles;
|
||||
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;
|
||||
|
||||
public class AddSiteMemberSanityTests extends RestTest
|
||||
{
|
||||
private UserModel adminUserModel;
|
||||
private SiteModel siteModel;
|
||||
private ListUserWithRoles usersWithRoles;
|
||||
|
||||
@BeforeClass(alwaysRun=true)
|
||||
public void dataPreparation() throws Exception
|
||||
{
|
||||
adminUserModel = dataUser.getAdminUser();
|
||||
siteModel = dataSite.usingUser(adminUserModel).createPublicRandomSite();
|
||||
usersWithRoles = dataUser.addUsersWithRolesToSite(siteModel,
|
||||
UserRole.SiteManager,
|
||||
UserRole.SiteCollaborator,
|
||||
UserRole.SiteConsumer,
|
||||
UserRole.SiteContributor);
|
||||
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify that manager is able to add site member and gets status code CREATED (201)")
|
||||
public void managerIsAbleToAddSiteMember() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteConsumer);
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager));
|
||||
restClient.withCoreAPI().usingSite(siteModel).addPerson(testUser)
|
||||
.assertThat().field("id").is(testUser.getUsername())
|
||||
.and().field("role").is(testUser.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify that site collaborator is not able to add site member and gets status code FORBIDDEN (403)")
|
||||
public void collaboratorIsNotAbleToAddSiteMember() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteConsumer);
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator))
|
||||
.withCoreAPI().usingSite(siteModel).addPerson(testUser);
|
||||
|
||||
restClient.assertLastError().containsSummary("Permission was denied");
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify that site contributor is not able to add site member and gets status code FORBIDDEN (403)")
|
||||
public void contributorIsNotAbleToAddSiteMember() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteConsumer);
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor))
|
||||
.withCoreAPI().usingSite(siteModel).addPerson(testUser);
|
||||
restClient.assertLastError().containsSummary("Permission was denied");
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify that site consumer is not able to add site member and gets status code FORBIDDEN (403)")
|
||||
public void consumerIsNotAbleToAddSiteMember() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteConsumer);
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer))
|
||||
.withCoreAPI().usingSite(siteModel).addPerson(testUser);
|
||||
restClient.assertLastError().containsSummary("Permission was denied");
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify that admin user is able to add site member and gets status code CREATED (201)")
|
||||
public void adminIsAbleToAddSiteMember() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteConsumer);
|
||||
restClient.authenticateUser(adminUserModel)
|
||||
.withCoreAPI().usingSite(siteModel).addPerson(testUser)
|
||||
.and().field("id").is(testUser.getUsername())
|
||||
.and().field("role").is(testUser.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
}
|
||||
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify that unauthenticated user is not able to add site member")
|
||||
@Bug(id="MNT-16904", description = "It fails only on environment with tenants")
|
||||
public void unauthenticatedUserIsNotAuthorizedToAddSiteMmeber() throws Exception{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteConsumer);
|
||||
UserModel inexistentUser = new UserModel("inexistent user", "inexistent password");
|
||||
restClient.authenticateUser(inexistentUser)
|
||||
.withCoreAPI().usingSite(siteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED).assertLastError()
|
||||
.containsSummary(RestErrorModel.AUTHENTICATION_FAILED);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,589 @@
|
||||
package org.alfresco.rest.sites.members;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.core.JsonBodyGenerator;
|
||||
import org.alfresco.rest.core.RestRequest;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.rest.model.RestSiteMemberModel;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser.ListUserWithRoles;
|
||||
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.HttpMethod;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
public class AddSiteMemberTests extends RestTest
|
||||
{
|
||||
private UserModel adminUserModel;
|
||||
private SiteModel publicSiteModel, moderatedSiteModel, privateSiteModel;
|
||||
private ListUserWithRoles publicSiteUsersWithRoles, moderatedSiteUsersWithRoles, privateSiteUsersWithRoles;
|
||||
private String addMemberJson, addMembersJson;
|
||||
private RestSiteMemberModel memberModel;
|
||||
|
||||
@BeforeClass(alwaysRun=true)
|
||||
public void dataPreparation() throws Exception
|
||||
{
|
||||
adminUserModel = dataUser.getAdminUser();
|
||||
publicSiteModel = dataSite.usingUser(adminUserModel).createPublicRandomSite();
|
||||
moderatedSiteModel = dataSite.usingUser(adminUserModel).createModeratedRandomSite();
|
||||
privateSiteModel = dataSite.usingUser(adminUserModel).createPrivateRandomSite();
|
||||
publicSiteUsersWithRoles = dataUser.addUsersWithRolesToSite(publicSiteModel,
|
||||
UserRole.SiteManager,
|
||||
UserRole.SiteCollaborator,
|
||||
UserRole.SiteConsumer,
|
||||
UserRole.SiteContributor);
|
||||
moderatedSiteUsersWithRoles = dataUser.addUsersWithRolesToSite(moderatedSiteModel,
|
||||
UserRole.SiteManager,
|
||||
UserRole.SiteCollaborator,
|
||||
UserRole.SiteConsumer,
|
||||
UserRole.SiteContributor);
|
||||
privateSiteUsersWithRoles = dataUser.addUsersWithRolesToSite(privateSiteModel,
|
||||
UserRole.SiteManager,
|
||||
UserRole.SiteCollaborator,
|
||||
UserRole.SiteConsumer,
|
||||
UserRole.SiteContributor);
|
||||
addMemberJson = "{\"role\":\"%s\",\"id\":\"%s\"}";
|
||||
addMembersJson = "{\"role\":\"%s\",\"id\":\"%s\"}, {\"role\":\"%s\",\"id\":\"%s\"}";
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify that manager is able to add site member and gets status code CREATED (201)")
|
||||
public void managerIsAbleToAddSiteMember() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteCollaborator);
|
||||
restClient.authenticateUser(publicSiteUsersWithRoles.getOneUserWithRole(UserRole.SiteManager));
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).addPerson(testUser)
|
||||
.assertThat().field("id").is(testUser.getUsername())
|
||||
.and().field("role").is(testUser.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that site collaborator is not able to add site member and gets status code FORBIDDEN (403)")
|
||||
public void collaboratorIsNotAbleToAddSiteMember() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteConsumer);
|
||||
restClient.authenticateUser(publicSiteUsersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator))
|
||||
.withCoreAPI().usingSite(publicSiteModel).addPerson(testUser);
|
||||
|
||||
restClient.assertLastError().containsSummary("Permission was denied");
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION})
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that site contributor is not able to add site member and gets status code FORBIDDEN (403)")
|
||||
public void contributorIsNotAbleToAddSiteMember() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteConsumer);
|
||||
restClient.authenticateUser(publicSiteUsersWithRoles.getOneUserWithRole(UserRole.SiteContributor))
|
||||
.withCoreAPI().usingSite(publicSiteModel).addPerson(testUser);
|
||||
restClient.assertLastError().containsSummary("Permission was denied");
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that site consumer is not able to add site member and gets status code FORBIDDEN (403)")
|
||||
public void consumerIsNotAbleToAddSiteMember() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteConsumer);
|
||||
restClient.authenticateUser(publicSiteUsersWithRoles.getOneUserWithRole(UserRole.SiteConsumer))
|
||||
.withCoreAPI().usingSite(publicSiteModel).addPerson(testUser);
|
||||
restClient.assertLastError().containsSummary("Permission was denied");
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify that admin user is able to add site member and gets status code CREATED (201)")
|
||||
public void adminIsAbleToAddSiteMember() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteConsumer);
|
||||
restClient.authenticateUser(adminUserModel)
|
||||
.withCoreAPI().usingSite(publicSiteModel).addPerson(testUser)
|
||||
.and().field("id").is(testUser.getUsername())
|
||||
.and().field("role").is(testUser.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify that unauthenticated user is not able to add site member")
|
||||
// @Bug(id="MNT-16904", description = "It fails only on environment with tenants")
|
||||
public void unauthenticatedUserIsNotAuthorizedToAddSiteMmeber() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteConsumer);
|
||||
|
||||
UserModel userModel = dataUser.createRandomTestUser();
|
||||
userModel.setPassword("user wrong password");
|
||||
dataUser.addUserToSite(userModel, publicSiteModel, UserRole.SiteManager);
|
||||
|
||||
restClient.authenticateUser(userModel)
|
||||
.withCoreAPI().usingSite(publicSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED).assertLastError()
|
||||
.containsSummary(RestErrorModel.AUTHENTICATION_FAILED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that manager can add another user as manager to a public site and gets status code CREATED (201)")
|
||||
public void addManagerToPublicSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteManager);
|
||||
memberModel = restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(publicSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
memberModel.assertThat().field("id").is(testUser.getUsername())
|
||||
.and().field("role").is(testUser.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that manager can add another user as manager to a moderated site and gets status code CREATED (201)")
|
||||
public void addManagerToModeratedSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteManager);
|
||||
memberModel = restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(moderatedSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
memberModel.assertThat().field("id").is(testUser.getUsername())
|
||||
.and().field("role").is(testUser.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that manager can add another user as manager to a private site and gets status code CREATED (201)")
|
||||
public void addManagerToPrivateSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteManager);
|
||||
memberModel = restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(privateSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
memberModel.assertThat().field("id").is(testUser.getUsername())
|
||||
.and().field("role").is(testUser.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that consumer role is not able to add another user to a moderated site and gets status code 403")
|
||||
public void addUserByConsumerToModeratedSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteConsumer);
|
||||
restClient.authenticateUser(moderatedSiteUsersWithRoles.getOneUserWithRole(UserRole.SiteConsumer)).withCoreAPI().usingSite(moderatedSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN).assertLastError().containsSummary(RestErrorModel.PERMISSION_WAS_DENIED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that consumer role is not able to add another user to a private site and gets status code 403")
|
||||
public void addUserByConsumerToPrivateSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteConsumer);
|
||||
restClient.authenticateUser(privateSiteUsersWithRoles.getOneUserWithRole(UserRole.SiteConsumer)).withCoreAPI().usingSite(privateSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN).assertLastError().containsSummary(RestErrorModel.PERMISSION_WAS_DENIED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that collaborator role is not able to add another user to a moderated site and gets status code 403")
|
||||
public void addUserByCollaboratorToModeratedSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteConsumer);
|
||||
restClient.authenticateUser(moderatedSiteUsersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator)).withCoreAPI().usingSite(moderatedSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN).assertLastError().containsSummary(RestErrorModel.PERMISSION_WAS_DENIED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that collaborator role is not able to add another user to a private site and gets status code 403")
|
||||
public void addUserByCollaboratorToPrivateSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteConsumer);
|
||||
restClient.authenticateUser(privateSiteUsersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator)).withCoreAPI().usingSite(privateSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN).assertLastError().containsSummary(RestErrorModel.PERMISSION_WAS_DENIED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that contributor role is not able to add another user to a moderated site and gets status code 403")
|
||||
public void addUserByContributorToModeratedSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteConsumer);
|
||||
restClient.authenticateUser(moderatedSiteUsersWithRoles.getOneUserWithRole(UserRole.SiteContributor)).withCoreAPI().usingSite(moderatedSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN).assertLastError().containsSummary(RestErrorModel.PERMISSION_WAS_DENIED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that contributor role is not able to add another user to a private site and gets status code 403")
|
||||
public void addUserByContributorToPrivateSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteConsumer);
|
||||
restClient.authenticateUser(privateSiteUsersWithRoles.getOneUserWithRole(UserRole.SiteContributor)).withCoreAPI().usingSite(privateSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN).assertLastError().containsSummary(RestErrorModel.PERMISSION_WAS_DENIED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that a user without specified role can not be added to a site and gets status code 400")
|
||||
public void canNotAddUserWithoutSpecifyingRoleToSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI();
|
||||
String json = JsonBodyGenerator.keyValueJson("id", testUser.getUsername());
|
||||
RestRequest request = RestRequest.requestWithBody(HttpMethod.POST, json, "sites/{siteId}/members?{parameters}", publicSiteModel.getId(), restClient.getParameters());
|
||||
restClient.processModel(RestSiteMemberModel.class, request);
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST).assertLastError().containsSummary(RestErrorModel.MUST_PROVIDE_ROLE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that a user with inexistent role can not be added to a site and gets status code 400")
|
||||
public void canNotAddUserWithInexistentRoleToSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI();
|
||||
RestRequest request = RestRequest.requestWithBody(HttpMethod.POST, String.format("{\"role\":\"inexistentRole\",\"id\":\"%s\"}", testUser.getUsername()), "sites/{siteId}/members?{parameters}", publicSiteModel.getId(), restClient.getParameters());
|
||||
restClient.processModel(RestSiteMemberModel.class, request);
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST).assertLastError().containsSummary(String.format(RestErrorModel.UNKNOWN_ROLE, "inexistentRole"));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that user can not add himself as a manager to a public site and gets status code 403")
|
||||
public void userAddHimselfAsManagerToPublicSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteManager);
|
||||
restClient.authenticateUser(testUser).withCoreAPI().usingSite(publicSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN).assertLastError().containsSummary(RestErrorModel.PERMISSION_WAS_DENIED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that user can not add himself as a manager to a moderated site and gets status code 403")
|
||||
public void userAddHimselfAsManagerToModeratedSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteManager);
|
||||
restClient.authenticateUser(testUser).withCoreAPI().usingSite(moderatedSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN).assertLastError().containsSummary(RestErrorModel.PERMISSION_WAS_DENIED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that user can not add himself as a manager to a private site and gets status code 404")
|
||||
public void userAddHimselfAsManagerToPrivateSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteManager);
|
||||
restClient.authenticateUser(testUser).withCoreAPI().usingSite(privateSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, privateSiteModel.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that user can not be added to an inexistent site and gets status code 404")
|
||||
public void userIsNotAbleToAddUserToAnInexistentSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteManager);
|
||||
SiteModel inexistentSite = new SiteModel("inexistentSite");
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(inexistentSite).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, inexistentSite.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that user can not be added to a site if an empty site id is provided and gets status code 404")
|
||||
public void userIsNotAbleToAddAnotherUserUsingEmptySiteId() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteManager);
|
||||
SiteModel inexistentSite = new SiteModel("");
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(inexistentSite).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, inexistentSite.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that inexistent user can not be added to site and gets status code 404")
|
||||
public void userIsNotAbleToAddInexistentUserToSite() throws Exception
|
||||
{
|
||||
UserModel testUser = new UserModel("inexistentUser", "password");
|
||||
testUser.setUserRole(UserRole.SiteManager);
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(publicSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsErrorKey(RestErrorModel.ENTITY_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, testUser.getUsername()))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that empty username can not be added to site and gets status code 400")
|
||||
public void userIsNotAbleToAddEmptyUserIdToSite() throws Exception
|
||||
{
|
||||
UserModel testUser = new UserModel("", "password");
|
||||
testUser.setUserRole(UserRole.SiteManager);
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(publicSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST).assertLastError().containsSummary(String.format(RestErrorModel.NO_CONTENT, testUser.getUsername()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that user can not add another user that is already a memeber and gets status code 409")
|
||||
public void userIsNotAbleToAddUserThatIsAlreadyAMember() throws Exception
|
||||
{
|
||||
UserModel collaborator = moderatedSiteUsersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator);
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(moderatedSiteModel).addPerson(collaborator);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CONFLICT).assertLastError().containsSummary(String.format(RestErrorModel.ALREADY_Site_MEMBER, collaborator.getUsername(), moderatedSiteModel.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that several users with different roles can be added once in a row to a site and gets status code 201")
|
||||
public void addSeveralUsersWithDifferentRolesToASite() throws Exception
|
||||
{
|
||||
UserModel firstUser = dataUser.createRandomTestUser("testUser");
|
||||
firstUser.setUserRole(UserRole.SiteContributor);
|
||||
UserModel secondUser = dataUser.createRandomTestUser("testUser");
|
||||
secondUser.setUserRole(UserRole.SiteCollaborator);
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI();
|
||||
String json = String.format(addMembersJson, firstUser.getUserRole(), firstUser.getUsername(), secondUser.getUserRole(), secondUser.getUsername());
|
||||
RestRequest request = RestRequest.requestWithBody(HttpMethod.POST, json, "sites/{siteId}/members?{parameters}", publicSiteModel.getId(), restClient.getParameters());
|
||||
restClient.processModel(RestSiteMemberModel.class, request);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that several users with same roles can be added once in a row to a site and gets status code 201")
|
||||
public void addSeveralUsersWithSameRolesToASite() throws Exception
|
||||
{
|
||||
UserModel firstUser = dataUser.createRandomTestUser("testUser");
|
||||
firstUser.setUserRole(UserRole.SiteCollaborator);
|
||||
UserModel secondUser = dataUser.createRandomTestUser("testUser");
|
||||
secondUser.setUserRole(UserRole.SiteCollaborator);
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI();
|
||||
String json = String.format(addMembersJson, firstUser.getUserRole(), firstUser.getUsername(), secondUser.getUserRole(), secondUser.getUsername());
|
||||
RestRequest request = RestRequest.requestWithBody(HttpMethod.POST, json, "sites/{siteId}/members?{parameters}", publicSiteModel.getId(), restClient.getParameters());
|
||||
restClient.processModel(RestSiteMemberModel.class, request);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that several users that are already added to the site can not be added once in a row and gets status code 400")
|
||||
public void addSeveralUsersThatAreAlreadyAddedToASite() throws Exception
|
||||
{
|
||||
UserModel collaborator = moderatedSiteUsersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator);
|
||||
UserModel consumer = moderatedSiteUsersWithRoles.getOneUserWithRole(UserRole.SiteConsumer);
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI();
|
||||
String json = String.format(addMembersJson, collaborator.getUserRole(), collaborator.getUsername(), consumer.getUserRole(), consumer.getUsername());
|
||||
RestRequest request = RestRequest.requestWithBody(HttpMethod.POST, json, "sites/{siteId}/members?{parameters}", moderatedSiteModel.getId(), restClient.getParameters());
|
||||
restClient.processModel(RestSiteMemberModel.class, request);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CONFLICT).assertLastError().containsSummary(String.format(RestErrorModel.ALREADY_Site_MEMBER, collaborator.getUsername(), moderatedSiteModel.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Add new site member request by providing an empty body")
|
||||
public void addSiteMemberUsingEmptyBody() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI();
|
||||
RestRequest request = RestRequest.requestWithBody(HttpMethod.POST, "", "sites/{siteId}/members?{parameters}",
|
||||
publicSiteModel.getId(), restClient.getParameters());
|
||||
restClient.processModel(RestSiteMemberModel.class, request);
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST).assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.NO_CONTENT, "No content to map to Object due to end of input"))
|
||||
.containsErrorKey(String.format(RestErrorModel.NO_CONTENT, "No content to map to Object due to end of input"))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Check lower and upper case letters for role field")
|
||||
public void checkLowerUpperCaseLettersForRole() throws Exception
|
||||
{
|
||||
UserModel user = dataUser.createRandomTestUser();
|
||||
|
||||
String json = String.format(addMemberJson, "SITEMANAGER", user.getUsername());
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI();
|
||||
RestRequest request = RestRequest.requestWithBody(HttpMethod.POST, json, "sites/{siteId}/members?{parameters}", publicSiteModel.getId(), restClient.getParameters());
|
||||
restClient.processModel(RestSiteMemberModel.class, request);
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST).assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.UNKNOWN_ROLE, "SITEMANAGER"))
|
||||
.containsErrorKey(String.format(RestErrorModel.UNKNOWN_ROLE, "SITEMANAGER"))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
|
||||
json = String.format(addMemberJson, "sitemanager", user.getUsername());
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI();
|
||||
request = RestRequest.requestWithBody(HttpMethod.POST, json, "sites/{siteId}/members?{parameters}", publicSiteModel.getId(), restClient.getParameters());
|
||||
restClient.processModel(RestSiteMemberModel.class, request);
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST).assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.UNKNOWN_ROLE, "sitemanager"))
|
||||
.containsErrorKey(String.format(RestErrorModel.UNKNOWN_ROLE, "sitemanager"))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Check empty value for user role")
|
||||
public void checkEmptyValueForRole() throws Exception
|
||||
{
|
||||
UserModel user = dataUser.createRandomTestUser();
|
||||
|
||||
String json = String.format(addMemberJson, "", user.getUsername());
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI();
|
||||
RestRequest request = RestRequest.requestWithBody(HttpMethod.POST, json, "sites/{siteId}/members?{parameters}", publicSiteModel.getId(), restClient.getParameters());
|
||||
restClient.processModel(RestSiteMemberModel.class, request);
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST).assertLastError()
|
||||
.containsErrorKey(String.format(RestErrorModel.NO_CONTENT, "N/A (through reference chain: org.alfresco.rest.api.model.SiteMember[\"role\"])"))
|
||||
.containsSummary(String.format(RestErrorModel.NO_CONTENT, "N/A (through reference chain: org.alfresco.rest.api.model.SiteMember[\"role\"])"))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that contributor role can be added to public site")
|
||||
public void addContributorToPublicSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteContributor);
|
||||
memberModel = restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(publicSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
memberModel.assertThat().field("id").is(testUser.getUsername())
|
||||
.and().field("role").is(testUser.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that collaborator role can be added to moderated site")
|
||||
public void addCollaboratorToModeratedSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteCollaborator);
|
||||
memberModel = restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(moderatedSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
memberModel.assertThat().field("id").is(testUser.getUsername())
|
||||
.and().field("role").is(testUser.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that contributor role can be added to moderated site")
|
||||
public void addContributorToModeratedSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteContributor);
|
||||
memberModel = restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(moderatedSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
memberModel.assertThat().field("id").is(testUser.getUsername())
|
||||
.and().field("role").is(testUser.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that consumer role can be added to moderated site")
|
||||
public void addConsumerToModeratedSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteConsumer);
|
||||
memberModel = restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(moderatedSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
memberModel.assertThat().field("id").is(testUser.getUsername())
|
||||
.and().field("role").is(testUser.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that collaborator role can be added to private site")
|
||||
public void addCollaboratorToPrivateSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteCollaborator);
|
||||
memberModel = restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(privateSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
memberModel.assertThat().field("id").is(testUser.getUsername())
|
||||
.and().field("role").is(testUser.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that contributor role can be added to private site")
|
||||
public void addContributorToPrivateSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteContributor);
|
||||
memberModel = restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(privateSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
memberModel.assertThat().field("id").is(testUser.getUsername())
|
||||
.and().field("role").is(testUser.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that consumer role can be added to private site")
|
||||
public void addConsumerToPrivateSite() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser("testUser");
|
||||
testUser.setUserRole(UserRole.SiteConsumer);
|
||||
memberModel = restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(privateSiteModel).addPerson(testUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
memberModel.assertThat().field("id").is(testUser.getUsername())
|
||||
.and().field("role").is(testUser.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that admin can be added to private site by site manager")
|
||||
public void adminCanBeAddedToPrivateSiteBySiteManager() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser();
|
||||
SiteModel privateSite = dataSite.usingUser(testUser).createPrivateRandomSite();
|
||||
adminUserModel.setUserRole(UserRole.SiteContributor);
|
||||
memberModel = restClient.authenticateUser(testUser).withCoreAPI().usingSite(privateSite).addPerson(adminUserModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
memberModel.assertThat().field("id").is(adminUserModel.getUsername()).and().field("role").is(adminUserModel.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that admin cannot be added to private site by site collaborator")
|
||||
public void adminCannotBeAddedToPrivateSiteBySiteCollaborator() throws Exception
|
||||
{
|
||||
UserModel testUser = dataUser.createRandomTestUser();
|
||||
SiteModel privateSite = dataSite.usingUser(testUser).createPrivateRandomSite();
|
||||
UserModel siteCollaborator = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(siteCollaborator, privateSite, UserRole.SiteCollaborator);
|
||||
adminUserModel.setUserRole(UserRole.SiteContributor);
|
||||
memberModel = restClient.authenticateUser(siteCollaborator).withCoreAPI().usingSite(privateSite).addPerson(adminUserModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN).assertLastError().containsSummary(RestErrorModel.PERMISSION_WAS_DENIED);
|
||||
}
|
||||
}
|
||||
@@ -1,175 +0,0 @@
|
||||
package org.alfresco.rest.sites.members;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser.ListUserWithRoles;
|
||||
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 GetSiteMemberCoreTests extends RestTest
|
||||
{
|
||||
private UserModel adminUser;
|
||||
private SiteModel siteModel;
|
||||
private ListUserWithRoles usersWithRoles;
|
||||
private UserModel manager, consumer, collaborator, contributor;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void dataPreparation() throws DataPreparationException
|
||||
{
|
||||
adminUser = dataUser.getAdminUser();
|
||||
siteModel = dataSite.usingUser(adminUser).createPublicRandomSite();
|
||||
usersWithRoles = dataUser.addUsersWithRolesToSite(siteModel, UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer,
|
||||
UserRole.SiteContributor);
|
||||
consumer = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(consumer, siteModel, UserRole.SiteConsumer);
|
||||
|
||||
manager = usersWithRoles.getOneUserWithRole(UserRole.SiteManager);
|
||||
collaborator = usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator);
|
||||
contributor = usersWithRoles.getOneUserWithRole(UserRole.SiteContributor);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Manager role doesn't get a site member of inexistent site and status code is Not Found (404)")
|
||||
public void getSiteMemberOfInexistentSite() throws Exception
|
||||
{
|
||||
SiteModel invalidSite = new SiteModel("invalidSite");
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager));
|
||||
restClient.withCoreAPI().usingSite(invalidSite).getSiteMember(consumer);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, consumer.getUsername(), invalidSite.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Manager role doesn't get non site member of inexistent site and status code is Not Found (404)")
|
||||
public void getSiteMemberForNonSiteMember() throws Exception
|
||||
{
|
||||
UserModel nonMember = dataUser.createRandomTestUser();
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager));
|
||||
restClient.withCoreAPI().usingSite(siteModel).getSiteMember(nonMember);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, nonMember.getUsername(), siteModel.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Manager role doesn't get not existing site member and status code is Not Found (404)")
|
||||
public void getSiteMemberForInexistentSiteMember() throws Exception
|
||||
{
|
||||
UserModel inexistentUser = new UserModel("inexistentUser", "password");
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager));
|
||||
restClient.withCoreAPI().usingSite(siteModel).getSiteMember(inexistentUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, inexistentUser.getUsername()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Manager role can get site member using \"-me-\" in place of personId")
|
||||
public void getSiteMemberUsingMeForPersonId() throws Exception
|
||||
{
|
||||
UserModel manager = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(manager, siteModel, UserRole.SiteManager);
|
||||
UserModel meUser = new UserModel("-me-", "password");
|
||||
|
||||
restClient.authenticateUser(manager);
|
||||
restClient.withCoreAPI().usingSite(siteModel).getSiteMember(meUser)
|
||||
.assertThat().field("id").is(manager.getUsername())
|
||||
.and().field("role").is(manager.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Manager role can get site member for empty siteId")
|
||||
public void getSiteMemberForEmptySiteId() throws Exception
|
||||
{
|
||||
SiteModel emptySite = new SiteModel("");
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager));
|
||||
restClient.withCoreAPI().usingSite(emptySite).getSiteMember(consumer);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, consumer.getUsername(), emptySite.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Manager role gets site member with Manager role and status code is OK (200)")
|
||||
public void getSiteManagerMemberWithManagerRole() throws Exception
|
||||
{
|
||||
UserModel anotherManager = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(anotherManager, siteModel, UserRole.SiteManager);
|
||||
|
||||
restClient.authenticateUser(manager);
|
||||
restClient.withCoreAPI().usingSite(siteModel).getSiteMember(anotherManager)
|
||||
.assertThat().field("id").is(anotherManager.getUsername())
|
||||
.and().field("role").is(anotherManager.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Collaborator role gets site member with Manager role and status code is OK (200)")
|
||||
public void getSiteManagerMemberWithCollaboratorRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(collaborator);
|
||||
restClient.withCoreAPI().usingSite(siteModel).getSiteMember(manager)
|
||||
.assertThat().field("id").is(manager.getUsername())
|
||||
.and().field("role").is(manager.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Consumer role gets site member with Manager role and status code is OK (200)")
|
||||
public void getSiteManagerMemberWithConsumerRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(consumer);
|
||||
restClient.withCoreAPI().usingSite(siteModel).getSiteMember(manager)
|
||||
.assertThat().field("id").is(manager.getUsername())
|
||||
.and().field("role").is(manager.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Contributor role gets site member with Manager role and status code is OK (200)")
|
||||
public void getSiteManagerMemberWithContributorRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(contributor);
|
||||
restClient.withCoreAPI().usingSite(siteModel).getSiteMember(manager)
|
||||
.assertThat().field("id").is(manager.getUsername())
|
||||
.and().field("role").is(manager.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Contributor role gets admin site member and status code is OK (200)")
|
||||
public void getSiteAdminManagerMember() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(contributor);
|
||||
restClient.withCoreAPI().usingSite(siteModel).getSiteMember(adminUser)
|
||||
.assertThat().field("id").is(adminUser.getUsername())
|
||||
.and().field("role").is(UserRole.SiteManager);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,192 +0,0 @@
|
||||
package org.alfresco.rest.sites.members;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser.ListUserWithRoles;
|
||||
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;
|
||||
|
||||
public class GetSiteMemberFullTests extends RestTest
|
||||
{
|
||||
private UserModel adminUser;
|
||||
private SiteModel siteModel;
|
||||
private SiteModel moderatedSiteModel;
|
||||
private SiteModel privateSiteModel;
|
||||
private ListUserWithRoles usersWithRoles;
|
||||
private UserModel manager, consumer, collaborator, contributor;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void dataPreparation() throws DataPreparationException
|
||||
{
|
||||
adminUser = dataUser.getAdminUser();
|
||||
siteModel = dataSite.usingUser(adminUser).createPublicRandomSite();
|
||||
moderatedSiteModel = dataSite.usingUser(adminUser).createModeratedRandomSite();
|
||||
privateSiteModel = dataSite.usingUser(adminUser).createPrivateRandomSite();
|
||||
usersWithRoles = dataUser.addUsersWithRolesToSite(siteModel, UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer,
|
||||
UserRole.SiteContributor);
|
||||
|
||||
consumer = usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer);
|
||||
manager = usersWithRoles.getOneUserWithRole(UserRole.SiteManager);
|
||||
collaborator = usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator);
|
||||
contributor = usersWithRoles.getOneUserWithRole(UserRole.SiteContributor);
|
||||
|
||||
dataUser.addUserToSite(consumer, moderatedSiteModel, UserRole.SiteConsumer);
|
||||
dataUser.addUserToSite(manager, moderatedSiteModel, UserRole.SiteManager);
|
||||
dataUser.addUserToSite(consumer, privateSiteModel, UserRole.SiteConsumer);
|
||||
dataUser.addUserToSite(manager, privateSiteModel, UserRole.SiteManager);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Collaborator role gets site member with Contributor role and status code is OK (200)")
|
||||
public void getSiteContributorMemberWithCollaboratorRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(collaborator).withCoreAPI().usingSite(siteModel).getSiteMember(contributor)
|
||||
.assertThat().field("id").is(contributor.getUsername())
|
||||
.and().field("role").is(contributor.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Contributor role gets site member with Collaborator role and status code is OK (200)")
|
||||
public void getSiteCollaboratorMemberWithContributorRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(contributor).withCoreAPI().usingSite(siteModel).getSiteMember(collaborator)
|
||||
.assertThat().field("id").is(collaborator.getUsername())
|
||||
.and().field("role").is(collaborator.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Collaborator role gets admin role and status code is OK (200)")
|
||||
public void getAdminWithCollaboratorRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(collaborator).withCoreAPI().usingSite(siteModel).getSiteMember(adminUser)
|
||||
.assertThat().field("id").is(adminUser.getUsername())
|
||||
.and().field("role").is(UserRole.SiteManager);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Collaborator role gets site member with Consumer role and status code is OK (200)")
|
||||
public void getSiteConsumerMemberWithCollaboratorRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(collaborator).withCoreAPI().usingSite(siteModel).getSiteMember(consumer)
|
||||
.assertThat().field("id").is(consumer.getUsername())
|
||||
.and().field("role").is(consumer.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user gets site member of private site and status code is OK (200)")
|
||||
public void getSiteMemberOfPrivateSite() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(manager).withCoreAPI().usingSite(privateSiteModel).getSiteMember(consumer)
|
||||
.assertThat().field("id").is(consumer.getUsername())
|
||||
.and().field("role").is(consumer.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify not joined user is not is not able to get site member of private site and status code is 404")
|
||||
public void userThatIsNotMemberOfPrivateSiteIsNotAbleToGetSiteMember() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingSite(privateSiteModel).getSiteMember(consumer);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, consumer.getUsername(), privateSiteModel.getTitle()));
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify admin is not able to get from site a user that created a member request that was not accepted yet")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
public void adminIsNotAbleToGetFromSiteANonExistingMember() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSiteModel);
|
||||
|
||||
restClient.authenticateUser(adminUser).withCoreAPI().usingSite(moderatedSiteModel).getSiteMember(newMember);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, newMember.getUsername(), moderatedSiteModel.getTitle()))
|
||||
.containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user gets site creator and status code is OK (200)")
|
||||
public void getSiteCreator() throws Exception
|
||||
{
|
||||
SiteModel newSiteModel = dataSite.usingUser(collaborator).createModeratedRandomSite();
|
||||
dataUser.addUserToSite(consumer, siteModel, UserRole.SiteConsumer);
|
||||
|
||||
restClient.authenticateUser(consumer).withCoreAPI().usingSite(newSiteModel).getSiteMember(collaborator)
|
||||
.assertThat().field("id").is(collaborator.getUsername())
|
||||
.and().field("role").is(UserRole.SiteManager);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Consumer role can get site member using \"-me-\" in place of personId")
|
||||
public void getSiteMemberOfPrivateSiteUsingMeForPersonId() throws Exception
|
||||
{
|
||||
UserModel meUser = new UserModel("-me-", "password");
|
||||
|
||||
restClient.authenticateUser(consumer).withCoreAPI().usingSite(privateSiteModel).getSiteMember(meUser)
|
||||
.assertThat().field("id").is(consumer.getUsername())
|
||||
.and().field("role").is(consumer.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user gets site member of moderated site and status code is OK (200)")
|
||||
public void getSiteMemberOfModeratedSite() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(manager).withCoreAPI().usingSite(moderatedSiteModel).getSiteMember(consumer)
|
||||
.assertThat().field("id").is(consumer.getUsername())
|
||||
.and().field("role").is(consumer.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify not joined user gets site member of moderated site and status code is OK (200)")
|
||||
public void userThatIsNotMemberOfModeratedSiteIsAbleToGetSiteMember() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingSite(moderatedSiteModel).getSiteMember(consumer);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get site member request with properties parameter returns status code 200 and parameter is applied")
|
||||
public void getSiteMemberUsingPropertiesParameter() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(manager)
|
||||
.withCoreAPI().usingSite(siteModel).usingParams("properties=id").getSiteMember(consumer)
|
||||
.assertThat().fieldsCount().is(1)
|
||||
.and().field("id").isNotEmpty()
|
||||
.and().field("role").isNull()
|
||||
.and().field("person").isNull();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
@@ -1,112 +0,0 @@
|
||||
package org.alfresco.rest.sites.members;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.exception.JsonToModelConversionException;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser.ListUserWithRoles;
|
||||
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.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;
|
||||
|
||||
/**
|
||||
* @author iulia.cojocea
|
||||
*/
|
||||
public class GetSiteMemberSanityTests extends RestTest
|
||||
{
|
||||
private UserModel adminUser;
|
||||
private SiteModel siteModel;
|
||||
private ListUserWithRoles usersWithRoles;
|
||||
private UserModel userModel;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void dataPreparation() throws DataPreparationException
|
||||
{
|
||||
adminUser = dataUser.getAdminUser();
|
||||
siteModel = dataSite.usingUser(adminUser).createPublicRandomSite();
|
||||
usersWithRoles = dataUser.addUsersWithRolesToSite(siteModel, UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer,
|
||||
UserRole.SiteContributor);
|
||||
userModel = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(userModel, siteModel, UserRole.SiteConsumer);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with Manager role gets site member and status code is OK (200)")
|
||||
public void getSiteMemberWithManagerRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager));
|
||||
restClient.withCoreAPI().usingSite(siteModel).getSiteMember(userModel)
|
||||
.assertThat().field("id").is(userModel.getUsername())
|
||||
.and().field("role").is(userModel.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with Collaborator role gets site member and gets status code OK (200)")
|
||||
public void getSiteMemberWithCollaboratorRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator));
|
||||
restClient.withCoreAPI().usingSite(siteModel).getSiteMember(userModel)
|
||||
.and().field("id").is(userModel.getUsername())
|
||||
.and().field("role").is(userModel.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with Contributor role gets site member and gets status code OK (200)")
|
||||
public void getSiteMemberWithContributorRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor));
|
||||
restClient.withCoreAPI().usingSite(siteModel).getSiteMember(userModel)
|
||||
.and().field("id").is(userModel.getUsername())
|
||||
.and().field("role").is(userModel.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with Consumer role gets site member and gets status code OK (200)")
|
||||
public void getSiteMemberWithConsumerRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer));
|
||||
restClient.withCoreAPI().usingSite(siteModel).getSiteMember(userModel)
|
||||
.and().field("id").is(userModel.getUsername())
|
||||
.and().field("role").is(userModel.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with admin user gets site member and gets status code OK (200)")
|
||||
public void getSiteMemberWithAdminUser() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUser);
|
||||
restClient.withCoreAPI().usingSite(siteModel).getSiteMember(userModel)
|
||||
.and().field("id").is(userModel.getUsername())
|
||||
.and().field("role").is(userModel.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Failed authentication get site member call returns status code 401")
|
||||
@Bug(id="MNT-16904", description = "It fails only on environment with tenants")
|
||||
public void unauthenticatedUserIsNotAuthorizedToRetrieveSiteMember() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
UserModel inexistentUser = new UserModel("inexistent user", "inexistent password");
|
||||
restClient.authenticateUser(inexistentUser);
|
||||
restClient.withCoreAPI().usingSite(siteModel).getSiteMember(userModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED).assertLastError()
|
||||
.containsSummary(RestErrorModel.AUTHENTICATION_FAILED);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,396 @@
|
||||
package org.alfresco.rest.sites.members;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.exception.JsonToModelConversionException;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser.ListUserWithRoles;
|
||||
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 iulia.cojocea
|
||||
*/
|
||||
public class GetSiteMemberTests extends RestTest
|
||||
{
|
||||
private UserModel adminUser;
|
||||
private SiteModel publicSiteModel, moderatedSiteModel, privateSiteModel;
|
||||
private ListUserWithRoles usersWithRoles;
|
||||
private UserModel manager, consumer, collaborator, contributor;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void dataPreparation() throws DataPreparationException
|
||||
{
|
||||
adminUser = dataUser.getAdminUser();
|
||||
publicSiteModel = dataSite.usingUser(adminUser).createPublicRandomSite();
|
||||
moderatedSiteModel = dataSite.usingUser(adminUser).createModeratedRandomSite();
|
||||
privateSiteModel = dataSite.usingUser(adminUser).createPrivateRandomSite();
|
||||
usersWithRoles = dataUser.addUsersWithRolesToSite(publicSiteModel, UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer,
|
||||
UserRole.SiteContributor);
|
||||
|
||||
consumer = dataUser.createRandomTestUser();
|
||||
manager = usersWithRoles.getOneUserWithRole(UserRole.SiteManager);
|
||||
collaborator = usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator);
|
||||
contributor = usersWithRoles.getOneUserWithRole(UserRole.SiteContributor);
|
||||
|
||||
dataUser.addUserToSite(consumer, publicSiteModel, UserRole.SiteConsumer);
|
||||
dataUser.addUserToSite(consumer, moderatedSiteModel, UserRole.SiteConsumer);
|
||||
dataUser.addUserToSite(manager, moderatedSiteModel, UserRole.SiteManager);
|
||||
dataUser.addUserToSite(consumer, privateSiteModel, UserRole.SiteConsumer);
|
||||
dataUser.addUserToSite(manager, privateSiteModel, UserRole.SiteManager);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with Manager role gets site member and status code is OK (200)")
|
||||
public void getSiteMemberWithManagerRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager));
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).getSiteMember(consumer)
|
||||
.assertThat().field("id").is(consumer.getUsername())
|
||||
.and().field("role").is(consumer.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Collaborator role gets site member and gets status code OK (200)")
|
||||
public void getSiteMemberWithCollaboratorRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator));
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).getSiteMember(consumer)
|
||||
.and().field("id").is(consumer.getUsername())
|
||||
.and().field("role").is(consumer.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Contributor role gets site member and gets status code OK (200)")
|
||||
public void getSiteMemberWithContributorRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor));
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).getSiteMember(consumer)
|
||||
.and().field("id").is(consumer.getUsername())
|
||||
.and().field("role").is(consumer.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Consumer role gets site member and gets status code OK (200)")
|
||||
public void getSiteMemberWithConsumerRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer));
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).getSiteMember(consumer)
|
||||
.and().field("id").is(consumer.getUsername())
|
||||
.and().field("role").is(consumer.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with admin user gets site member and gets status code OK (200)")
|
||||
public void getSiteMemberWithAdminUser() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUser);
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).getSiteMember(consumer)
|
||||
.and().field("id").is(consumer.getUsername())
|
||||
.and().field("role").is(consumer.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Failed authentication get site member call returns status code 401")
|
||||
// @Bug(id="MNT-16904", description = "It fails only on environment with tenants")
|
||||
public void unauthenticatedUserIsNotAuthorizedToRetrieveSiteMember() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
UserModel inexistentUser = new UserModel("inexistent user", "inexistent password");
|
||||
restClient.authenticateUser(inexistentUser);
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).getSiteMember(consumer);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED).assertLastError()
|
||||
.containsSummary(RestErrorModel.AUTHENTICATION_FAILED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Manager role doesn't get a site member of inexistent site and status code is Not Found (404)")
|
||||
public void getSiteMemberOfInexistentSite() throws Exception
|
||||
{
|
||||
SiteModel invalidSite = new SiteModel("invalidSite");
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager));
|
||||
restClient.withCoreAPI().usingSite(invalidSite).getSiteMember(consumer);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, consumer.getUsername(), invalidSite.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Manager role doesn't get non site member of inexistent site and status code is Not Found (404)")
|
||||
public void getSiteMemberForNonSiteMember() throws Exception
|
||||
{
|
||||
UserModel nonMember = dataUser.createRandomTestUser();
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager));
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).getSiteMember(nonMember);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, nonMember.getUsername(), publicSiteModel.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Manager role doesn't get not existing site member and status code is Not Found (404)")
|
||||
public void getSiteMemberForInexistentSiteMember() throws Exception
|
||||
{
|
||||
UserModel inexistentUser = new UserModel("inexistentUser", "password");
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager));
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).getSiteMember(inexistentUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, inexistentUser.getUsername()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Manager role can get site member using \"-me-\" in place of personId")
|
||||
public void getSiteMemberUsingMeForPersonId() throws Exception
|
||||
{
|
||||
UserModel meUser = new UserModel("-me-", "password");
|
||||
|
||||
restClient.authenticateUser(manager);
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).getSiteMember(meUser)
|
||||
.assertThat().field("id").is(manager.getUsername())
|
||||
.and().field("role").is(manager.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Manager role can get site member for empty siteId")
|
||||
public void getSiteMemberForEmptySiteId() throws Exception
|
||||
{
|
||||
SiteModel emptySite = new SiteModel("");
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager));
|
||||
restClient.withCoreAPI().usingSite(emptySite).getSiteMember(consumer);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, consumer.getUsername(), emptySite.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Manager role gets site member with Manager role and status code is OK (200)")
|
||||
public void getSiteManagerMemberWithManagerRole() throws Exception
|
||||
{
|
||||
UserModel anotherManager = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(anotherManager, publicSiteModel, UserRole.SiteManager);
|
||||
|
||||
restClient.authenticateUser(manager);
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).getSiteMember(anotherManager)
|
||||
.assertThat().field("id").is(anotherManager.getUsername())
|
||||
.and().field("role").is(anotherManager.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Collaborator role gets site member with Manager role and status code is OK (200)")
|
||||
public void getSiteManagerMemberWithCollaboratorRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(collaborator);
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).getSiteMember(manager)
|
||||
.assertThat().field("id").is(manager.getUsername())
|
||||
.and().field("role").is(manager.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Consumer role gets site member with Manager role and status code is OK (200)")
|
||||
public void getSiteManagerMemberWithConsumerRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(consumer);
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).getSiteMember(manager)
|
||||
.assertThat().field("id").is(manager.getUsername())
|
||||
.and().field("role").is(manager.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Contributor role gets site member with Manager role and status code is OK (200)")
|
||||
public void getSiteManagerMemberWithContributorRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(contributor);
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).getSiteMember(manager)
|
||||
.assertThat().field("id").is(manager.getUsername())
|
||||
.and().field("role").is(manager.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Contributor role gets admin site member and status code is OK (200)")
|
||||
public void getSiteAdminManagerMember() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(contributor);
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).getSiteMember(adminUser)
|
||||
.assertThat().field("id").is(adminUser.getUsername())
|
||||
.and().field("role").is(UserRole.SiteManager);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Collaborator role gets site member with Contributor role and status code is OK (200)")
|
||||
public void getSiteContributorMemberWithCollaboratorRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(collaborator).withCoreAPI().usingSite(publicSiteModel).getSiteMember(contributor)
|
||||
.assertThat().field("id").is(contributor.getUsername())
|
||||
.and().field("role").is(contributor.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Contributor role gets site member with Collaborator role and status code is OK (200)")
|
||||
public void getSiteCollaboratorMemberWithContributorRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(contributor).withCoreAPI().usingSite(publicSiteModel).getSiteMember(collaborator)
|
||||
.assertThat().field("id").is(collaborator.getUsername())
|
||||
.and().field("role").is(collaborator.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Collaborator role gets admin role and status code is OK (200)")
|
||||
public void getAdminWithCollaboratorRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(collaborator).withCoreAPI().usingSite(publicSiteModel).getSiteMember(adminUser)
|
||||
.assertThat().field("id").is(adminUser.getUsername())
|
||||
.and().field("role").is(UserRole.SiteManager);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Collaborator role gets site member with Consumer role and status code is OK (200)")
|
||||
public void getSiteConsumerMemberWithCollaboratorRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(collaborator).withCoreAPI().usingSite(publicSiteModel).getSiteMember(consumer)
|
||||
.assertThat().field("id").is(consumer.getUsername())
|
||||
.and().field("role").is(consumer.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user gets site member of private site and status code is OK (200)")
|
||||
public void getSiteMemberOfPrivateSite() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(manager).withCoreAPI().usingSite(privateSiteModel).getSiteMember(consumer)
|
||||
.assertThat().field("id").is(consumer.getUsername())
|
||||
.and().field("role").is(consumer.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify not joined user is not is not able to get site member of private site and status code is 404")
|
||||
public void regularUserIsNotAbleToGetSiteMemberOfPrivateSite() throws Exception {
|
||||
UserModel regularUser = dataUser.createRandomTestUser();
|
||||
|
||||
restClient.authenticateUser(regularUser).withCoreAPI().usingSite(privateSiteModel).getSiteMember(consumer);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, consumer.getUsername(), privateSiteModel.getTitle()));
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify admin is not able to get from site a user that created a member request that was not accepted yet")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
public void adminIsNotAbleToGetFromSiteANonExistingMember() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSiteModel);
|
||||
|
||||
restClient.authenticateUser(adminUser).withCoreAPI().usingSite(moderatedSiteModel).getSiteMember(newMember);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, newMember.getUsername(), moderatedSiteModel.getTitle()))
|
||||
.containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user gets site creator and status code is OK (200)")
|
||||
public void getSiteCreator() throws Exception
|
||||
{
|
||||
SiteModel newSiteModel = dataSite.usingUser(collaborator).createModeratedRandomSite();
|
||||
dataUser.addUserToSite(consumer, publicSiteModel, UserRole.SiteConsumer);
|
||||
|
||||
restClient.authenticateUser(consumer).withCoreAPI().usingSite(newSiteModel).getSiteMember(collaborator)
|
||||
.assertThat().field("id").is(collaborator.getUsername())
|
||||
.and().field("role").is(UserRole.SiteManager);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Consumer role can get site member using \"-me-\" in place of personId")
|
||||
public void getSiteMemberOfPrivateSiteUsingMeForPersonId() throws Exception
|
||||
{
|
||||
UserModel meUser = new UserModel("-me-", "password");
|
||||
|
||||
restClient.authenticateUser(consumer).withCoreAPI().usingSite(privateSiteModel).getSiteMember(meUser)
|
||||
.assertThat().field("id").is(consumer.getUsername())
|
||||
.and().field("role").is(consumer.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user gets site member of moderated site and status code is OK (200)")
|
||||
public void getSiteMemberOfModeratedSite() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(manager).withCoreAPI().usingSite(moderatedSiteModel).getSiteMember(consumer)
|
||||
.assertThat().field("id").is(consumer.getUsername())
|
||||
.and().field("role").is(consumer.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify not joined user gets site member of moderated site and status code is OK (200)")
|
||||
public void regularUserIsAbleToGetSiteMemberOfModeratedSite() throws Exception
|
||||
{
|
||||
UserModel regularUser = dataUser.createRandomTestUser();
|
||||
|
||||
restClient.authenticateUser(regularUser).withCoreAPI().usingSite(moderatedSiteModel).getSiteMember(consumer);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if get site member request with properties parameter returns status code 200 and parameter is applied")
|
||||
public void getSiteMemberUsingPropertiesParameter() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(manager)
|
||||
.withCoreAPI().usingSite(publicSiteModel).usingParams("properties=id").getSiteMember(consumer)
|
||||
.assertThat().fieldsCount().is(1)
|
||||
.and().field("id").isNotEmpty()
|
||||
.and().field("role").isNull()
|
||||
.and().field("person").isNull();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
@@ -1,159 +0,0 @@
|
||||
package org.alfresco.rest.sites.members;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
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.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
/**
|
||||
* Created by Claudia Agache on 11/23/2016.
|
||||
*/
|
||||
public class GetSiteMembersCoreTests extends RestTest
|
||||
{
|
||||
private UserModel userModel, publicSiteContributor, privateSiteConsumer, moderatedSiteManager, admin;
|
||||
private SiteModel publicSite, privateSite, moderatedSite, moderatedSite2;
|
||||
private RestSiteMemberModelsCollection siteMembers;
|
||||
|
||||
@BeforeClass(alwaysRun=true)
|
||||
public void dataPreparation() throws Exception
|
||||
{
|
||||
admin = dataUser.getAdminUser();
|
||||
userModel = dataUser.createRandomTestUser();
|
||||
publicSiteContributor = dataUser.createRandomTestUser();
|
||||
moderatedSiteManager = dataUser.createRandomTestUser();
|
||||
privateSiteConsumer = dataUser.createRandomTestUser();
|
||||
publicSite = dataSite.usingAdmin().createPublicRandomSite();
|
||||
privateSite = dataSite.usingAdmin().createPrivateRandomSite();
|
||||
moderatedSite = dataSite.usingAdmin().createModeratedRandomSite();
|
||||
moderatedSite2 = dataSite.usingAdmin().createModeratedRandomSite();
|
||||
dataUser.addUserToSite(publicSiteContributor, publicSite, UserRole.SiteContributor);
|
||||
dataUser.addUserToSite(moderatedSiteManager, moderatedSite, UserRole.SiteManager);
|
||||
dataUser.addUserToSite(privateSiteConsumer, privateSite, UserRole.SiteConsumer);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify get site members call returns status code 404 if siteId does not exist")
|
||||
public void checkStatusCodeForNonExistentSiteId() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteContributor).withCoreAPI()
|
||||
.usingSite("NonExistentSiteId").getSiteMembers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, "NonExistentSiteId"));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify get site members call returns status code 400 for invalid maxItems")
|
||||
public void checkStatusCodeForInvalidMaxItems() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteContributor).withParams("maxItems=0")
|
||||
.withCoreAPI().usingSite(publicSite).getSiteMembers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.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();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.INVALID_MAXITEMS, "A"));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify get site members call returns status code 400 for invalid skipCount ")
|
||||
public void checkStatusCodeForInvalidSkipCount() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(publicSiteContributor).withParams("skipCount=A")
|
||||
.withCoreAPI().usingSite(publicSite).getSiteMembers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.INVALID_SKIPCOUNT, "A"));
|
||||
|
||||
restClient.authenticateUser(publicSiteContributor).withParams("skipCount=-1")
|
||||
.withCoreAPI().usingSite(publicSite).getSiteMembers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(RestErrorModel.NEGATIVE_VALUES_SKIPCOUNT);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if any user gets public site members and status code is 200")
|
||||
public void getPublicSiteMembers() throws Exception
|
||||
{
|
||||
siteMembers = restClient.authenticateUser(userModel).withCoreAPI()
|
||||
.usingSite(publicSite).getSiteMembers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembers.assertThat().entriesListContains("id", admin.getUsername())
|
||||
.and().entriesListContains("id", publicSiteContributor.getUsername())
|
||||
.and().paginationField("count").is("2");
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if any user gets moderated site members and status code is 200")
|
||||
public void getModeratedSiteMembers() throws Exception
|
||||
{
|
||||
siteMembers = restClient.authenticateUser(userModel).withCoreAPI()
|
||||
.usingSite(moderatedSite).getSiteMembers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembers.assertThat().entriesListContains("id", admin.getUsername())
|
||||
.and().entriesListContains("id", moderatedSiteManager.getUsername())
|
||||
.and().paginationField("count").is("2");
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if user gets private site members if he is a member of that site and status code is 200")
|
||||
public void getPrivateSiteMembersByASiteMember() throws Exception
|
||||
{
|
||||
siteMembers = restClient.authenticateUser(privateSiteConsumer).withCoreAPI()
|
||||
.usingSite(privateSite).getSiteMembers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembers.assertThat().entriesListContains("id", admin.getUsername())
|
||||
.and().entriesListContains("id", privateSiteConsumer.getUsername())
|
||||
.and().paginationField("count").is("2");
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if user doesn't get private site members if he is not a member of that site and status code is 404")
|
||||
public void getPrivateSiteMembersByNotASiteMember() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(userModel).withCoreAPI()
|
||||
.usingSite(privateSite).getSiteMembers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, privateSite.getTitle()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if user gets moderated site members after the adding of a new member and status code is 200")
|
||||
public void getSiteMembersAfterAddingNewMember() throws Exception
|
||||
{
|
||||
siteMembers = restClient.authenticateUser(userModel).withCoreAPI()
|
||||
.usingSite(moderatedSite2).getSiteMembers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembers.assertThat().entriesListContains("id", admin.getUsername())
|
||||
.and().paginationField("count").is("1");
|
||||
|
||||
restClient.authenticateUser(admin).withCoreAPI().usingSite(moderatedSite2).addPerson(privateSiteConsumer);
|
||||
|
||||
siteMembers = restClient.authenticateUser(userModel).withCoreAPI()
|
||||
.usingSite(moderatedSite2).getSiteMembers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembers.assertThat().entriesListContains("id", admin.getUsername())
|
||||
.and().entriesListContains("id", privateSiteConsumer.getUsername())
|
||||
.and().paginationField("count").is("2");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,160 +0,0 @@
|
||||
package org.alfresco.rest.sites.members;
|
||||
|
||||
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.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(3).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", UserRole.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", UserRole.SiteManager.toString())
|
||||
.and().entriesListContains("id", userModel.getUsername());
|
||||
}
|
||||
}
|
||||
@@ -1,111 +0,0 @@
|
||||
package org.alfresco.rest.sites.members;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.exception.JsonToModelConversionException;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser.ListUserWithRoles;
|
||||
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.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;
|
||||
|
||||
/**
|
||||
* @author iulia.cojocea
|
||||
*/
|
||||
public class GetSiteMembersSanityTests extends RestTest
|
||||
{
|
||||
private SiteModel siteModel;
|
||||
private UserModel adminUser;
|
||||
private ListUserWithRoles usersWithRoles;
|
||||
private UserModel userModel;
|
||||
|
||||
@BeforeClass(alwaysRun=true)
|
||||
public void dataPreparation() throws DataPreparationException
|
||||
{
|
||||
adminUser = dataUser.getAdminUser();
|
||||
siteModel = dataSite.usingUser(adminUser).createPublicRandomSite();
|
||||
usersWithRoles = dataUser.addUsersWithRolesToSite(siteModel,UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer, UserRole.SiteContributor);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with Manager role gets site members and gets status code OK (200)")
|
||||
public void getSiteMembersWithManagerRole() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager))
|
||||
.withCoreAPI().usingSite(siteModel).getSiteMembers().assertThat().entriesListIsNotEmpty()
|
||||
.and().entriesListContains("id", usersWithRoles.getOneUserWithRole(UserRole.SiteManager).getUsername())
|
||||
.and().entriesListContains("role", usersWithRoles.getOneUserWithRole(UserRole.SiteManager).getUserRole().toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with Collaborator role gets site members and gets status code OK (200)")
|
||||
public void getSiteMembersWithCollaboratorRole() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator))
|
||||
.withCoreAPI().usingSite(siteModel).getSiteMembers().assertThat().entriesListIsNotEmpty().assertThat()
|
||||
.entriesListContains("id", usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator).getUsername()).and()
|
||||
.entriesListContains("role", usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator).getUserRole().toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with Contributor role gets site members and gets status code OK (200)")
|
||||
public void getSiteMembersWithContributorRole() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor))
|
||||
.withCoreAPI().usingSite(siteModel).getSiteMembers().assertThat().entriesListIsNotEmpty()
|
||||
.and().entriesListContains("id", usersWithRoles.getOneUserWithRole(UserRole.SiteContributor).getUsername())
|
||||
.and().entriesListContains("role", usersWithRoles.getOneUserWithRole(UserRole.SiteContributor).getUserRole().toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with Consumer role gets site members and gets status code OK (200)")
|
||||
public void getSiteMembersWithConsumerRole() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer))
|
||||
.withCoreAPI().usingSite(siteModel).getSiteMembers().assertThat().entriesListIsNotEmpty()
|
||||
.and().entriesListContains("id", usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer).getUsername())
|
||||
.and().entriesListContains("role", usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer).getUserRole().toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with admin usere gets site members and gets status code OK (200)")
|
||||
public void getSiteMembersWithAdminUser() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUser)
|
||||
.withCoreAPI().usingSite(siteModel).getSiteMembers().assertThat().entriesListIsNotEmpty()
|
||||
.and().entriesListContains("id", adminUser.getUsername())
|
||||
.when().assertThat().entriesListContains("role", "SiteManager");
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Failed authentication get site members call returns status code 401")
|
||||
@Bug(id="MNT-16904", description = "It fails only on environment with tenants")
|
||||
public void unauthenticatedUserIsNotAuthorizedToRetrieveSiteMembers() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
userModel = dataUser.createRandomTestUser();
|
||||
userModel.setPassword("user wrong password");
|
||||
dataUser.addUserToSite(userModel, siteModel, UserRole.SiteManager);
|
||||
restClient.authenticateUser(userModel)
|
||||
.withCoreAPI().usingSite(siteModel).getSiteMembers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED).assertLastError()
|
||||
.containsSummary(RestErrorModel.AUTHENTICATION_FAILED);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,357 @@
|
||||
package org.alfresco.rest.sites.members;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.rest.model.RestSiteMemberModel;
|
||||
import org.alfresco.rest.model.RestSiteMemberModelsCollection;
|
||||
import org.alfresco.utility.Utility;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser.ListUserWithRoles;
|
||||
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 iulia.cojocea
|
||||
*/
|
||||
public class GetSiteMembersTests extends RestTest
|
||||
{
|
||||
private SiteModel publicSite, privateSite, moderatedSite, moderatedSite2, moderatedSite3;
|
||||
private RestSiteMemberModelsCollection siteMembers;
|
||||
private ListUserWithRoles usersWithRoles, moderatedSiteUsers;
|
||||
private UserModel regularUser, privateSiteConsumer, siteCreator;
|
||||
private RestSiteMemberModel firstSiteMember, secondSiteMember, thirdSiteMember, fourthSiteMember;
|
||||
|
||||
@BeforeClass(alwaysRun=true)
|
||||
public void dataPreparation() throws Exception
|
||||
{
|
||||
siteCreator = dataUser.createRandomTestUser();
|
||||
regularUser = dataUser.createRandomTestUser();
|
||||
privateSiteConsumer = dataUser.createRandomTestUser();
|
||||
|
||||
publicSite = dataSite.usingUser(siteCreator).createPublicRandomSite();
|
||||
privateSite = dataSite.usingUser(siteCreator).createPrivateRandomSite();
|
||||
moderatedSite = dataSite.usingUser(siteCreator).createModeratedRandomSite();
|
||||
moderatedSite2 = dataSite.usingUser(siteCreator).createModeratedRandomSite();
|
||||
moderatedSite3 = dataSite.usingUser(siteCreator).createModeratedRandomSite();
|
||||
|
||||
dataUser.addUserToSite(privateSiteConsumer, privateSite, UserRole.SiteConsumer);
|
||||
dataUser.addUserToSite(privateSiteConsumer, moderatedSite3, UserRole.SiteConsumer);
|
||||
usersWithRoles = dataUser.addUsersWithRolesToSite(publicSite,UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer, UserRole.SiteContributor);
|
||||
moderatedSiteUsers = dataUser.addUsersWithRolesToSite(moderatedSite, UserRole.SiteCollaborator, UserRole.SiteConsumer, UserRole.SiteContributor);
|
||||
|
||||
siteMembers = restClient.authenticateUser(siteCreator).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(3).onModel();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user with Manager role gets site members and gets status code OK (200)")
|
||||
public void getSiteMembersWithManagerRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager))
|
||||
.withCoreAPI().usingSite(publicSite).getSiteMembers().assertThat().entriesListIsNotEmpty()
|
||||
.and().entriesListContains("id", usersWithRoles.getOneUserWithRole(UserRole.SiteManager).getUsername())
|
||||
.and().entriesListContains("role", usersWithRoles.getOneUserWithRole(UserRole.SiteManager).getUserRole().toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Collaborator role gets site members and gets status code OK (200)")
|
||||
public void getSiteMembersWithCollaboratorRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator))
|
||||
.withCoreAPI().usingSite(publicSite).getSiteMembers().assertThat().entriesListIsNotEmpty().assertThat()
|
||||
.entriesListContains("id", usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator).getUsername()).and()
|
||||
.entriesListContains("role", usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator).getUserRole().toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Contributor role gets site members and gets status code OK (200)")
|
||||
public void getSiteMembersWithContributorRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor))
|
||||
.withCoreAPI().usingSite(publicSite).getSiteMembers().assertThat().entriesListIsNotEmpty()
|
||||
.and().entriesListContains("id", usersWithRoles.getOneUserWithRole(UserRole.SiteContributor).getUsername())
|
||||
.and().entriesListContains("role", usersWithRoles.getOneUserWithRole(UserRole.SiteContributor).getUserRole().toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with Consumer role gets site members and gets status code OK (200)")
|
||||
public void getSiteMembersWithConsumerRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer))
|
||||
.withCoreAPI().usingSite(publicSite).getSiteMembers().assertThat().entriesListIsNotEmpty()
|
||||
.and().entriesListContains("id", usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer).getUsername())
|
||||
.and().entriesListContains("role", usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer).getUserRole().toString());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user with admin usere gets site members and gets status code OK (200)")
|
||||
public void getSiteMembersWithAdminUser() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(dataUser.getAdminUser())
|
||||
.withCoreAPI().usingSite(publicSite).getSiteMembers().assertThat().entriesListIsNotEmpty()
|
||||
.and().entriesListContains("id", siteCreator.getUsername())
|
||||
.when().assertThat().entriesListContains("role", "SiteManager");
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Failed authentication get site members call returns status code 401")
|
||||
// @Bug(id="MNT-16904", description = "It fails only on environment with tenants")
|
||||
public void unauthenticatedUserIsNotAuthorizedToRetrieveSiteMembers() throws Exception
|
||||
{
|
||||
UserModel userModel = dataUser.createRandomTestUser();
|
||||
userModel.setPassword("user wrong password");
|
||||
dataUser.addUserToSite(userModel, publicSite, UserRole.SiteManager);
|
||||
restClient.authenticateUser(userModel)
|
||||
.withCoreAPI().usingSite(publicSite).getSiteMembers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED).assertLastError()
|
||||
.containsSummary(RestErrorModel.AUTHENTICATION_FAILED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify get site members call returns status code 404 if siteId does not exist")
|
||||
public void checkStatusCodeForNonExistentSiteId() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(regularUser).withCoreAPI()
|
||||
.usingSite("NonExistentSiteId").getSiteMembers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, "NonExistentSiteId"));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify get site members call returns status code 400 for invalid maxItems")
|
||||
public void checkStatusCodeForInvalidMaxItems() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(regularUser).withParams("maxItems=0")
|
||||
.withCoreAPI().usingSite(publicSite).getSiteMembers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(RestErrorModel.ONLY_POSITIVE_VALUES_MAXITEMS)
|
||||
.containsErrorKey(RestErrorModel.ONLY_POSITIVE_VALUES_MAXITEMS)
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
|
||||
restClient.withParams("maxItems=A")
|
||||
.withCoreAPI().usingSite(publicSite).getSiteMembers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.INVALID_MAXITEMS, "A"));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify get site members call returns status code 400 for invalid skipCount ")
|
||||
public void checkStatusCodeForInvalidSkipCount() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(regularUser).withParams("skipCount=A")
|
||||
.withCoreAPI().usingSite(publicSite).getSiteMembers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.INVALID_SKIPCOUNT, "A"));
|
||||
|
||||
restClient.withParams("skipCount=-1")
|
||||
.withCoreAPI().usingSite(publicSite).getSiteMembers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(RestErrorModel.NEGATIVE_VALUES_SKIPCOUNT);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if any user gets public site members and status code is 200")
|
||||
public void getPublicSiteMembers() throws Exception
|
||||
{
|
||||
siteMembers = restClient.authenticateUser(regularUser).withCoreAPI()
|
||||
.usingSite(publicSite).getSiteMembers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembers.assertThat().entriesListContains("id", siteCreator.getUsername())
|
||||
.and().entriesListContains("id", usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer).getUsername())
|
||||
.and().entriesListContains("id", usersWithRoles.getOneUserWithRole(UserRole.SiteContributor).getUsername())
|
||||
.and().entriesListContains("id", usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator).getUsername())
|
||||
.and().entriesListContains("id", usersWithRoles.getOneUserWithRole(UserRole.SiteManager).getUsername())
|
||||
.and().paginationField("count").is("5");
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if any user gets moderated site members and status code is 200")
|
||||
public void getModeratedSiteMembers() throws Exception
|
||||
{
|
||||
siteMembers = restClient.authenticateUser(regularUser).withCoreAPI()
|
||||
.usingSite(moderatedSite).getSiteMembers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembers.assertThat().entriesListContains("id", siteCreator.getUsername())
|
||||
.and().entriesListContains("id", moderatedSiteUsers.getOneUserWithRole(UserRole.SiteCollaborator).getUsername())
|
||||
.and().entriesListContains("id", moderatedSiteUsers.getOneUserWithRole(UserRole.SiteContributor).getUsername())
|
||||
.and().entriesListContains("id", moderatedSiteUsers.getOneUserWithRole(UserRole.SiteConsumer).getUsername())
|
||||
.and().paginationField("count").is("4");
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if user gets private site members if he is a member of that site and status code is 200")
|
||||
public void getPrivateSiteMembersByASiteMember() throws Exception
|
||||
{
|
||||
siteMembers = restClient.authenticateUser(privateSiteConsumer).withCoreAPI()
|
||||
.usingSite(privateSite).getSiteMembers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembers.assertThat().entriesListContains("id", siteCreator.getUsername())
|
||||
.and().entriesListContains("id", privateSiteConsumer.getUsername())
|
||||
.and().paginationField("count").is("2");
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if user doesn't get private site members if he is not a member of that site and status code is 404")
|
||||
public void getPrivateSiteMembersByNotASiteMember() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(regularUser).withCoreAPI()
|
||||
.usingSite(privateSite).getSiteMembers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, privateSite.getTitle()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if user gets moderated site members after the adding of a new member and status code is 200")
|
||||
public void getSiteMembersAfterAddingNewMember() throws Exception
|
||||
{
|
||||
siteMembers = restClient.authenticateUser(regularUser).withCoreAPI()
|
||||
.usingSite(moderatedSite2).getSiteMembers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembers.assertThat().entriesListContains("id", siteCreator.getUsername())
|
||||
.and().paginationField("count").is("1");
|
||||
|
||||
restClient.authenticateUser(siteCreator).withCoreAPI().usingSite(moderatedSite2).addPerson(privateSiteConsumer);
|
||||
|
||||
siteMembers = restClient.authenticateUser(regularUser).withCoreAPI()
|
||||
.usingSite(moderatedSite2).getSiteMembers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembers.assertThat().entriesListContains("id", siteCreator.getUsername())
|
||||
.and().entriesListContains("id", privateSiteConsumer.getUsername())
|
||||
.and().paginationField("count").is("2");
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@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(siteCreator).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", siteCreator.getUsername())
|
||||
.and().entriesListContains("role", UserRole.SiteContributor.toString())
|
||||
.and().entriesListContains("id", moderatedSiteUsers.getOneUserWithRole(UserRole.SiteContributor).getUsername())
|
||||
.and().entriesListContains("role", UserRole.SiteCollaborator.toString())
|
||||
.and().entriesListContains("id", moderatedSiteUsers.getOneUserWithRole(UserRole.SiteCollaborator).getUsername())
|
||||
.and().entriesListContains("role", UserRole.SiteConsumer.toString())
|
||||
.and().entriesListContains("id", moderatedSiteUsers.getOneUserWithRole(UserRole.SiteConsumer).getUsername());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@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(siteCreator).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.REGRESSION })
|
||||
@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(siteCreator).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.REGRESSION })
|
||||
@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(siteCreator).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.REGRESSION })
|
||||
@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(siteCreator).withCoreAPI()
|
||||
.usingSite(moderatedSite2).getSiteMembers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembers.assertThat().entriesListContains("id", siteCreator.getUsername())
|
||||
.and().entriesListDoesNotContain("id", userNotJoined.getUsername());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@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 getSiteMembersAfterRemovingASiteMember() throws Exception
|
||||
{
|
||||
siteMembers = restClient.authenticateUser(siteCreator).withCoreAPI()
|
||||
.usingSite(moderatedSite3).getSiteMembers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembers.assertThat().entriesListCountIs(2);
|
||||
|
||||
restClient.withCoreAPI().usingSite(moderatedSite3).deleteSiteMember(privateSiteConsumer);
|
||||
|
||||
siteMembers = restClient.withCoreAPI().usingSite(moderatedSite3).getSiteMembers();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembers.assertThat().entriesListCountIs(1)
|
||||
.and().entriesListContains("role", UserRole.SiteManager.toString())
|
||||
.and().entriesListContains("id", siteCreator.getUsername());
|
||||
}
|
||||
}
|
||||
@@ -1,269 +0,0 @@
|
||||
package org.alfresco.rest.sites.members;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser.ListUserWithRoles;
|
||||
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 RemoveSiteMemberCoreTests extends RestTest
|
||||
{
|
||||
private SiteModel siteModel;
|
||||
private UserModel adminUserModel;
|
||||
private ListUserWithRoles usersWithRoles;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void dataPreparation() throws DataPreparationException
|
||||
{
|
||||
adminUserModel = dataUser.getAdminUser();
|
||||
siteModel = dataSite.usingUser(adminUserModel).createPublicRandomSite();
|
||||
usersWithRoles = dataUser.addUsersWithRolesToSite(siteModel, UserRole.SiteManager, UserRole.SiteCollaborator,
|
||||
UserRole.SiteConsumer, UserRole.SiteContributor);
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that manager can NOT delete site member for an inexistent user and gets status code 404, 'Not Found'")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
public void managerIsNotAbleToDeleteInexistentSiteMember() throws Exception
|
||||
{
|
||||
UserModel inexistentUser = new UserModel("inexistentUser", "password");
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager));
|
||||
restClient.withCoreAPI().usingSite(siteModel).deleteSiteMember(inexistentUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, inexistentUser.getUsername()));
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that manager can NOT delete site member for a non site member and gets status code 400, 'Bad Request'")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
public void managerIsNotAbleToDeleteNotSiteMember() throws Exception
|
||||
{
|
||||
UserModel nonMember = dataUser.createRandomTestUser();
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager));
|
||||
restClient.withCoreAPI().usingSite(siteModel).deleteSiteMember(nonMember);
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.INVALID_ARGUMENT, "argument"));
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that manager can NOT delete site member for an invalid site and gets status code 404, 'Not Found'")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
public void managerIsNotAbleToDeleteSiteMemberOfInvalidSite() throws Exception
|
||||
{
|
||||
SiteModel invalidSite = new SiteModel("invalidSite");
|
||||
UserModel testUserModel = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(testUserModel, siteModel, UserRole.SiteConsumer);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager));
|
||||
restClient.withCoreAPI().usingSite(invalidSite).deleteSiteMember(testUserModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, testUserModel.getUsername(), invalidSite.getId()));
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that manager can delete a site member with manager role")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
public void siteManagerIsAbleToDeleteSiteMemberWithManagerRole() throws Exception
|
||||
{
|
||||
UserModel anothermanager = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(anothermanager, siteModel, UserRole.SiteManager);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager))
|
||||
.withCoreAPI().usingSite(siteModel).deleteSiteMember(anothermanager);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
|
||||
restClient.withCoreAPI().usingSite(siteModel).getSiteMembers()
|
||||
.assertThat().entriesListDoesNotContain("id", anothermanager.getUsername());
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that manager can delete site member using \"-me-\" in place of personId")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
public void managerIsAbleToDeleteSiteMemberUsingMe() throws Exception
|
||||
{
|
||||
UserModel manager = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(manager, siteModel, UserRole.SiteManager);
|
||||
UserModel meUser = new UserModel("-me-", "password");
|
||||
|
||||
restClient.authenticateUser(manager);
|
||||
restClient.withCoreAPI().usingSite(siteModel).deleteSiteMember(meUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
|
||||
restClient.withCoreAPI().usingSite(siteModel).getSiteMembers()
|
||||
.assertThat().entriesListDoesNotContain("id", manager.getUsername());
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that site collaborator cannot delete a site member with Manager role and gets status code 422")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
public void siteCollaboratorIsNotAbleToDeleteSiteMemberWithManagerRole() throws Exception
|
||||
{
|
||||
UserModel managerForDelete = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(managerForDelete, siteModel, UserRole.SiteManager);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator));
|
||||
restClient.withCoreAPI().usingSite(siteModel).deleteSiteMember(managerForDelete);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNPROCESSABLE_ENTITY)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.NOT_SUFFICIENT_PERMISSIONS, siteModel.getId()));
|
||||
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that site contributor cannot delete site member with Manager role and gets status code 422")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
public void siteContributorIsNotAbleToDeleteSiteMemberWithManagerRole() throws Exception
|
||||
{
|
||||
UserModel managerForDelete = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(managerForDelete, siteModel, UserRole.SiteManager);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor));
|
||||
restClient.withCoreAPI().usingSite(siteModel).deleteSiteMember(managerForDelete);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNPROCESSABLE_ENTITY)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.NOT_SUFFICIENT_PERMISSIONS, siteModel.getId()));
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that site consumer cannot delete site member with Manager role and gets status code 422")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
public void siteConsumerIsNotAbleToDeleteSiteMemberWithManagerRole() throws Exception
|
||||
{
|
||||
UserModel managerForDelete = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(managerForDelete, siteModel, UserRole.SiteManager);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer));
|
||||
restClient.withCoreAPI().usingSite(siteModel).deleteSiteMember(managerForDelete);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNPROCESSABLE_ENTITY)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.NOT_SUFFICIENT_PERMISSIONS, siteModel.getId()));
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that site collaborator cannot delete a site member with Contributor role and gets status code 422")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
public void siteCollaboratorIsNotAbleToDeleteSiteMemberWithContributorRole() throws Exception
|
||||
{
|
||||
UserModel contributorForDelete = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(contributorForDelete, siteModel, UserRole.SiteContributor);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator));
|
||||
restClient.withCoreAPI().usingSite(siteModel).deleteSiteMember(contributorForDelete);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNPROCESSABLE_ENTITY)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.NOT_SUFFICIENT_PERMISSIONS, siteModel.getId()));
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that site contributor cannot delete site member with Contributor role and gets status code 422")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
public void siteContributorIsNotAbleToDeleteSiteMemberWithContributorRole() throws Exception
|
||||
{
|
||||
UserModel contributorForDelete = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(contributorForDelete, siteModel, UserRole.SiteContributor);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor));
|
||||
restClient.withCoreAPI().usingSite(siteModel).deleteSiteMember(contributorForDelete);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNPROCESSABLE_ENTITY)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.NOT_SUFFICIENT_PERMISSIONS, siteModel.getId()));
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that site consumer cannot delete site member with Contributor role and gets status code 422")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
public void siteConsumerIsNotAbleToDeleteSiteMemberWithContributorRole() throws Exception
|
||||
{
|
||||
UserModel contributorForDelete = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(contributorForDelete, siteModel, UserRole.SiteContributor);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer));
|
||||
restClient.withCoreAPI().usingSite(siteModel).deleteSiteMember(contributorForDelete);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNPROCESSABLE_ENTITY)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.NOT_SUFFICIENT_PERMISSIONS, siteModel.getId()));
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that manager can delete a site member with Contributor role")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
public void siteManagerIsAbleToDeleteSiteMemberWithContributorRole() throws Exception
|
||||
{
|
||||
UserModel contributorForDelete = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(contributorForDelete, siteModel, UserRole.SiteContributor);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager))
|
||||
.withCoreAPI().usingSite(siteModel).deleteSiteMember(contributorForDelete);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
|
||||
restClient.withCoreAPI().usingSite(siteModel).getSiteMembers()
|
||||
.assertThat().entriesListDoesNotContain("id", contributorForDelete.getUsername());
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that site collaborator cannot delete a site member with Collaborator role and gets status code 422")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
public void siteCollaboratorIsNotAbleToDeleteSiteMemberWithCollaboratorRole() throws Exception
|
||||
{
|
||||
UserModel collaboratorForDelete = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(collaboratorForDelete, siteModel, UserRole.SiteCollaborator);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator));
|
||||
restClient.withCoreAPI().usingSite(siteModel).deleteSiteMember(collaboratorForDelete);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNPROCESSABLE_ENTITY)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.NOT_SUFFICIENT_PERMISSIONS, siteModel.getId()));
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that site contributor cannot delete site member with Collaborator role and gets status code 422")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
public void siteContributorIsNotAbleToDeleteSiteMemberWithCollaboratorRole() throws Exception
|
||||
{
|
||||
UserModel collaboratorForDelete = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(collaboratorForDelete, siteModel, UserRole.SiteCollaborator);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor));
|
||||
restClient.withCoreAPI().usingSite(siteModel).deleteSiteMember(collaboratorForDelete);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNPROCESSABLE_ENTITY)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.NOT_SUFFICIENT_PERMISSIONS, siteModel.getId()));
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that site consumer cannot delete site member with Collaborator role and gets status code 422")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
public void siteConsumerIsNotAbleToDeleteSiteMemberWithCollaboratorRole() throws Exception
|
||||
{
|
||||
UserModel collaboratorForDelete = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(collaboratorForDelete, siteModel, UserRole.SiteCollaborator);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer));
|
||||
restClient.withCoreAPI().usingSite(siteModel).deleteSiteMember(collaboratorForDelete);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNPROCESSABLE_ENTITY)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.NOT_SUFFICIENT_PERMISSIONS, siteModel.getId()));
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that manager can delete a site member with Collaborator role")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
public void siteManagerIsAbleToDeleteSiteMemberWithCollaboratorRole() throws Exception
|
||||
{
|
||||
UserModel collaboratorForDelete = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(collaboratorForDelete, siteModel, UserRole.SiteCollaborator);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager))
|
||||
.withCoreAPI().usingSite(siteModel).deleteSiteMember(collaboratorForDelete);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
|
||||
restClient.withCoreAPI().usingSite(siteModel).getSiteMembers()
|
||||
.assertThat().entriesListDoesNotContain("id", collaboratorForDelete.getUsername());
|
||||
}
|
||||
}
|
||||
@@ -1,150 +0,0 @@
|
||||
package org.alfresco.rest.sites.members;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser.ListUserWithRoles;
|
||||
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.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;
|
||||
|
||||
public class RemoveSiteMemberFullTests extends RestTest
|
||||
{
|
||||
private SiteModel siteModel;
|
||||
private UserModel adminUserModel;
|
||||
private ListUserWithRoles usersWithRoles;
|
||||
private SiteModel moderatedSiteModel;
|
||||
private SiteModel privateSiteModel;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void dataPreparation() throws DataPreparationException
|
||||
{
|
||||
adminUserModel = dataUser.getAdminUser();
|
||||
siteModel = dataSite.usingUser(adminUserModel).createPublicRandomSite();
|
||||
moderatedSiteModel = dataSite.usingUser(adminUserModel).createModeratedRandomSite();
|
||||
privateSiteModel = dataSite.usingUser(adminUserModel).createPrivateRandomSite();
|
||||
usersWithRoles = dataUser.addUsersWithRolesToSite(siteModel, UserRole.SiteManager, UserRole.SiteCollaborator,
|
||||
UserRole.SiteConsumer, UserRole.SiteContributor);
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that admin can delete a site member with Contributor role and gets status code 204")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
public void adminIsAbleToDeleteSiteMemberWithContributorRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(siteModel)
|
||||
.deleteSiteMember(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor));
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
dataUser.addUserToSite(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor), siteModel, UserRole.SiteContributor);
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that admin can delete site member with Manager role and gets status code 204")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
public void aminIsAbleToDeleteSiteMemberWithManagerRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(siteModel)
|
||||
.deleteSiteMember(usersWithRoles.getOneUserWithRole(UserRole.SiteManager));
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
dataUser.addUserToSite(usersWithRoles.getOneUserWithRole(UserRole.SiteManager), siteModel, UserRole.SiteManager);
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that admin can delete site member with Consumer role and gets status code 204")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
public void adminIsAbleToDeleteSiteMemberWithConsumerRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(siteModel)
|
||||
.deleteSiteMember(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer));
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
dataUser.addUserToSite(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer), siteModel, UserRole.SiteConsumer);
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that admin can delete a site member with Collaborator role and gets status code 204")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
public void adminIsAbleToDeleteSiteMemberWithCollaboratorRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(siteModel)
|
||||
.deleteSiteMember(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator));
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
dataUser.addUserToSite(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator), siteModel, UserRole.SiteCollaborator);
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that admin can delete a site member of moderated site and gets status code 204")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
public void adminIsAbleToDeleteModeratedSiteMember() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
newMember.setUserRole(UserRole.SiteManager);
|
||||
dataUser.addUserToSite(newMember, moderatedSiteModel, UserRole.SiteManager);
|
||||
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(moderatedSiteModel).deleteSiteMember(newMember);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that admin can delete a site member of private site and gets status code 204")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
public void adminIsAbleToDeletePrivateSiteMember() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
newMember.setUserRole(UserRole.SiteManager);
|
||||
dataUser.addUserToSite(newMember, privateSiteModel, UserRole.SiteManager);
|
||||
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(privateSiteModel).deleteSiteMember(newMember);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that regular user can not delete admin and gets status code 422")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
public void regularUserIsNotAbleToDeleteAdmin() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator)).withCoreAPI().usingSite(siteModel)
|
||||
.deleteSiteMember(adminUserModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNPROCESSABLE_ENTITY).assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.NOT_SUFFICIENT_PERMISSIONS, siteModel.getTitle()))
|
||||
.containsErrorKey(RestErrorModel.API_DEFAULT_ERRORKEY)
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that admin can not delete a site member twice and gets status code 404 for the second attempt")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@Bug(id="ACE-5447")
|
||||
public void adminIsNotAbleToRemoveSiteMemberTwice() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(siteModel)
|
||||
.deleteSiteMember(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor));
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(siteModel)
|
||||
.deleteSiteMember(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor));
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError()
|
||||
.containsSummary(RestErrorModel.ENTITY_NOT_FOUND);
|
||||
dataUser.addUserToSite(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor), siteModel, UserRole.SiteContributor);
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify admin is not able to remove from site a user that created a member request that was not accepted yet")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@Bug(id="ACE-5447")
|
||||
public void adminIsNotAbleToRemoveFromSiteANonExistingMember() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(siteModel);
|
||||
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(moderatedSiteModel).deleteSiteMember(newMember);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError()
|
||||
.containsSummary(RestErrorModel.ENTITY_NOT_FOUND);
|
||||
}
|
||||
}
|
||||
@@ -1,134 +0,0 @@
|
||||
package org.alfresco.rest.sites.members;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser.ListUserWithRoles;
|
||||
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.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;
|
||||
|
||||
/**
|
||||
* @author iulia.cojocea
|
||||
*/
|
||||
public class RemoveSiteMemberSanityTests extends RestTest
|
||||
{
|
||||
private SiteModel siteModel;
|
||||
private UserModel adminUserModel;
|
||||
private ListUserWithRoles usersWithRoles;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void dataPreparation() throws DataPreparationException
|
||||
{
|
||||
adminUserModel = dataUser.getAdminUser();
|
||||
siteModel = dataSite.usingUser(adminUserModel).createPublicRandomSite();
|
||||
usersWithRoles = dataUser.addUsersWithRolesToSite(siteModel, UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer,
|
||||
UserRole.SiteContributor);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API,
|
||||
TestGroup.SITES }, executionType = ExecutionType.SANITY, description = "Verify that site manager can delete site member and gets status code 204, 'No Content'")
|
||||
public void siteManagerIsAbleToDeleteSiteMemberWithConsumerRole() throws Exception
|
||||
{
|
||||
UserModel testUserModel = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(testUserModel, siteModel, UserRole.SiteConsumer);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager));
|
||||
restClient.withCoreAPI().usingSite(siteModel).deleteSiteMember(testUserModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
restClient.withCoreAPI().usingSite(siteModel).getSiteMembers()
|
||||
.assertThat().entriesListDoesNotContain("id", testUserModel.getUsername());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API,
|
||||
TestGroup.SITES }, executionType = ExecutionType.SANITY, description = "Verify that site collaborator cannot delete site member and gets status code 403, 'Forbidden'")
|
||||
public void siteCollaboratorIsNotAbleToDeleteSiteMemberWithConsumerRole() throws Exception
|
||||
{
|
||||
UserModel testUserModel = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(testUserModel, siteModel, UserRole.SiteConsumer);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator));
|
||||
restClient.withCoreAPI().usingSite(siteModel).deleteSiteMember(testUserModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNPROCESSABLE_ENTITY);
|
||||
|
||||
restClient.withCoreAPI().usingSite(siteModel).getSiteMembers()
|
||||
.assertThat().entriesListContains("id", testUserModel.getUsername());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API,
|
||||
TestGroup.SITES }, executionType = ExecutionType.SANITY, description = "Verify that site contributor cannot delete site member and gets status code 403, 'Forbidden'")
|
||||
public void siteContributorIsNotAbleToDeleteSiteMemberWithConsumerRole() throws Exception
|
||||
{
|
||||
UserModel testUserModel = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(testUserModel, siteModel, UserRole.SiteConsumer);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor));
|
||||
restClient.withCoreAPI().usingSite(siteModel).deleteSiteMember(testUserModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNPROCESSABLE_ENTITY);
|
||||
|
||||
restClient.withCoreAPI().usingSite(siteModel).getSiteMembers()
|
||||
.assertThat().entriesListContains("id", testUserModel.getUsername());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API,
|
||||
TestGroup.SITES }, executionType = ExecutionType.SANITY, description = "Verify that site consumer cannot delete site member and gets status code 403, 'Forbidden'")
|
||||
public void siteConsumerIsNotAbleToDeleteSiteMemberWithConsumerRole() throws Exception
|
||||
{
|
||||
UserModel testUserModel = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(testUserModel, siteModel, UserRole.SiteConsumer);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer)).withCoreAPI().usingSite(siteModel)
|
||||
.deleteSiteMember(testUserModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNPROCESSABLE_ENTITY);
|
||||
|
||||
restClient.withCoreAPI().usingSite(siteModel).getSiteMembers()
|
||||
.assertThat().entriesListContains("id", testUserModel.getUsername());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API,
|
||||
TestGroup.SITES }, executionType = ExecutionType.SANITY, description = "Verify that admin user can delete site member and gets status code 204, 'No Content'")
|
||||
public void adminUserIsAbleToDeleteSiteMember() throws Exception
|
||||
{
|
||||
UserModel testUserModel = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(testUserModel, siteModel, UserRole.SiteConsumer);
|
||||
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(siteModel).deleteSiteMember(testUserModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
|
||||
restClient.withCoreAPI().usingSite(siteModel).getSiteMembers()
|
||||
.assertThat().entriesListDoesNotContain("id", testUserModel.getUsername());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API,
|
||||
TestGroup.SITES }, executionType = ExecutionType.SANITY, description = "Verify that unauthenticated user is not able to delete site member")
|
||||
@Bug(id = "MNT-16904", description = "It fails only on environment with tenants")
|
||||
public void unauthenticatedUserIsNotAuthorizedToDeleteSiteMember() throws Exception
|
||||
{
|
||||
UserModel testUserModel = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(testUserModel, siteModel, UserRole.SiteConsumer);
|
||||
|
||||
UserModel inexistentUser = new UserModel("inexistent user", "inexistent password");
|
||||
restClient.authenticateUser(inexistentUser).withCoreAPI().usingSite(siteModel).deleteSiteMember(testUserModel);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED).assertLastError()
|
||||
.containsSummary(RestErrorModel.AUTHENTICATION_FAILED);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,467 @@
|
||||
package org.alfresco.rest.sites.members;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser.ListUserWithRoles;
|
||||
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.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;
|
||||
|
||||
/**
|
||||
* @author iulia.cojocea
|
||||
*/
|
||||
public class RemoveSiteMemberTests extends RestTest
|
||||
{
|
||||
private SiteModel publicSiteModel, moderatedSiteModel, privateSiteModel;
|
||||
private UserModel adminUserModel, siteCreator;
|
||||
private ListUserWithRoles usersWithRoles;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void dataPreparation() throws DataPreparationException
|
||||
{
|
||||
adminUserModel = dataUser.getAdminUser();
|
||||
siteCreator = dataUser.createRandomTestUser();
|
||||
publicSiteModel = dataSite.usingUser(siteCreator).createPublicRandomSite();
|
||||
moderatedSiteModel = dataSite.usingUser(siteCreator).createModeratedRandomSite();
|
||||
privateSiteModel = dataSite.usingUser(siteCreator).createPrivateRandomSite();
|
||||
usersWithRoles = dataUser.addUsersWithRolesToSite(publicSiteModel, UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer,
|
||||
UserRole.SiteContributor);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API,
|
||||
TestGroup.SITES }, executionType = ExecutionType.SANITY, description = "Verify that site manager can delete site member and gets status code 204, 'No Content'")
|
||||
public void siteManagerIsAbleToDeleteSiteMemberWithConsumerRole() throws Exception
|
||||
{
|
||||
UserModel testUserModel = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(testUserModel, publicSiteModel, UserRole.SiteConsumer);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager));
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).deleteSiteMember(testUserModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).getSiteMembers()
|
||||
.assertThat().entriesListDoesNotContain("id", testUserModel.getUsername());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API,
|
||||
TestGroup.SITES }, executionType = ExecutionType.REGRESSION, description = "Verify that site collaborator cannot delete site member and gets status code 403, 'Forbidden'")
|
||||
public void siteCollaboratorIsNotAbleToDeleteSiteMemberWithConsumerRole() throws Exception
|
||||
{
|
||||
UserModel testUserModel = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(testUserModel, publicSiteModel, UserRole.SiteConsumer);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator));
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).deleteSiteMember(testUserModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNPROCESSABLE_ENTITY);
|
||||
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).getSiteMembers()
|
||||
.assertThat().entriesListContains("id", testUserModel.getUsername());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API,
|
||||
TestGroup.SITES }, executionType = ExecutionType.REGRESSION, description = "Verify that site contributor cannot delete site member and gets status code 403, 'Forbidden'")
|
||||
public void siteContributorIsNotAbleToDeleteSiteMemberWithConsumerRole() throws Exception
|
||||
{
|
||||
UserModel testUserModel = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(testUserModel, publicSiteModel, UserRole.SiteConsumer);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor));
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).deleteSiteMember(testUserModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNPROCESSABLE_ENTITY);
|
||||
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).getSiteMembers()
|
||||
.assertThat().entriesListContains("id", testUserModel.getUsername());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API,
|
||||
TestGroup.SITES }, executionType = ExecutionType.REGRESSION, description = "Verify that site consumer cannot delete site member and gets status code 403, 'Forbidden'")
|
||||
public void siteConsumerIsNotAbleToDeleteSiteMemberWithConsumerRole() throws Exception
|
||||
{
|
||||
UserModel testUserModel = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(testUserModel, publicSiteModel, UserRole.SiteConsumer);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer)).withCoreAPI().usingSite(publicSiteModel)
|
||||
.deleteSiteMember(testUserModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNPROCESSABLE_ENTITY);
|
||||
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).getSiteMembers()
|
||||
.assertThat().entriesListContains("id", testUserModel.getUsername());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API,
|
||||
TestGroup.SITES }, executionType = ExecutionType.SANITY, description = "Verify that unauthenticated user is not able to delete site member")
|
||||
// @Bug(id = "MNT-16904", description = "It fails only on environment with tenants")
|
||||
public void unauthenticatedUserIsNotAuthorizedToDeleteSiteMember() throws Exception
|
||||
{
|
||||
UserModel testUserModel = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(testUserModel, publicSiteModel, UserRole.SiteConsumer);
|
||||
|
||||
UserModel inexistentUser = new UserModel("inexistent user", "inexistent password");
|
||||
restClient.authenticateUser(inexistentUser).withCoreAPI().usingSite(publicSiteModel).deleteSiteMember(testUserModel);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED).assertLastError()
|
||||
.containsSummary(RestErrorModel.AUTHENTICATION_FAILED);
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that manager can NOT delete site member for an inexistent user and gets status code 404, 'Not Found'")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
public void managerIsNotAbleToDeleteInexistentSiteMember() throws Exception
|
||||
{
|
||||
UserModel inexistentUser = new UserModel("inexistentUser", "password");
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager));
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).deleteSiteMember(inexistentUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, inexistentUser.getUsername()));
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that manager can NOT delete site member for a non site member and gets status code 400, 'Bad Request'")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
public void managerIsNotAbleToDeleteNotSiteMember() throws Exception
|
||||
{
|
||||
UserModel nonMember = dataUser.createRandomTestUser();
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager));
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).deleteSiteMember(nonMember);
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.INVALID_ARGUMENT, "argument"));
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that manager can NOT delete site member for an invalid site and gets status code 404, 'Not Found'")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
public void managerIsNotAbleToDeleteSiteMemberOfInvalidSite() throws Exception
|
||||
{
|
||||
SiteModel invalidSite = new SiteModel("invalidSite");
|
||||
UserModel testUserModel = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(testUserModel, publicSiteModel, UserRole.SiteConsumer);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager));
|
||||
restClient.withCoreAPI().usingSite(invalidSite).deleteSiteMember(testUserModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, testUserModel.getUsername(), invalidSite.getId()));
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that manager can delete a site member with manager role")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
public void siteManagerIsAbleToDeleteSiteMemberWithManagerRole() throws Exception
|
||||
{
|
||||
UserModel anothermanager = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(anothermanager, publicSiteModel, UserRole.SiteManager);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager))
|
||||
.withCoreAPI().usingSite(publicSiteModel).deleteSiteMember(anothermanager);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).getSiteMembers()
|
||||
.assertThat().entriesListDoesNotContain("id", anothermanager.getUsername());
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that manager can delete site member using \"-me-\" in place of personId")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
public void managerIsAbleToDeleteSiteMemberUsingMe() throws Exception
|
||||
{
|
||||
UserModel manager = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(manager, publicSiteModel, UserRole.SiteManager);
|
||||
UserModel meUser = new UserModel("-me-", "password");
|
||||
|
||||
restClient.authenticateUser(manager);
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).deleteSiteMember(meUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).getSiteMembers()
|
||||
.assertThat().entriesListDoesNotContain("id", manager.getUsername());
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that site collaborator cannot delete a site member with Manager role and gets status code 422")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
public void siteCollaboratorIsNotAbleToDeleteSiteMemberWithManagerRole() throws Exception
|
||||
{
|
||||
UserModel managerForDelete = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(managerForDelete, publicSiteModel, UserRole.SiteManager);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator));
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).deleteSiteMember(managerForDelete);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNPROCESSABLE_ENTITY)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.NOT_SUFFICIENT_PERMISSIONS, publicSiteModel.getId()));
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that site contributor cannot delete site member with Manager role and gets status code 422")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
public void siteContributorIsNotAbleToDeleteSiteMemberWithManagerRole() throws Exception
|
||||
{
|
||||
UserModel managerForDelete = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(managerForDelete, publicSiteModel, UserRole.SiteManager);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor));
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).deleteSiteMember(managerForDelete);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNPROCESSABLE_ENTITY)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.NOT_SUFFICIENT_PERMISSIONS, publicSiteModel.getId()));
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that site consumer cannot delete site member with Manager role and gets status code 422")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
public void siteConsumerIsNotAbleToDeleteSiteMemberWithManagerRole() throws Exception
|
||||
{
|
||||
UserModel managerForDelete = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(managerForDelete, publicSiteModel, UserRole.SiteManager);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer));
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).deleteSiteMember(managerForDelete);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNPROCESSABLE_ENTITY)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.NOT_SUFFICIENT_PERMISSIONS, publicSiteModel.getId()));
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that site collaborator cannot delete a site member with Contributor role and gets status code 422")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
public void siteCollaboratorIsNotAbleToDeleteSiteMemberWithContributorRole() throws Exception
|
||||
{
|
||||
UserModel contributorForDelete = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(contributorForDelete, publicSiteModel, UserRole.SiteContributor);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator));
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).deleteSiteMember(contributorForDelete);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNPROCESSABLE_ENTITY)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.NOT_SUFFICIENT_PERMISSIONS, publicSiteModel.getId()));
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that site contributor cannot delete site member with Contributor role and gets status code 422")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
public void siteContributorIsNotAbleToDeleteSiteMemberWithContributorRole() throws Exception
|
||||
{
|
||||
UserModel contributorForDelete = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(contributorForDelete, publicSiteModel, UserRole.SiteContributor);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor));
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).deleteSiteMember(contributorForDelete);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNPROCESSABLE_ENTITY)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.NOT_SUFFICIENT_PERMISSIONS, publicSiteModel.getId()));
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that site consumer cannot delete site member with Contributor role and gets status code 422")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
public void siteConsumerIsNotAbleToDeleteSiteMemberWithContributorRole() throws Exception
|
||||
{
|
||||
UserModel contributorForDelete = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(contributorForDelete, publicSiteModel, UserRole.SiteContributor);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer));
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).deleteSiteMember(contributorForDelete);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNPROCESSABLE_ENTITY)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.NOT_SUFFICIENT_PERMISSIONS, publicSiteModel.getId()));
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that manager can delete a site member with Contributor role")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
public void siteManagerIsAbleToDeleteSiteMemberWithContributorRole() throws Exception
|
||||
{
|
||||
UserModel contributorForDelete = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(contributorForDelete, publicSiteModel, UserRole.SiteContributor);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager))
|
||||
.withCoreAPI().usingSite(publicSiteModel).deleteSiteMember(contributorForDelete);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).getSiteMembers()
|
||||
.assertThat().entriesListDoesNotContain("id", contributorForDelete.getUsername());
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that site collaborator cannot delete a site member with Collaborator role and gets status code 422")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
public void siteCollaboratorIsNotAbleToDeleteSiteMemberWithCollaboratorRole() throws Exception
|
||||
{
|
||||
UserModel collaboratorForDelete = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(collaboratorForDelete, publicSiteModel, UserRole.SiteCollaborator);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator));
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).deleteSiteMember(collaboratorForDelete);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNPROCESSABLE_ENTITY)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.NOT_SUFFICIENT_PERMISSIONS, publicSiteModel.getId()));
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that site contributor cannot delete site member with Collaborator role and gets status code 422")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
public void siteContributorIsNotAbleToDeleteSiteMemberWithCollaboratorRole() throws Exception
|
||||
{
|
||||
UserModel collaboratorForDelete = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(collaboratorForDelete, publicSiteModel, UserRole.SiteCollaborator);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor));
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).deleteSiteMember(collaboratorForDelete);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNPROCESSABLE_ENTITY)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.NOT_SUFFICIENT_PERMISSIONS, publicSiteModel.getId()));
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that site consumer cannot delete site member with Collaborator role and gets status code 422")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
public void siteConsumerIsNotAbleToDeleteSiteMemberWithCollaboratorRole() throws Exception
|
||||
{
|
||||
UserModel collaboratorForDelete = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(collaboratorForDelete, publicSiteModel, UserRole.SiteCollaborator);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer));
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).deleteSiteMember(collaboratorForDelete);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNPROCESSABLE_ENTITY)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.NOT_SUFFICIENT_PERMISSIONS, publicSiteModel.getId()));
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that manager can delete a site member with Collaborator role")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
public void siteManagerIsAbleToDeleteSiteMemberWithCollaboratorRole() throws Exception
|
||||
{
|
||||
UserModel collaboratorForDelete = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(collaboratorForDelete, publicSiteModel, UserRole.SiteCollaborator);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager))
|
||||
.withCoreAPI().usingSite(publicSiteModel).deleteSiteMember(collaboratorForDelete);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
|
||||
restClient.withCoreAPI().usingSite(publicSiteModel).getSiteMembers()
|
||||
.assertThat().entriesListDoesNotContain("id", collaboratorForDelete.getUsername());
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that admin can delete a site member with Contributor role and gets status code 204")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
public void adminIsAbleToDeleteSiteMemberWithContributorRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(publicSiteModel)
|
||||
.deleteSiteMember(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor));
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
dataUser.addUserToSite(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor), publicSiteModel, UserRole.SiteContributor);
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that admin can delete site member with Manager role and gets status code 204")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
public void aminIsAbleToDeleteSiteMemberWithManagerRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(publicSiteModel)
|
||||
.deleteSiteMember(usersWithRoles.getOneUserWithRole(UserRole.SiteManager));
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
dataUser.addUserToSite(usersWithRoles.getOneUserWithRole(UserRole.SiteManager), publicSiteModel, UserRole.SiteManager);
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that admin can delete site member with Consumer role and gets status code 204")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
public void adminIsAbleToDeleteSiteMemberWithConsumerRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(publicSiteModel)
|
||||
.deleteSiteMember(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer));
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
dataUser.addUserToSite(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer), publicSiteModel, UserRole.SiteConsumer);
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that admin can delete a site member with Collaborator role and gets status code 204")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
public void adminIsAbleToDeleteSiteMemberWithCollaboratorRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(publicSiteModel)
|
||||
.deleteSiteMember(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator));
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
dataUser.addUserToSite(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator), publicSiteModel, UserRole.SiteCollaborator);
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that admin can delete a site member of moderated site and gets status code 204")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
public void adminIsAbleToDeleteModeratedSiteMember() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
newMember.setUserRole(UserRole.SiteManager);
|
||||
dataUser.addUserToSite(newMember, moderatedSiteModel, UserRole.SiteManager);
|
||||
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(moderatedSiteModel).deleteSiteMember(newMember);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that admin can delete a site member of private site and gets status code 204")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
public void adminIsAbleToDeletePrivateSiteMember() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
newMember.setUserRole(UserRole.SiteManager);
|
||||
dataUser.addUserToSite(newMember, privateSiteModel, UserRole.SiteManager);
|
||||
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(privateSiteModel).deleteSiteMember(newMember);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that regular user can not delete admin and gets status code 422")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
public void regularUserIsNotAbleToDeleteASiteMember() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator)).withCoreAPI().usingSite(publicSiteModel)
|
||||
.deleteSiteMember(siteCreator);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNPROCESSABLE_ENTITY).assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.NOT_SUFFICIENT_PERMISSIONS, publicSiteModel.getTitle()))
|
||||
.containsErrorKey(RestErrorModel.API_DEFAULT_ERRORKEY)
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that admin can not delete a site member twice and gets status code 404 for the second attempt")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@Bug(id="ACE-5447")
|
||||
public void adminIsNotAbleToRemoveSiteMemberTwice() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(publicSiteModel)
|
||||
.deleteSiteMember(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor));
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(publicSiteModel)
|
||||
.deleteSiteMember(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor));
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError()
|
||||
.containsSummary(RestErrorModel.ENTITY_NOT_FOUND);
|
||||
dataUser.addUserToSite(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor), publicSiteModel, UserRole.SiteContributor);
|
||||
}
|
||||
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify admin is not able to remove from site a user that created a member request that was not accepted yet")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@Bug(id="ACE-5447")
|
||||
public void adminIsNotAbleToRemoveFromSiteANonExistingMember() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(publicSiteModel);
|
||||
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(moderatedSiteModel).deleteSiteMember(newMember);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError()
|
||||
.containsSummary(RestErrorModel.ENTITY_NOT_FOUND);
|
||||
}
|
||||
}
|
||||
@@ -1,209 +0,0 @@
|
||||
package org.alfresco.rest.sites.members;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.core.JsonBodyGenerator;
|
||||
import org.alfresco.rest.core.RestRequest;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.rest.model.RestSiteMemberModel;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser;
|
||||
import org.alfresco.utility.data.DataUser.ListUserWithRoles;
|
||||
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.HttpMethod;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
/**
|
||||
* Created by Claudia Agache on 11/29/2016.
|
||||
*/
|
||||
public class UpdateSiteMemberCoreTests extends RestTest
|
||||
{
|
||||
private UserModel adminUser, regularUser, anotherManager;
|
||||
private SiteModel publicSite;
|
||||
private ListUserWithRoles publicSiteUsers;
|
||||
private RestSiteMemberModel updatedMember;
|
||||
|
||||
@BeforeClass(alwaysRun=true)
|
||||
public void dataPreparation() throws Exception
|
||||
{
|
||||
adminUser = dataUser.getAdminUser();
|
||||
publicSite = dataSite.usingUser(adminUser).createPublicRandomSite();
|
||||
publicSiteUsers = dataUser.addUsersWithRolesToSite(publicSite, UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer,
|
||||
UserRole.SiteContributor);
|
||||
anotherManager = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(anotherManager, publicSite, UserRole.SiteManager);
|
||||
regularUser = dataUser.createRandomTestUser();
|
||||
regularUser.setUserRole(UserRole.SiteConsumer);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if update site member request returns status code 404 when nonexistent siteId is used")
|
||||
public void updateSiteMemberOfNonexistentSite() throws Exception
|
||||
{
|
||||
SiteModel deletedSite = dataSite.usingUser(adminUser).createPublicRandomSite();
|
||||
dataUser.addUserToSite(regularUser, deletedSite, UserRole.SiteConsumer);
|
||||
dataSite.deleteSite(deletedSite);
|
||||
|
||||
restClient.authenticateUser(adminUser).withCoreAPI()
|
||||
.usingSite(deletedSite).updateSiteMember(regularUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, deletedSite.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if update site member request returns status code 400 when personId is not member of the site")
|
||||
public void updateNotASiteMember() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUser).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(regularUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary("User is not a member of the site");
|
||||
}
|
||||
|
||||
// @Bug(id="REPO-1642", description = "reproduced on 5.2.1 only, it works on 5.2.0")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if update site member request returns status code 404 when personId does not exist")
|
||||
public void updateNonexistentSiteMember() throws Exception
|
||||
{
|
||||
UserModel nonexistentUser = new UserModel("nonexistentUser", DataUser.PASSWORD);
|
||||
nonexistentUser.setUserRole(UserRole.SiteContributor);
|
||||
restClient.authenticateUser(adminUser).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(nonexistentUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, nonexistentUser.getUsername()));
|
||||
}
|
||||
|
||||
@Bug(id="REPO-1941")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if a manager is able to downgrade to contributor using -me- string in place of personId.")
|
||||
public void updateSiteManagerToSiteContributorUsingMe() throws Exception
|
||||
{
|
||||
UserModel meManager = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(meManager, publicSite, UserRole.SiteManager);
|
||||
UserModel meUser = new UserModel("-me-", "password");
|
||||
meUser.setUserRole(UserRole.SiteContributor);
|
||||
updatedMember = restClient.authenticateUser(meManager).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(meUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(meManager.getUsername())
|
||||
.and().field("role").is(meUser.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if update site member request returns status code 404 when empty siteId is used")
|
||||
public void updateSiteMemberUsingEmptySiteId() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUser).withCoreAPI()
|
||||
.usingSite("").updateSiteMember(regularUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, ""));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if update site member request returns status code 405 when empty personId is used")
|
||||
public void updateSiteMemberUsingEmptyPersonId() throws Exception
|
||||
{
|
||||
UserModel emptyUser = new UserModel("", DataUser.PASSWORD);
|
||||
emptyUser.setUserRole(UserRole.SiteCollaborator);
|
||||
restClient.authenticateUser(adminUser).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(emptyUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.METHOD_NOT_ALLOWED)
|
||||
.assertLastError().containsSummary(RestErrorModel.PUT_EMPTY_ARGUMENT);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if update site member request returns status code 400 when invalid role is used")
|
||||
public void updateSiteMemberUsingInvalidRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(anotherManager).withCoreAPI();
|
||||
UserModel siteConsumer = publicSiteUsers.getOneUserWithRole(UserRole.SiteConsumer);
|
||||
String json = JsonBodyGenerator.keyValueJson("role","invalidRole");
|
||||
RestRequest request = RestRequest.requestWithBody(HttpMethod.PUT, json, "sites/{siteId}/members/{personId}", publicSite.getId(), siteConsumer.getUsername());
|
||||
restClient.processModel(RestSiteMemberModel.class, request);
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.UNKNOWN_ROLE, "invalidRole"));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to update another site manager to site collaborator")
|
||||
public void managerUpdateSiteManagerToSiteCollaborator() throws Exception
|
||||
{
|
||||
UserModel siteManager = publicSiteUsers.getOneUserWithRole(UserRole.SiteManager);
|
||||
siteManager.setUserRole(UserRole.SiteCollaborator);
|
||||
updatedMember = restClient.authenticateUser(anotherManager).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(siteManager);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteManager.getUsername())
|
||||
.and().field("role").is(siteManager.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to update site contributor to site manager")
|
||||
public void managerUpdateSiteContributorToSiteManager() throws Exception
|
||||
{
|
||||
UserModel siteContributor = publicSiteUsers.getOneUserWithRole(UserRole.SiteContributor);
|
||||
siteContributor.setUserRole(UserRole.SiteManager);
|
||||
updatedMember = restClient.authenticateUser(anotherManager).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(siteContributor);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteContributor.getUsername())
|
||||
.and().field("role").is(siteContributor.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to update site collaborator to site manager")
|
||||
public void managerUpdateSiteCollaboratorToSiteManager() throws Exception
|
||||
{
|
||||
UserModel siteCollaborator = publicSiteUsers.getOneUserWithRole(UserRole.SiteCollaborator);
|
||||
siteCollaborator.setUserRole(UserRole.SiteManager);
|
||||
updatedMember = restClient.authenticateUser(anotherManager).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(siteCollaborator);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteCollaborator.getUsername())
|
||||
.and().field("role").is(siteCollaborator.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to update site consumer to site manager")
|
||||
public void managerUpdateSiteConsumerToSiteManager() throws Exception
|
||||
{
|
||||
UserModel siteConsumer = publicSiteUsers.getOneUserWithRole(UserRole.SiteConsumer);
|
||||
siteConsumer.setUserRole(UserRole.SiteManager);
|
||||
updatedMember = restClient.authenticateUser(anotherManager).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(siteConsumer);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteConsumer.getUsername())
|
||||
.and().field("role").is(siteConsumer.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.CORE })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to downgrade himself to site consumer")
|
||||
public void managerDowngradeHimselfToSiteConsumer() throws Exception
|
||||
{
|
||||
UserModel siteManager = publicSiteUsers.getOneUserWithRole(UserRole.SiteManager);
|
||||
siteManager.setUserRole(UserRole.SiteConsumer);
|
||||
updatedMember = restClient.authenticateUser(siteManager).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(siteManager);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteManager.getUsername())
|
||||
.and().field("role").is(siteManager.getUserRole());
|
||||
}
|
||||
}
|
||||
@@ -1,279 +0,0 @@
|
||||
package org.alfresco.rest.sites.members;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.core.RestRequest;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.rest.model.RestSiteMemberModel;
|
||||
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.HttpMethod;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
public class UpdateSiteMemberFullTests extends RestTest
|
||||
{
|
||||
private UserModel adminUser, anotherManager;
|
||||
private SiteModel publicSite, moderatedSite, privateSite;
|
||||
private RestSiteMemberModel updatedMember;
|
||||
|
||||
@BeforeClass(alwaysRun=true)
|
||||
public void dataPreparation() throws Exception
|
||||
{
|
||||
adminUser = dataUser.getAdminUser();
|
||||
publicSite = dataSite.usingUser(adminUser).createPublicRandomSite();
|
||||
moderatedSite = dataSite.usingUser(adminUser).createModeratedRandomSite();
|
||||
privateSite = dataSite.usingUser(adminUser).createPrivateRandomSite();
|
||||
anotherManager = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(anotherManager, publicSite, UserRole.SiteManager);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to update another site manager to site contributor")
|
||||
public void managerUpdateSiteManagerToSiteContributor() throws Exception
|
||||
{
|
||||
UserModel siteManager = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(siteManager, publicSite, UserRole.SiteManager);
|
||||
|
||||
siteManager.setUserRole(UserRole.SiteContributor);
|
||||
updatedMember = restClient.authenticateUser(anotherManager).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(siteManager);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteManager.getUsername()).and().field("role").is(siteManager.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to update another site manager to site consumer")
|
||||
public void managerUpdateSiteManagerToSiteConsumer() throws Exception
|
||||
{
|
||||
UserModel siteManager = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(siteManager, publicSite, UserRole.SiteManager);
|
||||
|
||||
siteManager.setUserRole(UserRole.SiteConsumer);
|
||||
updatedMember = restClient.authenticateUser(anotherManager).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(siteManager);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteManager.getUsername()).and().field("role").is(siteManager.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to update site contributor to site collaborator")
|
||||
public void managerUpdateSiteContributorToSiteCollaborator() throws Exception
|
||||
{
|
||||
UserModel siteContributor = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(siteContributor, publicSite, UserRole.SiteContributor);
|
||||
|
||||
siteContributor.setUserRole(UserRole.SiteCollaborator);
|
||||
updatedMember = restClient.authenticateUser(anotherManager).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(siteContributor);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteContributor.getUsername()).and().field("role").is(siteContributor.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to update site contributor to site consumer")
|
||||
public void managerUpdateSiteContributorToSiteConsumer() throws Exception
|
||||
{
|
||||
UserModel siteContributor = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(siteContributor, publicSite, UserRole.SiteContributor);
|
||||
|
||||
siteContributor.setUserRole(UserRole.SiteConsumer);
|
||||
updatedMember = restClient.authenticateUser(anotherManager).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(siteContributor);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteContributor.getUsername()).and().field("role").is(siteContributor.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to update site collaborator to site contributor")
|
||||
public void managerUpdateSiteCollaboratorToSiteContributor() throws Exception
|
||||
{
|
||||
UserModel siteCollaborator = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(siteCollaborator, publicSite, UserRole.SiteCollaborator);
|
||||
|
||||
siteCollaborator.setUserRole(UserRole.SiteContributor);
|
||||
updatedMember = restClient.authenticateUser(anotherManager).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(siteCollaborator);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteCollaborator.getUsername()).and().field("role").is(siteCollaborator.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to update site collaborator to site consumer")
|
||||
public void managerUpdateSiteCollaboratorToSiteConsumer() throws Exception
|
||||
{
|
||||
UserModel siteCollaborator = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(siteCollaborator, publicSite, UserRole.SiteCollaborator);
|
||||
|
||||
siteCollaborator.setUserRole(UserRole.SiteConsumer);
|
||||
updatedMember = restClient.authenticateUser(anotherManager).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(siteCollaborator);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteCollaborator.getUsername()).and().field("role").is(siteCollaborator.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to update site consumer to site collaborator")
|
||||
public void managerUpdateSiteConsumerToSiteCollaborator() throws Exception
|
||||
{
|
||||
UserModel siteConsumer = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(siteConsumer, publicSite, UserRole.SiteConsumer);
|
||||
|
||||
siteConsumer.setUserRole(UserRole.SiteCollaborator);
|
||||
updatedMember = restClient.authenticateUser(anotherManager).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(siteConsumer);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteConsumer.getUsername()).and().field("role").is(siteConsumer.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to update site consumer to site contributor")
|
||||
public void managerUpdateSiteConsumerToSiteContributor() throws Exception
|
||||
{
|
||||
UserModel siteConsumer = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(siteConsumer, publicSite, UserRole.SiteConsumer);
|
||||
|
||||
siteConsumer.setUserRole(UserRole.SiteContributor);
|
||||
updatedMember = restClient.authenticateUser(anotherManager).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(siteConsumer);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteConsumer.getUsername()).and().field("role").is(siteConsumer.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to update another site manager to site manager")
|
||||
public void managerUpdateSiteManagerToSiteManager() throws Exception
|
||||
{
|
||||
UserModel siteManager = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(siteManager, publicSite, UserRole.SiteManager);
|
||||
|
||||
siteManager.setUserRole(UserRole.SiteManager);
|
||||
updatedMember = restClient.authenticateUser(anotherManager).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(siteManager);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteManager.getUsername()).and().field("role").is(siteManager.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to update site collaborator to site collaborator")
|
||||
public void managerUpdateSiteCollaboratorToSiteCollaborator() throws Exception
|
||||
{
|
||||
UserModel siteCollaborator = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(siteCollaborator, publicSite, UserRole.SiteCollaborator);
|
||||
|
||||
siteCollaborator.setUserRole(UserRole.SiteCollaborator);
|
||||
updatedMember = restClient.authenticateUser(anotherManager).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(siteCollaborator);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteCollaborator.getUsername()).and().field("role").is(siteCollaborator.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to update site contributor to site contributor")
|
||||
public void managerUpdateSiteContributorToSiteContributor() throws Exception
|
||||
{
|
||||
UserModel siteContributor = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(siteContributor, publicSite, UserRole.SiteContributor);
|
||||
|
||||
siteContributor.setUserRole(UserRole.SiteContributor);
|
||||
updatedMember = restClient.authenticateUser(anotherManager).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(siteContributor);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteContributor.getUsername()).and().field("role").is(siteContributor.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to update site consumer to site consumer")
|
||||
public void managerUpdateSiteConsumerToSiteConsumer() throws Exception
|
||||
{
|
||||
UserModel siteConsumer = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(siteConsumer, publicSite, UserRole.SiteConsumer);
|
||||
|
||||
siteConsumer.setUserRole(UserRole.SiteConsumer);
|
||||
updatedMember = restClient.authenticateUser(anotherManager).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(siteConsumer);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteConsumer.getUsername()).and().field("role").is(siteConsumer.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager of a private site is able to downgrade his role")
|
||||
public void privateSiteManagerDowngradesRole() throws Exception
|
||||
{
|
||||
UserModel siteManager = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(siteManager, privateSite, UserRole.SiteManager);
|
||||
|
||||
siteManager.setUserRole(UserRole.SiteConsumer);
|
||||
updatedMember = restClient.authenticateUser(siteManager).withCoreAPI()
|
||||
.usingSite(privateSite).updateSiteMember(siteManager);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteManager.getUsername()).and().field("role").is(siteManager.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager of a moderated site is able to downgrade his role")
|
||||
public void moderatedSiteManagerDowngradesRole() throws Exception
|
||||
{
|
||||
UserModel siteManager = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(siteManager, moderatedSite, UserRole.SiteManager);
|
||||
|
||||
siteManager.setUserRole(UserRole.SiteConsumer);
|
||||
updatedMember = restClient.authenticateUser(siteManager).withCoreAPI()
|
||||
.usingSite(moderatedSite).updateSiteMember(siteManager);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteManager.getUsername()).and().field("role").is(siteManager.getUserRole());
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.FAVORITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify the response of updating a site member with empty body at request")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.FAVORITES, TestGroup.FULL })
|
||||
public void verifyManagerCanNotUpdateSiteMemberWithEmptyBody() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(anotherManager).withCoreAPI();
|
||||
UserModel siteCollaborator = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(siteCollaborator, publicSite, UserRole.SiteCollaborator);
|
||||
siteCollaborator.setUserRole(UserRole.SiteConsumer);
|
||||
|
||||
RestRequest request = RestRequest.requestWithBody(HttpMethod.PUT, "", "sites/{siteId}/members/{personId}", publicSite.getId(), siteCollaborator.getUsername());
|
||||
restClient.processModel(RestSiteMemberModel.class, request);
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST).assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.NO_CONTENT, "No content to map to Object due to end of input"))
|
||||
.containsErrorKey(String.format(RestErrorModel.NO_CONTENT, "No content to map to Object due to end of input"))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to update a user that has created a site membership request, but it's not a member of the site yet")
|
||||
public void verifyManagerCanNotUpdateUserWithSiteMembershipRequest() throws Exception
|
||||
{
|
||||
UserModel siteConsumer = dataUser.createRandomTestUser();
|
||||
siteConsumer.setUserRole(UserRole.SiteConsumer);
|
||||
restClient.authenticateUser(siteConsumer).withCoreAPI().usingUser(siteConsumer).addSiteMembershipRequest(moderatedSite);
|
||||
|
||||
updatedMember = restClient.authenticateUser(anotherManager).withCoreAPI()
|
||||
.usingSite(moderatedSite).updateSiteMember(siteConsumer);
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST).assertLastError()
|
||||
.containsSummary(RestErrorModel.NOT_A_MEMBER);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,138 +0,0 @@
|
||||
package org.alfresco.rest.sites.members;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser.ListUserWithRoles;
|
||||
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;
|
||||
|
||||
public class UpdateSiteMemberSanityTests extends RestTest
|
||||
{
|
||||
private UserModel adminUserModel;
|
||||
private SiteModel siteModel;
|
||||
private ListUserWithRoles usersWithRoles;
|
||||
private UserModel testUserModel;
|
||||
|
||||
@BeforeClass(alwaysRun=true)
|
||||
public void dataPreparation() throws Exception
|
||||
{
|
||||
adminUserModel = dataUser.getAdminUser();
|
||||
siteModel = dataSite.usingUser(adminUserModel).createPublicRandomSite();
|
||||
usersWithRoles = dataUser.addUsersWithRolesToSite(siteModel, UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer,
|
||||
UserRole.SiteContributor);
|
||||
testUserModel = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(testUserModel, siteModel, UserRole.SiteConsumer);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify that manager is able to update site member and gets status code OK (200)")
|
||||
public void managerIsAbleToUpdateSiteMember() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager));
|
||||
testUserModel.setUserRole(UserRole.SiteConsumer);
|
||||
restClient.withCoreAPI().usingSite(siteModel).updateSiteMember(testUserModel)
|
||||
.assertThat().field("id").is(testUserModel.getUsername())
|
||||
.and().field("role").is(testUserModel.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify that collaborator is not able to update site member and gets status code FORBIDDEN (403)")
|
||||
public void collaboratorIsNotAbleToUpdateSiteMember() throws Exception
|
||||
{
|
||||
UserModel testUserModel = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(testUserModel, siteModel, UserRole.SiteConsumer);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator));
|
||||
testUserModel.setUserRole(UserRole.SiteCollaborator);
|
||||
restClient.withCoreAPI().usingSite(siteModel).updateSiteMember(testUserModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNPROCESSABLE_ENTITY);
|
||||
restClient.assertLastError()
|
||||
.containsSummary(String.format("The current user does not have permissions to modify the membership details of the site %s.", siteModel.getTitle()));
|
||||
}
|
||||
|
||||
@Bug(id = "REPO-1832")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify that collaborator is not able to update site member and gets status code FORBIDDEN (403)")
|
||||
public void collaboratorIsNotAbleToUpdateSiteMemberWithTheSameRole() throws Exception
|
||||
{
|
||||
UserModel testUserModel = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(testUserModel, siteModel, UserRole.SiteConsumer);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator));
|
||||
testUserModel.setUserRole(UserRole.SiteConsumer);
|
||||
restClient.withCoreAPI().usingSite(siteModel).updateSiteMember(testUserModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNPROCESSABLE_ENTITY);
|
||||
restClient.assertLastError()
|
||||
.containsSummary(String.format("The current user does not have permissions to modify the membership details of the site %s.", siteModel.getTitle()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify that contributor is not able to update site member and gets status code FORBIDDEN (403)")
|
||||
public void contributorIsNotAbleToUpdateSiteMember() throws Exception
|
||||
{
|
||||
UserModel testUserModel = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(testUserModel, siteModel, UserRole.SiteConsumer);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor));
|
||||
testUserModel.setUserRole(UserRole.SiteCollaborator);
|
||||
restClient.withCoreAPI().usingSite(siteModel).updateSiteMember(testUserModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNPROCESSABLE_ENTITY);
|
||||
restClient.assertLastError()
|
||||
.containsSummary(String.format("The current user does not have permissions to modify the membership details of the site %s.", siteModel.getTitle()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify that consumer is not able to update site member and gets status code FORBIDDEN (403)")
|
||||
public void consumerIsNotAbleToUpdateSiteMember() throws Exception
|
||||
{
|
||||
UserModel testUserModel = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(testUserModel, siteModel, UserRole.SiteConsumer);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer));
|
||||
testUserModel.setUserRole(UserRole.SiteCollaborator);
|
||||
restClient.withCoreAPI().usingSite(siteModel).updateSiteMember(testUserModel);
|
||||
restClient.assertLastError()
|
||||
.containsSummary(String.format("The current user does not have permissions to modify the membership details of the site %s.", siteModel.getTitle()));
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNPROCESSABLE_ENTITY);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify that admin is able to update site member and gets status code OK (200)")
|
||||
public void adminIsAbleToUpdateSiteMember() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel);
|
||||
testUserModel.setUserRole(UserRole.SiteCollaborator);
|
||||
restClient.withCoreAPI().usingSite(siteModel).updateSiteMember(testUserModel)
|
||||
.assertThat().field("id").is(testUserModel.getUsername())
|
||||
.and().field("role").is(testUserModel.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify that unauthenticated user is not able to update site member")
|
||||
@Bug(id="MNT-16904", description = "It fails only on environment with tenants")
|
||||
public void unauthenticatedUserIsNotAuthorizedToUpdateSiteMmeber() throws Exception{
|
||||
UserModel inexistentUser = new UserModel("inexistent user", "inexistent password");
|
||||
restClient.authenticateUser(inexistentUser);
|
||||
testUserModel.setUserRole(UserRole.SiteCollaborator);
|
||||
restClient.withCoreAPI().usingSite(siteModel).updateSiteMember(testUserModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED).assertLastError()
|
||||
.containsSummary(RestErrorModel.AUTHENTICATION_FAILED);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,546 @@
|
||||
package org.alfresco.rest.sites.members;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.core.JsonBodyGenerator;
|
||||
import org.alfresco.rest.core.RestRequest;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.rest.model.RestSiteMemberModel;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser;
|
||||
import org.alfresco.utility.data.DataUser.ListUserWithRoles;
|
||||
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.HttpMethod;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
public class UpdateSiteMemberTests extends RestTest
|
||||
{
|
||||
private UserModel adminUser, siteCreator, regularUser;
|
||||
private SiteModel publicSite, moderatedSite, privateSite;
|
||||
private ListUserWithRoles publicSiteUsers;
|
||||
private UserModel userToBeUpdated;
|
||||
private RestSiteMemberModel updatedMember;
|
||||
|
||||
@BeforeClass(alwaysRun=true)
|
||||
public void dataPreparation() throws Exception
|
||||
{
|
||||
adminUser = dataUser.getAdminUser();
|
||||
siteCreator = dataUser.createRandomTestUser();
|
||||
publicSite = dataSite.usingUser(siteCreator).createPublicRandomSite();
|
||||
moderatedSite = dataSite.usingUser(siteCreator).createModeratedRandomSite();
|
||||
privateSite = dataSite.usingUser(siteCreator).createPrivateRandomSite();
|
||||
publicSiteUsers = dataUser.addUsersWithRolesToSite(publicSite, UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer,
|
||||
UserRole.SiteContributor);
|
||||
|
||||
regularUser = dataUser.createRandomTestUser();
|
||||
regularUser.setUserRole(UserRole.SiteConsumer);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that collaborator is not able to update site member and gets status code FORBIDDEN (403)")
|
||||
public void collaboratorIsNotAbleToUpdateSiteMember() throws Exception
|
||||
{
|
||||
userToBeUpdated = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(userToBeUpdated, publicSite, UserRole.SiteConsumer);
|
||||
userToBeUpdated.setUserRole(UserRole.SiteCollaborator);
|
||||
restClient.authenticateUser(publicSiteUsers.getOneUserWithRole(UserRole.SiteCollaborator));
|
||||
restClient.withCoreAPI().usingSite(publicSite).updateSiteMember(userToBeUpdated);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNPROCESSABLE_ENTITY);
|
||||
restClient.assertLastError()
|
||||
.containsSummary(String.format("The current user does not have permissions to modify the membership details of the site %s.", publicSite.getTitle()));
|
||||
}
|
||||
|
||||
@Bug(id = "REPO-1832")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that collaborator is not able to update site member and gets status code FORBIDDEN (403)")
|
||||
public void collaboratorIsNotAbleToUpdateSiteMemberWithTheSameRole() throws Exception
|
||||
{
|
||||
userToBeUpdated = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(userToBeUpdated, publicSite, UserRole.SiteConsumer);
|
||||
userToBeUpdated.setUserRole(UserRole.SiteConsumer);
|
||||
restClient.authenticateUser(publicSiteUsers.getOneUserWithRole(UserRole.SiteCollaborator));
|
||||
restClient.withCoreAPI().usingSite(publicSite).updateSiteMember(userToBeUpdated);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNPROCESSABLE_ENTITY);
|
||||
restClient.assertLastError()
|
||||
.containsSummary(String.format("The current user does not have permissions to modify the membership details of the site %s.", publicSite.getTitle()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that contributor is not able to update site member and gets status code FORBIDDEN (403)")
|
||||
public void contributorIsNotAbleToUpdateSiteMember() throws Exception
|
||||
{
|
||||
userToBeUpdated = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(userToBeUpdated, publicSite, UserRole.SiteConsumer);
|
||||
userToBeUpdated.setUserRole(UserRole.SiteCollaborator);
|
||||
restClient.authenticateUser(publicSiteUsers.getOneUserWithRole(UserRole.SiteContributor));
|
||||
restClient.withCoreAPI().usingSite(publicSite).updateSiteMember(userToBeUpdated);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNPROCESSABLE_ENTITY);
|
||||
restClient.assertLastError()
|
||||
.containsSummary(String.format("The current user does not have permissions to modify the membership details of the site %s.", publicSite.getTitle()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that consumer is not able to update site member and gets status code FORBIDDEN (403)")
|
||||
public void consumerIsNotAbleToUpdateSiteMember() throws Exception
|
||||
{
|
||||
userToBeUpdated = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(userToBeUpdated, publicSite, UserRole.SiteConsumer);
|
||||
userToBeUpdated.setUserRole(UserRole.SiteCollaborator);
|
||||
restClient.authenticateUser(publicSiteUsers.getOneUserWithRole(UserRole.SiteConsumer));
|
||||
restClient.withCoreAPI().usingSite(publicSite).updateSiteMember(userToBeUpdated);
|
||||
restClient.assertLastError()
|
||||
.containsSummary(String.format("The current user does not have permissions to modify the membership details of the site %s.", publicSite.getTitle()));
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNPROCESSABLE_ENTITY);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that admin is able to update site member and gets status code OK (200)")
|
||||
public void adminIsAbleToUpdateSiteMember() throws Exception
|
||||
{
|
||||
userToBeUpdated = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(userToBeUpdated, publicSite, UserRole.SiteConsumer);
|
||||
userToBeUpdated.setUserRole(UserRole.SiteCollaborator);
|
||||
restClient.authenticateUser(adminUser);
|
||||
restClient.withCoreAPI().usingSite(publicSite).updateSiteMember(userToBeUpdated)
|
||||
.assertThat().field("id").is(userToBeUpdated.getUsername())
|
||||
.and().field("role").is(userToBeUpdated.getUserRole());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section = {TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify that unauthenticated user is not able to update site member")
|
||||
// @Bug(id="MNT-16904", description = "It fails only on environment with tenants")
|
||||
public void unauthenticatedUserIsNotAuthorizedToUpdateSiteMmeber() throws Exception
|
||||
{
|
||||
userToBeUpdated = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(userToBeUpdated, publicSite, UserRole.SiteConsumer);
|
||||
userToBeUpdated.setUserRole(UserRole.SiteCollaborator);
|
||||
UserModel inexistentUser = new UserModel("inexistent user", "inexistent password");
|
||||
restClient.authenticateUser(inexistentUser);
|
||||
restClient.withCoreAPI().usingSite(publicSite).updateSiteMember(userToBeUpdated);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED).assertLastError()
|
||||
.containsSummary(RestErrorModel.AUTHENTICATION_FAILED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if update site member request returns status code 404 when nonexistent siteId is used")
|
||||
public void updateSiteMemberOfNonexistentSite() throws Exception
|
||||
{
|
||||
SiteModel deletedSite = dataSite.usingUser(adminUser).createPublicRandomSite();
|
||||
dataUser.addUserToSite(regularUser, deletedSite, UserRole.SiteConsumer);
|
||||
dataSite.deleteSite(deletedSite);
|
||||
|
||||
restClient.authenticateUser(adminUser).withCoreAPI()
|
||||
.usingSite(deletedSite).updateSiteMember(regularUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, deletedSite.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if update site member request returns status code 400 when personId is not member of the site")
|
||||
public void updateNotASiteMember() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUser).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(regularUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary("User is not a member of the site");
|
||||
}
|
||||
|
||||
// @Bug(id="REPO-1642", description = "reproduced on 5.2.1 only, it works on 5.2.0")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if update site member request returns status code 404 when personId does not exist")
|
||||
public void updateNonexistentSiteMember() throws Exception
|
||||
{
|
||||
UserModel nonexistentUser = new UserModel("nonexistentUser", DataUser.PASSWORD);
|
||||
nonexistentUser.setUserRole(UserRole.SiteContributor);
|
||||
restClient.authenticateUser(adminUser).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(nonexistentUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, nonexistentUser.getUsername()));
|
||||
}
|
||||
|
||||
@Bug(id="REPO-1941")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if a manager is able to downgrade to contributor using -me- string in place of personId.")
|
||||
public void updateSiteManagerToSiteContributorUsingMe() throws Exception
|
||||
{
|
||||
UserModel meManager = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(meManager, publicSite, UserRole.SiteManager);
|
||||
UserModel meUser = new UserModel("-me-", "password");
|
||||
meUser.setUserRole(UserRole.SiteContributor);
|
||||
updatedMember = restClient.authenticateUser(meManager).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(meUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(meManager.getUsername())
|
||||
.and().field("role").is(meUser.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if update site member request returns status code 404 when empty siteId is used")
|
||||
public void updateSiteMemberUsingEmptySiteId() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUser).withCoreAPI()
|
||||
.usingSite("").updateSiteMember(regularUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, ""));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if update site member request returns status code 405 when empty personId is used")
|
||||
public void updateSiteMemberUsingEmptyPersonId() throws Exception
|
||||
{
|
||||
UserModel emptyUser = new UserModel("", DataUser.PASSWORD);
|
||||
emptyUser.setUserRole(UserRole.SiteCollaborator);
|
||||
restClient.authenticateUser(adminUser).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(emptyUser);
|
||||
restClient.assertStatusCodeIs(HttpStatus.METHOD_NOT_ALLOWED)
|
||||
.assertLastError().containsSummary(RestErrorModel.PUT_EMPTY_ARGUMENT);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if update site member request returns status code 400 when invalid role is used")
|
||||
public void updateSiteMemberUsingInvalidRole() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(siteCreator).withCoreAPI();
|
||||
UserModel siteConsumer = publicSiteUsers.getOneUserWithRole(UserRole.SiteConsumer);
|
||||
String json = JsonBodyGenerator.keyValueJson("role","invalidRole");
|
||||
RestRequest request = RestRequest.requestWithBody(HttpMethod.PUT, json, "sites/{siteId}/members/{personId}", publicSite.getId(), siteConsumer.getUsername());
|
||||
restClient.processModel(RestSiteMemberModel.class, request);
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.UNKNOWN_ROLE, "invalidRole"));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to update another site manager to site collaborator")
|
||||
public void managerUpdateSiteManagerToSiteCollaborator() throws Exception
|
||||
{
|
||||
UserModel siteManager = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(siteManager, publicSite, UserRole.SiteManager);
|
||||
siteManager.setUserRole(UserRole.SiteCollaborator);
|
||||
updatedMember = restClient.authenticateUser(siteCreator).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(siteManager);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteManager.getUsername())
|
||||
.and().field("role").is(siteManager.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to update site contributor to site manager")
|
||||
public void managerUpdateSiteContributorToSiteManager() throws Exception
|
||||
{
|
||||
UserModel siteContributor = publicSiteUsers.getOneUserWithRole(UserRole.SiteContributor);
|
||||
siteContributor.setUserRole(UserRole.SiteManager);
|
||||
updatedMember = restClient.authenticateUser(siteCreator).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(siteContributor);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteContributor.getUsername())
|
||||
.and().field("role").is(siteContributor.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to update site collaborator to site manager")
|
||||
public void managerUpdateSiteCollaboratorToSiteManager() throws Exception
|
||||
{
|
||||
UserModel siteCollaborator = publicSiteUsers.getOneUserWithRole(UserRole.SiteCollaborator);
|
||||
siteCollaborator.setUserRole(UserRole.SiteManager);
|
||||
updatedMember = restClient.authenticateUser(siteCreator).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(siteCollaborator);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteCollaborator.getUsername())
|
||||
.and().field("role").is(siteCollaborator.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.SANITY })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.SANITY,
|
||||
description= "Verify if manager is able to update site consumer to site manager")
|
||||
public void managerUpdateSiteConsumerToSiteManager() throws Exception
|
||||
{
|
||||
UserModel siteConsumer = publicSiteUsers.getOneUserWithRole(UserRole.SiteConsumer);
|
||||
siteConsumer.setUserRole(UserRole.SiteManager);
|
||||
updatedMember = restClient.authenticateUser(siteCreator).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(siteConsumer);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteConsumer.getUsername())
|
||||
.and().field("role").is(siteConsumer.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.REGRESSION })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to downgrade himself to site consumer")
|
||||
public void publicSiteManagerDowngradesRole() throws Exception
|
||||
{
|
||||
UserModel siteManager = publicSiteUsers.getOneUserWithRole(UserRole.SiteManager);
|
||||
siteManager.setUserRole(UserRole.SiteConsumer);
|
||||
updatedMember = restClient.authenticateUser(siteManager).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(siteManager);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteManager.getUsername())
|
||||
.and().field("role").is(siteManager.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to update another site manager to site contributor")
|
||||
public void managerUpdateSiteManagerToSiteContributor() throws Exception
|
||||
{
|
||||
UserModel siteManager = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(siteManager, publicSite, UserRole.SiteManager);
|
||||
|
||||
siteManager.setUserRole(UserRole.SiteContributor);
|
||||
updatedMember = restClient.authenticateUser(siteCreator).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(siteManager);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteManager.getUsername()).and().field("role").is(siteManager.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to update another site manager to site consumer")
|
||||
public void managerUpdateSiteManagerToSiteConsumer() throws Exception
|
||||
{
|
||||
UserModel siteManager = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(siteManager, publicSite, UserRole.SiteManager);
|
||||
|
||||
siteManager.setUserRole(UserRole.SiteConsumer);
|
||||
updatedMember = restClient.authenticateUser(siteCreator).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(siteManager);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteManager.getUsername()).and().field("role").is(siteManager.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to update site contributor to site collaborator")
|
||||
public void managerUpdateSiteContributorToSiteCollaborator() throws Exception
|
||||
{
|
||||
UserModel siteContributor = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(siteContributor, publicSite, UserRole.SiteContributor);
|
||||
|
||||
siteContributor.setUserRole(UserRole.SiteCollaborator);
|
||||
updatedMember = restClient.authenticateUser(siteCreator).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(siteContributor);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteContributor.getUsername()).and().field("role").is(siteContributor.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to update site contributor to site consumer")
|
||||
public void managerUpdateSiteContributorToSiteConsumer() throws Exception
|
||||
{
|
||||
UserModel siteContributor = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(siteContributor, publicSite, UserRole.SiteContributor);
|
||||
|
||||
siteContributor.setUserRole(UserRole.SiteConsumer);
|
||||
updatedMember = restClient.authenticateUser(siteCreator).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(siteContributor);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteContributor.getUsername()).and().field("role").is(siteContributor.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to update site collaborator to site contributor")
|
||||
public void managerUpdateSiteCollaboratorToSiteContributor() throws Exception
|
||||
{
|
||||
UserModel siteCollaborator = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(siteCollaborator, publicSite, UserRole.SiteCollaborator);
|
||||
|
||||
siteCollaborator.setUserRole(UserRole.SiteContributor);
|
||||
updatedMember = restClient.authenticateUser(siteCreator).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(siteCollaborator);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteCollaborator.getUsername()).and().field("role").is(siteCollaborator.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to update site collaborator to site consumer")
|
||||
public void managerUpdateSiteCollaboratorToSiteConsumer() throws Exception
|
||||
{
|
||||
UserModel siteCollaborator = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(siteCollaborator, publicSite, UserRole.SiteCollaborator);
|
||||
|
||||
siteCollaborator.setUserRole(UserRole.SiteConsumer);
|
||||
updatedMember = restClient.authenticateUser(siteCreator).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(siteCollaborator);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteCollaborator.getUsername()).and().field("role").is(siteCollaborator.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to update site consumer to site collaborator")
|
||||
public void managerUpdateSiteConsumerToSiteCollaborator() throws Exception
|
||||
{
|
||||
UserModel siteConsumer = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(siteConsumer, publicSite, UserRole.SiteConsumer);
|
||||
|
||||
siteConsumer.setUserRole(UserRole.SiteCollaborator);
|
||||
updatedMember = restClient.authenticateUser(siteCreator).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(siteConsumer);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteConsumer.getUsername()).and().field("role").is(siteConsumer.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to update site consumer to site contributor")
|
||||
public void managerUpdateSiteConsumerToSiteContributor() throws Exception
|
||||
{
|
||||
UserModel siteConsumer = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(siteConsumer, publicSite, UserRole.SiteConsumer);
|
||||
|
||||
siteConsumer.setUserRole(UserRole.SiteContributor);
|
||||
updatedMember = restClient.authenticateUser(siteCreator).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(siteConsumer);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteConsumer.getUsername()).and().field("role").is(siteConsumer.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to update another site manager to site manager")
|
||||
public void managerUpdateSiteManagerToSiteManager() throws Exception
|
||||
{
|
||||
UserModel siteManager = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(siteManager, publicSite, UserRole.SiteManager);
|
||||
|
||||
siteManager.setUserRole(UserRole.SiteManager);
|
||||
updatedMember = restClient.authenticateUser(siteCreator).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(siteManager);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteManager.getUsername()).and().field("role").is(siteManager.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to update site collaborator to site collaborator")
|
||||
public void managerUpdateSiteCollaboratorToSiteCollaborator() throws Exception
|
||||
{
|
||||
UserModel siteCollaborator = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(siteCollaborator, publicSite, UserRole.SiteCollaborator);
|
||||
|
||||
siteCollaborator.setUserRole(UserRole.SiteCollaborator);
|
||||
updatedMember = restClient.authenticateUser(siteCreator).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(siteCollaborator);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteCollaborator.getUsername()).and().field("role").is(siteCollaborator.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to update site contributor to site contributor")
|
||||
public void managerUpdateSiteContributorToSiteContributor() throws Exception
|
||||
{
|
||||
UserModel siteContributor = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(siteContributor, publicSite, UserRole.SiteContributor);
|
||||
|
||||
siteContributor.setUserRole(UserRole.SiteContributor);
|
||||
updatedMember = restClient.authenticateUser(siteCreator).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(siteContributor);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteContributor.getUsername()).and().field("role").is(siteContributor.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to update site consumer to site consumer")
|
||||
public void managerUpdateSiteConsumerToSiteConsumer() throws Exception
|
||||
{
|
||||
UserModel siteConsumer = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(siteConsumer, publicSite, UserRole.SiteConsumer);
|
||||
|
||||
siteConsumer.setUserRole(UserRole.SiteConsumer);
|
||||
updatedMember = restClient.authenticateUser(siteCreator).withCoreAPI()
|
||||
.usingSite(publicSite).updateSiteMember(siteConsumer);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteConsumer.getUsername()).and().field("role").is(siteConsumer.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager of a private site is able to downgrade his role")
|
||||
public void privateSiteManagerDowngradesRole() throws Exception
|
||||
{
|
||||
UserModel siteManager = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(siteManager, privateSite, UserRole.SiteManager);
|
||||
|
||||
siteManager.setUserRole(UserRole.SiteConsumer);
|
||||
updatedMember = restClient.authenticateUser(siteManager).withCoreAPI()
|
||||
.usingSite(privateSite).updateSiteMember(siteManager);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteManager.getUsername()).and().field("role").is(siteManager.getUserRole());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager of a moderated site is able to downgrade his role")
|
||||
public void moderatedSiteManagerDowngradesRole() throws Exception
|
||||
{
|
||||
UserModel siteManager = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(siteManager, moderatedSite, UserRole.SiteManager);
|
||||
|
||||
siteManager.setUserRole(UserRole.SiteConsumer);
|
||||
updatedMember = restClient.authenticateUser(siteManager).withCoreAPI()
|
||||
.usingSite(moderatedSite).updateSiteMember(siteManager);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
updatedMember.assertThat().field("id").is(siteManager.getUsername()).and().field("role").is(siteManager.getUserRole());
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.FAVORITES }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify the response of updating a site member with empty body at request")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.FAVORITES, TestGroup.FULL })
|
||||
public void managerCanNotUpdateSiteMemberWithEmptyBody() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(siteCreator).withCoreAPI();
|
||||
UserModel siteCollaborator = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(siteCollaborator, publicSite, UserRole.SiteCollaborator);
|
||||
siteCollaborator.setUserRole(UserRole.SiteConsumer);
|
||||
|
||||
RestRequest request = RestRequest.requestWithBody(HttpMethod.PUT, "", "sites/{siteId}/members/{personId}", publicSite.getId(), siteCollaborator.getUsername());
|
||||
restClient.processModel(RestSiteMemberModel.class, request);
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST).assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.NO_CONTENT, "No content to map to Object due to end of input"))
|
||||
.containsErrorKey(String.format(RestErrorModel.NO_CONTENT, "No content to map to Object due to end of input"))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.SITES, TestGroup.FULL })
|
||||
@TestRail(section={TestGroup.REST_API, TestGroup.SITES}, executionType= ExecutionType.REGRESSION,
|
||||
description= "Verify if manager is able to update a user that has created a site membership request, but it's not a member of the site yet")
|
||||
public void managerCanNotUpdateUserWithSiteMembershipRequest() throws Exception
|
||||
{
|
||||
UserModel siteConsumer = dataUser.createRandomTestUser();
|
||||
siteConsumer.setUserRole(UserRole.SiteConsumer);
|
||||
restClient.authenticateUser(siteConsumer).withCoreAPI().usingUser(siteConsumer).addSiteMembershipRequest(moderatedSite);
|
||||
|
||||
updatedMember = restClient.authenticateUser(siteCreator).withCoreAPI()
|
||||
.usingSite(moderatedSite).updateSiteMember(siteConsumer);
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST).assertLastError()
|
||||
.containsSummary(RestErrorModel.NOT_A_MEMBER);
|
||||
}
|
||||
}
|
||||
-90
@@ -1,90 +0,0 @@
|
||||
package org.alfresco.rest.sites.membershipRequests;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.rest.model.RestSiteMembershipRequestModel;
|
||||
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;
|
||||
|
||||
public class AddSiteMembershipRequestCoreTests extends RestTest
|
||||
{
|
||||
private UserModel adminUser;
|
||||
private SiteModel moderatedSite;
|
||||
private RestSiteMembershipRequestModel requestModel;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void dataPreparation() throws DataPreparationException
|
||||
{
|
||||
adminUser = dataUser.getAdminUser();
|
||||
moderatedSite = dataSite.usingUser(adminUser).createModeratedRandomSite();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify addSiteMembershipRequest Rest API status code is 400 for a user that has already been invited")
|
||||
public void addSiteMembershipRequestStatusCodeIs400ReceivedForAUserThatIsAlreadyInvited() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(newMember, moderatedSite, UserRole.SiteContributor);
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingMe().addSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST);
|
||||
restClient.assertLastError().containsSummary(String.format(RestErrorModel.ALREADY_Site_MEMBER, newMember.getUsername(), moderatedSite.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify addSiteMembershipRequest Rest API status code is 404 for a user that does not exist")
|
||||
public void addSiteMembershipRequestStatusCodeIs404ReceivedForAUserThatDoesNotExist() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingUser(new UserModel("invalidUser", "password")).addSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND);
|
||||
restClient.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, "invalidUser"));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify addSiteMembershipRequest Rest API status code is 404 for a site that does not exist")
|
||||
public void addSiteMembershipRequestStatusCodeIs404ReceivedForASiteThatDoesNotExist() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingMe().addSiteMembershipRequest(new SiteModel("invalidSiteID"));
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND);
|
||||
restClient.assertLastError().containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, newMember.getUsername(), "invalidSiteID"));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify addSiteMembershipRequest Rest API status code is 400 for empty request body")
|
||||
public void addSiteMembershipRequestStatusCodeIs400ForEmptyRequestBody() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingMe().addSiteMembershipRequest("");
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.NO_CONTENT, "No content to map to Object due to end of input"));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify addSiteMembershipRequest Rest API status code is 201 for request with empty message")
|
||||
public void addSiteMembershipRequestStatusCodeIs201ForRequestWithEmptyMessage() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
requestModel = restClient.authenticateUser(newMember).withCoreAPI().usingMe().addSiteMembershipRequest("", moderatedSite, "New request");
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
requestModel.assertThat().field("id").is(moderatedSite.getId()).assertThat().field("site").isNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify addSiteMembershipRequest Rest API status code is 201 for request with empty title")
|
||||
public void addSiteMembershipRequestStatusCodeIs201ForRequestWithEmptyTitle() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
requestModel = restClient.authenticateUser(newMember).withCoreAPI().usingMe().addSiteMembershipRequest("Please accept me", moderatedSite, "");
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
requestModel.assertThat().field("id").is(moderatedSite.getId()).assertThat().field("site").isNotEmpty();
|
||||
}
|
||||
}
|
||||
-95
@@ -1,95 +0,0 @@
|
||||
package org.alfresco.rest.sites.membershipRequests;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.exception.JsonToModelConversionException;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.rest.model.RestSiteMembershipRequestModel;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser;
|
||||
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;
|
||||
|
||||
public class AddSiteMembershipRequestSanityTests extends RestTest
|
||||
{
|
||||
private SiteModel publicSite, anotherPublicSite;
|
||||
private DataUser.ListUserWithRoles usersWithRoles;
|
||||
private UserModel adminUser, siteManager;
|
||||
private RestSiteMembershipRequestModel requestModel;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void dataPreparation() throws DataPreparationException
|
||||
{
|
||||
adminUser = dataUser.getAdminUser();
|
||||
publicSite = dataSite.usingUser(adminUser).createPublicRandomSite();
|
||||
usersWithRoles = dataUser.addUsersWithRolesToSite(publicSite, UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer,
|
||||
UserRole.SiteContributor);
|
||||
|
||||
siteManager = dataUser.createRandomTestUser();
|
||||
anotherPublicSite = dataSite.usingUser(siteManager).createPublicRandomSite();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify site manager is able to create new site membership request for himself and status code is 201")
|
||||
public void managerCreatesNewSiteMembershipRequestForSelf() throws Exception
|
||||
{
|
||||
requestModel = restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager)).withCoreAPI().usingAuthUser().addSiteMembershipRequest(anotherPublicSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
requestModel.assertThat().field("id").is(anotherPublicSite.getId())
|
||||
.assertThat().field("site").isNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify site contributor is able to create new site membership request for himself and status code is 201")
|
||||
public void contributorCreatesNewSiteMembershipRequestForSelf() throws Exception
|
||||
{
|
||||
requestModel = restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor)).withCoreAPI().usingAuthUser().addSiteMembershipRequest(anotherPublicSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
requestModel.assertThat().field("id").is(anotherPublicSite.getId())
|
||||
.assertThat().field("site").isNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify site collaborator is able to create new site membership request for himself and status code is 201")
|
||||
public void collaboratorCreatesNewSiteMembershipRequestForSelf() throws Exception
|
||||
{
|
||||
requestModel = restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator)).withCoreAPI().usingAuthUser().addSiteMembershipRequest(anotherPublicSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
requestModel.assertThat().field("id").is(anotherPublicSite.getId())
|
||||
.assertThat().field("site").isNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify site consumer is able to create new site membership request for himself and status code is 201")
|
||||
public void consumerCreatesNewSiteMembershipRequestForSelf() throws Exception
|
||||
{
|
||||
requestModel = restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer)).withCoreAPI().usingAuthUser().addSiteMembershipRequest(anotherPublicSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
requestModel.assertThat().field("id").is(anotherPublicSite.getId())
|
||||
.assertThat().field("site").isNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify admin is able to create new site membership request for himself and status code is 201")
|
||||
public void adminCreatesNewSiteMembershipRequestForSelf() throws Exception
|
||||
{
|
||||
requestModel = restClient.authenticateUser(adminUser).withCoreAPI().usingAuthUser().addSiteMembershipRequest(anotherPublicSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
requestModel.assertThat().field("id").is(anotherPublicSite.getId())
|
||||
.assertThat().field("site").isNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify unauthenticated user is not able to create new site membership request")
|
||||
public void unauthenticatedUserIsNotAbleToCreateSiteMembershipRequest() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
restClient.authenticateUser(new UserModel("random user", "random password")).withCoreAPI().usingAuthUser().addSiteMembershipRequest(publicSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED).assertLastError().containsSummary(RestErrorModel.AUTHENTICATION_FAILED);
|
||||
}
|
||||
}
|
||||
+163
-36
@@ -1,6 +1,6 @@
|
||||
package org.alfresco.rest.sites.membershipRequests;
|
||||
|
||||
import org.alfresco.dataprep.SiteService.Visibility;
|
||||
import org.alfresco.dataprep.SiteService;
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.exception.JsonToModelConversionException;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
@@ -20,14 +20,11 @@ import org.springframework.http.HttpStatus;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
/**
|
||||
* Created by Claudia Agache on 1/9/2017.
|
||||
*/
|
||||
public class AddSiteMembershipRequestFullTests extends RestTest
|
||||
public class AddSiteMembershipRequestTests extends RestTest
|
||||
{
|
||||
private SiteModel publicSite, privateSite, moderatedSite;
|
||||
private SiteModel publicSite, anotherPublicSite, moderatedSite, privateSite;
|
||||
private DataUser.ListUserWithRoles usersWithRoles;
|
||||
private UserModel adminUser, newMember, regularUser;
|
||||
private UserModel adminUser, siteManager, regularUser, newMember;
|
||||
private RestSiteMembershipRequestModel siteMembershipRequest;
|
||||
private RestSiteMembershipRequestModelsCollection siteMembershipRequests;
|
||||
|
||||
@@ -36,16 +33,146 @@ public class AddSiteMembershipRequestFullTests extends RestTest
|
||||
{
|
||||
adminUser = dataUser.getAdminUser();
|
||||
publicSite = dataSite.usingUser(adminUser).createPublicRandomSite();
|
||||
privateSite = dataSite.usingUser(adminUser).createPrivateRandomSite();
|
||||
moderatedSite = dataSite.usingUser(adminUser).createModeratedRandomSite();
|
||||
usersWithRoles = dataUser.addUsersWithRolesToSite(publicSite, UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer,
|
||||
UserRole.SiteContributor);
|
||||
|
||||
siteManager = dataUser.createRandomTestUser();
|
||||
anotherPublicSite = dataSite.usingUser(siteManager).createPublicRandomSite();
|
||||
|
||||
moderatedSite = dataSite.usingUser(adminUser).createModeratedRandomSite();
|
||||
privateSite = dataSite.usingUser(adminUser).createPrivateRandomSite();
|
||||
|
||||
newMember = dataUser.createRandomTestUser();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify site manager is able to create new site membership request for himself and status code is 201")
|
||||
public void managerCreatesNewSiteMembershipRequestForSelf() throws Exception
|
||||
{
|
||||
siteMembershipRequest = restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager)).withCoreAPI().usingAuthUser().addSiteMembershipRequest(anotherPublicSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
siteMembershipRequest.assertThat().field("id").is(anotherPublicSite.getId())
|
||||
.assertThat().field("site").isNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify site contributor is able to create new site membership request for himself and status code is 201")
|
||||
public void contributorCreatesNewSiteMembershipRequestForSelf() throws Exception
|
||||
{
|
||||
siteMembershipRequest = restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor)).withCoreAPI().usingAuthUser().addSiteMembershipRequest(anotherPublicSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
siteMembershipRequest.assertThat().field("id").is(anotherPublicSite.getId())
|
||||
.assertThat().field("site").isNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify site collaborator is able to create new site membership request for himself and status code is 201")
|
||||
public void collaboratorCreatesNewSiteMembershipRequestForSelf() throws Exception
|
||||
{
|
||||
siteMembershipRequest = restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator)).withCoreAPI().usingAuthUser().addSiteMembershipRequest(anotherPublicSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
siteMembershipRequest.assertThat().field("id").is(anotherPublicSite.getId())
|
||||
.assertThat().field("site").isNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify site consumer is able to create new site membership request for himself and status code is 201")
|
||||
public void consumerCreatesNewSiteMembershipRequestForSelf() throws Exception
|
||||
{
|
||||
siteMembershipRequest = restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer)).withCoreAPI().usingAuthUser().addSiteMembershipRequest(anotherPublicSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
siteMembershipRequest.assertThat().field("id").is(anotherPublicSite.getId())
|
||||
.assertThat().field("site").isNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify admin is able to create new site membership request for himself and status code is 201")
|
||||
public void adminCreatesNewSiteMembershipRequestForSelf() throws Exception
|
||||
{
|
||||
siteMembershipRequest = restClient.authenticateUser(adminUser).withCoreAPI().usingAuthUser().addSiteMembershipRequest(anotherPublicSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
siteMembershipRequest.assertThat().field("id").is(anotherPublicSite.getId())
|
||||
.assertThat().field("site").isNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify unauthenticated user is not able to create new site membership request")
|
||||
public void unauthenticatedUserIsNotAbleToCreateSiteMembershipRequest() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(new UserModel("random user", "random password")).withCoreAPI().usingAuthUser().addSiteMembershipRequest(publicSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED).assertLastError().containsSummary(RestErrorModel.AUTHENTICATION_FAILED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify addSiteMembershipRequest Rest API status code is 400 for a user that has already been invited")
|
||||
public void addSiteMembershipRequestStatusCodeIs400ReceivedForAUserThatIsAlreadyInvited() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
dataUser.addUserToSite(newMember, moderatedSite, UserRole.SiteContributor);
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingMe().addSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST);
|
||||
restClient.assertLastError().containsSummary(String.format(RestErrorModel.ALREADY_Site_MEMBER, newMember.getUsername(), moderatedSite.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify addSiteMembershipRequest Rest API status code is 404 for a user that does not exist")
|
||||
public void addSiteMembershipRequestStatusCodeIs404ReceivedForAUserThatDoesNotExist() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingUser(new UserModel("invalidUser", "password")).addSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND);
|
||||
restClient.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, "invalidUser"));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify addSiteMembershipRequest Rest API status code is 404 for a site that does not exist")
|
||||
public void addSiteMembershipRequestStatusCodeIs404ReceivedForASiteThatDoesNotExist() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingMe().addSiteMembershipRequest(new SiteModel("invalidSiteID"));
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND);
|
||||
restClient.assertLastError().containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, newMember.getUsername(), "invalidSiteID"));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify addSiteMembershipRequest Rest API status code is 400 for empty request body")
|
||||
public void addSiteMembershipRequestStatusCodeIs400ForEmptyRequestBody() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingMe().addSiteMembershipRequest("");
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.NO_CONTENT, "No content to map to Object due to end of input"));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify addSiteMembershipRequest Rest API status code is 201 for request with empty message")
|
||||
public void addSiteMembershipRequestStatusCodeIs201ForRequestWithEmptyMessage() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
siteMembershipRequest = restClient.authenticateUser(newMember).withCoreAPI().usingMe().addSiteMembershipRequest("", moderatedSite, "New request");
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
siteMembershipRequest.assertThat().field("id").is(moderatedSite.getId()).assertThat().field("site").isNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify addSiteMembershipRequest Rest API status code is 201 for request with empty title")
|
||||
public void addSiteMembershipRequestStatusCodeIs201ForRequestWithEmptyTitle() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
siteMembershipRequest = restClient.authenticateUser(newMember).withCoreAPI().usingMe().addSiteMembershipRequest("Please accept me", moderatedSite, "");
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
siteMembershipRequest.assertThat().field("id").is(moderatedSite.getId()).assertThat().field("site").isNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify site manager is not able to create new site membership request for other user")
|
||||
public void managerIsNotAbleToCreateSiteMembershipRequestForOtherUser() throws JsonToModelConversionException, Exception
|
||||
public void managerIsNotAbleToCreateSiteMembershipRequestForOtherUser() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager)).withCoreAPI().usingUser(newMember)
|
||||
.addSiteMembershipRequest(publicSite);
|
||||
@@ -57,9 +184,9 @@ public class AddSiteMembershipRequestFullTests extends RestTest
|
||||
.containsErrorKey(RestErrorModel.ENTITY_NOT_FOUND_ERRORKEY);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify site collaborator is not able to create new site membership request for other user")
|
||||
public void collaboratorIsNotAbleToCreateSiteMembershipRequestForOtherUser() throws JsonToModelConversionException, Exception
|
||||
public void collaboratorIsNotAbleToCreateSiteMembershipRequestForOtherUser() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator)).withCoreAPI().usingUser(newMember)
|
||||
.addSiteMembershipRequest(publicSite);
|
||||
@@ -67,9 +194,9 @@ public class AddSiteMembershipRequestFullTests extends RestTest
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, newMember.getUsername()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify site contributor is not able to create new site membership request for other user")
|
||||
public void contributorIsNotAbleToCreateSiteMembershipRequestForOtherUser() throws JsonToModelConversionException, Exception
|
||||
public void contributorIsNotAbleToCreateSiteMembershipRequestForOtherUser() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor)).withCoreAPI().usingUser(newMember)
|
||||
.addSiteMembershipRequest(publicSite);
|
||||
@@ -77,9 +204,9 @@ public class AddSiteMembershipRequestFullTests extends RestTest
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, newMember.getUsername()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify site consumer is not able to create new site membership request for other user")
|
||||
public void consumerIsNotAbleToCreateSiteMembershipRequestForOtherUser() throws JsonToModelConversionException, Exception
|
||||
public void consumerIsNotAbleToCreateSiteMembershipRequestForOtherUser() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer)).withCoreAPI().usingUser(newMember)
|
||||
.addSiteMembershipRequest(publicSite);
|
||||
@@ -87,9 +214,9 @@ public class AddSiteMembershipRequestFullTests extends RestTest
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, newMember.getUsername()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify admin user is not able to create new site membership request for other user")
|
||||
public void adminIsNotAbleToCreateSiteMembershipRequestForOtherUser() throws JsonToModelConversionException, Exception
|
||||
public void adminIsNotAbleToCreateSiteMembershipRequestForOtherUser() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUser).withCoreAPI().usingUser(newMember).addSiteMembershipRequest(publicSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
@@ -105,7 +232,7 @@ public class AddSiteMembershipRequestFullTests extends RestTest
|
||||
}
|
||||
|
||||
@Bug(id="ACE-2413")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify addSiteMembershipRequest Rest API status code is 400 for an invalid user id")
|
||||
public void addSiteMembershipRequestReturns400ForEmptyUserId() throws Exception
|
||||
{
|
||||
@@ -114,7 +241,7 @@ public class AddSiteMembershipRequestFullTests extends RestTest
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify regular user is able to create new public site membership request for himself. Check that user joins immediately as consumer.")
|
||||
public void userIsAbleToRequestMembershipOfPublicSite() throws Exception
|
||||
@@ -127,13 +254,13 @@ public class AddSiteMembershipRequestFullTests extends RestTest
|
||||
RestSiteEntry siteEntry = restClient.withCoreAPI().usingAuthUser().getSiteMembership(publicSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteEntry.assertThat().field("role").is(UserRole.SiteConsumer)
|
||||
.and().field("id").is(publicSite.getId());
|
||||
.and().field("id").is(publicSite.getId());
|
||||
siteMembershipRequests = restClient.withCoreAPI().usingAuthUser().getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembershipRequests.assertThat().entriesListIsEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify regular user is able to create new moderated site membership request for himself. Check that the request is added to the site membership request list.")
|
||||
public void userIsAbleToRequestMembershipOfModeratedSite() throws Exception
|
||||
@@ -158,7 +285,7 @@ public class AddSiteMembershipRequestFullTests extends RestTest
|
||||
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify regular user is not able to request membership of a private site.")
|
||||
public void userIsNotAbleToRequestMembershipOfPrivateSite() throws Exception
|
||||
@@ -172,9 +299,9 @@ public class AddSiteMembershipRequestFullTests extends RestTest
|
||||
siteMembershipRequests.assertThat().entriesListIsEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify regular user is not able to create new site membership request for other user")
|
||||
public void regularUserIsNotAbleToCreateSiteMembershipRequestForOtherUser() throws JsonToModelConversionException, Exception
|
||||
public void regularUserIsNotAbleToCreateSiteMembershipRequestForOtherUser() throws Exception
|
||||
{
|
||||
regularUser = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(regularUser).withCoreAPI().usingUser(newMember)
|
||||
@@ -191,7 +318,7 @@ public class AddSiteMembershipRequestFullTests extends RestTest
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, newMember.getUsername()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify create public site membership request returns status code 400 when the request is made twice")
|
||||
public void userRequestsTwiceMembershipOfPublicSite() throws Exception
|
||||
@@ -206,7 +333,7 @@ public class AddSiteMembershipRequestFullTests extends RestTest
|
||||
restClient.assertLastError().containsSummary(String.format(RestErrorModel.ALREADY_Site_MEMBER, regularUser.getUsername(), publicSite.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify create moderated site membership request returns status code 400 when the request is made twice")
|
||||
public void userRequestsTwiceMembershipOfModeratedSite() throws Exception
|
||||
@@ -226,7 +353,7 @@ public class AddSiteMembershipRequestFullTests extends RestTest
|
||||
.assertThat().entriesListCountIs(1);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify create private site membership request returns status code 404 when request is made with the user who created the site")
|
||||
public void siteCreatorRequestsMembershipOfHisPrivateSite() throws Exception
|
||||
@@ -236,7 +363,7 @@ public class AddSiteMembershipRequestFullTests extends RestTest
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, adminUser.getUsername(), privateSite.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify create moderated site membership request returns status code 400 when request is made with the user who created the site")
|
||||
public void siteCreatorRequestsMembershipOfHisModeratedSite() throws Exception
|
||||
@@ -246,7 +373,7 @@ public class AddSiteMembershipRequestFullTests extends RestTest
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ALREADY_Site_MEMBER, adminUser.getUsername(), moderatedSite.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify admin is able to create new moderated site membership request for himself. Check that the request is added to the site membership request list.")
|
||||
public void adminIsAbleToRequestMembershipOfModeratedSite() throws Exception
|
||||
@@ -262,7 +389,7 @@ public class AddSiteMembershipRequestFullTests extends RestTest
|
||||
siteMembershipRequests.assertThat().entriesListContains("id", anotherModeratedSite.getId());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL, TestGroup.NETWORKS })
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION, TestGroup.NETWORKS })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify create site membership request returns status code 404 when personId is not member of the domain.")
|
||||
public void addSiteMembershipRequestWhenPersonIdIsNotInTheDomain() throws Exception
|
||||
@@ -275,7 +402,7 @@ public class AddSiteMembershipRequestFullTests extends RestTest
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, adminTenantUser.getUsername().toLowerCase(), publicSite.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL, TestGroup.NETWORKS })
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION, TestGroup.NETWORKS })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify create site membership request returns status code 200 with tenant.")
|
||||
public void addSiteMembershipRequestWithTenant() throws Exception
|
||||
@@ -292,7 +419,7 @@ public class AddSiteMembershipRequestFullTests extends RestTest
|
||||
.assertThat().field("site").isNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify site membership request is automatically rejected when a site is switched from moderated to private")
|
||||
public void siteMembershipRequestIsRejectedWhenSiteIsSwitchedFromModeratedToPrivate() throws Exception
|
||||
@@ -304,10 +431,10 @@ public class AddSiteMembershipRequestFullTests extends RestTest
|
||||
siteMembershipRequest.assertThat().field("id").is(moderatedThenPrivateSite.getId())
|
||||
.assertThat().field("site").isNotEmpty();
|
||||
|
||||
dataSite.usingUser(adminUser).updateSiteVisibility(moderatedThenPrivateSite, Visibility.PRIVATE);
|
||||
dataSite.usingUser(adminUser).updateSiteVisibility(moderatedThenPrivateSite, SiteService.Visibility.PRIVATE);
|
||||
|
||||
siteMembershipRequests = restClient.withCoreAPI().usingAuthUser().getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembershipRequests.assertThat().entriesListIsEmpty();
|
||||
}
|
||||
}
|
||||
}
|
||||
-148
@@ -1,148 +0,0 @@
|
||||
package org.alfresco.rest.sites.membershipRequests;
|
||||
|
||||
import org.alfresco.dataprep.WorkflowService;
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.exception.JsonToModelConversionException;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
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.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.testng.annotations.BeforeMethod;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
public class DeleteSiteMembershipRequestCoreTests extends RestTest
|
||||
{
|
||||
SiteModel moderatedSite;
|
||||
UserModel adminUserModel;
|
||||
UserModel siteMember;
|
||||
UserModel secondSiteMember;
|
||||
SiteModel secondModeratedSite;
|
||||
@Autowired
|
||||
WorkflowService workflow;
|
||||
|
||||
@BeforeMethod(alwaysRun = true)
|
||||
public void dataPreparation() throws Exception
|
||||
{
|
||||
moderatedSite = dataSite.usingUser(adminUserModel).createModeratedRandomSite();
|
||||
adminUserModel = dataUser.getAdminUser();
|
||||
siteMember = dataUser.createRandomTestUser();
|
||||
secondSiteMember = dataUser.createRandomTestUser();
|
||||
secondModeratedSite = dataSite.usingUser(siteMember).createModeratedRandomSite();
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API,
|
||||
TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify user is able to remove his own site memebership request using '-me-' in place of personId and response is successful (204)")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
public void userCanDeleteHisOwnSiteMembershipRequestUsingMeAsPersonId() throws JsonToModelConversionException, DataPreparationException, Exception
|
||||
{
|
||||
restClient.authenticateUser(siteMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
restClient.withCoreAPI().usingMe().deleteSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API,
|
||||
TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify user is not able to remove site memebership request if doesn't have access to personI and response is 403")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
public void userIsNotAbleToDeleteSiteMembershipRequestWithNoAccessToPersonId() throws JsonToModelConversionException, DataPreparationException, Exception
|
||||
{
|
||||
restClient.authenticateUser(secondSiteMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
restClient.authenticateUser(siteMember).withCoreAPI().usingUser(secondSiteMember).deleteSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError().containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, secondSiteMember.getUsername(), moderatedSite.getId()));
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API,
|
||||
TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify user is not able to remove a site memebership request of an inexistent user and response is 404")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
public void userIsNotAbleToDeleteSiteMembershipRequestOfAnInexistentUser() throws JsonToModelConversionException, DataPreparationException, Exception
|
||||
{
|
||||
UserModel inexistentUser = new UserModel("inexistenUser", "password");
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingUser(inexistentUser).deleteSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, inexistentUser.getUsername()));
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API,
|
||||
TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify user is not able to remove a site memebership request to an inexistent site and response is 404")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
public void userIsNotAbleToDeleteSiteMembershipRequestToAnInexistentSite() throws JsonToModelConversionException, DataPreparationException, Exception
|
||||
{
|
||||
SiteModel inexistentSite = new SiteModel("inexistentSite");
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingUser(adminUserModel).deleteSiteMembershipRequest(inexistentSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError().containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, adminUserModel.getUsername(), inexistentSite.getId()));
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API,
|
||||
TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify user is not able to remove a site memebership request to an empty site id and response is 405")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
public void userIsNotAbleToDeleteSiteMembershipRequestWithEmptySiteId() throws JsonToModelConversionException, DataPreparationException, Exception
|
||||
{
|
||||
SiteModel inexistentSite = new SiteModel("");
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingUser(adminUserModel).deleteSiteMembershipRequest(inexistentSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.METHOD_NOT_ALLOWED).assertLastError().containsSummary(RestErrorModel.DELETE_EMPTY_ARGUMENT);
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API,
|
||||
TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify user is not able to remove a site memebership request of another regular user from moderated site and response is 404")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
public void regularUserIsNotAbleToDeleteSiteMembershipRequestOfAnotherRegularUserToAModeratedSite() throws JsonToModelConversionException, DataPreparationException, Exception
|
||||
{
|
||||
siteMember.setUserRole(UserRole.SiteCollaborator);
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(moderatedSite).addPerson(siteMember);
|
||||
restClient.authenticateUser(secondSiteMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
restClient.authenticateUser(siteMember).withCoreAPI().usingUser(secondSiteMember).deleteSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError().containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, secondSiteMember.getUsername(), moderatedSite.getId()));
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API,
|
||||
TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify user is not able to remove a site memebership request of admin to a moderated site and response is 404")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
public void regularUserIsNotAbleToDeleteSiteMembershipRequestOfAdminToAModeratedSite() throws JsonToModelConversionException, DataPreparationException, Exception
|
||||
{
|
||||
UserModel collaboratorUser = dataUser.createRandomTestUser();
|
||||
collaboratorUser.setUserRole(UserRole.SiteCollaborator);
|
||||
restClient.authenticateUser(siteMember).withCoreAPI().usingSite(secondModeratedSite).addPerson(collaboratorUser);
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingAuthUser().addSiteMembershipRequest(secondModeratedSite);
|
||||
restClient.authenticateUser(collaboratorUser).withCoreAPI().usingUser(adminUserModel).deleteSiteMembershipRequest(secondModeratedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError().containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, adminUserModel.getUsername(), secondModeratedSite.getId()));
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API,
|
||||
TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify manager is able to remove a site memebership request of admin to a moderated site and response is 204")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
public void managerUserIsAbleToDeleteSiteMembershipRequestOfAdminToAModeratedSite() throws JsonToModelConversionException, DataPreparationException, Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingAuthUser().addSiteMembershipRequest(secondModeratedSite);
|
||||
restClient.authenticateUser(siteMember).withCoreAPI().usingUser(adminUserModel).deleteSiteMembershipRequest(secondModeratedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API,
|
||||
TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify manager is not able to remove a site memebership request if it was already approved and response is 404")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
public void managerUserIsNotAbleToDeleteASiteMembershipRequestIfItWasAlreadyApproved() throws JsonToModelConversionException, DataPreparationException, Exception
|
||||
{
|
||||
secondSiteMember.setUserRole(UserRole.SiteCollaborator);
|
||||
restClient.authenticateUser(secondSiteMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(secondModeratedSite);
|
||||
RestTaskModel taskModel = restClient.authenticateUser(secondSiteMember).withWorkflowAPI().getTasks().getTaskModelByDescription(secondModeratedSite);
|
||||
workflow.approveSiteMembershipRequest(siteMember.getUsername(), siteMember.getPassword(), taskModel.getId(), true, "Approve");
|
||||
|
||||
restClient.authenticateUser(siteMember).withCoreAPI().usingUser(secondSiteMember).deleteSiteMembershipRequest(secondModeratedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError().containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, secondSiteMember.getUsername(), secondModeratedSite.getId()));
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API,
|
||||
TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify manager is not able to remove an inexitent site memebership request and response is 404")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
public void managerUserIsNotAbleToDeleteAnInexistentSiteMembershipRequest() throws JsonToModelConversionException, DataPreparationException, Exception
|
||||
{
|
||||
restClient.authenticateUser(siteMember).withCoreAPI().usingUser(adminUserModel).deleteSiteMembershipRequest(secondModeratedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError().containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, adminUserModel.getUsername(), secondModeratedSite.getId()));
|
||||
}
|
||||
}
|
||||
-213
@@ -1,213 +0,0 @@
|
||||
package org.alfresco.rest.sites.membershipRequests;
|
||||
|
||||
import org.alfresco.dataprep.WorkflowService;
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.exception.JsonToModelConversionException;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.rest.model.RestSiteMembershipRequestModelsCollection;
|
||||
import org.alfresco.rest.model.RestTaskModel;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser.ListUserWithRoles;
|
||||
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.report.Bug;
|
||||
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;
|
||||
|
||||
public class DeleteSiteMembershipRequestFullTests extends RestTest
|
||||
{
|
||||
SiteModel moderatedSite, publicSite, secondModeratedSite;
|
||||
UserModel adminUserModel, siteMember, secondSiteMember;
|
||||
RestSiteMembershipRequestModelsCollection siteMembershipRequests;
|
||||
|
||||
@Autowired
|
||||
WorkflowService workflow;
|
||||
private ListUserWithRoles usersWithRoles;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void dataPreparation() throws Exception
|
||||
{
|
||||
moderatedSite = dataSite.usingUser(adminUserModel).createModeratedRandomSite();
|
||||
adminUserModel = dataUser.getAdminUser();
|
||||
siteMember = dataUser.createRandomTestUser();
|
||||
secondSiteMember = dataUser.createRandomTestUser();
|
||||
secondModeratedSite = dataSite.usingUser(siteMember).createModeratedRandomSite();
|
||||
publicSite = dataSite.usingUser(siteMember).createPublicRandomSite();
|
||||
|
||||
usersWithRoles = dataUser.addUsersWithRolesToSite(moderatedSite, UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer,
|
||||
UserRole.SiteContributor);
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify COLLABORATOR is able to remove/cancel a site memebership request of a user to a moderated site and response is 204")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
public void collaboratorUserIsAbleToCancelSiteMembershipRequestOfAnotherUserToAModeratedSite() throws JsonToModelConversionException,
|
||||
DataPreparationException, Exception
|
||||
{
|
||||
UserModel user = dataUser.createRandomTestUser();
|
||||
UserModel userCollaborator = usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator);
|
||||
moderatedSite = dataSite.usingUser(userCollaborator).createModeratedRandomSite();
|
||||
|
||||
restClient.authenticateUser(user).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
restClient.authenticateUser(userCollaborator).withCoreAPI().usingUser(user).getSiteMembershipRequest(moderatedSite).assertThat().field("id")
|
||||
.is(moderatedSite.getId());
|
||||
|
||||
restClient.authenticateUser(userCollaborator).withCoreAPI().usingUser(user).deleteSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
|
||||
restClient.withCoreAPI().usingUser(user).getSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError()
|
||||
.containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, user.getUsername(), moderatedSite.getTitle()))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify CONTRIBUTOR is able to remove/cancel a site memebership request of a user to a moderated site and response is 204")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
public void contributorUserIsAbleToCancelSiteMembershipRequestOfAnotherUserToAModeratedSite() throws JsonToModelConversionException,
|
||||
DataPreparationException, Exception
|
||||
{
|
||||
UserModel user = dataUser.createRandomTestUser();
|
||||
UserModel userContributor = usersWithRoles.getOneUserWithRole(UserRole.SiteContributor);
|
||||
moderatedSite = dataSite.usingUser(userContributor).createModeratedRandomSite();
|
||||
|
||||
restClient.authenticateUser(user).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
restClient.authenticateUser(userContributor).withCoreAPI().usingUser(user).getSiteMembershipRequest(moderatedSite).assertThat().field("id")
|
||||
.is(moderatedSite.getId());
|
||||
|
||||
restClient.authenticateUser(userContributor).withCoreAPI().usingUser(user).deleteSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
|
||||
restClient.withCoreAPI().usingUser(user).getSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError()
|
||||
.containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, user.getUsername(), moderatedSite.getTitle()))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify CONSUMER is able to remove/cancel a site memebership request of a user to a moderated site and response is 204")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
public void consumerUserIsAbleToCancelSiteMembershipRequestOfAnotherUserToAModeratedSite() throws JsonToModelConversionException, DataPreparationException,
|
||||
Exception
|
||||
{
|
||||
UserModel user = dataUser.createRandomTestUser();
|
||||
UserModel userConsumer = usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer);
|
||||
moderatedSite = dataSite.usingUser(userConsumer).createModeratedRandomSite();
|
||||
|
||||
restClient.authenticateUser(user).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
restClient.authenticateUser(userConsumer).withCoreAPI().usingUser(user).getSiteMembershipRequest(moderatedSite).assertThat().field("id")
|
||||
.is(moderatedSite.getId());
|
||||
|
||||
restClient.authenticateUser(userConsumer).withCoreAPI().usingUser(user).deleteSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
|
||||
restClient.withCoreAPI().usingUser(user).getSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError()
|
||||
.containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, user.getUsername(), moderatedSite.getTitle()))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user is not able to remove a site memebership request of admin to a public site and response is 404")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
public void regularUserIsNotAbleToDeleteSiteMembershipRequestOfAdminToAPublicSite() throws JsonToModelConversionException, DataPreparationException,
|
||||
Exception
|
||||
{
|
||||
UserModel userCollaborator = usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator);
|
||||
restClient.authenticateUser(siteMember).withCoreAPI().usingSite(publicSite).addPerson(userCollaborator);
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingAuthUser().addSiteMembershipRequest(publicSite);
|
||||
|
||||
restClient.authenticateUser(userCollaborator).withCoreAPI().usingUser(adminUserModel).deleteSiteMembershipRequest(publicSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError()
|
||||
.containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, adminUserModel.getUsername(), publicSite.getId()))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Delete a rejected site membership request.")
|
||||
public void deleteARejectedSiteMembershipRequest() throws Exception
|
||||
{
|
||||
UserModel userWithRejectedRequests = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(userWithRejectedRequests).withCoreAPI().usingAuthUser().addSiteMembershipRequest(secondModeratedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
|
||||
RestTaskModel taskModel = restClient.authenticateUser(userWithRejectedRequests).withWorkflowAPI().getTasks()
|
||||
.getTaskModelByDescription(secondModeratedSite);
|
||||
workflow.approveSiteMembershipRequest(siteMember.getUsername(), siteMember.getPassword(), taskModel.getId(), false, "Rejected");
|
||||
|
||||
siteMembershipRequests = restClient.authenticateUser(userWithRejectedRequests).withCoreAPI().usingMe().getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembershipRequests.assertThat().entriesListDoesNotContain("id", secondModeratedSite.getId());
|
||||
|
||||
restClient.authenticateUser(userWithRejectedRequests).withCoreAPI().usingUser(adminUserModel).deleteSiteMembershipRequest(secondModeratedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError()
|
||||
.containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, adminUserModel.getUsername(), secondModeratedSite.getId()))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Bug(id="ACE-2413")
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user is not able to remove a site memebership request- empty person id and response is 400")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
public void userIsNotAbleToDeleteSiteMembershipRequestEmptyPersonID() throws JsonToModelConversionException, DataPreparationException, Exception
|
||||
{
|
||||
UserModel emptyPersonId = new UserModel("", "password");
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingUser(emptyPersonId).deleteSiteMembershipRequest(moderatedSite);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError()
|
||||
.containsErrorKey(RestErrorModel.API_DEFAULT_ERRORKEY)
|
||||
.containsSummary(RestErrorModel.ENTITY_NOT_FOUND)
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify COLLABORATOR removes/cancel twice same site memebership request and response is 404")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
public void userCancelsSiteMembershipRequestTwiceModeratedSite() throws JsonToModelConversionException,
|
||||
DataPreparationException, Exception
|
||||
{
|
||||
UserModel user = dataUser.createRandomTestUser();
|
||||
UserModel userCollaborator = usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator);
|
||||
moderatedSite = dataSite.usingUser(userCollaborator).createModeratedRandomSite();
|
||||
|
||||
restClient.authenticateUser(user).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
restClient.authenticateUser(userCollaborator).withCoreAPI().usingUser(user).getSiteMembershipRequest(moderatedSite).assertThat().field("id")
|
||||
.is(moderatedSite.getId());
|
||||
|
||||
restClient.authenticateUser(userCollaborator).withCoreAPI().usingUser(user).deleteSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
restClient.authenticateUser(userCollaborator).withCoreAPI().usingUser(user).deleteSiteMembershipRequest(moderatedSite);
|
||||
|
||||
restClient.withCoreAPI().usingUser(user).getSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError()
|
||||
.containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, user.getUsername(), moderatedSite.getTitle()))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
}
|
||||
-137
@@ -1,137 +0,0 @@
|
||||
package org.alfresco.rest.sites.membershipRequests;
|
||||
|
||||
import org.alfresco.dataprep.SiteService.Visibility;
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.exception.JsonToModelConversionException;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser.ListUserWithRoles;
|
||||
import org.alfresco.utility.data.RandomData;
|
||||
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.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;
|
||||
|
||||
/**
|
||||
* @author iulia.cojocea
|
||||
*/
|
||||
|
||||
public class DeleteSiteMembershipRequestSanityTests extends RestTest
|
||||
{
|
||||
UserModel userModel;
|
||||
UserModel siteMember;
|
||||
SiteModel siteModel;
|
||||
private ListUserWithRoles usersWithRoles;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void dataPreparation() throws Exception
|
||||
{
|
||||
String siteId = RandomData.getRandomName("site");
|
||||
siteModel = dataSite.usingUser(userModel).createSite(new SiteModel(Visibility.MODERATED, siteId, siteId, siteId, siteId));
|
||||
usersWithRoles = dataUser.addUsersWithRolesToSite(siteModel, UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer,
|
||||
UserRole.SiteContributor);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify one user is able to delete his one site memebership request")
|
||||
public void userCanDeleteHisOwnSiteMembershipRequest() throws JsonToModelConversionException, DataPreparationException, Exception
|
||||
{
|
||||
siteMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(siteMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(siteModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager)).withCoreAPI().usingUser(siteMember)
|
||||
.deleteSiteMembershipRequest(siteModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify site manager is able to delete site membership request")
|
||||
public void siteManagerCanDeleteSiteMembershipRequest() throws JsonToModelConversionException, DataPreparationException, Exception
|
||||
{
|
||||
siteMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(siteMember).withCoreAPI().usingUser(siteMember).addSiteMembershipRequest(siteModel);
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager)).withCoreAPI().usingUser(siteMember)
|
||||
.deleteSiteMembershipRequest(siteModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify admin user is able to delete site memebership request")
|
||||
public void adminUserCanDeleteSiteMembershipRequest() throws JsonToModelConversionException, DataPreparationException, Exception
|
||||
{
|
||||
siteMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(siteMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(siteModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
|
||||
restClient.authenticateUser(dataUser.getAdminUser()).withCoreAPI().usingUser(siteMember).deleteSiteMembershipRequest(siteModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@Bug(id = "REPO-1946")
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify collaborator user is not able to delete site memebership request")
|
||||
public void collaboratorCannotDeleteSiteMembershipRequest() throws JsonToModelConversionException, DataPreparationException, Exception
|
||||
{
|
||||
siteMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(siteMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(siteModel);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator)).withCoreAPI().usingUser(siteMember)
|
||||
.deleteSiteMembershipRequest(siteModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN).assertLastError().containsSummary(RestErrorModel.PERMISSION_WAS_DENIED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@Bug(id = "REPO-1946")
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify contributor user is not able to delete site memebership request")
|
||||
public void contributorCannotDeleteSiteMembershipRequest() throws JsonToModelConversionException, DataPreparationException, Exception
|
||||
{
|
||||
siteMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(siteMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(siteModel);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor)).withCoreAPI().usingUser(siteMember)
|
||||
.deleteSiteMembershipRequest(siteModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN).assertLastError().containsSummary(RestErrorModel.PERMISSION_WAS_DENIED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@Bug(id = "REPO-1946")
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify consumer user is not able to delete site memebership request")
|
||||
public void consumerCannotDeleteSiteMembershipRequest() throws JsonToModelConversionException, DataPreparationException, Exception
|
||||
{
|
||||
siteMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(siteMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(siteModel);
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer)).withCoreAPI().usingUser(siteMember)
|
||||
.deleteSiteMembershipRequest(siteModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN).assertLastError().containsSummary(RestErrorModel.PERMISSION_WAS_DENIED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@Bug(id = "REPO-1946")
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify random user is not able to delete site memebership request")
|
||||
public void randomUserCanDeleteSiteMembershipRequest() throws JsonToModelConversionException, DataPreparationException, Exception
|
||||
{
|
||||
siteMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(siteMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(siteModel);
|
||||
|
||||
restClient.authenticateUser(dataUser.createRandomTestUser()).withCoreAPI().usingUser(siteMember).deleteSiteMembershipRequest(siteModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN).assertLastError().containsSummary(RestErrorModel.PERMISSION_WAS_DENIED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY, description = "Failed authentication get site member call returns status code 401")
|
||||
@Bug(id = "MNT-16904")
|
||||
public void unauthenticatedUserIsNotAuthorizedToDeleteSiteMmebershipRequest() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
restClient.authenticateUser(dataUser.createRandomTestUser()).withCoreAPI().usingAuthUser().addSiteMembershipRequest(siteModel);
|
||||
UserModel inexistentUser = new UserModel("inexistent user", "inexistent password");
|
||||
restClient.authenticateUser(inexistentUser).withCoreAPI().usingAuthUser().deleteSiteMembershipRequest(siteModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED).assertLastError()
|
||||
.containsSummary(RestErrorModel.AUTHENTICATION_FAILED);
|
||||
}
|
||||
}
|
||||
+319
@@ -0,0 +1,319 @@
|
||||
package org.alfresco.rest.sites.membershipRequests;
|
||||
|
||||
import org.alfresco.dataprep.SiteService.Visibility;
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.exception.JsonToModelConversionException;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.rest.model.RestSiteMembershipRequestModelsCollection;
|
||||
import org.alfresco.rest.model.RestTaskModel;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser.ListUserWithRoles;
|
||||
import org.alfresco.utility.data.RandomData;
|
||||
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.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;
|
||||
|
||||
/**
|
||||
* @author iulia.cojocea
|
||||
*/
|
||||
|
||||
public class DeleteSiteMembershipRequestTests extends RestTest
|
||||
{
|
||||
UserModel siteCreator, adminUserModel, secondSiteCreator, siteMember;
|
||||
SiteModel moderatedSite, secondModeratedSite, publicSite;
|
||||
private ListUserWithRoles usersWithRoles;
|
||||
RestSiteMembershipRequestModelsCollection siteMembershipRequests;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void dataPreparation() throws Exception
|
||||
{
|
||||
adminUserModel = dataUser.getAdminUser();
|
||||
siteCreator = dataUser.createRandomTestUser();
|
||||
secondSiteCreator = dataUser.createRandomTestUser();
|
||||
String siteId = RandomData.getRandomName("site");
|
||||
moderatedSite = dataSite.usingUser(siteCreator).createSite(new SiteModel(Visibility.MODERATED, siteId, siteId, siteId, siteId));
|
||||
usersWithRoles = dataUser.addUsersWithRolesToSite(moderatedSite, UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer,
|
||||
UserRole.SiteContributor);
|
||||
|
||||
dataUser.addUserToSite(adminUserModel, moderatedSite, UserRole.SiteManager);
|
||||
secondModeratedSite = dataSite.usingUser(secondSiteCreator).createModeratedRandomSite();
|
||||
publicSite = dataSite.usingUser(siteCreator).createPublicRandomSite();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify one user is able to delete his one site memebership request")
|
||||
public void userCanDeleteHisOwnSiteMembershipRequest() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(secondSiteCreator).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
restClient.withCoreAPI().usingUser(secondSiteCreator).deleteSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify site manager is able to delete site membership request")
|
||||
public void managerCanDeleteSiteMembershipRequest() throws Exception
|
||||
{
|
||||
siteMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(siteMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager)).withCoreAPI().usingUser(siteMember)
|
||||
.deleteSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
|
||||
restClient.withCoreAPI().usingUser(siteMember).getSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError()
|
||||
.containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, siteMember.getUsername(), moderatedSite.getTitle()))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify admin user is able to delete site memebership request")
|
||||
public void adminUserCanDeleteSiteMembershipRequest() throws Exception
|
||||
{
|
||||
siteMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(siteMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingUser(siteMember).deleteSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@Bug(id = "REPO-1946")
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify collaborator user is not able to delete site memebership request")
|
||||
public void collaboratorCannotDeleteSiteMembershipRequest() throws Exception
|
||||
{
|
||||
siteMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(siteMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator)).withCoreAPI().usingUser(siteMember)
|
||||
.deleteSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN).assertLastError().containsSummary(RestErrorModel.PERMISSION_WAS_DENIED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@Bug(id = "REPO-1946")
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify contributor user is not able to delete site memebership request")
|
||||
public void contributorCannotDeleteSiteMembershipRequest() throws Exception
|
||||
{
|
||||
siteMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(siteMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor)).withCoreAPI().usingUser(siteMember)
|
||||
.deleteSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN).assertLastError().containsSummary(RestErrorModel.PERMISSION_WAS_DENIED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@Bug(id = "REPO-1946")
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify consumer user is not able to delete site memebership request")
|
||||
public void consumerCannotDeleteSiteMembershipRequest() throws Exception
|
||||
{
|
||||
siteMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(siteMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer)).withCoreAPI().usingUser(siteMember)
|
||||
.deleteSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN).assertLastError().containsSummary(RestErrorModel.PERMISSION_WAS_DENIED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@Bug(id = "REPO-1946")
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify random user is not able to delete site memebership request")
|
||||
public void randomUserCanNotDeleteSiteMembershipRequest() throws Exception
|
||||
{
|
||||
siteMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(siteMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
|
||||
restClient.authenticateUser(dataUser.createRandomTestUser()).withCoreAPI().usingUser(siteMember).deleteSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN).assertLastError().containsSummary(RestErrorModel.PERMISSION_WAS_DENIED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.SITES }, executionType = ExecutionType.SANITY, description = "Failed authentication get site member call returns status code 401")
|
||||
// @Bug(id = "MNT-16904")
|
||||
public void unauthenticatedUserIsNotAuthorizedToDeleteSiteMmebershipRequest() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(dataUser.createRandomTestUser()).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
UserModel inexistentUser = new UserModel("inexistent user", "inexistent password");
|
||||
restClient.authenticateUser(inexistentUser).withCoreAPI().usingAuthUser().deleteSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED).assertLastError()
|
||||
.containsSummary(RestErrorModel.AUTHENTICATION_FAILED);
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user is able to remove his own site memebership request using '-me-' in place of personId and response is successful (204)")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
public void userCanDeleteHisOwnSiteMembershipRequestUsingMeAsPersonId() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(secondSiteCreator).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
restClient.withCoreAPI().usingMe().deleteSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user is not able to remove a site memebership request of an inexistent user and response is 404")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
public void adminIsNotAbleToDeleteSiteMembershipRequestOfAnInexistentUser() throws Exception
|
||||
{
|
||||
UserModel inexistentUser = new UserModel("inexistenUser", "password");
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingUser(inexistentUser).deleteSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, inexistentUser.getUsername()));
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user is not able to remove a site memebership request to an inexistent site and response is 404")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
public void adminIsNotAbleToDeleteSiteMembershipRequestToAnInexistentSite() throws Exception
|
||||
{
|
||||
SiteModel inexistentSite = new SiteModel("inexistentSite");
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingUser(adminUserModel).deleteSiteMembershipRequest(inexistentSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError().containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, adminUserModel.getUsername(), inexistentSite.getId()));
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user is not able to remove a site memebership request to an empty site id and response is 405")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
public void adminIsNotAbleToDeleteSiteMembershipRequestWithEmptySiteId() throws Exception
|
||||
{
|
||||
SiteModel inexistentSite = new SiteModel("");
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingUser(adminUserModel).deleteSiteMembershipRequest(inexistentSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.METHOD_NOT_ALLOWED).assertLastError().containsSummary(RestErrorModel.DELETE_EMPTY_ARGUMENT);
|
||||
}
|
||||
|
||||
@Bug(id = "REPO-1946")
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify contributor user is not able to remove a site memebership request of admin to a moderated site and response is 404")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
public void contributorIsNotAbleToDeleteSiteMembershipRequestOfAdminToAModeratedSite() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor)).withCoreAPI().usingUser(adminUserModel).deleteSiteMembershipRequest(secondModeratedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN).assertLastError().containsSummary(RestErrorModel.PERMISSION_WAS_DENIED);
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify manager is able to remove a site memebership request of admin to a moderated site and response is 204")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
public void managerUserIsAbleToDeleteSiteMembershipRequestOfAdminToAModeratedSite() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingAuthUser().addSiteMembershipRequest(secondModeratedSite);
|
||||
restClient.authenticateUser(secondSiteCreator).withCoreAPI().usingUser(adminUserModel).deleteSiteMembershipRequest(secondModeratedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API,
|
||||
TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify manager is not able to remove a site memebership request if it was already approved and response is 404")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
public void managerUserIsNotAbleToDeleteASiteMembershipRequestIfItWasAlreadyApproved() throws Exception
|
||||
{
|
||||
siteMember.setUserRole(UserRole.SiteCollaborator);
|
||||
restClient.authenticateUser(siteMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(secondModeratedSite);
|
||||
RestTaskModel taskModel = restClient.authenticateUser(siteMember).withWorkflowAPI().getTasks().getTaskModelByDescription(secondModeratedSite);
|
||||
workflow.approveSiteMembershipRequest(secondSiteCreator.getUsername(), secondSiteCreator.getPassword(), taskModel.getId(), true, "Approve");
|
||||
|
||||
restClient.authenticateUser(secondSiteCreator).withCoreAPI().usingUser(siteMember).deleteSiteMembershipRequest(secondModeratedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError().containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, siteMember.getUsername(), secondModeratedSite.getId()));
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API,
|
||||
TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify manager is not able to remove an inexitent site memebership request and response is 404")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
public void managerUserIsNotAbleToDeleteAnInexistentSiteMembershipRequest() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(secondSiteCreator).withCoreAPI().usingUser(adminUserModel).deleteSiteMembershipRequest(secondModeratedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError().containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, adminUserModel.getUsername(), secondModeratedSite.getId()));
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify collaborator user is not able to remove a site memebership request of admin to a public site and response is 404")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
public void collaboratorIsNotAbleToDeleteSiteMembershipRequestOfAdminToAPublicSite() throws Exception
|
||||
{
|
||||
UserModel userCollaborator = usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator);
|
||||
restClient.authenticateUser(siteMember).withCoreAPI().usingSite(publicSite).addPerson(userCollaborator);
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingAuthUser().addSiteMembershipRequest(publicSite);
|
||||
|
||||
restClient.authenticateUser(userCollaborator).withCoreAPI().usingUser(adminUserModel).deleteSiteMembershipRequest(publicSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError()
|
||||
.containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, adminUserModel.getUsername(), publicSite.getId()))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Delete a rejected site membership request.")
|
||||
public void deleteARejectedSiteMembershipRequest() throws Exception
|
||||
{
|
||||
UserModel userWithRejectedRequests = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(userWithRejectedRequests).withCoreAPI().usingAuthUser().addSiteMembershipRequest(secondModeratedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
|
||||
RestTaskModel taskModel = restClient.authenticateUser(userWithRejectedRequests).withWorkflowAPI().getTasks()
|
||||
.getTaskModelByDescription(secondModeratedSite);
|
||||
workflow.approveSiteMembershipRequest(secondSiteCreator.getUsername(), secondSiteCreator.getPassword(), taskModel.getId(), false, "Rejected");
|
||||
|
||||
siteMembershipRequests = restClient.authenticateUser(userWithRejectedRequests).withCoreAPI().usingMe().getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembershipRequests.assertThat().entriesListDoesNotContain("id", secondModeratedSite.getId());
|
||||
|
||||
restClient.authenticateUser(secondSiteCreator).withCoreAPI().usingUser(userWithRejectedRequests).deleteSiteMembershipRequest(secondModeratedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError()
|
||||
.containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, userWithRejectedRequests.getUsername(), secondModeratedSite.getId()))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Bug(id="ACE-2413")
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user is not able to remove a site memebership request- empty person id and response is 400")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
public void adminIsNotAbleToDeleteSiteMembershipRequestEmptyPersonID() throws Exception
|
||||
{
|
||||
UserModel emptyPersonId = new UserModel("", "password");
|
||||
restClient.authenticateUser(adminUserModel).withCoreAPI().usingUser(emptyPersonId).deleteSiteMembershipRequest(moderatedSite);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError()
|
||||
.containsErrorKey(RestErrorModel.API_DEFAULT_ERRORKEY)
|
||||
.containsSummary(RestErrorModel.ENTITY_NOT_FOUND)
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify manager removes/cancel twice same site memebership request and response is 404")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
public void managerCancelsTwiceSiteMembershipRequestModeratedSite() throws Exception
|
||||
{
|
||||
siteMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(siteMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
|
||||
restClient.authenticateUser(siteCreator).withCoreAPI().usingUser(siteMember).deleteSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
restClient.withCoreAPI().usingUser(siteMember).deleteSiteMembershipRequest(moderatedSite);
|
||||
|
||||
restClient.withCoreAPI().usingUser(siteMember).getSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError()
|
||||
.containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, siteMember.getUsername(), moderatedSite.getTitle()))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
}
|
||||
-144
@@ -1,144 +0,0 @@
|
||||
package org.alfresco.rest.sites.membershipRequests;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
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.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
|
||||
*/
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
@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)
|
||||
.assertLastError().containsErrorKey(RestErrorModel.API_DEFAULT_ERRORKEY)
|
||||
.containsSummary(RestErrorModel.AUTHENTICATION_FAILED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
@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)")
|
||||
@Bug(id="MNT-16904", description = "It fails only on environment with tenants")
|
||||
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);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
@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)")
|
||||
@Bug(id = "MNT-16904", description = "It fails only on environment with tenants")
|
||||
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).assertLastError()
|
||||
.containsSummary(RestErrorModel.AUTHENTICATION_FAILED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
@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);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
@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(RestErrorModel.ENTITY_NOT_FOUND, ""));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
@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(RestErrorModel.RELATIONSHIP_NOT_FOUND, noRequestUser.getUsername(), siteModel.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
@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(RestErrorModel.RELATIONSHIP_NOT_FOUND, publicUser.getUsername(), publicSite.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
@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(RestErrorModel.RELATIONSHIP_NOT_FOUND, privateUser.getUsername(), privateSite.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
@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(RestErrorModel.RELATIONSHIP_NOT_FOUND, userModel.getUsername(), inexistentSite.getId()));
|
||||
}
|
||||
}
|
||||
-285
@@ -1,285 +0,0 @@
|
||||
package org.alfresco.rest.sites.membershipRequests;
|
||||
|
||||
import org.alfresco.dataprep.SiteService.Visibility;
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.exception.JsonToModelConversionException;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.rest.model.RestSiteMembershipRequestModel;
|
||||
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.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;
|
||||
|
||||
public class GetSiteMembershipRequestFullTests extends RestTest
|
||||
{
|
||||
UserModel userModel, newMember, adminUser, userCollaborator, userConsumer, adminTenantUser, adminTenantUser2,
|
||||
tenantUser, tenantUserAssignee;
|
||||
SiteModel moderatedSite, secondModeratedSite;
|
||||
RestSiteMembershipRequestModel returnedModel;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void dataPreparation() throws Exception
|
||||
{
|
||||
adminUser = dataUser.getAdminUser();
|
||||
userModel = dataUser.createRandomTestUser();
|
||||
moderatedSite = dataSite.usingUser(userModel).createModeratedRandomSite();
|
||||
newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify site manager can get site membership requests on moderated site and response is successful (200)")
|
||||
public void siteManagerCanGetModeratedSiteMembershipRequests() throws Exception
|
||||
{
|
||||
UserModel moderatedUser = dataUser.createRandomTestUser();
|
||||
SiteModel moderatedSite = dataSite.usingUser(userModel).createModeratedRandomSite();
|
||||
restClient.authenticateUser(moderatedUser).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
returnedModel = restClient.authenticateUser(userModel).withCoreAPI().usingUser(moderatedUser).getSiteMembershipRequest(moderatedSite);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
returnedModel.assertThat().field("id").is(moderatedSite.getId())
|
||||
.and().field("message").is("Please accept me")
|
||||
.and().field("site.title").is(moderatedSite.getTitle())
|
||||
.and().field("site.visibility").is(Visibility.MODERATED.toString())
|
||||
.and().field("site.guid").isNotEmpty()
|
||||
.and().field("site.description").is(moderatedSite.getDescription())
|
||||
.and().field("site.preset").is("site-dashboard");
|
||||
}
|
||||
|
||||
@Bug(id = "ACE-2413")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify if person ID field is empty user can't get site membership requests on moderated site and response is not found (400)")
|
||||
public void emptyPersonIdCantGetModeratedSiteMembershipRequests() throws Exception
|
||||
{
|
||||
UserModel emptyUser = new UserModel("", "password");
|
||||
restClient.authenticateUser(userModel).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
restClient.authenticateUser(userModel).withCoreAPI().usingUser(emptyUser).getSiteMembershipRequest(moderatedSite);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError()
|
||||
.containsErrorKey(RestErrorModel.API_DEFAULT_ERRORKEY)
|
||||
.containsSummary(String.format("The entity with id: personId is null. was not found"))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Approve site membership request then verify get site membership requests - response is 404")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
public void approveRequestThenGetSiteMembershipRequest() throws JsonToModelConversionException, DataPreparationException, Exception
|
||||
{
|
||||
UserModel userWithApprovedRequests = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(userWithApprovedRequests).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
|
||||
RestTaskModel taskModel = restClient.authenticateUser(userWithApprovedRequests).withWorkflowAPI().getTasks().getTaskModelByDescription(moderatedSite);
|
||||
workflow.approveSiteMembershipRequest(userModel.getUsername(), userModel.getPassword(), taskModel.getId(), true, "Approve");
|
||||
|
||||
returnedModel = restClient.authenticateUser(userWithApprovedRequests).withCoreAPI().usingMe().getSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, userWithApprovedRequests.getUsername(), moderatedSite.getId()))
|
||||
.containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Reject site membership request then verify get site membership requests - response is 404")
|
||||
public void rejectRequestThenGetSiteMembershipRequest() throws Exception
|
||||
{
|
||||
UserModel userWithRejectedRequests = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(userWithRejectedRequests).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
|
||||
RestTaskModel taskModel = restClient.authenticateUser(userWithRejectedRequests).withWorkflowAPI().getTasks().getTaskModelByDescription(moderatedSite);
|
||||
workflow.approveSiteMembershipRequest(userModel.getUsername(), userModel.getPassword(), taskModel.getId(), false, "Rejected");
|
||||
|
||||
returnedModel = restClient.authenticateUser(userWithRejectedRequests).withCoreAPI().usingMe().getSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, userWithRejectedRequests.getUsername(), moderatedSite.getId()))
|
||||
.containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify entry details for get site favorite response with Rest API")
|
||||
public void checkResponseSchemaForGetSiteMembershipRequest() throws Exception
|
||||
{
|
||||
dataUser.usingUser(userModel).addUserToSite(newMember, moderatedSite, UserRole.SiteContributor);
|
||||
returnedModel = restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().getSiteMembershipRequest(moderatedSite);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
returnedModel.assertThat().field("id").is(moderatedSite.getId())
|
||||
.and().field("message").is("Please accept me")
|
||||
.and().field("site.title").is(moderatedSite.getTitle())
|
||||
.and().field("site.visibility").is(Visibility.MODERATED.toString())
|
||||
.and().field("site.guid").isNotEmpty()
|
||||
.and().field("site.description").is(moderatedSite.getDescription())
|
||||
.and().field("site.preset").is("site-dashboard")
|
||||
.and().field("site.role").is("SiteContributor");
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that getFavoriteSites request applies valid properties param")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
public void getSiteMembershipRequestWithValidPropertiesParam() throws Exception
|
||||
{
|
||||
RestSiteMembershipRequestModel returnedModel = restClient.authenticateUser(newMember).withParams("properties=message").withCoreAPI().usingAuthUser()
|
||||
.getSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
returnedModel.assertThat().fieldsCount().is(1).assertThat().field("message").isNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that getFavoriteSites request returns status 200 when using valid parameters")
|
||||
public void getSiteMembershipRequestUsingParameters() throws Exception
|
||||
{
|
||||
RestSiteMembershipRequestModel returnedModel = restClient.withParams("message=Please accept me")
|
||||
.authenticateUser(newMember).withCoreAPI().usingMe()
|
||||
.getSiteMembershipRequest(moderatedSite);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
returnedModel.assertThat().field("id").is(moderatedSite.getId()).and().field("site.title").is(moderatedSite.getTitle());
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user doesn't have permission to get site membership request of admin with membership request with Rest API and status code is 404")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
public void userIsNotAbleToGetSiteMembershipRequestOfAdminWithRequest() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
|
||||
returnedModel = restClient.authenticateUser(adminUser).withCoreAPI().usingUser(newMember).getSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
returnedModel.assertThat().field("id").is(moderatedSite.getId())
|
||||
.and().field("message").is("Please accept me")
|
||||
.and().field("site.title").is(moderatedSite.getTitle())
|
||||
.and().field("site.visibility").is(Visibility.MODERATED.toString())
|
||||
.and().field("site.guid").isNotEmpty()
|
||||
.and().field("site.description").is(moderatedSite.getDescription())
|
||||
.and().field("site.preset").is("site-dashboard");
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user doesn't have permission to get site membership request of admin without membership request with Rest API and status code is 404")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
public void userIsNotAbleToGetSiteMembershipRequestOfAdminWithoutRequest() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
SiteModel moderatedSite = dataSite.usingUser(userModel).createModeratedRandomSite();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
|
||||
returnedModel = restClient.authenticateUser(newMember).withCoreAPI().usingUser(adminUser).getSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError()
|
||||
.containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, adminUser.getUsername(), moderatedSite.getId()))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER).stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify admin user doesn't have permission to get site membership request of another user with Rest API and status code is 404")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
public void adminIsNotAbleToGetSiteMembershipRequestOfUser() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(adminUser).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
|
||||
returnedModel = restClient.authenticateUser(newMember).withCoreAPI().usingUser(adminUser).getSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError()
|
||||
.containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, adminUser.getUsername(), moderatedSite.getId()))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify admin user doesn't have permission to get site membership request of another user with Rest API and status code is 404")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
public void userIsNotAbleToGetSiteMembershipRequestOfAnotherUser() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
userCollaborator = dataUser.createRandomTestUser();
|
||||
userConsumer = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(userConsumer).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
dataUser.usingUser(userModel).addUserToSite(userConsumer, moderatedSite, UserRole.SiteConsumer);
|
||||
restClient.authenticateUser(userCollaborator).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
dataUser.usingUser(userModel).addUserToSite(userCollaborator, moderatedSite, UserRole.SiteCollaborator);
|
||||
|
||||
returnedModel = restClient.authenticateUser(userCollaborator).withCoreAPI().usingUser(userConsumer).getSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError()
|
||||
.containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, userConsumer.getUsername(), moderatedSite.getId()))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.NETWORKS }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Add process item using by the admin in same network.")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL, TestGroup.NETWORKS })
|
||||
public void getSiteMembershipRequestByAdminSameNetwork() throws Exception
|
||||
{
|
||||
adminTenantUser = UserModel.getAdminTenantUser();
|
||||
restClient.authenticateUser(adminUser).usingTenant().createTenant(adminTenantUser);
|
||||
tenantUser = dataUser.usingUser(adminTenantUser).createUserWithTenant("uTenant");
|
||||
|
||||
moderatedSite = dataSite.usingUser(adminTenantUser).createModeratedRandomSite();
|
||||
restClient.authenticateUser(tenantUser).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
|
||||
returnedModel = restClient.authenticateUser(tenantUser).withCoreAPI().usingAuthUser().getSiteMembershipRequest(moderatedSite);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
returnedModel.assertThat().field("id").is(moderatedSite.getId())
|
||||
.and().field("message").is("Please accept me")
|
||||
.and().field("site.title").is(moderatedSite.getTitle())
|
||||
.and().field("site.visibility").is(Visibility.MODERATED.toString())
|
||||
.and().field("site.guid").isNotEmpty()
|
||||
.and().field("site.description").is(moderatedSite.getDescription())
|
||||
.and().field("site.preset").is("site-dashboard");
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.NETWORKS }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Add process item using by admin in other network.")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL, TestGroup.NETWORKS })
|
||||
public void getSiteMembershipRequestByAdminInOtherNetwork() throws Exception
|
||||
{
|
||||
adminTenantUser = UserModel.getAdminTenantUser();
|
||||
restClient.authenticateUser(adminUser).usingTenant().createTenant(adminTenantUser);
|
||||
tenantUserAssignee = dataUser.usingUser(adminTenantUser).createUserWithTenant("uTenantAssignee");
|
||||
|
||||
adminTenantUser2 = UserModel.getAdminTenantUser();
|
||||
restClient.usingTenant().createTenant(adminTenantUser2);
|
||||
moderatedSite = dataSite.usingUser(adminTenantUser2).createModeratedRandomSite();
|
||||
|
||||
restClient.authenticateUser(adminTenantUser).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
returnedModel = restClient.authenticateUser(adminTenantUser2).withCoreAPI().usingAuthUser().getSiteMembershipRequest(moderatedSite);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError()
|
||||
.containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, adminTenantUser2.getUsername().toLowerCase(), moderatedSite.getId()))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
}
|
||||
-119
@@ -1,119 +0,0 @@
|
||||
package org.alfresco.rest.sites.membershipRequests;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.exception.JsonToModelConversionException;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataSite;
|
||||
import org.alfresco.utility.data.DataUser;
|
||||
import org.alfresco.utility.data.DataUser.ListUserWithRoles;
|
||||
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.report.Bug;
|
||||
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;
|
||||
|
||||
public class GetSiteMembershipRequestSanityTests extends RestTest
|
||||
{
|
||||
@Autowired
|
||||
DataUser dataUser;
|
||||
|
||||
@Autowired
|
||||
DataSite dataSite;
|
||||
|
||||
private SiteModel siteModel;
|
||||
|
||||
private ListUserWithRoles usersWithRoles;
|
||||
|
||||
private UserModel adminUser;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void dataPreparation() throws DataPreparationException
|
||||
{
|
||||
adminUser = dataUser.getAdminUser();
|
||||
siteModel = dataSite.usingUser(adminUser).createPublicRandomSite();
|
||||
usersWithRoles = dataUser.addUsersWithRolesToSite(siteModel, UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer,
|
||||
UserRole.SiteContributor);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify site manager is able to retrieve site membership request")
|
||||
@Bug(id = "MNT-16557")
|
||||
public void siteManagerIsAbleToRetrieveSiteMembershipRequest() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager)).withCoreAPI().usingUser(newMember)
|
||||
.addSiteMembershipRequest(siteModel);
|
||||
|
||||
restClient.withCoreAPI().usingUser(newMember).getSiteMembershipRequest(siteModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify site collaborator is able to retrieve site membership request")
|
||||
@Bug(id = "MNT-16557")
|
||||
public void siteCollaboratorIsAbleToRetrieveSiteMembershipRequest() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator)).withCoreAPI().usingUser(newMember)
|
||||
.addSiteMembershipRequest(siteModel);
|
||||
|
||||
restClient.withCoreAPI().usingUser(newMember).getSiteMembershipRequest(siteModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify site contributor is able to retrieve site membership request")
|
||||
@Bug(id = "MNT-16557")
|
||||
public void siteContributorIsAbleToRetrieveSiteMembershipRequest() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor)).withCoreAPI().usingUser(newMember)
|
||||
.addSiteMembershipRequest(siteModel);
|
||||
|
||||
restClient.withCoreAPI().usingUser(newMember).getSiteMembershipRequest(siteModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify site consumer is able to retrieve site membership request")
|
||||
@Bug(id = "MNT-16557")
|
||||
public void siteConsumerIsAbleToRetrieveSiteMembershipRequest() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer)).withCoreAPI().usingUser(newMember)
|
||||
.addSiteMembershipRequest(siteModel);
|
||||
|
||||
restClient.withCoreAPI().usingUser(newMember).getSiteMembershipRequest(siteModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify admin user is able to retrieve site membership request")
|
||||
@Bug(id = "MNT-16557")
|
||||
public void adminIsAbleToRetrieveSiteMembershipRequest() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(adminUser).withCoreAPI().usingUser(newMember).addSiteMembershipRequest(siteModel);
|
||||
|
||||
restClient.withCoreAPI().usingUser(newMember).getSiteMembershipRequest(siteModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify unauthenticated user is not able to retrieve site membership request")
|
||||
@Bug(id = "MNT-16557")
|
||||
public void unauthenticatedUserIsNotAbleToRetrieveSiteMembershipRequest() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(new UserModel("random user", "random password")).withCoreAPI().usingUser(newMember).addSiteMembershipRequest(siteModel);
|
||||
|
||||
restClient.withCoreAPI().usingUser(newMember).getSiteMembershipRequest(siteModel);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED).assertLastExceptionContains(HttpStatus.UNAUTHORIZED.toString());
|
||||
}
|
||||
}
|
||||
+380
@@ -0,0 +1,380 @@
|
||||
package org.alfresco.rest.sites.membershipRequests;
|
||||
|
||||
import org.alfresco.dataprep.SiteService;
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.exception.JsonToModelConversionException;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.rest.model.RestSiteMembershipRequestModel;
|
||||
import org.alfresco.rest.model.RestTaskModel;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser.ListUserWithRoles;
|
||||
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.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;
|
||||
|
||||
public class GetSiteMembershipRequestTests extends RestTest
|
||||
{
|
||||
private SiteModel publicSite, moderatedSite;
|
||||
private ListUserWithRoles usersWithRoles;
|
||||
private UserModel adminUser, siteCreator, newMember;
|
||||
private RestSiteMembershipRequestModel returnedModel;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void dataPreparation() throws Exception
|
||||
{
|
||||
adminUser = dataUser.getAdminUser();
|
||||
publicSite = dataSite.usingUser(adminUser).createPublicRandomSite();
|
||||
|
||||
siteCreator = dataUser.createRandomTestUser();
|
||||
moderatedSite = dataSite.usingUser(siteCreator).createModeratedRandomSite();
|
||||
|
||||
usersWithRoles = dataUser.addUsersWithRolesToSite(moderatedSite, UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer,
|
||||
UserRole.SiteContributor);
|
||||
|
||||
newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify site manager is able to retrieve site membership request")
|
||||
public void siteManagerIsAbleToRetrieveSiteMembershipRequest() throws Exception
|
||||
{
|
||||
returnedModel = restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager)).withCoreAPI().usingUser(newMember).getSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
returnedModel.assertThat().field("id").is(moderatedSite.getId())
|
||||
.and().field("message").is("Please accept me")
|
||||
.and().field("site.title").is(moderatedSite.getTitle())
|
||||
.and().field("site.visibility").is(SiteService.Visibility.MODERATED.toString())
|
||||
.and().field("site.guid").isNotEmpty()
|
||||
.and().field("site.description").is(moderatedSite.getDescription())
|
||||
.and().field("site.preset").is("site-dashboard");
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify site collaborator is able to retrieve site membership request")
|
||||
public void siteCollaboratorIsNotAbleToRetrieveSiteMembershipRequest() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator)).withCoreAPI().usingUser(newMember).getSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify site contributor is able to retrieve site membership request")
|
||||
public void siteContributorIsNotAbleToRetrieveSiteMembershipRequest() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor)).withCoreAPI().usingUser(newMember).getSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify site consumer is able to retrieve site membership request")
|
||||
public void siteConsumerIsNotAbleToRetrieveSiteMembershipRequest() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer)).withCoreAPI().usingUser(newMember).getSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify admin user is able to retrieve site membership request")
|
||||
public void adminIsAbleToRetrieveSiteMembershipRequest() throws Exception
|
||||
{
|
||||
returnedModel = restClient.authenticateUser(adminUser).withCoreAPI().usingUser(newMember).getSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
returnedModel.assertThat().field("id").is(moderatedSite.getId())
|
||||
.and().field("message").is("Please accept me")
|
||||
.and().field("site.title").is(moderatedSite.getTitle())
|
||||
.and().field("site.visibility").is(SiteService.Visibility.MODERATED.toString())
|
||||
.and().field("site.guid").isNotEmpty()
|
||||
.and().field("site.description").is(moderatedSite.getDescription())
|
||||
.and().field("site.preset").is("site-dashboard");
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify user fails to get all site membership requests of a specific person with Rest API when the authentication fails (401)")
|
||||
public void unauthorizedUserFailsToGetSiteMembershipRequests() throws Exception
|
||||
{
|
||||
UserModel manager = dataUser.usingAdmin().createRandomTestUser();
|
||||
dataUser.usingUser(siteCreator).addUserToSite(manager, moderatedSite, UserRole.SiteManager);
|
||||
manager.setPassword("newpassword");
|
||||
restClient.authenticateUser(manager).withCoreAPI().usingUser(newMember).getSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED)
|
||||
.assertLastError().containsErrorKey(RestErrorModel.API_DEFAULT_ERRORKEY)
|
||||
.containsSummary(RestErrorModel.AUTHENTICATION_FAILED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@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(moderatedSite).assertThat().field("id").is(moderatedSite.getId());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@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(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, ""));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@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 userWithNoRequestsCantGetSiteMembershipRequests() throws Exception
|
||||
{
|
||||
UserModel noRequestUser = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(noRequestUser).withCoreAPI().usingMe().getSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, noRequestUser.getUsername(), moderatedSite.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@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();
|
||||
restClient.authenticateUser(publicUser).withCoreAPI().usingAuthUser().addSiteMembershipRequest(publicSite);
|
||||
restClient.authenticateUser(adminUser).withCoreAPI()
|
||||
.usingUser(publicUser).getSiteMembershipRequest(publicSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, publicUser.getUsername(), publicSite.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@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(siteCreator).createPrivateRandomSite();
|
||||
restClient.authenticateUser(privateUser).withCoreAPI().usingAuthUser().addSiteMembershipRequest(privateSite);
|
||||
restClient.authenticateUser(siteCreator).withCoreAPI().usingUser(privateUser).getSiteMembershipRequest(privateSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, privateUser.getUsername(), privateSite.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@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(siteCreator).withCoreAPI().usingMe().getSiteMembershipRequest(inexistentSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, siteCreator.getUsername(), inexistentSite.getId()));
|
||||
}
|
||||
|
||||
@Bug(id = "ACE-2413")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify if person ID field is empty user can't get site membership requests on moderated site and response is not found (400)")
|
||||
public void emptyPersonIdCantGetModeratedSiteMembershipRequests() throws Exception
|
||||
{
|
||||
UserModel emptyUser = new UserModel("", "password");
|
||||
restClient.authenticateUser(siteCreator).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
restClient.authenticateUser(siteCreator).withCoreAPI().usingUser(emptyUser).getSiteMembershipRequest(moderatedSite);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError()
|
||||
.containsErrorKey(RestErrorModel.API_DEFAULT_ERRORKEY)
|
||||
.containsSummary(String.format("The entity with id: personId is null. was not found"))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Approve site membership request then verify get site membership requests - response is 404")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
public void approveRequestThenGetSiteMembershipRequest() throws Exception
|
||||
{
|
||||
UserModel userWithApprovedRequests = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(userWithApprovedRequests).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
|
||||
RestTaskModel taskModel = restClient.authenticateUser(userWithApprovedRequests).withWorkflowAPI().getTasks().getTaskModelByDescription(moderatedSite);
|
||||
workflow.approveSiteMembershipRequest(siteCreator.getUsername(), siteCreator.getPassword(), taskModel.getId(), true, "Approve");
|
||||
|
||||
returnedModel = restClient.authenticateUser(userWithApprovedRequests).withCoreAPI().usingMe().getSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, userWithApprovedRequests.getUsername(), moderatedSite.getId()))
|
||||
.containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Reject site membership request then verify get site membership requests - response is 404")
|
||||
public void rejectRequestThenGetSiteMembershipRequest() throws Exception
|
||||
{
|
||||
UserModel userWithRejectedRequests = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(userWithRejectedRequests).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
|
||||
RestTaskModel taskModel = restClient.authenticateUser(userWithRejectedRequests).withWorkflowAPI().getTasks().getTaskModelByDescription(moderatedSite);
|
||||
workflow.approveSiteMembershipRequest(siteCreator.getUsername(), siteCreator.getPassword(), taskModel.getId(), false, "Rejected");
|
||||
|
||||
returnedModel = restClient.authenticateUser(userWithRejectedRequests).withCoreAPI().usingMe().getSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, userWithRejectedRequests.getUsername(), moderatedSite.getId()))
|
||||
.containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify entry details for get site favorite response with Rest API")
|
||||
public void checkResponseSchemaForGetSiteMembershipRequest() throws Exception
|
||||
{
|
||||
dataUser.usingUser(siteCreator).addUserToSite(newMember, moderatedSite, UserRole.SiteContributor);
|
||||
returnedModel = restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().getSiteMembershipRequest(moderatedSite);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
returnedModel.assertThat().field("id").is(moderatedSite.getId())
|
||||
.and().field("message").is("Please accept me")
|
||||
.and().field("site.title").is(moderatedSite.getTitle())
|
||||
.and().field("site.visibility").is(SiteService.Visibility.MODERATED.toString())
|
||||
.and().field("site.guid").isNotEmpty()
|
||||
.and().field("site.description").is(moderatedSite.getDescription())
|
||||
.and().field("site.preset").is("site-dashboard")
|
||||
.and().field("site.role").is("SiteContributor");
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that getFavoriteSites request applies valid properties param")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
public void getSiteMembershipRequestWithValidPropertiesParam() throws Exception
|
||||
{
|
||||
RestSiteMembershipRequestModel returnedModel = restClient.authenticateUser(newMember).withParams("properties=message").withCoreAPI().usingAuthUser()
|
||||
.getSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
returnedModel.assertThat().fieldsCount().is(1).assertThat().field("message").isNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that getFavoriteSites request returns status 200 when using valid parameters")
|
||||
public void getSiteMembershipRequestUsingParameters() throws Exception
|
||||
{
|
||||
RestSiteMembershipRequestModel returnedModel = restClient.withParams("message=Please accept me")
|
||||
.authenticateUser(newMember).withCoreAPI().usingMe()
|
||||
.getSiteMembershipRequest(moderatedSite);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
returnedModel.assertThat().field("id").is(moderatedSite.getId()).and().field("site.title").is(moderatedSite.getTitle());
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user doesn't have permission to get site membership request of admin without membership request with Rest API and status code is 404")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
public void userIsNotAbleToGetSiteMembershipRequestOfAdminWithoutRequest() throws Exception
|
||||
{
|
||||
returnedModel = restClient.authenticateUser(newMember).withCoreAPI().usingUser(adminUser).getSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError()
|
||||
.containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, adminUser.getUsername(), moderatedSite.getId()))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER).stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user doesn't have permission to get site membership request of admin with requests with Rest API and status code is 404")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
public void userIsNotAbleToGetSiteMembershipRequestOfAdminWithRequest() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(adminUser).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
|
||||
returnedModel = restClient.authenticateUser(newMember).withCoreAPI().usingUser(adminUser).getSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError()
|
||||
.containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, adminUser.getUsername(), moderatedSite.getId()))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify admin user doesn't have permission to get site membership request of another user with Rest API and status code is 404")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
public void userIsNotAbleToGetSiteMembershipRequestOfAnotherUser() throws Exception
|
||||
{
|
||||
UserModel userCollaborator = dataUser.createRandomTestUser();
|
||||
UserModel userConsumer = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(userConsumer).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
dataUser.usingUser(siteCreator).addUserToSite(userConsumer, moderatedSite, UserRole.SiteConsumer);
|
||||
restClient.authenticateUser(userCollaborator).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
dataUser.usingUser(siteCreator).addUserToSite(userCollaborator, moderatedSite, UserRole.SiteCollaborator);
|
||||
|
||||
returnedModel = restClient.authenticateUser(userCollaborator).withCoreAPI().usingUser(userConsumer).getSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError()
|
||||
.containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, userConsumer.getUsername(), moderatedSite.getId()))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.NETWORKS }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Add process item using by the admin in same network.")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION, TestGroup.NETWORKS })
|
||||
public void getSiteMembershipRequestByAdminSameNetwork() throws Exception
|
||||
{
|
||||
UserModel adminTenantUser = UserModel.getAdminTenantUser();
|
||||
restClient.authenticateUser(adminUser).usingTenant().createTenant(adminTenantUser);
|
||||
UserModel tenantUser = dataUser.usingUser(adminTenantUser).createUserWithTenant("uTenant");
|
||||
|
||||
moderatedSite = dataSite.usingUser(adminTenantUser).createModeratedRandomSite();
|
||||
restClient.authenticateUser(tenantUser).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
|
||||
returnedModel = restClient.authenticateUser(tenantUser).withCoreAPI().usingAuthUser().getSiteMembershipRequest(moderatedSite);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
returnedModel.assertThat().field("id").is(moderatedSite.getId())
|
||||
.and().field("message").is("Please accept me")
|
||||
.and().field("site.title").is(moderatedSite.getTitle())
|
||||
.and().field("site.visibility").is(SiteService.Visibility.MODERATED.toString())
|
||||
.and().field("site.guid").isNotEmpty()
|
||||
.and().field("site.description").is(moderatedSite.getDescription())
|
||||
.and().field("site.preset").is("site-dashboard");
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.NETWORKS }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Add process item using by admin in other network.")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION, TestGroup.NETWORKS })
|
||||
public void getSiteMembershipRequestByAdminInOtherNetwork() throws Exception
|
||||
{
|
||||
UserModel adminTenantUser = UserModel.getAdminTenantUser();
|
||||
restClient.authenticateUser(adminUser).usingTenant().createTenant(adminTenantUser);
|
||||
|
||||
UserModel adminTenantUser2 = UserModel.getAdminTenantUser();
|
||||
restClient.usingTenant().createTenant(adminTenantUser2);
|
||||
moderatedSite = dataSite.usingUser(adminTenantUser2).createModeratedRandomSite();
|
||||
|
||||
restClient.authenticateUser(adminTenantUser).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
returnedModel = restClient.authenticateUser(adminTenantUser2).withCoreAPI().usingAuthUser().getSiteMembershipRequest(moderatedSite);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError()
|
||||
.containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, adminTenantUser2.getUsername().toLowerCase(), moderatedSite.getId()))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
}
|
||||
-167
@@ -1,167 +0,0 @@
|
||||
package org.alfresco.rest.sites.membershipRequests;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.rest.model.RestSiteMembershipRequestModelsCollection;
|
||||
import org.alfresco.rest.model.RestTaskModel;
|
||||
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;
|
||||
|
||||
/**
|
||||
* Tests for getSiteMembershipRequests (get
|
||||
* /people/{personId}/site-membership-requests) Core-RestAPI call
|
||||
*
|
||||
* @author Andrei Rusu
|
||||
*/
|
||||
|
||||
public class GetSiteMembershipRequestsCoreTests extends RestTest
|
||||
{
|
||||
UserModel newMember, newMember1, meUser, adminUser;
|
||||
SiteModel moderatedSite, publicSite;
|
||||
RestSiteMembershipRequestModelsCollection returnedCollection;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void dataPreparation() throws Exception
|
||||
{
|
||||
adminUser = dataUser.getAdminUser();
|
||||
moderatedSite = dataSite.usingAdmin().createModeratedRandomSite();
|
||||
publicSite = dataSite.usingAdmin().createPublicRandomSite();
|
||||
newMember = dataUser.createRandomTestUser();
|
||||
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE },
|
||||
executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that for invalid maxItems parameter status code returned is 400.")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
public void checkInvalidMaxItemsStatusCode() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUser).withParams("maxItems=AB")
|
||||
.withCoreAPI().usingUser(newMember).getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.INVALID_MAXITEMS, "AB"));
|
||||
|
||||
restClient.authenticateUser(adminUser).withParams("maxItems=0")
|
||||
.withCoreAPI().usingUser(newMember).getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(RestErrorModel.ONLY_POSITIVE_VALUES_MAXITEMS);
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE },
|
||||
executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that for invalid skipCount parameter status code returned is 400.")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
public void checkInvalidSkipCountStatusCode() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUser).withParams("skipCount=AB")
|
||||
.withCoreAPI().usingUser(newMember).getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.INVALID_SKIPCOUNT, "AB"));
|
||||
|
||||
restClient.authenticateUser(adminUser).withParams("skipCount=-1")
|
||||
.withCoreAPI().usingUser(newMember).getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(RestErrorModel.NEGATIVE_VALUES_SKIPCOUNT);
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE },
|
||||
executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that if personId does not exist status code returned is 404.")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
public void ifPersonIdDoesNotExist() throws Exception
|
||||
{
|
||||
UserModel nonexistentUser = dataUser.createRandomTestUser();
|
||||
nonexistentUser.setUsername("nonexistent");
|
||||
|
||||
restClient.authenticateUser(adminUser).withCoreAPI().usingUser(nonexistentUser).getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, "nonexistent"))
|
||||
.statusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE)
|
||||
.containsErrorKey(RestErrorModel.ENTITY_NOT_FOUND_ERRORKEY);
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE },
|
||||
executionType = ExecutionType.REGRESSION,
|
||||
description = "Specify -me- string in place of <personid> for request.")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
public void replacePersonIdWithMeRequest() throws Exception
|
||||
{
|
||||
meUser = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(meUser).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
returnedCollection = restClient.authenticateUser(meUser).withCoreAPI().usingMe().getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
returnedCollection.assertThat().entriesListContains("id", moderatedSite.getId());
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE },
|
||||
executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that if empty personId is used status code returned is 404.")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
public void useEmptyPersonId() throws Exception
|
||||
{
|
||||
UserModel emptyNameMember = dataUser.createRandomTestUser();
|
||||
emptyNameMember.setUsername(" ");
|
||||
|
||||
restClient.authenticateUser(adminUser).withCoreAPI().usingUser(emptyNameMember).getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, emptyNameMember.getUsername()));
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE },
|
||||
executionType = ExecutionType.REGRESSION,
|
||||
description = "Get site membership requests to a public site.")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
public void getRequestsToPublicSite() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(publicSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
|
||||
returnedCollection = restClient.withCoreAPI().usingAuthUser().getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
returnedCollection.assertThat().entriesListDoesNotContain("id", publicSite.getId());
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE },
|
||||
executionType = ExecutionType.REGRESSION,
|
||||
description = "Get site membership requests to a moderated site.")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
public void getRequestsToModeratedSite() throws Exception
|
||||
{
|
||||
newMember1 = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember1).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
returnedCollection = restClient.authenticateUser(newMember1).withCoreAPI().usingUser(newMember1).getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
returnedCollection.assertThat().entriesListContains("id", moderatedSite.getId());
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE },
|
||||
executionType = ExecutionType.REGRESSION,
|
||||
description = "Approve request then get requests.")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
public void approveRequestThenGetRequests() throws Exception
|
||||
{
|
||||
UserModel siteManager = dataUser.createRandomTestUser();
|
||||
|
||||
moderatedSite = dataSite.usingUser(siteManager).createModeratedRandomSite();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingMe().addSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
|
||||
RestTaskModel taskModel = restClient.authenticateUser(newMember).withWorkflowAPI().getTasks().getTaskModelByDescription(moderatedSite);
|
||||
workflow.approveSiteMembershipRequest(siteManager.getUsername(), siteManager.getPassword(), taskModel.getId(), true, "Approve");
|
||||
|
||||
returnedCollection = restClient.authenticateUser(newMember).withCoreAPI().usingMe().getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
returnedCollection.assertThat().entriesListDoesNotContain("id", moderatedSite.getId());
|
||||
}
|
||||
|
||||
}
|
||||
-172
@@ -1,172 +0,0 @@
|
||||
package org.alfresco.rest.sites.membershipRequests;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.rest.model.RestSiteMembershipRequestModel;
|
||||
import org.alfresco.rest.model.RestSiteMembershipRequestModelsCollection;
|
||||
import org.alfresco.rest.model.RestTaskModel;
|
||||
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;
|
||||
|
||||
/**
|
||||
* Created by Claudia Agache on 1/10/2017.
|
||||
*/
|
||||
public class GetSiteMembershipRequestsFullTests extends RestTest
|
||||
{
|
||||
UserModel siteManager, newMember, adminUser, regularUser;
|
||||
SiteModel moderatedSite1, moderatedSite2, publicSite, privateSite;
|
||||
RestSiteMembershipRequestModelsCollection siteMembershipRequests;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void dataPreparation() throws Exception
|
||||
{
|
||||
siteManager = dataUser.createRandomTestUser();
|
||||
publicSite = dataSite.usingUser(siteManager).createPublicRandomSite();
|
||||
moderatedSite1 = dataSite.usingUser(siteManager).createModeratedRandomSite();
|
||||
moderatedSite2 = dataSite.usingUser(siteManager).createModeratedRandomSite();
|
||||
privateSite = dataSite.usingUser(siteManager).createPrivateRandomSite();
|
||||
|
||||
adminUser = dataUser.getAdminUser();
|
||||
newMember = dataUser.createRandomTestUser();
|
||||
regularUser = dataUser.createRandomTestUser();
|
||||
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite1);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
restClient.withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite2);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
|
||||
restClient.authenticateUser(adminUser).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite1);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
restClient.withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite2);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE },
|
||||
executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify admin user gets all its own site membership requests with Rest API and response is successful (200)")
|
||||
public void adminGetsItsOwnSiteMembershipRequestsWithSuccess() throws Exception
|
||||
{
|
||||
siteMembershipRequests = restClient.authenticateUser(adminUser).withCoreAPI().usingAuthUser().getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembershipRequests.assertThat().entriesListContains("id", moderatedSite1.getId())
|
||||
.assertThat().entriesListContains("id", moderatedSite2.getId());
|
||||
}
|
||||
|
||||
@Bug(id = "MNT-16557")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE },
|
||||
executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify regular user fails to get all site membership requests of another user with Rest API (403)")
|
||||
public void regularUserFailsToGetSiteMembershipRequestsOfAnotherUser() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(regularUser).withCoreAPI()
|
||||
.usingUser(newMember).getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN)
|
||||
.assertLastError().containsSummary(RestErrorModel.PERMISSION_WAS_DENIED);
|
||||
}
|
||||
|
||||
@Bug(id = "MNT-16557")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE },
|
||||
executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify regular user fails to get all site membership requests of admin with Rest API (403)")
|
||||
public void regularUserFailsToGetSiteMembershipRequestsOfAdmin() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(regularUser).withCoreAPI()
|
||||
.usingUser(adminUser).getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN)
|
||||
.assertLastError().containsSummary(RestErrorModel.PERMISSION_WAS_DENIED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE },
|
||||
executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify regular user is able to get his site membership requests with, but skip the first one")
|
||||
public void getSiteMembershipRequestsButSkipTheFirstOne() throws Exception
|
||||
{
|
||||
siteMembershipRequests = restClient.authenticateUser(newMember).withParams("orderBy=id ASC").withCoreAPI()
|
||||
.usingMe().getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembershipRequests.assertThat().entriesListContains("id", moderatedSite1.getId())
|
||||
.assertThat().entriesListContains("id", moderatedSite2.getId());
|
||||
|
||||
RestSiteMembershipRequestModel firstSiteMembershipRequest = siteMembershipRequests.getEntries().get(0).onModel();
|
||||
RestSiteMembershipRequestModel secondSiteMembershipRequest = siteMembershipRequests.getEntries().get(1).onModel();
|
||||
|
||||
siteMembershipRequests = restClient.authenticateUser(newMember).withParams("orderBy=id ASC&skipCount=1").withCoreAPI()
|
||||
.usingMe().getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembershipRequests.assertThat().entriesListDoesNotContain("id", firstSiteMembershipRequest.getId())
|
||||
.assertThat().entriesListContains("id", secondSiteMembershipRequest.getId())
|
||||
.assertThat().entriesListContains("id", secondSiteMembershipRequest.getSite().getId());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE },
|
||||
executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify regular user is able to get his site membership requests with higher skipCount than number of requests")
|
||||
public void getSiteMembershipRequestsWithHighSkipCount() throws Exception
|
||||
{
|
||||
siteMembershipRequests = restClient.authenticateUser(newMember).withParams("skipCount=3").withCoreAPI()
|
||||
.usingMe().getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembershipRequests.assertThat().entriesListIsEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE },
|
||||
executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify get site membership requests returns an empty list where there are no requests")
|
||||
public void getSiteMembershipRequestsWhereThereAreNoRequests() throws Exception
|
||||
{
|
||||
siteMembershipRequests = restClient.authenticateUser(regularUser).withCoreAPI().usingMe().getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembershipRequests.assertThat().entriesListIsEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE },
|
||||
executionType = ExecutionType.REGRESSION,
|
||||
description = "Reject request then get site membership requests.")
|
||||
public void rejectRequestThenGetSiteMembershipRequests() throws Exception
|
||||
{
|
||||
UserModel userWithRejectedRequests = dataUser.createRandomTestUser();
|
||||
|
||||
restClient.authenticateUser(userWithRejectedRequests).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite1);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
restClient.withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite2);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
|
||||
RestTaskModel taskModel = restClient.authenticateUser(userWithRejectedRequests).withWorkflowAPI().getTasks().getTaskModelByDescription(moderatedSite1);
|
||||
workflow.approveSiteMembershipRequest(siteManager.getUsername(), siteManager.getPassword(), taskModel.getId(), false, "Rejected");
|
||||
|
||||
siteMembershipRequests = restClient.authenticateUser(userWithRejectedRequests).withCoreAPI().usingMe().getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembershipRequests.assertThat().entriesListDoesNotContain("id", moderatedSite1.getId())
|
||||
.assertThat().entriesListContains("id", moderatedSite2.getId());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE },
|
||||
executionType = ExecutionType.REGRESSION,
|
||||
description = "Check get site membership requests when properties parameter is used")
|
||||
public void getSiteMembershipRequestsWithProperties() throws Exception
|
||||
{
|
||||
siteMembershipRequests = restClient.authenticateUser(newMember).withParams("properties=id")
|
||||
.withCoreAPI().usingAuthUser().getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembershipRequests.assertThat().entriesListContains("id", moderatedSite1.getId())
|
||||
.assertThat().entriesListContains("id", moderatedSite2.getId());
|
||||
RestSiteMembershipRequestModel siteMembershipRequest = siteMembershipRequests.getOneRandomEntry().onModel();
|
||||
siteMembershipRequest.assertThat().fieldsCount().is(1);
|
||||
}
|
||||
|
||||
}
|
||||
-121
@@ -1,121 +0,0 @@
|
||||
package org.alfresco.rest.sites.membershipRequests;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.rest.model.RestSiteMembershipRequestModelsCollection;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser;
|
||||
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 Cristina Axinte
|
||||
*/
|
||||
|
||||
public class GetSiteMembershipRequestsSanityTests extends RestTest
|
||||
{
|
||||
UserModel siteManager, newMember;
|
||||
DataUser.ListUserWithRoles usersWithRoles;
|
||||
SiteModel moderatedSite;
|
||||
RestSiteMembershipRequestModelsCollection siteMembershipRequests;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void dataPreparation() throws Exception
|
||||
{
|
||||
siteManager = dataUser.createRandomTestUser();
|
||||
moderatedSite = dataSite.usingUser(siteManager).createModeratedRandomSite();
|
||||
newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
usersWithRoles = dataUser.addUsersWithRolesToSite(moderatedSite, UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer,
|
||||
UserRole.SiteContributor);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@Bug(id = "MNT-16557")
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify manager user gets all site membership requests of a specific person with Rest API and response is successful (200)")
|
||||
public void managerUserGetsSiteMembershipRequestsWithSuccess() throws Exception
|
||||
{
|
||||
siteMembershipRequests = restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager)).withCoreAPI()
|
||||
.usingUser(newMember).getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembershipRequests.assertThat().entriesListIsNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@Bug(id = "MNT-16557")
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify collaborator user fails to get all site membership requests of another user with Rest API (403)")
|
||||
public void collaboratorUserFailsToGetSiteMembershipRequestsOfAnotherUser() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator)).withCoreAPI()
|
||||
.usingUser(newMember).getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@Bug(id = "MNT-16557")
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify contributor user fails to get all site membership requests of another user with Rest API (403)")
|
||||
public void contributorUserFailsToGetSiteMembershipRequestsOfAnotherUser() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor)).withCoreAPI()
|
||||
.usingUser(newMember).getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@Bug(id = "MNT-16557")
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify consumer user fails to get all site membership requests of another user with Rest API (403)")
|
||||
public void consumerUserFailsToGetSiteMembershipRequestsOfAnotherUser() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer)).withCoreAPI().usingUser(newMember).getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@Bug(id = "MNT-16557")
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify admin user gets all site membership requests of a specific person with Rest API and response is successful (200)")
|
||||
public void adminUserGetsSiteMembershipRequestsWithSuccess() throws Exception
|
||||
{
|
||||
siteMembershipRequests = restClient.authenticateUser(dataUser.getAdminUser()).withCoreAPI()
|
||||
.usingUser(newMember).getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembershipRequests.assertThat().entriesListIsNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@Bug(id = "MNT-16904", description = "It fails only on environment with tenants")
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify manager user fails to get all site membership requests of a specific person with Rest API when the authentication fails (401)")
|
||||
public void unauthorizedUserFailsToGetSiteMembershipRequests() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(new UserModel("random user", "random password")).withCoreAPI()
|
||||
.usingAuthUser().getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED)
|
||||
.assertLastError().containsSummary(RestErrorModel.AUTHENTICATION_FAILED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify a user gets all its own site membership requests with Rest API and response is successful (200)")
|
||||
public void oneUserGetsItsOwnSiteMembershipRequestsWithSuccess() throws Exception
|
||||
{
|
||||
siteMembershipRequests = restClient.authenticateUser(newMember).withCoreAPI().usingUser(newMember).getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembershipRequests.assertThat().entriesListContains("id", moderatedSite.getId())
|
||||
.assertThat().entriesListContains("message", "Please accept me")
|
||||
.assertThat().entriesListCountIs(1);
|
||||
siteMembershipRequests.getEntries().get(0).onModel().getSite()
|
||||
.assertThat().field("visibility").is(moderatedSite.getVisibility())
|
||||
.assertThat().field("guid").is(moderatedSite.getGuid())
|
||||
.assertThat().field("description").is(moderatedSite.getDescription())
|
||||
.assertThat().field("id").is(moderatedSite.getId())
|
||||
.assertThat().field("title").is(moderatedSite.getTitle());
|
||||
}
|
||||
}
|
||||
+371
@@ -0,0 +1,371 @@
|
||||
package org.alfresco.rest.sites.membershipRequests;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.rest.model.RestSiteMembershipRequestModel;
|
||||
import org.alfresco.rest.model.RestSiteMembershipRequestModelsCollection;
|
||||
import org.alfresco.rest.model.RestTaskModel;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser;
|
||||
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 Cristina Axinte
|
||||
*/
|
||||
|
||||
public class GetSiteMembershipRequestsTests extends RestTest
|
||||
{
|
||||
UserModel siteManager, newMember, adminUser, regularUser;
|
||||
DataUser.ListUserWithRoles usersWithRoles;
|
||||
SiteModel moderatedSite1, moderatedSite2;
|
||||
RestSiteMembershipRequestModelsCollection siteMembershipRequests;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void dataPreparation() throws Exception
|
||||
{
|
||||
adminUser = dataUser.getAdminUser();
|
||||
siteManager = dataUser.createRandomTestUser();
|
||||
newMember = dataUser.createRandomTestUser();
|
||||
regularUser = dataUser.createRandomTestUser();
|
||||
|
||||
moderatedSite1 = dataSite.usingUser(siteManager).createModeratedRandomSite();
|
||||
moderatedSite2 = dataSite.usingUser(siteManager).createModeratedRandomSite();
|
||||
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite1);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
restClient.withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite2);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
|
||||
restClient.authenticateUser(adminUser).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite1);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
restClient.withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite2);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
|
||||
usersWithRoles = dataUser.addUsersWithRolesToSite(moderatedSite1, UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer,
|
||||
UserRole.SiteContributor);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@Bug(id = "MNT-16557")
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify manager user gets all site membership requests of a specific person with Rest API and response is successful (200)")
|
||||
public void managerUserGetsSiteMembershipRequestsWithSuccess() throws Exception
|
||||
{
|
||||
siteMembershipRequests = restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager)).withCoreAPI()
|
||||
.usingUser(newMember).getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembershipRequests.assertThat().entriesListIsNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@Bug(id = "MNT-16557")
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify collaborator user fails to get all site membership requests of another user with Rest API (403)")
|
||||
public void collaboratorUserFailsToGetSiteMembershipRequestsOfAnotherUser() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator)).withCoreAPI()
|
||||
.usingUser(newMember).getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@Bug(id = "MNT-16557")
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify contributor user fails to get all site membership requests of another user with Rest API (403)")
|
||||
public void contributorUserFailsToGetSiteMembershipRequestsOfAnotherUser() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor)).withCoreAPI()
|
||||
.usingUser(newMember).getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@Bug(id = "MNT-16557")
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify consumer user fails to get all site membership requests of another user with Rest API (403)")
|
||||
public void consumerUserFailsToGetSiteMembershipRequestsOfAnotherUser() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer)).withCoreAPI().usingUser(newMember).getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@Bug(id = "MNT-16557")
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify admin user gets all site membership requests of a specific person with Rest API and response is successful (200)")
|
||||
public void adminGetsSiteMembershipRequestsOfanotherUserWithSuccess() throws Exception
|
||||
{
|
||||
siteMembershipRequests = restClient.authenticateUser(dataUser.getAdminUser()).withCoreAPI()
|
||||
.usingUser(newMember).getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembershipRequests.assertThat().entriesListIsNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
// @Bug(id = "MNT-16904", description = "It fails only on environment with tenants")
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify manager user fails to get all site membership requests of a specific person with Rest API when the authentication fails (401)")
|
||||
public void unauthorizedUserFailsToGetSiteMembershipRequests() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(new UserModel("random user", "random password")).withCoreAPI()
|
||||
.usingAuthUser().getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED)
|
||||
.assertLastError().containsSummary(RestErrorModel.AUTHENTICATION_FAILED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify a user gets all its own site membership requests with Rest API and response is successful (200)")
|
||||
public void oneUserGetsItsOwnSiteMembershipRequestsWithSuccess() throws Exception
|
||||
{
|
||||
siteMembershipRequests = restClient.authenticateUser(newMember).withCoreAPI().usingUser(newMember).getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembershipRequests.assertThat().entriesListContains("id", moderatedSite1.getId())
|
||||
.assertThat().entriesListContains("message", "Please accept me")
|
||||
.assertThat().entriesListCountIs(2);
|
||||
siteMembershipRequests.getEntries().get(0).onModel().getSite()
|
||||
.assertThat().field("visibility").is(moderatedSite1.getVisibility())
|
||||
.assertThat().field("guid").is(moderatedSite1.getGuid())
|
||||
.assertThat().field("description").is(moderatedSite1.getDescription())
|
||||
.assertThat().field("id").is(moderatedSite1.getId())
|
||||
.assertThat().field("title").is(moderatedSite1.getTitle());
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE },
|
||||
executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that for invalid maxItems parameter status code returned is 400.")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
public void checkInvalidMaxItemsStatusCode() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUser).withParams("maxItems=AB")
|
||||
.withCoreAPI().usingUser(newMember).getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.INVALID_MAXITEMS, "AB"));
|
||||
|
||||
restClient.authenticateUser(adminUser).withParams("maxItems=0")
|
||||
.withCoreAPI().usingUser(newMember).getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(RestErrorModel.ONLY_POSITIVE_VALUES_MAXITEMS);
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE },
|
||||
executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that for invalid skipCount parameter status code returned is 400.")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
public void checkInvalidSkipCountStatusCode() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUser).withParams("skipCount=AB")
|
||||
.withCoreAPI().usingUser(newMember).getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.INVALID_SKIPCOUNT, "AB"));
|
||||
|
||||
restClient.authenticateUser(adminUser).withParams("skipCount=-1")
|
||||
.withCoreAPI().usingUser(newMember).getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(RestErrorModel.NEGATIVE_VALUES_SKIPCOUNT);
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE },
|
||||
executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that if personId does not exist status code returned is 404.")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
public void ifPersonIdDoesNotExist() throws Exception
|
||||
{
|
||||
UserModel nonexistentUser = dataUser.createRandomTestUser();
|
||||
nonexistentUser.setUsername("nonexistent");
|
||||
|
||||
restClient.authenticateUser(adminUser).withCoreAPI().usingUser(nonexistentUser).getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, "nonexistent"))
|
||||
.statusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE)
|
||||
.containsErrorKey(RestErrorModel.ENTITY_NOT_FOUND_ERRORKEY);
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE },
|
||||
executionType = ExecutionType.REGRESSION,
|
||||
description = "Specify -me- string in place of <personid> for request.")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
public void replacePersonIdWithMeRequest() throws Exception
|
||||
{
|
||||
UserModel meUser = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(meUser).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite1);
|
||||
siteMembershipRequests = restClient.authenticateUser(meUser).withCoreAPI().usingMe().getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembershipRequests.assertThat().entriesListContains("id", moderatedSite1.getId());
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE },
|
||||
executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify that if empty personId is used status code returned is 404.")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
public void useEmptyPersonId() throws Exception
|
||||
{
|
||||
UserModel emptyNameMember = dataUser.createRandomTestUser();
|
||||
emptyNameMember.setUsername(" ");
|
||||
|
||||
restClient.authenticateUser(adminUser).withCoreAPI().usingUser(emptyNameMember).getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, emptyNameMember.getUsername()));
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE },
|
||||
executionType = ExecutionType.REGRESSION,
|
||||
description = "Get site membership requests to a public site.")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
public void getRequestsToPublicSite() throws Exception
|
||||
{
|
||||
SiteModel publicSite = dataSite.usingAdmin().createPublicRandomSite();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(publicSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
|
||||
siteMembershipRequests = restClient.withCoreAPI().usingAuthUser().getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembershipRequests.assertThat().entriesListDoesNotContain("id", publicSite.getId());
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE },
|
||||
executionType = ExecutionType.REGRESSION,
|
||||
description = "Approve request then get requests.")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
public void approveRequestThenGetRequests() throws Exception
|
||||
{
|
||||
UserModel siteManager = dataUser.createRandomTestUser();
|
||||
|
||||
SiteModel moderatedSite = dataSite.usingUser(siteManager).createModeratedRandomSite();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingMe().addSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
|
||||
RestTaskModel taskModel = restClient.authenticateUser(newMember).withWorkflowAPI().getTasks().getTaskModelByDescription(moderatedSite);
|
||||
workflow.approveSiteMembershipRequest(siteManager.getUsername(), siteManager.getPassword(), taskModel.getId(), true, "Approve");
|
||||
|
||||
siteMembershipRequests = restClient.authenticateUser(newMember).withCoreAPI().usingMe().getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembershipRequests.assertThat().entriesListDoesNotContain("id", moderatedSite.getId());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE },
|
||||
executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify admin user gets all its own site membership requests with Rest API and response is successful (200)")
|
||||
public void adminGetsItsOwnSiteMembershipRequestsWithSuccess() throws Exception
|
||||
{
|
||||
siteMembershipRequests = restClient.authenticateUser(adminUser).withCoreAPI().usingAuthUser().getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembershipRequests.assertThat().entriesListContains("id", moderatedSite1.getId())
|
||||
.assertThat().entriesListContains("id", moderatedSite2.getId());
|
||||
}
|
||||
|
||||
@Bug(id = "MNT-16557")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE },
|
||||
executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify regular user fails to get all site membership requests of another user with Rest API (403)")
|
||||
public void regularUserFailsToGetSiteMembershipRequestsOfAnotherUser() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(regularUser).withCoreAPI()
|
||||
.usingUser(newMember).getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN)
|
||||
.assertLastError().containsSummary(RestErrorModel.PERMISSION_WAS_DENIED);
|
||||
}
|
||||
|
||||
@Bug(id = "MNT-16557")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE },
|
||||
executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify regular user fails to get all site membership requests of admin with Rest API (403)")
|
||||
public void regularUserFailsToGetSiteMembershipRequestsOfAdmin() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(regularUser).withCoreAPI()
|
||||
.usingUser(adminUser).getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN)
|
||||
.assertLastError().containsSummary(RestErrorModel.PERMISSION_WAS_DENIED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE },
|
||||
executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify regular user is able to get his site membership requests with, but skip the first one")
|
||||
public void getSiteMembershipRequestsButSkipTheFirstOne() throws Exception
|
||||
{
|
||||
siteMembershipRequests = restClient.authenticateUser(newMember).withParams("orderBy=id ASC").withCoreAPI()
|
||||
.usingMe().getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembershipRequests.assertThat().entriesListContains("id", moderatedSite1.getId())
|
||||
.assertThat().entriesListContains("id", moderatedSite2.getId());
|
||||
|
||||
RestSiteMembershipRequestModel firstSiteMembershipRequest = siteMembershipRequests.getEntries().get(0).onModel();
|
||||
RestSiteMembershipRequestModel secondSiteMembershipRequest = siteMembershipRequests.getEntries().get(1).onModel();
|
||||
|
||||
siteMembershipRequests = restClient.authenticateUser(newMember).withParams("orderBy=id ASC&skipCount=1").withCoreAPI()
|
||||
.usingMe().getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembershipRequests.assertThat().entriesListDoesNotContain("id", firstSiteMembershipRequest.getId())
|
||||
.assertThat().entriesListContains("id", secondSiteMembershipRequest.getId())
|
||||
.assertThat().entriesListContains("id", secondSiteMembershipRequest.getSite().getId());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE },
|
||||
executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify regular user is able to get his site membership requests with higher skipCount than number of requests")
|
||||
public void getSiteMembershipRequestsWithHighSkipCount() throws Exception
|
||||
{
|
||||
siteMembershipRequests = restClient.authenticateUser(newMember).withParams("skipCount=3").withCoreAPI()
|
||||
.usingMe().getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembershipRequests.assertThat().entriesListIsEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE },
|
||||
executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify get site membership requests returns an empty list where there are no requests")
|
||||
public void getSiteMembershipRequestsWhereThereAreNoRequests() throws Exception
|
||||
{
|
||||
siteMembershipRequests = restClient.authenticateUser(regularUser).withCoreAPI().usingMe().getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembershipRequests.assertThat().entriesListIsEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE },
|
||||
executionType = ExecutionType.REGRESSION,
|
||||
description = "Reject request then get site membership requests.")
|
||||
public void rejectRequestThenGetSiteMembershipRequests() throws Exception
|
||||
{
|
||||
UserModel userWithRejectedRequests = dataUser.createRandomTestUser();
|
||||
|
||||
restClient.authenticateUser(userWithRejectedRequests).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite1);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
restClient.withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite2);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
|
||||
RestTaskModel taskModel = restClient.authenticateUser(userWithRejectedRequests).withWorkflowAPI().getTasks().getTaskModelByDescription(moderatedSite1);
|
||||
workflow.approveSiteMembershipRequest(siteManager.getUsername(), siteManager.getPassword(), taskModel.getId(), false, "Rejected");
|
||||
|
||||
siteMembershipRequests = restClient.authenticateUser(userWithRejectedRequests).withCoreAPI().usingMe().getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembershipRequests.assertThat().entriesListDoesNotContain("id", moderatedSite1.getId())
|
||||
.assertThat().entriesListContains("id", moderatedSite2.getId());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE },
|
||||
executionType = ExecutionType.REGRESSION,
|
||||
description = "Check get site membership requests when properties parameter is used")
|
||||
public void getSiteMembershipRequestsWithProperties() throws Exception
|
||||
{
|
||||
siteMembershipRequests = restClient.authenticateUser(newMember).withParams("properties=id")
|
||||
.withCoreAPI().usingAuthUser().getSiteMembershipRequests();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
siteMembershipRequests.assertThat().entriesListContains("id", moderatedSite1.getId())
|
||||
.assertThat().entriesListContains("id", moderatedSite2.getId());
|
||||
RestSiteMembershipRequestModel siteMembershipRequest = siteMembershipRequests.getOneRandomEntry().onModel();
|
||||
siteMembershipRequest.assertThat().fieldsCount().is(1);
|
||||
}
|
||||
}
|
||||
-134
@@ -1,134 +0,0 @@
|
||||
package org.alfresco.rest.sites.membershipRequests;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.rest.model.RestSiteMembershipRequestModel;
|
||||
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.Assert;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
public class UpdateSiteMembershipRequestCoreTests extends RestTest
|
||||
{
|
||||
private SiteModel siteModel;
|
||||
private UserModel managerUser;
|
||||
private String updatedMessage;
|
||||
private RestSiteMembershipRequestModel returnedResponse;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void dataPreparation() throws DataPreparationException
|
||||
{
|
||||
managerUser = dataUser.createRandomTestUser();
|
||||
siteModel = dataSite.usingUser(managerUser).createModeratedRandomSite();
|
||||
updatedMessage = "Please review my request";
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify unauthorized user is not able to update user site membership request")
|
||||
public void unauthorizedUserIsNotAbleToUpdateSiteMembershipRequest() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(siteModel);
|
||||
newMember.setPassword("fakePass");
|
||||
restClient.withCoreAPI().usingUser(newMember).updateSiteMembershipRequest(siteModel, updatedMessage);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED)
|
||||
.assertLastError().containsErrorKey(RestErrorModel.API_DEFAULT_ERRORKEY)
|
||||
.containsSummary(RestErrorModel.AUTHENTICATION_FAILED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify user is able to update its own site membership request using -me-")
|
||||
public void usingMeUpdateSiteMembershipRequest() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(siteModel);
|
||||
returnedResponse = restClient.withCoreAPI().usingMe().updateSiteMembershipRequest(siteModel, updatedMessage);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
returnedResponse.assertMembershipRequestMessageIs(updatedMessage).and().field("id").is(siteModel.getId()).and().field("modifiedAt").isNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify inexistent user is not able to update its own site membership request")
|
||||
public void inexistentUserCannotUpdateSiteMembershipRequest() throws Exception
|
||||
{
|
||||
UserModel inexistentUser = UserModel.getRandomUserModel();
|
||||
restClient.authenticateUser(managerUser).withCoreAPI().usingUser(inexistentUser).updateSiteMembershipRequest(siteModel, updatedMessage);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, inexistentUser.getUsername()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify user is not able to update its own site membership request for inexistent site")
|
||||
public void userCannotUpdateSiteMembershipRequestForInexistentSite() throws Exception
|
||||
{
|
||||
SiteModel randomSite = SiteModel.getRandomSiteModel();
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingMe().updateSiteMembershipRequest(randomSite, updatedMessage);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, newMember.getUsername(), randomSite.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify user is able not to update its own site membership request for public site")
|
||||
public void userCannotUpdateSiteMembershipRequestForPublicSite() throws Exception
|
||||
{
|
||||
SiteModel publicSite = dataSite.usingUser(managerUser).createPublicRandomSite();
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(publicSite);
|
||||
restClient.withCoreAPI().usingMe().updateSiteMembershipRequest(publicSite, updatedMessage);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, newMember.getUsername(), publicSite.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify user is not able to update its own site membership request for private site")
|
||||
public void userCannotUpdateSiteMembershipRequestForPrivateSite() throws Exception
|
||||
{
|
||||
SiteModel privateSite = dataSite.usingUser(managerUser).createPrivateRandomSite();
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(privateSite);
|
||||
restClient.withCoreAPI().usingMe().updateSiteMembershipRequest(privateSite, updatedMessage);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, newMember.getUsername(), privateSite.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify user is able to update its own site membership request with initial message")
|
||||
public void userCanUpdateSiteMembershipRequestWithInitialMessage() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(updatedMessage, siteModel, "Accept me");
|
||||
returnedResponse = restClient.withCoreAPI().usingMe().updateSiteMembershipRequest(siteModel, updatedMessage);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
returnedResponse.assertMembershipRequestMessageIs(updatedMessage).and().field("id").is(siteModel.getId()).and().field("modifiedAt").isNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify user is able to update its own site membership request with different message")
|
||||
public void userCanUpdateSiteMembershipRequestWithDifferentMessage() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest("", siteModel, "Accept me");
|
||||
returnedResponse = restClient.withCoreAPI().usingMe().updateSiteMembershipRequest(siteModel, updatedMessage);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
returnedResponse.assertMembershipRequestMessageIs(updatedMessage).and().field("id").is(siteModel.getId()).and().field("modifiedAt").isNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify modifiedAt field for update siteMembership request call")
|
||||
public void verifyModifiedAtForUpdateSiteMembershipRequest() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(siteModel);
|
||||
String firstModifiedAt = restClient.withCoreAPI().usingMe().updateSiteMembershipRequest(siteModel, "first message").getModifiedAt();
|
||||
String secondModifiedAt = restClient.withCoreAPI().usingMe().updateSiteMembershipRequest(siteModel, "second message").getModifiedAt();
|
||||
Assert.assertNotEquals(firstModifiedAt, secondModifiedAt);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
-508
@@ -1,508 +0,0 @@
|
||||
package org.alfresco.rest.sites.membershipRequests;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.core.RestRequest;
|
||||
import org.alfresco.rest.exception.JsonToModelConversionException;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.rest.model.RestSiteMembershipRequestModel;
|
||||
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.HttpMethod;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
public class UpdateSiteMembershipRequestFullTests extends RestTest
|
||||
{
|
||||
private SiteModel moderatedSite;
|
||||
private UserModel managerUser, adminUser, newMember, regularUser;
|
||||
private String updatedMessage, moderatedSiteId;
|
||||
private RestSiteMembershipRequestModel requestUpdateModel, requestGetModel;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void dataPreparation() throws Exception
|
||||
{
|
||||
adminUser = dataUser.getAdminUser();
|
||||
managerUser = dataUser.createRandomTestUser();
|
||||
moderatedSite = dataSite.usingUser(managerUser).createModeratedRandomSite();
|
||||
updatedMessage = "Please review my request";
|
||||
|
||||
newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
moderatedSiteId = moderatedSite.getId();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user is not able to update membership request of admin")
|
||||
public void userIsNotAbleToUpdateSiteMembershipRequestOfAdmin() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(adminUser).withCoreAPI().usingAuthUser()
|
||||
.addSiteMembershipRequest(moderatedSite);
|
||||
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingUser(adminUser)
|
||||
.updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError()
|
||||
.containsSummary(String.format("The entity with id: " + RestErrorModel.ENTITY_NOT_FOUND, adminUser.getUsername()))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user is able to update site membership request for moderated site")
|
||||
public void userCanUpdateSiteMembershipRequestForModeratedSite() throws Exception
|
||||
{
|
||||
SiteModel moderatedSite = dataSite.usingUser(managerUser).createModeratedRandomSite();
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser()
|
||||
.addSiteMembershipRequest(moderatedSite);
|
||||
|
||||
requestUpdateModel = restClient.withCoreAPI().usingMe()
|
||||
.updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
|
||||
requestUpdateModel.assertThat().field("id").is(moderatedSite.getId())
|
||||
.assertThat().field("message").is(updatedMessage)
|
||||
.assertThat().field("site").isNotEmpty()
|
||||
.assertThat().field("modifiedAt").isNotEmpty()
|
||||
.assertThat().field("createdAt").isNotEmpty();
|
||||
requestUpdateModel.getSite().assertThat().field("visibility").is(moderatedSite.getVisibility())
|
||||
.assertThat().field("guid").is(moderatedSite.getGuid())
|
||||
.assertThat().field("description").is(moderatedSite.getDescription())
|
||||
.assertThat().field("id").is(moderatedSite.getId())
|
||||
.assertThat().field("preset").is("site-dashboard")
|
||||
.assertThat().field("title").is(moderatedSite.getTitle());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify site collaborator is able to update site membership request")
|
||||
public void siteCollaboratorIsAbleToUpdateSiteMembershipRequest() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
dataUser.usingUser(managerUser).addUserToSite(newMember, moderatedSite, UserRole.SiteCollaborator);
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser()
|
||||
.addSiteMembershipRequest(moderatedSite);
|
||||
requestUpdateModel = restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser()
|
||||
.updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
requestUpdateModel.assertThat().field("id").is(moderatedSite.getId())
|
||||
.assertThat().field("message").is(updatedMessage)
|
||||
.assertThat().field("modifiedAt").isNotEmpty()
|
||||
.assertThat().field("createdAt").isNotEmpty();
|
||||
requestUpdateModel.getSite().assertThat().field("role").is(UserRole.SiteCollaborator)
|
||||
.assertThat().field("visibility").is(moderatedSite.getVisibility())
|
||||
.assertThat().field("guid").is(moderatedSite.getGuid())
|
||||
.assertThat().field("description").is(moderatedSite.getDescription())
|
||||
.assertThat().field("id").is(moderatedSite.getId())
|
||||
.assertThat().field("preset").is("site-dashboard")
|
||||
.assertThat().field("title").is(moderatedSite.getTitle());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify site contributor is able to update site membership request")
|
||||
public void siteContributorIsAbleToUpdateSiteMembershipRequest() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser()
|
||||
.addSiteMembershipRequest(moderatedSite);
|
||||
dataUser.usingUser(managerUser).addUserToSite(newMember, moderatedSite, UserRole.SiteContributor);
|
||||
requestUpdateModel = restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser()
|
||||
.updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
requestUpdateModel.assertThat().field("id").is(moderatedSite.getId())
|
||||
.assertThat().field("message").is(updatedMessage)
|
||||
.assertThat().field("modifiedAt").isNotEmpty()
|
||||
.assertThat().field("createdAt").isNotEmpty();
|
||||
requestUpdateModel.getSite().assertThat().field("role").is(UserRole.SiteContributor)
|
||||
.assertThat().field("visibility").is(moderatedSite.getVisibility())
|
||||
.assertThat().field("guid").is(moderatedSite.getGuid())
|
||||
.assertThat().field("description").is(moderatedSite.getDescription())
|
||||
.assertThat().field("id").is(moderatedSite.getId())
|
||||
.assertThat().field("preset").is("site-dashboard")
|
||||
.assertThat().field("title").is(moderatedSite.getTitle());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify site consumer is able to update site membership request")
|
||||
public void siteConsumerIsAbleToUpdateSiteMembershipRequest() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser()
|
||||
.addSiteMembershipRequest(moderatedSite);
|
||||
dataUser.usingUser(managerUser).addUserToSite(newMember, moderatedSite, UserRole.SiteConsumer);
|
||||
requestUpdateModel = restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser()
|
||||
.updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
requestUpdateModel.assertThat().field("id").is(moderatedSite.getId())
|
||||
.assertThat().field("message").is(updatedMessage)
|
||||
.assertThat().field("modifiedAt").isNotEmpty()
|
||||
.assertThat().field("createdAt").isNotEmpty();
|
||||
requestUpdateModel.getSite().assertThat().field("role").is(UserRole.SiteConsumer)
|
||||
.assertThat().field("visibility").is(moderatedSite.getVisibility())
|
||||
.assertThat().field("guid").is(moderatedSite.getGuid())
|
||||
.assertThat().field("description").is(moderatedSite.getDescription())
|
||||
.assertThat().field("id").is(moderatedSite.getId())
|
||||
.assertThat().field("preset").is("site-dashboard")
|
||||
.assertThat().field("title").is(moderatedSite.getTitle());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify site manager is able to update site membership request")
|
||||
public void siteManagerIsAbleToUpdateSiteMembershipRequest() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser()
|
||||
.addSiteMembershipRequest(moderatedSite);
|
||||
dataUser.usingUser(managerUser).addUserToSite(newMember, moderatedSite, UserRole.SiteManager);
|
||||
requestUpdateModel = restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser()
|
||||
.updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
requestUpdateModel.assertThat().field("id").is(moderatedSite.getId())
|
||||
.assertThat().field("message").is(updatedMessage)
|
||||
.assertThat().field("modifiedAt").isNotEmpty()
|
||||
.assertThat().field("createdAt").isNotEmpty();
|
||||
requestUpdateModel.getSite().assertThat().field("role").is(UserRole.SiteManager)
|
||||
.assertThat().field("visibility").is(moderatedSite.getVisibility())
|
||||
.assertThat().field("guid").is(moderatedSite.getGuid())
|
||||
.assertThat().field("description").is(moderatedSite.getDescription())
|
||||
.assertThat().field("id").is(moderatedSite.getId())
|
||||
.assertThat().field("preset").is("site-dashboard")
|
||||
.assertThat().field("title").is(moderatedSite.getTitle());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify admin is able to update site membership request")
|
||||
public void adminIsAbleToRetrieveSiteMembershipRequest() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
regularUser = dataUser.createRandomTestUser();
|
||||
SiteModel anotherModeratedSite = dataSite.usingUser(regularUser).createModeratedRandomSite();
|
||||
requestUpdateModel = restClient.authenticateUser(adminUser).withCoreAPI().usingAuthUser()
|
||||
.addSiteMembershipRequest(anotherModeratedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
|
||||
requestUpdateModel = restClient.withCoreAPI().usingAuthUser()
|
||||
.updateSiteMembershipRequest(anotherModeratedSite, updatedMessage);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
requestUpdateModel.assertThat().field("id").is(anotherModeratedSite.getId())
|
||||
.assertThat().field("message").is("Please review my request")
|
||||
.assertThat().field("modifiedAt").isNotEmpty()
|
||||
.assertThat().field("createdAt").isNotEmpty();
|
||||
requestUpdateModel.getSite().assertThat().field("visibility").is(anotherModeratedSite.getVisibility())
|
||||
.assertThat().field("guid").is(anotherModeratedSite.getGuid())
|
||||
.assertThat().field("description").is(anotherModeratedSite.getDescription())
|
||||
.assertThat().field("id").is(anotherModeratedSite.getId())
|
||||
.assertThat().field("preset").is("site-dashboard")
|
||||
.assertThat().field("title").is(anotherModeratedSite.getTitle());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user update site membership request with no message then adds a new message")
|
||||
public void userUpdateSiteMembershipRequestWithNoMessageThenAddsNewMessage() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
requestUpdateModel = restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser()
|
||||
.addSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
requestUpdateModel.assertThat().field("id").is(moderatedSite.getId())
|
||||
.assertThat().field("message").is("Please accept me");
|
||||
|
||||
requestUpdateModel = restClient.withCoreAPI().usingMe().updateSiteMembershipRequest(moderatedSite, "");
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
requestUpdateModel.assertThat().field("id").is(moderatedSite.getId())
|
||||
.and().field("modifiedAt").isNotEmpty()
|
||||
.assertThat().field("message").isNull();
|
||||
|
||||
requestUpdateModel = restClient.withCoreAPI().usingMe().updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
requestUpdateModel.assertThat().field("id").is(moderatedSite.getId())
|
||||
.assertThat().field("message").is(updatedMessage)
|
||||
.assertThat().field("modifiedAt").isNotEmpty()
|
||||
.assertThat().field("createdAt").isNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user updates site membership request and verifies 'ModifiedAt' field using GET")
|
||||
public void userUpdateSiteMembershipRequestAndCheckModifiedAtWithGet() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
requestUpdateModel = restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser()
|
||||
.addSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
requestUpdateModel.assertThat().field("id").is(moderatedSite.getId())
|
||||
.assertThat().field("message").is("Please accept me");
|
||||
|
||||
requestUpdateModel = restClient.withCoreAPI().usingAuthUser().updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
requestGetModel = restClient.withCoreAPI().usingAuthUser().getSiteMembershipRequest(moderatedSite);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
requestGetModel.assertThat().field("id").is(requestUpdateModel.getId())
|
||||
.and().field("modifiedAt").is(requestUpdateModel.getModifiedAt())
|
||||
.assertThat().field("message").is(requestUpdateModel.getMessage());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Update membership request - empty body")
|
||||
public void emptyBodyUpdateSiteMembershipRequest() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUser).withCoreAPI();
|
||||
RestRequest request = RestRequest.requestWithBody(HttpMethod.PUT, "{\"\": \"\",\"\": \"\", \"\": \"\"}",
|
||||
"people/{personId}/site-membership-requests/{siteId}", adminUser.getUsername(), moderatedSite.getId());
|
||||
restClient.processModel(RestSiteMembershipRequestModel.class, request);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.NO_CONTENT, "Unrecognized field " + "\"\""));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Update membership request - missing 'Title' field from Json")
|
||||
public void missingTitleFieldBodyUpdateSiteMembershipRequest() throws Exception
|
||||
{
|
||||
SiteModel moderatedSite = dataSite.usingUser(managerUser).createModeratedRandomSite();
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser()
|
||||
.addSiteMembershipRequest(moderatedSite);
|
||||
|
||||
RestRequest request = RestRequest.requestWithBody(HttpMethod.PUT,
|
||||
"{\"message\":\"Please review my request\",\"id\":\"" + moderatedSite.getId() + "\"}",
|
||||
"people/{personId}/site-membership-requests/{siteId}",
|
||||
newMember.getUsername(), moderatedSite.getId());
|
||||
requestUpdateModel = restClient.processModel(RestSiteMembershipRequestModel.class, request);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
requestUpdateModel.assertThat().field("id").is(moderatedSite.getId())
|
||||
.assertThat().field("message").is(updatedMessage)
|
||||
.assertThat().field("site").isNotEmpty()
|
||||
.assertThat().field("modifiedAt").isNotEmpty()
|
||||
.assertThat().field("createdAt").isNotEmpty();
|
||||
requestUpdateModel.getSite().assertThat().field("visibility").is(moderatedSite.getVisibility())
|
||||
.assertThat().field("guid").is(moderatedSite.getGuid())
|
||||
.assertThat().field("description").is(moderatedSite.getDescription())
|
||||
.assertThat().field("id").is(moderatedSite.getId())
|
||||
.assertThat().field("preset").is("site-dashboard")
|
||||
.assertThat().field("title").is(moderatedSite.getTitle());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Update site membership request - missing JSON body")
|
||||
public void missingJsonFieldBodyUpdateSiteMembershipRequest() throws Exception
|
||||
{
|
||||
SiteModel moderatedSite = dataSite.usingUser(managerUser).createModeratedRandomSite();
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser()
|
||||
.addSiteMembershipRequest(moderatedSite);
|
||||
|
||||
RestRequest request = RestRequest.requestWithBody(HttpMethod.PUT, "",
|
||||
"people/{personId}/site-membership-requests/{siteId}", newMember.getUsername(),
|
||||
moderatedSite.getId());
|
||||
requestUpdateModel = restClient.processModel(RestSiteMembershipRequestModel.class, request);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.NO_CONTENT, "No content to map to Object due to end of input"))
|
||||
.containsErrorKey(String.format(RestErrorModel.NO_CONTENT, "No content to map to Object due to end of input"))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Update site membership request - empty JSON body")
|
||||
public void emptyJsonFieldBodyUpdateSiteMembershipRequest() throws Exception
|
||||
{
|
||||
SiteModel moderatedSite = dataSite.usingUser(managerUser).createModeratedRandomSite();
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser()
|
||||
.addSiteMembershipRequest(moderatedSite);
|
||||
|
||||
RestRequest request = RestRequest.requestWithBody(HttpMethod.PUT, "{}",
|
||||
"people/{personId}/site-membership-requests/{siteId}", newMember.getUsername(),
|
||||
moderatedSite.getId());
|
||||
requestUpdateModel = restClient.processModel(RestSiteMembershipRequestModel.class, request);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
requestUpdateModel.assertThat().field("id").is(moderatedSite.getId())
|
||||
.assertThat().field("message").isNull()
|
||||
.assertThat().field("site").isNotEmpty()
|
||||
.assertThat().field("modifiedAt").isNotEmpty()
|
||||
.assertThat().field("createdAt").isNotEmpty();
|
||||
requestUpdateModel.getSite().assertThat().field("visibility").is(moderatedSite.getVisibility())
|
||||
.assertThat().field("guid").is(moderatedSite.getGuid())
|
||||
.assertThat().field("description").is(moderatedSite.getDescription())
|
||||
.assertThat().field("id").is(moderatedSite.getId())
|
||||
.assertThat().field("preset").is("site-dashboard")
|
||||
.assertThat().field("title").is(moderatedSite.getTitle());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Update site membership request - invalid SiteId")
|
||||
public void invalidSiteIdUpdateSiteMembershipRequest() throws Exception
|
||||
{
|
||||
moderatedSite.setId("invalidSiteId");
|
||||
restClient.authenticateUser(managerUser).withCoreAPI().usingAuthUser()
|
||||
.updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, managerUser.getUsername(), moderatedSite.getId()));
|
||||
|
||||
moderatedSite.setId(moderatedSiteId);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Update site membership request - empty SiteId")
|
||||
public void emptySiteIdUpdateSiteMembershipRequest() throws Exception
|
||||
{
|
||||
moderatedSite.setId("");
|
||||
restClient.authenticateUser(managerUser).withCoreAPI().usingAuthUser()
|
||||
.updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.METHOD_NOT_ALLOWED)
|
||||
.assertLastError()
|
||||
.containsSummary(RestErrorModel.PUT_EMPTY_ARGUMENT)
|
||||
.containsErrorKey(RestErrorModel.PUT_EMPTY_ARGUMENT)
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
|
||||
moderatedSite.setId(moderatedSiteId);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify inexistent user is not able to update site membership request")
|
||||
public void emptyUserCannotUpdateSiteMembershipRequest() throws Exception
|
||||
{
|
||||
UserModel emptyUser = new UserModel("", "password");
|
||||
restClient.authenticateUser(emptyUser).withCoreAPI().usingAuthUser()
|
||||
.updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED)
|
||||
.assertLastError()
|
||||
.containsSummary(RestErrorModel.AUTHENTICATION_FAILED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Update site membership request - rejected Request")
|
||||
public void rejectRequestTheUpdateSiteMembershipRequest() throws Exception
|
||||
{
|
||||
UserModel userWithRejectedRequests = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(userWithRejectedRequests).withCoreAPI().usingAuthUser()
|
||||
.addSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
RestTaskModel taskModel = restClient.authenticateUser(userWithRejectedRequests).withWorkflowAPI().getTasks()
|
||||
.getTaskModelByDescription(moderatedSite);
|
||||
workflow.approveSiteMembershipRequest(managerUser.getUsername(), managerUser.getPassword(), taskModel.getId(), false, "Rejected");
|
||||
|
||||
requestUpdateModel = restClient.authenticateUser(userWithRejectedRequests).withCoreAPI().usingMe()
|
||||
.updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, userWithRejectedRequests.getUsername(), moderatedSite.getId()))
|
||||
.containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Update site membership request - approved Request")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
public void approveRequestTheUpdateSiteMembershipRequest() throws JsonToModelConversionException, DataPreparationException, Exception
|
||||
{
|
||||
UserModel userWithApprovedRequests = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(userWithApprovedRequests).withCoreAPI().usingAuthUser()
|
||||
.addSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
RestTaskModel taskModel = restClient.authenticateUser(userWithApprovedRequests).withWorkflowAPI().getTasks().getTaskModelByDescription(moderatedSite);
|
||||
workflow.approveSiteMembershipRequest(managerUser.getUsername(), managerUser.getPassword(), taskModel.getId(), true, "Approve");
|
||||
|
||||
requestUpdateModel = restClient.authenticateUser(userWithApprovedRequests).withCoreAPI().usingMe()
|
||||
.updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, userWithApprovedRequests.getUsername(), moderatedSite.getId()))
|
||||
.containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE}, executionType = ExecutionType.REGRESSION,
|
||||
description = "Update site membership request using invalid network")
|
||||
public void updateSiteMembershipRequestUsingInvalidNetwork() throws Exception
|
||||
{
|
||||
UserModel invalidUserNetwork = dataUser.createRandomTestUser();
|
||||
SiteModel site = dataSite.usingUser(invalidUserNetwork).createModeratedRandomSite();
|
||||
dataSite.usingUser(invalidUserNetwork).usingSite(site).addSiteToFavorites();
|
||||
invalidUserNetwork.setDomain("invalidNetwork");
|
||||
|
||||
requestUpdateModel = restClient.authenticateUser(invalidUserNetwork).withCoreAPI().usingMe()
|
||||
.updateSiteMembershipRequest(site, updatedMessage);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED)
|
||||
.assertLastError()
|
||||
.containsSummary(RestErrorModel.AUTHENTICATION_FAILED);
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE}, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user is not able to update an inexitent site membership request")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
public void userIsNotAbleToUpdateAnInexistentSiteMembershipRequest() throws JsonToModelConversionException, DataPreparationException, Exception
|
||||
{
|
||||
SiteModel moderatedSite = dataSite.usingUser(managerUser).createModeratedRandomSite();
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser()
|
||||
.updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, newMember.getUsername(), moderatedSite.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE}, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user is not able to update a deleted site membership request")
|
||||
public void userCantUpdateSiteMembershipRequestForDeletedRequest() throws Exception
|
||||
{
|
||||
SiteModel moderatedSite = dataSite.usingUser(managerUser).createModeratedRandomSite();
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser()
|
||||
.addSiteMembershipRequest(moderatedSite);
|
||||
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser()
|
||||
.deleteSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
|
||||
requestUpdateModel = restClient.withCoreAPI().usingAuthUser()
|
||||
.updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, newMember.getUsername(), moderatedSite.getId()));
|
||||
}
|
||||
|
||||
}
|
||||
-145
@@ -1,145 +0,0 @@
|
||||
package org.alfresco.rest.sites.membershipRequests;
|
||||
|
||||
import org.alfresco.dataprep.SiteService.Visibility;
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.exception.JsonToModelConversionException;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser.ListUserWithRoles;
|
||||
import org.alfresco.utility.data.RandomData;
|
||||
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;
|
||||
|
||||
public class UpdateSiteMembershipRequestSanityTests extends RestTest
|
||||
{
|
||||
private SiteModel siteModel;
|
||||
private ListUserWithRoles usersWithRoles;
|
||||
private UserModel adminUser;
|
||||
private String updatedMessage;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void dataPreparation() throws DataPreparationException
|
||||
{
|
||||
adminUser = dataUser.getAdminUser();
|
||||
String siteId = RandomData.getRandomName("site");
|
||||
siteModel = dataSite.usingUser(adminUser).createSite(new SiteModel(Visibility.MODERATED, siteId, siteId, siteId, siteId));
|
||||
|
||||
usersWithRoles = dataUser.addUsersWithRolesToSite(siteModel, UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer,
|
||||
UserRole.SiteContributor);
|
||||
updatedMessage = "Please review my request";
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify user is able to update its own site membership request")
|
||||
public void userIsAbleToUpdateItsOwnSiteMembershipRequest() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(siteModel);
|
||||
restClient.withCoreAPI().usingUser(newMember).updateSiteMembershipRequest(siteModel, updatedMessage).assertMembershipRequestMessageIs(updatedMessage)
|
||||
.and().field("id").is(siteModel.getId()).and().field("modifiedAt").isNotEmpty();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify site manager is not able to update membership request of another user")
|
||||
// @Bug(id = "MNT-16919", description = "Not a bug, The presence of the personId in the URL does not mean it should be possible to act on any other users behalf.")
|
||||
public void siteManagerIsNotAbleToUpdateSiteMembershipRequestOfAnotherUser() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(siteModel);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager)).withCoreAPI().usingUser(newMember)
|
||||
.updateSiteMembershipRequest(siteModel, updatedMessage);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, newMember.getUsername()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify site collaborator is not able to update membership request of another user")
|
||||
// @Bug(id = "MNT-16919", description = "Not a bug, The presence of the personId in the URL does not mean it should be possible to act on any other users behalf.")
|
||||
public void siteCollaboratorIsNotAbleToUpdateSiteMembershipRequestOfAnotherUser() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(siteModel);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator)).withCoreAPI().usingUser(newMember)
|
||||
.updateSiteMembershipRequest(siteModel, updatedMessage);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, newMember.getUsername()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify site contributor is not able to update membership request of another user")
|
||||
// @Bug(id = "MNT-16919", description = "Not a bug, The presence of the personId in the URL does not mean it should be possible to act on any other users behalf.")
|
||||
public void siteContributorIsNotAbleToUpdateSiteMembershipRequestOfAnotherUser() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(siteModel);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor)).withCoreAPI().usingUser(newMember)
|
||||
.updateSiteMembershipRequest(siteModel, updatedMessage);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, newMember.getUsername()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify site consumer is not able to update membership request of another user")
|
||||
// @Bug(id = "MNT-16919", description = "Not a bug, The presence of the personId in the URL does not mean it should be possible to act on any other users behalf.")
|
||||
public void siteConsumerIsNotAbleToUpdateSiteMembershipRequestOfAnotherUser() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(siteModel);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer)).withCoreAPI().usingUser(newMember)
|
||||
.updateSiteMembershipRequest(siteModel, updatedMessage);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, newMember.getUsername()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify one user is not able to update membership request of another user")
|
||||
// @Bug(id = "MNT-16919", description = "Not a bug, The presence of the personId in the URL does not mean it should be possible to act on any other users behalf.")
|
||||
public void oneUserIsNotAbleToUpdateSiteMembershipRequestOfAnotherUser() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
UserModel otherMember = dataUser.createRandomTestUser();
|
||||
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(siteModel);
|
||||
|
||||
restClient.authenticateUser(otherMember).withCoreAPI().usingUser(newMember).updateSiteMembershipRequest(siteModel, updatedMessage);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, newMember.getUsername()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify admin is not able to update membership request of another user")
|
||||
// @Bug(id = "MNT-16919", description = "Not a bug, The presence of the personId in the URL does not mean it should be possible to act on any other users behalf.")
|
||||
public void adminIsNotAbleToUpdateSiteMembershipRequestOfAnotherUser() throws JsonToModelConversionException, Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(siteModel);
|
||||
|
||||
restClient.authenticateUser(adminUser).withCoreAPI().usingUser(newMember).updateSiteMembershipRequest(siteModel, updatedMessage);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, newMember.getUsername()));
|
||||
}
|
||||
}
|
||||
+610
@@ -0,0 +1,610 @@
|
||||
package org.alfresco.rest.sites.membershipRequests;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.core.RestRequest;
|
||||
import org.alfresco.rest.model.RestErrorModel;
|
||||
import org.alfresco.rest.model.RestSiteMembershipRequestModel;
|
||||
import org.alfresco.rest.model.RestTaskModel;
|
||||
import org.alfresco.utility.constants.UserRole;
|
||||
import org.alfresco.utility.data.DataUser.ListUserWithRoles;
|
||||
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.HttpMethod;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.testng.Assert;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
public class UpdateSiteMembershipRequestTests extends RestTest
|
||||
{
|
||||
private SiteModel moderatedSite;
|
||||
private ListUserWithRoles usersWithRoles;
|
||||
private UserModel adminUser, managerUser;
|
||||
private String updatedMessage, moderatedSiteId;
|
||||
private RestSiteMembershipRequestModel requestUpdateModel, requestGetModel;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void dataPreparation() throws DataPreparationException
|
||||
{
|
||||
adminUser = dataUser.getAdminUser();
|
||||
managerUser = dataUser.createRandomTestUser();
|
||||
moderatedSite = dataSite.usingUser(managerUser).createModeratedRandomSite();
|
||||
|
||||
usersWithRoles = dataUser.addUsersWithRolesToSite(moderatedSite, UserRole.SiteManager, UserRole.SiteCollaborator, UserRole.SiteConsumer,
|
||||
UserRole.SiteContributor);
|
||||
updatedMessage = "Please review my request";
|
||||
moderatedSiteId = moderatedSite.getId();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify user is able to update its own site membership request")
|
||||
public void userIsAbleToUpdateItsOwnSiteMembershipRequest() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
requestUpdateModel = restClient.withCoreAPI().usingUser(newMember).updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
|
||||
requestUpdateModel.assertThat().field("id").is(moderatedSite.getId())
|
||||
.assertThat().field("message").is(updatedMessage)
|
||||
.assertThat().field("site").isNotEmpty()
|
||||
.assertThat().field("modifiedAt").isNotEmpty()
|
||||
.assertThat().field("createdAt").isNotEmpty();
|
||||
requestUpdateModel.getSite().assertThat().field("visibility").is(moderatedSite.getVisibility())
|
||||
.assertThat().field("guid").is(moderatedSite.getGuid())
|
||||
.assertThat().field("description").is(moderatedSite.getDescription())
|
||||
.assertThat().field("id").is(moderatedSite.getId())
|
||||
.assertThat().field("preset").is("site-dashboard")
|
||||
.assertThat().field("title").is(moderatedSite.getTitle());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify site manager is not able to update membership request of another user")
|
||||
// @Bug(id = "MNT-16919", description = "Not a bug, The presence of the personId in the URL does not mean it should be possible to act on any other users behalf.")
|
||||
public void siteManagerIsNotAbleToUpdateSiteMembershipRequestOfAnotherUser() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager)).withCoreAPI().usingUser(newMember)
|
||||
.updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, newMember.getUsername()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify site collaborator is not able to update membership request of another user")
|
||||
// @Bug(id = "MNT-16919", description = "Not a bug, The presence of the personId in the URL does not mean it should be possible to act on any other users behalf.")
|
||||
public void siteCollaboratorIsNotAbleToUpdateSiteMembershipRequestOfAnotherUser() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator)).withCoreAPI().usingUser(newMember)
|
||||
.updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, newMember.getUsername()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify site contributor is not able to update membership request of another user")
|
||||
// @Bug(id = "MNT-16919", description = "Not a bug, The presence of the personId in the URL does not mean it should be possible to act on any other users behalf.")
|
||||
public void siteContributorIsNotAbleToUpdateSiteMembershipRequestOfAnotherUser() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor)).withCoreAPI().usingUser(newMember)
|
||||
.updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, newMember.getUsername()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify site consumer is not able to update membership request of another user")
|
||||
// @Bug(id = "MNT-16919", description = "Not a bug, The presence of the personId in the URL does not mean it should be possible to act on any other users behalf.")
|
||||
public void siteConsumerIsNotAbleToUpdateSiteMembershipRequestOfAnotherUser() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
|
||||
restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer)).withCoreAPI().usingUser(newMember)
|
||||
.updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, newMember.getUsername()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify one user is not able to update membership request of another user")
|
||||
// @Bug(id = "MNT-16919", description = "Not a bug, The presence of the personId in the URL does not mean it should be possible to act on any other users behalf.")
|
||||
public void regularUserIsNotAbleToUpdateSiteMembershipRequestOfAnotherUser() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
UserModel otherMember = dataUser.createRandomTestUser();
|
||||
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
|
||||
restClient.authenticateUser(otherMember).withCoreAPI().usingUser(newMember).updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, newMember.getUsername()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify admin is not able to update membership request of another user")
|
||||
// @Bug(id = "MNT-16919", description = "Not a bug, The presence of the personId in the URL does not mean it should be possible to act on any other users behalf.")
|
||||
public void adminIsNotAbleToUpdateSiteMembershipRequestOfAnotherUser() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
|
||||
restClient.authenticateUser(adminUser).withCoreAPI().usingUser(newMember).updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, newMember.getUsername()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify unauthorized user is not able to update user site membership request")
|
||||
public void unauthorizedUserIsNotAbleToUpdateSiteMembershipRequest() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
newMember.setPassword("fakePass");
|
||||
restClient.withCoreAPI().usingUser(newMember).updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED)
|
||||
.assertLastError().containsErrorKey(RestErrorModel.API_DEFAULT_ERRORKEY)
|
||||
.containsSummary(RestErrorModel.AUTHENTICATION_FAILED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify user is able to update its own site membership request using -me-")
|
||||
public void usingMeUpdateSiteMembershipRequest() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
requestUpdateModel = restClient.withCoreAPI().usingMe().updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
requestUpdateModel.assertMembershipRequestMessageIs(updatedMessage).and().field("id").is(moderatedSite.getId()).and().field("modifiedAt").isNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify inexistent user is not able to update its own site membership request")
|
||||
public void inexistentUserCannotUpdateSiteMembershipRequest() throws Exception
|
||||
{
|
||||
UserModel inexistentUser = UserModel.getRandomUserModel();
|
||||
restClient.authenticateUser(managerUser).withCoreAPI().usingUser(inexistentUser).updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, inexistentUser.getUsername()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify user is not able to update its own site membership request for inexistent site")
|
||||
public void userCannotUpdateSiteMembershipRequestForInexistentSite() throws Exception
|
||||
{
|
||||
SiteModel randomSite = SiteModel.getRandomSiteModel();
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingMe().updateSiteMembershipRequest(randomSite, updatedMessage);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, newMember.getUsername(), randomSite.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify user is able not to update its own site membership request for public site")
|
||||
public void userCannotUpdateSiteMembershipRequestForPublicSite() throws Exception
|
||||
{
|
||||
SiteModel publicSite = dataSite.usingUser(managerUser).createPublicRandomSite();
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(publicSite);
|
||||
restClient.withCoreAPI().usingMe().updateSiteMembershipRequest(publicSite, updatedMessage);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, newMember.getUsername(), publicSite.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify user is not able to update its own site membership request for private site")
|
||||
public void userCannotUpdateSiteMembershipRequestForPrivateSite() throws Exception
|
||||
{
|
||||
SiteModel privateSite = dataSite.usingUser(managerUser).createPrivateRandomSite();
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(privateSite);
|
||||
restClient.withCoreAPI().usingMe().updateSiteMembershipRequest(privateSite, updatedMessage);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, newMember.getUsername(), privateSite.getId()));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify user is able to update its own site membership request with initial message")
|
||||
public void userCanUpdateSiteMembershipRequestWithInitialMessage() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(updatedMessage, moderatedSite, "Accept me");
|
||||
requestUpdateModel = restClient.withCoreAPI().usingMe().updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
requestUpdateModel.assertMembershipRequestMessageIs(updatedMessage).and().field("id").is(moderatedSite.getId()).and().field("modifiedAt").isNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify user is able to update its own site membership request with different message")
|
||||
public void userCanUpdateSiteMembershipRequestWithDifferentMessage() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest("", moderatedSite, "Accept me");
|
||||
requestUpdateModel = restClient.withCoreAPI().usingMe().updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
requestUpdateModel.assertMembershipRequestMessageIs(updatedMessage).and().field("id").is(moderatedSite.getId()).and().field("modifiedAt").isNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify modifiedAt field for update siteMembership request call")
|
||||
public void verifyModifiedAtForUpdateSiteMembershipRequest() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser().addSiteMembershipRequest(moderatedSite);
|
||||
String firstModifiedAt = restClient.withCoreAPI().usingMe().updateSiteMembershipRequest(moderatedSite, "first message").getModifiedAt();
|
||||
String secondModifiedAt = restClient.withCoreAPI().usingMe().updateSiteMembershipRequest(moderatedSite, "second message").getModifiedAt();
|
||||
Assert.assertNotEquals(firstModifiedAt, secondModifiedAt);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user is not able to update membership request of admin")
|
||||
public void userIsNotAbleToUpdateSiteMembershipRequestOfAdmin() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(adminUser).withCoreAPI().usingAuthUser()
|
||||
.addSiteMembershipRequest(moderatedSite);
|
||||
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingUser(adminUser)
|
||||
.updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError()
|
||||
.containsSummary(String.format("The entity with id: " + RestErrorModel.ENTITY_NOT_FOUND, adminUser.getUsername()))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify site manager is able to update site membership request")
|
||||
public void updateSiteMembershipRequestAfterUserIsAddedAsMember() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser()
|
||||
.addSiteMembershipRequest(moderatedSite);
|
||||
dataUser.usingUser(managerUser).addUserToSite(newMember, moderatedSite, UserRole.SiteManager);
|
||||
requestUpdateModel = restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser()
|
||||
.updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
requestUpdateModel.assertThat().field("id").is(moderatedSite.getId())
|
||||
.assertThat().field("message").is(updatedMessage)
|
||||
.assertThat().field("modifiedAt").isNotEmpty()
|
||||
.assertThat().field("createdAt").isNotEmpty();
|
||||
requestUpdateModel.getSite().assertThat().field("role").is(UserRole.SiteManager)
|
||||
.assertThat().field("visibility").is(moderatedSite.getVisibility())
|
||||
.assertThat().field("guid").is(moderatedSite.getGuid())
|
||||
.assertThat().field("description").is(moderatedSite.getDescription())
|
||||
.assertThat().field("id").is(moderatedSite.getId())
|
||||
.assertThat().field("preset").is("site-dashboard")
|
||||
.assertThat().field("title").is(moderatedSite.getTitle());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify admin is able to update site membership request")
|
||||
public void adminIsAbleToUpdateHisSiteMembershipRequest() throws Exception
|
||||
{
|
||||
UserModel regularUser = dataUser.createRandomTestUser();
|
||||
SiteModel anotherModeratedSite = dataSite.usingUser(regularUser).createModeratedRandomSite();
|
||||
requestUpdateModel = restClient.authenticateUser(adminUser).withCoreAPI().usingAuthUser()
|
||||
.addSiteMembershipRequest(anotherModeratedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
|
||||
requestUpdateModel = restClient.withCoreAPI().usingAuthUser()
|
||||
.updateSiteMembershipRequest(anotherModeratedSite, updatedMessage);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
requestUpdateModel.assertThat().field("id").is(anotherModeratedSite.getId())
|
||||
.assertThat().field("message").is("Please review my request")
|
||||
.assertThat().field("modifiedAt").isNotEmpty()
|
||||
.assertThat().field("createdAt").isNotEmpty();
|
||||
requestUpdateModel.getSite().assertThat().field("visibility").is(anotherModeratedSite.getVisibility())
|
||||
.assertThat().field("guid").is(anotherModeratedSite.getGuid())
|
||||
.assertThat().field("description").is(anotherModeratedSite.getDescription())
|
||||
.assertThat().field("id").is(anotherModeratedSite.getId())
|
||||
.assertThat().field("preset").is("site-dashboard")
|
||||
.assertThat().field("title").is(anotherModeratedSite.getTitle());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user update site membership request with no message then adds a new message")
|
||||
public void userUpdateSiteMembershipRequestWithNoMessageThenAddsNewMessage() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
requestUpdateModel = restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser()
|
||||
.addSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
requestUpdateModel.assertThat().field("id").is(moderatedSite.getId())
|
||||
.assertThat().field("message").is("Please accept me");
|
||||
|
||||
requestUpdateModel = restClient.withCoreAPI().usingMe().updateSiteMembershipRequest(moderatedSite, "");
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
requestUpdateModel.assertThat().field("id").is(moderatedSite.getId())
|
||||
.and().field("modifiedAt").isNotEmpty()
|
||||
.assertThat().field("message").isNull();
|
||||
|
||||
requestUpdateModel = restClient.withCoreAPI().usingMe().updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
requestUpdateModel.assertThat().field("id").is(moderatedSite.getId())
|
||||
.assertThat().field("message").is(updatedMessage)
|
||||
.assertThat().field("modifiedAt").isNotEmpty()
|
||||
.assertThat().field("createdAt").isNotEmpty();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user updates site membership request and verifies 'ModifiedAt' field using GET")
|
||||
public void userUpdateSiteMembershipRequestAndCheckModifiedAtWithGet() throws Exception
|
||||
{
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
requestUpdateModel = restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser()
|
||||
.addSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
requestUpdateModel.assertThat().field("id").is(moderatedSite.getId())
|
||||
.assertThat().field("message").is("Please accept me");
|
||||
|
||||
requestUpdateModel = restClient.withCoreAPI().usingAuthUser().updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
requestGetModel = restClient.withCoreAPI().usingAuthUser().getSiteMembershipRequest(moderatedSite);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
requestGetModel.assertThat().field("id").is(requestUpdateModel.getId())
|
||||
.and().field("modifiedAt").is(requestUpdateModel.getModifiedAt())
|
||||
.assertThat().field("message").is(requestUpdateModel.getMessage());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Update membership request - empty body")
|
||||
public void emptyBodyUpdateSiteMembershipRequest() throws Exception
|
||||
{
|
||||
restClient.authenticateUser(adminUser).withCoreAPI();
|
||||
RestRequest request = RestRequest.requestWithBody(HttpMethod.PUT, "{\"\": \"\",\"\": \"\", \"\": \"\"}",
|
||||
"people/{personId}/site-membership-requests/{siteId}", adminUser.getUsername(), moderatedSite.getId());
|
||||
restClient.processModel(RestSiteMembershipRequestModel.class, request);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError().containsSummary(String.format(RestErrorModel.NO_CONTENT, "Unrecognized field " + "\"\""));
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Update membership request - missing 'Title' field from Json")
|
||||
public void missingTitleFieldBodyUpdateSiteMembershipRequest() throws Exception
|
||||
{
|
||||
SiteModel moderatedSite = dataSite.usingUser(managerUser).createModeratedRandomSite();
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser()
|
||||
.addSiteMembershipRequest(moderatedSite);
|
||||
|
||||
RestRequest request = RestRequest.requestWithBody(HttpMethod.PUT,
|
||||
"{\"message\":\"Please review my request\",\"id\":\"" + moderatedSite.getId() + "\"}",
|
||||
"people/{personId}/site-membership-requests/{siteId}",
|
||||
newMember.getUsername(), moderatedSite.getId());
|
||||
requestUpdateModel = restClient.processModel(RestSiteMembershipRequestModel.class, request);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
requestUpdateModel.assertThat().field("id").is(moderatedSite.getId())
|
||||
.assertThat().field("message").is(updatedMessage)
|
||||
.assertThat().field("site").isNotEmpty()
|
||||
.assertThat().field("modifiedAt").isNotEmpty()
|
||||
.assertThat().field("createdAt").isNotEmpty();
|
||||
requestUpdateModel.getSite().assertThat().field("visibility").is(moderatedSite.getVisibility())
|
||||
.assertThat().field("guid").is(moderatedSite.getGuid())
|
||||
.assertThat().field("description").is(moderatedSite.getDescription())
|
||||
.assertThat().field("id").is(moderatedSite.getId())
|
||||
.assertThat().field("preset").is("site-dashboard")
|
||||
.assertThat().field("title").is(moderatedSite.getTitle());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Update site membership request - missing JSON body")
|
||||
public void missingJsonFieldBodyUpdateSiteMembershipRequest() throws Exception
|
||||
{
|
||||
SiteModel moderatedSite = dataSite.usingUser(managerUser).createModeratedRandomSite();
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser()
|
||||
.addSiteMembershipRequest(moderatedSite);
|
||||
|
||||
RestRequest request = RestRequest.requestWithBody(HttpMethod.PUT, "",
|
||||
"people/{personId}/site-membership-requests/{siteId}", newMember.getUsername(),
|
||||
moderatedSite.getId());
|
||||
requestUpdateModel = restClient.processModel(RestSiteMembershipRequestModel.class, request);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.BAD_REQUEST)
|
||||
.assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.NO_CONTENT, "No content to map to Object due to end of input"))
|
||||
.containsErrorKey(String.format(RestErrorModel.NO_CONTENT, "No content to map to Object due to end of input"))
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Update site membership request - empty JSON body")
|
||||
public void emptyJsonFieldBodyUpdateSiteMembershipRequest() throws Exception
|
||||
{
|
||||
SiteModel moderatedSite = dataSite.usingUser(managerUser).createModeratedRandomSite();
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser()
|
||||
.addSiteMembershipRequest(moderatedSite);
|
||||
|
||||
RestRequest request = RestRequest.requestWithBody(HttpMethod.PUT, "{}",
|
||||
"people/{personId}/site-membership-requests/{siteId}", newMember.getUsername(),
|
||||
moderatedSite.getId());
|
||||
requestUpdateModel = restClient.processModel(RestSiteMembershipRequestModel.class, request);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
requestUpdateModel.assertThat().field("id").is(moderatedSite.getId())
|
||||
.assertThat().field("message").isNull()
|
||||
.assertThat().field("site").isNotEmpty()
|
||||
.assertThat().field("modifiedAt").isNotEmpty()
|
||||
.assertThat().field("createdAt").isNotEmpty();
|
||||
requestUpdateModel.getSite().assertThat().field("visibility").is(moderatedSite.getVisibility())
|
||||
.assertThat().field("guid").is(moderatedSite.getGuid())
|
||||
.assertThat().field("description").is(moderatedSite.getDescription())
|
||||
.assertThat().field("id").is(moderatedSite.getId())
|
||||
.assertThat().field("preset").is("site-dashboard")
|
||||
.assertThat().field("title").is(moderatedSite.getTitle());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Update site membership request - invalid SiteId")
|
||||
public void invalidSiteIdUpdateSiteMembershipRequest() throws Exception
|
||||
{
|
||||
moderatedSite.setId("invalidSiteId");
|
||||
restClient.authenticateUser(managerUser).withCoreAPI().usingAuthUser()
|
||||
.updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, managerUser.getUsername(), moderatedSite.getId()));
|
||||
|
||||
moderatedSite.setId(moderatedSiteId);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Update site membership request - empty SiteId")
|
||||
public void emptySiteIdUpdateSiteMembershipRequest() throws Exception
|
||||
{
|
||||
moderatedSite.setId("");
|
||||
restClient.authenticateUser(managerUser).withCoreAPI().usingAuthUser()
|
||||
.updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.METHOD_NOT_ALLOWED)
|
||||
.assertLastError()
|
||||
.containsSummary(RestErrorModel.PUT_EMPTY_ARGUMENT)
|
||||
.containsErrorKey(RestErrorModel.PUT_EMPTY_ARGUMENT)
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
|
||||
moderatedSite.setId(moderatedSiteId);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify inexistent user is not able to update site membership request")
|
||||
public void emptyUserCannotUpdateSiteMembershipRequest() throws Exception
|
||||
{
|
||||
UserModel emptyUser = new UserModel("", "password");
|
||||
restClient.authenticateUser(emptyUser).withCoreAPI().usingAuthUser()
|
||||
.updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED)
|
||||
.assertLastError()
|
||||
.containsSummary(RestErrorModel.AUTHENTICATION_FAILED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Update site membership request - rejected Request")
|
||||
public void rejectRequestThenUpdateSiteMembershipRequest() throws Exception
|
||||
{
|
||||
UserModel userWithRejectedRequests = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(userWithRejectedRequests).withCoreAPI().usingAuthUser()
|
||||
.addSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
RestTaskModel taskModel = restClient.authenticateUser(userWithRejectedRequests).withWorkflowAPI().getTasks()
|
||||
.getTaskModelByDescription(moderatedSite);
|
||||
workflow.approveSiteMembershipRequest(managerUser.getUsername(), managerUser.getPassword(), taskModel.getId(), false, "Rejected");
|
||||
|
||||
requestUpdateModel = restClient.authenticateUser(userWithRejectedRequests).withCoreAPI().usingMe()
|
||||
.updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, userWithRejectedRequests.getUsername(), moderatedSite.getId()))
|
||||
.containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION,
|
||||
description = "Update site membership request - approved Request")
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
public void approveRequestThenUpdateSiteMembershipRequest() throws Exception
|
||||
{
|
||||
UserModel userWithApprovedRequests = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(userWithApprovedRequests).withCoreAPI().usingAuthUser()
|
||||
.addSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
RestTaskModel taskModel = restClient.authenticateUser(userWithApprovedRequests).withWorkflowAPI().getTasks().getTaskModelByDescription(moderatedSite);
|
||||
workflow.approveSiteMembershipRequest(managerUser.getUsername(), managerUser.getPassword(), taskModel.getId(), true, "Approve");
|
||||
|
||||
requestUpdateModel = restClient.authenticateUser(userWithApprovedRequests).withCoreAPI().usingMe()
|
||||
.updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, userWithApprovedRequests.getUsername(), moderatedSite.getId()))
|
||||
.containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY)
|
||||
.descriptionURLIs(RestErrorModel.RESTAPIEXPLORER)
|
||||
.stackTraceIs(RestErrorModel.STACKTRACE);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE}, executionType = ExecutionType.REGRESSION,
|
||||
description = "Update site membership request using invalid network")
|
||||
public void updateSiteMembershipRequestUsingInvalidNetwork() throws Exception
|
||||
{
|
||||
UserModel invalidUserNetwork = dataUser.createRandomTestUser();
|
||||
SiteModel site = dataSite.usingUser(invalidUserNetwork).createModeratedRandomSite();
|
||||
dataSite.usingUser(invalidUserNetwork).usingSite(site).addSiteToFavorites();
|
||||
invalidUserNetwork.setDomain("invalidNetwork");
|
||||
|
||||
requestUpdateModel = restClient.authenticateUser(invalidUserNetwork).withCoreAPI().usingMe()
|
||||
.updateSiteMembershipRequest(site, updatedMessage);
|
||||
restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED)
|
||||
.assertLastError()
|
||||
.containsSummary(RestErrorModel.AUTHENTICATION_FAILED);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.REGRESSION })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE}, executionType = ExecutionType.REGRESSION,
|
||||
description = "Verify user is not able to update a deleted site membership request")
|
||||
public void userCantUpdateSiteMembershipRequestForDeletedRequest() throws Exception
|
||||
{
|
||||
SiteModel moderatedSite = dataSite.usingUser(managerUser).createModeratedRandomSite();
|
||||
UserModel newMember = dataUser.createRandomTestUser();
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser()
|
||||
.addSiteMembershipRequest(moderatedSite);
|
||||
|
||||
restClient.authenticateUser(newMember).withCoreAPI().usingAuthUser()
|
||||
.deleteSiteMembershipRequest(moderatedSite);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
|
||||
requestUpdateModel = restClient.withCoreAPI().usingAuthUser()
|
||||
.updateSiteMembershipRequest(moderatedSite, updatedMessage);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND)
|
||||
.assertLastError()
|
||||
.containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, newMember.getUsername(), moderatedSite.getId()));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user