Search in sources :

Example 26 with Capability

use of org.alfresco.module.org_alfresco_module_rm.capability.Capability in project records-management by Alfresco.

the class MoveRecordFolderTest method testMoveClosedFolder.

/**
 * Given a closed folder
 * When we evaluate the move capability on it
 * The access is denied
 */
public void testMoveClosedFolder() {
    final NodeRef destination = doTestInTransaction(new Test<NodeRef>() {

        @Override
        public NodeRef run() {
            // create a record category
            return filePlanService.createRecordCategory(filePlan, GUID.generate());
        }
    });
    final NodeRef testFolder = doTestInTransaction(new Test<NodeRef>() {

        @Override
        public NodeRef run() {
            // create folder
            NodeRef testFolder = recordFolderService.createRecordFolder(rmContainer, GUID.generate());
            // close folder
            recordFolderService.closeRecordFolder(testFolder);
            return testFolder;
        }

        @Override
        public void test(NodeRef testFolder) throws Exception {
            Capability moveCapability = capabilityService.getCapability("MoveRecordFolder");
            assertEquals(AccessDecisionVoter.ACCESS_DENIED, moveCapability.evaluate(testFolder, destination));
        }
    });
}
Also used : NodeRef(org.alfresco.service.cmr.repository.NodeRef) Capability(org.alfresco.module.org_alfresco_module_rm.capability.Capability)

Example 27 with Capability

use of org.alfresco.module.org_alfresco_module_rm.capability.Capability in project records-management by Alfresco.

the class RoleRestApiTest method getListOfCapabilities.

private Set<Capability> getListOfCapabilities(int size, int offset) {
    Set<Capability> result = new HashSet<Capability>(size);
    Set<Capability> caps = capabilityService.getCapabilities(false);
    int count = 0;
    for (Capability cap : caps) {
        if (count < size + offset) {
            if (count >= offset) {
                result.add(cap);
            }
        } else {
            break;
        }
        count++;
    }
    return result;
}
Also used : Capability(org.alfresco.module.org_alfresco_module_rm.capability.Capability) HashSet(java.util.HashSet)

Example 28 with Capability

use of org.alfresco.module.org_alfresco_module_rm.capability.Capability in project records-management by Alfresco.

the class RoleRestApiTest method testPutRole.

public void testPutRole() throws Exception {
    String role1 = GUID.generate();
    filePlanRoleService.createRole(filePlan, role1, "My Test Role", getListOfCapabilities(5));
    try {
        Set<Capability> caps = getListOfCapabilities(4, 8);
        JSONArray arrCaps = new JSONArray();
        for (Capability cap : caps) {
            System.out.println(cap.getName());
            arrCaps.put(cap.getName());
        }
        JSONObject obj = new JSONObject();
        obj.put("name", role1);
        obj.put("displayLabel", "Changed");
        obj.put("capabilities", arrCaps);
        // Get the roles
        Response rsp = sendRequest(new PutRequest(getRolesUrlBySite() + "/" + role1, obj.toString(), APPLICATION_JSON), 200);
        String rspContent = rsp.getContentAsString();
        JSONObject result = new JSONObject(rspContent);
        JSONObject roleObj = result.getJSONObject("data");
        assertNotNull(roleObj);
        assertNotNull(roleObj);
        assertEquals(role1, roleObj.get("name"));
        assertEquals("Changed", roleObj.get("displayLabel"));
        checkCapabilities(roleObj, 4);
        // Bad requests
        sendRequest(new PutRequest(getRolesUrlBySite() + "/cheese", obj.toString(), APPLICATION_JSON), 404);
    } finally {
        // Clean up
        filePlanRoleService.deleteRole(filePlan, role1);
    }
}
Also used : Response(org.springframework.extensions.webscripts.TestWebScriptServer.Response) Capability(org.alfresco.module.org_alfresco_module_rm.capability.Capability) JSONObject(org.json.JSONObject) JSONArray(org.json.JSONArray) PutRequest(org.springframework.extensions.webscripts.TestWebScriptServer.PutRequest)

Example 29 with Capability

use of org.alfresco.module.org_alfresco_module_rm.capability.Capability in project records-management by Alfresco.

the class RoleRestApiTest method testPostRoles.

public void testPostRoles() throws Exception {
    Set<Capability> caps = getListOfCapabilities(5);
    JSONArray arrCaps = new JSONArray();
    for (Capability cap : caps) {
        arrCaps.put(cap.getName());
    }
    String roleName = GUID.generate();
    JSONObject obj = new JSONObject();
    obj.put("name", roleName);
    obj.put("displayLabel", "Display Label");
    obj.put("capabilities", arrCaps);
    Response rsp = sendRequest(new PostRequest(getRolesUrlBySite(), obj.toString(), APPLICATION_JSON), 200);
    try {
        String rspContent = rsp.getContentAsString();
        JSONObject resultObj = new JSONObject(rspContent);
        JSONObject roleObj = resultObj.getJSONObject("data");
        assertNotNull(roleObj);
        assertNotNull(roleObj);
        assertEquals(roleName, roleObj.get("name"));
        assertEquals("Display Label", roleObj.get("displayLabel"));
        checkCapabilities(roleObj, 5);
    } finally {
        filePlanRoleService.deleteRole(filePlan, roleName);
    }
}
Also used : Response(org.springframework.extensions.webscripts.TestWebScriptServer.Response) PostRequest(org.springframework.extensions.webscripts.TestWebScriptServer.PostRequest) Capability(org.alfresco.module.org_alfresco_module_rm.capability.Capability) JSONObject(org.json.JSONObject) JSONArray(org.json.JSONArray)

Aggregations

Capability (org.alfresco.module.org_alfresco_module_rm.capability.Capability)29 NodeRef (org.alfresco.service.cmr.repository.NodeRef)15 HashSet (java.util.HashSet)8 HashMap (java.util.HashMap)6 Map (java.util.Map)5 Serializable (java.io.Serializable)4 Role (org.alfresco.module.org_alfresco_module_rm.role.Role)4 AccessStatus (org.alfresco.service.cmr.security.AccessStatus)4 JSONArray (org.json.JSONArray)4 JSONObject (org.json.JSONObject)4 DeclarativeCapability (org.alfresco.module.org_alfresco_module_rm.capability.declarative.DeclarativeCapability)3 DeclarativeCompositeCapability (org.alfresco.module.org_alfresco_module_rm.capability.declarative.DeclarativeCompositeCapability)3 WebScriptException (org.springframework.extensions.webscripts.WebScriptException)3 IOException (java.io.IOException)2 ArrayList (java.util.ArrayList)2 Set (java.util.Set)2 AlfrescoRuntimeException (org.alfresco.error.AlfrescoRuntimeException)2 RunAsWork (org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork)2 AccessDeniedException (org.alfresco.repo.security.permissions.AccessDeniedException)2 AccessPermission (org.alfresco.service.cmr.security.AccessPermission)2