use of org.alfresco.rest.api.tests.client.data.Group in project alfresco-remote-api by Alfresco.
the class GroupsTest method testUpdateGroup.
@Test
public void testUpdateGroup() throws Exception {
final Groups groupsProxy = publicApiClient.groups();
Map<String, String> otherParams = new HashMap<>();
otherParams.put("include", org.alfresco.rest.api.Groups.PARAM_INCLUDE_PARENT_IDS);
setRequestContext(networkOne.getId(), networkAdmin, DEFAULT_ADMIN_PWD);
Group group = groupsProxy.createGroup(generateGroup(), null, HttpServletResponse.SC_CREATED);
Set<String> subGroupParents = new HashSet<>();
subGroupParents.add(group.getId());
Group generatedSubGroup = generateGroup();
generatedSubGroup.setParentIds(subGroupParents);
Group subGroup = groupsProxy.createGroup(generatedSubGroup, otherParams, HttpServletResponse.SC_CREATED);
// User without admin rights can't update a group.
{
setRequestContext(user1);
groupsProxy.updateGroup(group.getId(), new Group(), null, HttpServletResponse.SC_FORBIDDEN);
}
// Invalid auth.
{
setRequestContext(networkOne.getId(), GUID.generate(), "password");
groupsProxy.updateGroup(group.getId(), new Group(), null, HttpServletResponse.SC_UNAUTHORIZED);
}
// Update group and subgroup.
{
setRequestContext(networkOne.getId(), networkAdmin, DEFAULT_ADMIN_PWD);
String displayName = "newDisplayName";
Group mySubGroup = new Group();
mySubGroup.setDisplayName(displayName);
Group updateGroup = groupsProxy.updateGroup(subGroup.getId(), mySubGroup, otherParams, HttpServletResponse.SC_OK);
// Validate default response and additional information (parentIds).
assertNotNull(updateGroup);
assertNotNull(updateGroup.getId());
assertFalse(updateGroup.getIsRoot());
assertNotNull(updateGroup.getParentIds());
// Check that only display name changed.
assertEquals(displayName, updateGroup.getDisplayName());
// Check that nothing else changed.
assertEquals(subGroup.getId(), updateGroup.getId());
assertEquals(subGroup.getIsRoot(), updateGroup.getIsRoot());
assertEquals(subGroup.getParentIds(), updateGroup.getParentIds());
}
// Group id doesn't exist.
{
setRequestContext(networkOne.getId(), networkAdmin, DEFAULT_ADMIN_PWD);
groupsProxy.updateGroup("invalidId", group, null, HttpServletResponse.SC_NOT_FOUND);
}
// It isn't allowed to update GROUP_EVERYONE.
{
setRequestContext(networkOne.getId(), networkAdmin, DEFAULT_ADMIN_PWD);
Group myGroup = new Group();
myGroup.setDisplayName("newDisplayName");
groupsProxy.updateGroup(GROUP_EVERYONE, myGroup, null, HttpServletResponse.SC_CONFLICT);
}
}
use of org.alfresco.rest.api.tests.client.data.Group in project alfresco-remote-api by Alfresco.
the class GroupsTest method testGetGroupsByIsRoot.
private void testGetGroupsByIsRoot(boolean isRoot) throws Exception {
// Sort params
Map<String, String> otherParams = new HashMap<>();
otherParams.put("where", "(isRoot=" + isRoot + ")");
// Paging
Paging paging = getPaging(0, 4);
ListResponse<Group> resp = getGroups(paging, otherParams);
resp.getList().forEach(group -> {
validateGroupDefaultFields(group);
assertEquals("isRoot was expected to be " + isRoot, isRoot, group.getIsRoot());
});
}
use of org.alfresco.rest.api.tests.client.data.Group in project alfresco-remote-api by Alfresco.
the class GroupsTest method testDeleteGroup.
@Test
public void testDeleteGroup() throws Exception {
final Groups groupsProxy = publicApiClient.groups();
Map<String, String> otherParams = new HashMap<>();
otherParams.put("include", org.alfresco.rest.api.Groups.PARAM_INCLUDE_PARENT_IDS);
setRequestContext(networkOne.getId(), networkAdmin, DEFAULT_ADMIN_PWD);
Group group = groupsProxy.createGroup(generateGroup(), otherParams, HttpServletResponse.SC_CREATED);
// User without admin rights can't delete a group.
{
setRequestContext(user1);
groupsProxy.deleteGroup(group.getId(), false, HttpServletResponse.SC_FORBIDDEN);
}
// Invalid auth.
{
setRequestContext(networkOne.getId(), GUID.generate(), "password");
groupsProxy.deleteGroup("invalidId", false, HttpServletResponse.SC_UNAUTHORIZED);
}
// Group id doesn't exist.
{
setRequestContext(networkOne.getId(), networkAdmin, DEFAULT_ADMIN_PWD);
groupsProxy.deleteGroup("GROUP_invalidId", false, HttpServletResponse.SC_NOT_FOUND);
}
// Trying to modify a fixed authority.
{
setRequestContext(networkOne.getId(), networkAdmin, DEFAULT_ADMIN_PWD);
groupsProxy.deleteGroup(GROUP_EVERYONE, false, HttpServletResponse.SC_CONFLICT);
}
// Trying to delete a person.
{
setRequestContext(networkOne.getId(), networkAdmin, DEFAULT_ADMIN_PWD);
groupsProxy.deleteGroup(user1, false, HttpServletResponse.SC_BAD_REQUEST);
}
{
Group groupLevel1 = groupsProxy.createGroup(generateGroup(), otherParams, HttpServletResponse.SC_CREATED);
Group groupLevel2 = groupsProxy.createGroup(generateSubGroup(groupLevel1), otherParams, HttpServletResponse.SC_CREATED);
Group groupLevel3 = groupsProxy.createGroup(generateSubGroup(groupLevel2), otherParams, HttpServletResponse.SC_CREATED);
// Delete the primary root (no cascade)
groupsProxy.deleteGroup(groupLevel1.getId(), false, HttpServletResponse.SC_NO_CONTENT);
groupsProxy.getGroup(groupLevel1.getId(), HttpServletResponse.SC_NOT_FOUND);
// Check that second level group is now root.
groupLevel2 = groupsProxy.getGroup(groupLevel2.getId(), HttpServletResponse.SC_OK);
assertTrue(groupLevel2.getIsRoot());
// Check that third level group wasn't deleted.
groupsProxy.getGroup(groupLevel3.getId(), HttpServletResponse.SC_OK);
// Delete new root with cascade.
groupsProxy.deleteGroup(groupLevel2.getId(), true, HttpServletResponse.SC_NO_CONTENT);
// Check that delete with cascade worked.
groupsProxy.getGroup(groupLevel2.getId(), HttpServletResponse.SC_NOT_FOUND);
groupsProxy.getGroup(groupLevel3.getId(), HttpServletResponse.SC_NOT_FOUND);
}
}
use of org.alfresco.rest.api.tests.client.data.Group in project alfresco-remote-api by Alfresco.
the class GroupsTest method generateGroup.
private Group generateGroup() {
Group group = new Group();
group.setId("TST" + GUID.generate());
return group;
}
Aggregations