Search in sources :

Example 6 with Group

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);
    }
}
Also used : Group(org.alfresco.rest.api.tests.client.data.Group) Groups(org.alfresco.rest.api.tests.client.PublicApiClient.Groups) Test(org.junit.Test) AbstractSingleNetworkSiteTest(org.alfresco.rest.AbstractSingleNetworkSiteTest)

Example 7 with Group

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());
    });
}
Also used : Group(org.alfresco.rest.api.tests.client.data.Group) Paging(org.alfresco.rest.api.tests.client.PublicApiClient.Paging)

Example 8 with Group

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);
    }
}
Also used : Group(org.alfresco.rest.api.tests.client.data.Group) Groups(org.alfresco.rest.api.tests.client.PublicApiClient.Groups) Test(org.junit.Test) AbstractSingleNetworkSiteTest(org.alfresco.rest.AbstractSingleNetworkSiteTest)

Example 9 with Group

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;
}
Also used : Group(org.alfresco.rest.api.tests.client.data.Group)

Aggregations

Group (org.alfresco.rest.api.tests.client.data.Group)9 AbstractSingleNetworkSiteTest (org.alfresco.rest.AbstractSingleNetworkSiteTest)5 Groups (org.alfresco.rest.api.tests.client.PublicApiClient.Groups)5 Test (org.junit.Test)5 Paging (org.alfresco.rest.api.tests.client.PublicApiClient.Paging)3 RequestContext (org.alfresco.rest.api.tests.client.RequestContext)3 GroupMember (org.alfresco.rest.api.tests.client.data.GroupMember)3 Person (org.alfresco.rest.api.tests.client.data.Person)3 java.util (java.util)2 HttpServletResponse (javax.servlet.http.HttpServletResponse)2 AuthenticationUtil (org.alfresco.repo.security.authentication.AuthenticationUtil)2 AuthorityDAOImpl (org.alfresco.repo.security.authority.AuthorityDAOImpl)2 PublicApiClient (org.alfresco.rest.api.tests.client.PublicApiClient)2 ListResponse (org.alfresco.rest.api.tests.client.PublicApiClient.ListResponse)2 PublicApiException (org.alfresco.rest.api.tests.client.PublicApiException)2 SortColumn (org.alfresco.rest.framework.resource.parameters.SortColumn)2 ResultSetRow (org.alfresco.service.cmr.search.ResultSetRow)2 AuthorityService (org.alfresco.service.cmr.security.AuthorityService)2 AuthorityType (org.alfresco.service.cmr.security.AuthorityType)2 PermissionService (org.alfresco.service.cmr.security.PermissionService)2