mirror of
https://github.com/Alfresco/SearchServices.git
synced 2026-09-16 18:12:56 +00:00
REPO-2289 : Implement tests in TAS project for 'Groups'
Implemented createGroupMembershipUntilIsCreated that waits maximum 90s for solr to index the group membership Add test for each endpoint. Updated listGroupMembership for person as it did not returned the correct model.
This commit is contained in:
@@ -6,7 +6,6 @@ import javax.json.Json;
|
||||
import javax.json.JsonObject;
|
||||
|
||||
import org.alfresco.rest.RestTest;
|
||||
import org.alfresco.rest.model.RestGroupsModel;
|
||||
import org.alfresco.utility.model.TestGroup;
|
||||
import org.alfresco.utility.model.UserModel;
|
||||
import org.alfresco.utility.testrail.ExecutionType;
|
||||
@@ -25,43 +24,128 @@ public class GroupsTests extends RestTest
|
||||
adminUser = dataUser.getAdminUser();
|
||||
userModel = dataUser.createRandomTestUser();
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.GROUPS, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.NODES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify Collaborator can not lock PERSISTENT after EPHEMERAL lock made by different user")
|
||||
public void blabla() throws Exception
|
||||
description = "Verify creation, listing, updating and deletion of groups.")
|
||||
public void createListUpdateAndDeleteGroup() throws Exception
|
||||
{
|
||||
String randomUUID = UUID.randomUUID().toString();
|
||||
JsonObject groupBody = Json.createObjectBuilder().add("id", "testGroup"+randomUUID).add("displayName","TestGroup"+randomUUID).add("isRoot", true).build();
|
||||
|
||||
String groupName = "ZtestGroup" + UUID.randomUUID().toString();
|
||||
JsonObject groupBody = Json.createObjectBuilder().add("id", groupName).add("displayName", groupName).build();
|
||||
String groupBodyCreate = groupBody.toString();
|
||||
|
||||
//GroupCreation:
|
||||
//-ve
|
||||
restClient.authenticateUser(userModel).withCoreAPI().usingGroups().createGroup(groupBodyCreate);
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN);
|
||||
//+ve
|
||||
restClient.authenticateUser(adminUser).withCoreAPI().usingParams("include=zones").usingGroups().createGroup(groupBodyCreate)
|
||||
.assertThat().field("zones").isNotNull();
|
||||
.assertThat().field("zones").contains("APP.DEFAULT")
|
||||
.and().field("isRoot").is(true)
|
||||
.and().field("displayName").is(groupName);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
|
||||
restClient.withCoreAPI().usingParams("isRoot=true&orderBy=id DESC&maxItems=5").usingGroups().listGroups()
|
||||
.assertThat().entriesListIsSortedDescBy("id")
|
||||
// .and().entriesListContains("isRoot", "true")
|
||||
.and().paginationField("maxItems").equals(5);
|
||||
//ListGroups:
|
||||
restClient.withCoreAPI().usingParams("orderBy=displayName DESC&maxItems=10").usingGroups().listGroups()
|
||||
.assertThat().entriesListContains("id", "GROUP_"+groupName)
|
||||
.and().entriesListDoesNotContain("zones")
|
||||
.and().entriesListIsSortedDescBy("displayName")
|
||||
.and().paginationField("maxItems").is("10");
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
|
||||
restClient.withCoreAPI().usingGroups().getGroupDetail("GROUP_"+"testGroup"+randomUUID);
|
||||
groupBody = Json.createObjectBuilder().add("displayName", "Z"+groupName).build();
|
||||
String groupBodyUpdate = groupBody.toString();
|
||||
//UpdateGroup:
|
||||
restClient.withCoreAPI().usingGroups().updateGroupDetails("GROUP_"+groupName, groupBodyUpdate)
|
||||
.assertThat().field("displayName").is("Z"+groupName)
|
||||
.and().field("id").is("GROUP_"+groupName)
|
||||
.and().field("zones").isNull();
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
|
||||
JsonObject groupMembership = Json.createObjectBuilder().add("id", userModel.getUsername()).add("memberType", "PERSON").build();
|
||||
String groupMembershipBodyCreate = groupMembership.toString();
|
||||
restClient.withCoreAPI().usingGroups().createGroupMembership("GROUP_"+"testGroup"+randomUUID, groupMembershipBodyCreate);
|
||||
//GetGroupDetails:
|
||||
restClient.withCoreAPI().usingParams("include=zones").usingGroups().getGroupDetail("GROUP_"+groupName)
|
||||
.assertThat().field("id").is("GROUP_"+groupName)
|
||||
.and().field("zones").contains("APP.DEFAULT")
|
||||
.and().field("isRoot").is(true);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
|
||||
//DeleteGroup:
|
||||
//-ve
|
||||
restClient.authenticateUser(userModel).withCoreAPI().usingGroups().deleteGroup("GROUP_"+groupName);
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN);
|
||||
//+ve
|
||||
restClient.authenticateUser(adminUser).withCoreAPI().usingGroups().deleteGroup("GROUP_"+groupName);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.GROUPS, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.NODES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify creation, listing(only for person) and deletion of group memberships. ")
|
||||
public void createListDeleteGroupMembership() throws Exception
|
||||
{
|
||||
String groupName = "ZtestGroup" + UUID.randomUUID().toString();
|
||||
JsonObject groupBody = Json.createObjectBuilder().add("id", groupName).add("displayName", groupName).build();
|
||||
String groupBodyCreate = groupBody.toString();
|
||||
|
||||
//GroupCreation:
|
||||
restClient.authenticateUser(adminUser).withCoreAPI().usingParams("include=zones").usingGroups().createGroup(groupBodyCreate);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
|
||||
restClient.withCoreAPI().usingGroups().listGroupMemberships("GROUP_"+"testGroup"+randomUUID);
|
||||
JsonObject groupMembershipBody = Json.createObjectBuilder().add("id", userModel.getUsername()).add("memberType", "PERSON").build();
|
||||
String groupMembershipBodyCreate = groupMembershipBody.toString();
|
||||
//MembershipCreation:
|
||||
//-ve
|
||||
restClient.authenticateUser(userModel).withCoreAPI().usingGroups().createGroupMembership("GROUP_"+groupName, groupMembershipBodyCreate);
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN);
|
||||
//+ve
|
||||
restClient.authenticateUser(adminUser).withCoreAPI().usingGroups().createGroupMembership("GROUP_"+groupName, groupMembershipBodyCreate);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
|
||||
//ListPersonMembership
|
||||
restClient.authenticateUser(userModel).withCoreAPI().usingUser(userModel).listGroupMemberships()
|
||||
.assertThat().entriesListContains("id", "GROUP_"+groupName);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
|
||||
restClient.withCoreAPI().usingGroups().deleteGroupMembership("GROUP_"+"testGroup"+randomUUID, userModel.getUsername());
|
||||
//DeleteGroupMembership
|
||||
//-ve
|
||||
restClient.withCoreAPI().usingGroups().deleteGroupMembership("GROUP_"+groupName, userModel.getUsername());
|
||||
restClient.assertStatusCodeIs(HttpStatus.FORBIDDEN);
|
||||
//+ve
|
||||
restClient.authenticateUser(adminUser).withCoreAPI().usingGroups().deleteGroupMembership("GROUP_"+groupName, userModel.getUsername());
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
|
||||
restClient.withCoreAPI().usingGroups().deleteGroup("GROUP_"+"testGroup"+randomUUID);
|
||||
restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT);
|
||||
//ListAgainPersonMembership
|
||||
restClient.withCoreAPI().usingUser(userModel).listGroupMemberships()
|
||||
.assertThat().entriesListDoesNotContain("id", "GROUP_"+groupName);
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.REST_API, TestGroup.GROUPS, TestGroup.SANITY })
|
||||
@TestRail(section = { TestGroup.REST_API, TestGroup.NODES }, executionType = ExecutionType.SANITY,
|
||||
description = "Verify listing of group memberships.")
|
||||
public void listGroupMembership() throws Exception
|
||||
{
|
||||
String groupName = "testGroup" + UUID.randomUUID().toString();
|
||||
JsonObject groupBody = Json.createObjectBuilder().add("id", groupName).add("displayName", groupName).build();
|
||||
String groupBodyCreate = groupBody.toString();
|
||||
|
||||
//GroupCreation:
|
||||
restClient.authenticateUser(adminUser).withCoreAPI().usingParams("include=zones").usingGroups().createGroup(groupBodyCreate);
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
|
||||
JsonObject groupMembershipBody = Json.createObjectBuilder().add("id", userModel.getUsername()).add("memberType", "PERSON").build();
|
||||
String groupMembershipBodyCreate = groupMembershipBody.toString();
|
||||
|
||||
//MembershipCreation
|
||||
restClient.withCoreAPI().usingGroups().createGroupMembershipUntilIsCreated("GROUP_"+groupName, groupMembershipBodyCreate, userModel.getUsername())
|
||||
.assertThat().field("displayName").is(userModel.getUsername())
|
||||
.and().field("id").is(userModel.getUsername())
|
||||
.and().field("memberType").is("PERSON");
|
||||
restClient.assertStatusCodeIs(HttpStatus.CREATED);
|
||||
|
||||
//ListGroupMembership
|
||||
restClient.withCoreAPI().usingGroups().listGroupMemberships("GROUP_"+groupName)
|
||||
.assertThat().entriesListContains("id", userModel.getUsername());
|
||||
restClient.assertStatusCodeIs(HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user