mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-10-01 14:41:46 +00:00
RM Move Capabilities:
* Added Record Folder, Record Category and composite Move capabilities (all private and based on exisiting capabilities) * Added RM UI actions for record, folder and category move wired up to new capabilities .. this means the UI actions correctly reflect the capabilities of the user * Unit tests * Started to move the capabilitiy spring def's into logically seperate files * Rewrote origional RecordsMove capability (replaced with spring config) * Added TargetCapability configuration to declarative capability implementation .. provides a way to evaluate capability when a target node reference is being taken into consideration * Added title and description to declarative capability (for future use) * Removed unwated 'old' doclib overrides (where confussing the issue) * Clean up the security service which was duplicating methods now found on the capability service * Remove capability set support ... old work around used before updated evaluators where used * Fixes RM-203, RM-328, RM-165, RM-204 (and possibly some others I've yet to find!) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/V2.0@36338 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -18,15 +18,16 @@
|
||||
*/
|
||||
package org.alfresco.module.org_alfresco_module_rm.test;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestSuite;
|
||||
|
||||
import org.alfresco.module.org_alfresco_module_rm.test.service.DispositionServiceImplTest;
|
||||
import org.alfresco.module.org_alfresco_module_rm.test.service.RecordsManagementActionServiceImplTest;
|
||||
import org.alfresco.module.org_alfresco_module_rm.test.service.RecordsManagementAdminServiceImplTest;
|
||||
import org.alfresco.module.org_alfresco_module_rm.test.service.RecordsManagementSearchServiceImplTest;
|
||||
import org.alfresco.module.org_alfresco_module_rm.test.service.RecordsManagementServiceImplTest;
|
||||
import org.alfresco.module.org_alfresco_module_rm.test.service.VitalRecordServiceImplTest;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestSuite;
|
||||
|
||||
|
||||
/**
|
||||
* RM test suite
|
||||
@@ -45,7 +46,7 @@ public class ServicesTestSuite extends TestSuite
|
||||
TestSuite suite = new TestSuite();
|
||||
suite.addTestSuite(RecordsManagementServiceImplTest.class);
|
||||
suite.addTestSuite(DispositionServiceImplTest.class);
|
||||
//suite.addTestSuite(RecordsManagementActionServiceImplTest.class);
|
||||
suite.addTestSuite(RecordsManagementActionServiceImplTest.class);
|
||||
suite.addTestSuite(RecordsManagementAdminServiceImplTest.class);
|
||||
//suite.addTestSuite(RecordsManagementAuditServiceImplTest.class);
|
||||
//suite.addTestSuite(RecordsManagementEventServiceImplTest.class);
|
||||
|
@@ -89,7 +89,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
|
||||
protected void check(Map<Capability, AccessStatus> access, String name, AccessStatus accessStatus)
|
||||
{
|
||||
Capability capability = securityService.getCapability(name);
|
||||
Capability capability = capabilityService.getCapability(name);
|
||||
assertNotNull(capability);
|
||||
assertEquals(accessStatus, access.get(capability));
|
||||
}
|
||||
@@ -403,7 +403,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
*/
|
||||
private void testCapabilityActions(int count, String capability)
|
||||
{
|
||||
assertEquals(count, securityService.getCapability(capability)
|
||||
assertEquals(count, capabilityService.getCapability(capability)
|
||||
.getActionNames().size());
|
||||
}
|
||||
|
||||
@@ -423,8 +423,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
.setFullyAuthenticatedUser(AuthenticationUtil
|
||||
.getSystemUserName());
|
||||
|
||||
Map<Capability, AccessStatus> access = securityService
|
||||
.getCapabilities(filePlan);
|
||||
Map<Capability, AccessStatus> access = capabilityService.getCapabilitiesAccessState(filePlan);
|
||||
assertEquals(66, access.size());
|
||||
check(access, ACCESS_AUDIT, AccessStatus.ALLOWED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
@@ -503,7 +502,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
check(access, MAP_CLASSIFICATION_GUIDE_METADATA,
|
||||
AccessStatus.ALLOWED);
|
||||
check(access, MAP_EMAIL_METADATA, AccessStatus.ALLOWED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.UNDETERMINED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.DENIED);
|
||||
check(access, PASSWORD_CONTROL, AccessStatus.ALLOWED);
|
||||
check(access, PLANNING_REVIEW_CYCLES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -543,8 +542,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
AuthenticationUtil
|
||||
.setFullyAuthenticatedUser(AuthenticationUtil
|
||||
.getAdminUserName());
|
||||
Map<Capability, AccessStatus> access = securityService
|
||||
.getCapabilities(filePlan);
|
||||
Map<Capability, AccessStatus> access = capabilityService.getCapabilitiesAccessState(filePlan);
|
||||
assertEquals(66, access.size());
|
||||
check(access, ACCESS_AUDIT, AccessStatus.ALLOWED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
@@ -623,7 +621,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
check(access, MAP_CLASSIFICATION_GUIDE_METADATA,
|
||||
AccessStatus.ALLOWED);
|
||||
check(access, MAP_EMAIL_METADATA, AccessStatus.ALLOWED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.UNDETERMINED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.DENIED);
|
||||
check(access, PASSWORD_CONTROL, AccessStatus.ALLOWED);
|
||||
check(access, PLANNING_REVIEW_CYCLES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -665,8 +663,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
{
|
||||
AuthenticationUtil
|
||||
.setFullyAuthenticatedUser(rmAdminName);
|
||||
Map<Capability, AccessStatus> access = securityService
|
||||
.getCapabilities(filePlan);
|
||||
Map<Capability, AccessStatus> access = capabilityService.getCapabilitiesAccessState(filePlan);
|
||||
assertEquals(66, access.size());
|
||||
check(access, ACCESS_AUDIT, AccessStatus.ALLOWED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
@@ -745,7 +742,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
check(access, MAP_CLASSIFICATION_GUIDE_METADATA,
|
||||
AccessStatus.ALLOWED);
|
||||
check(access, MAP_EMAIL_METADATA, AccessStatus.ALLOWED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.UNDETERMINED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.DENIED);
|
||||
check(access, PASSWORD_CONTROL, AccessStatus.ALLOWED);
|
||||
check(access, PLANNING_REVIEW_CYCLES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -793,8 +790,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
|
||||
AuthenticationUtil
|
||||
.setFullyAuthenticatedUser(recordsManagerName);
|
||||
Map<Capability, AccessStatus> access = securityService
|
||||
.getCapabilities(filePlan);
|
||||
Map<Capability, AccessStatus> access = capabilityService.getCapabilitiesAccessState(filePlan);
|
||||
assertEquals(66, access.size()); // 58 + File
|
||||
check(access, ACCESS_AUDIT, AccessStatus.ALLOWED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
@@ -873,7 +869,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
check(access, MAP_CLASSIFICATION_GUIDE_METADATA,
|
||||
AccessStatus.ALLOWED);
|
||||
check(access, MAP_EMAIL_METADATA, AccessStatus.ALLOWED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.UNDETERMINED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.DENIED);
|
||||
check(access, PASSWORD_CONTROL, AccessStatus.ALLOWED);
|
||||
check(access, PLANNING_REVIEW_CYCLES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -917,8 +913,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
|
||||
AuthenticationUtil
|
||||
.setFullyAuthenticatedUser(securityOfficerName);
|
||||
Map<Capability, AccessStatus> access = securityService
|
||||
.getCapabilities(filePlan);
|
||||
Map<Capability, AccessStatus> access = capabilityService.getCapabilitiesAccessState(filePlan);
|
||||
assertEquals(66, access.size()); // 58 + File
|
||||
check(access, ACCESS_AUDIT, AccessStatus.DENIED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
@@ -995,7 +990,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
check(access, MAP_CLASSIFICATION_GUIDE_METADATA,
|
||||
AccessStatus.DENIED);
|
||||
check(access, MAP_EMAIL_METADATA, AccessStatus.DENIED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.UNDETERMINED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.DENIED);
|
||||
check(access, PASSWORD_CONTROL, AccessStatus.DENIED);
|
||||
check(access, PLANNING_REVIEW_CYCLES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -1036,8 +1031,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
{
|
||||
AuthenticationUtil
|
||||
.setFullyAuthenticatedUser(powerUserName);
|
||||
Map<Capability, AccessStatus> access = securityService
|
||||
.getCapabilities(filePlan);
|
||||
Map<Capability, AccessStatus> access = capabilityService.getCapabilitiesAccessState(filePlan);
|
||||
assertEquals(66, access.size()); // 58 + File
|
||||
check(access, ACCESS_AUDIT, AccessStatus.DENIED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
@@ -1114,7 +1108,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
check(access, MAP_CLASSIFICATION_GUIDE_METADATA,
|
||||
AccessStatus.DENIED);
|
||||
check(access, MAP_EMAIL_METADATA, AccessStatus.DENIED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.UNDETERMINED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.DENIED);
|
||||
check(access, PASSWORD_CONTROL, AccessStatus.DENIED);
|
||||
check(access, PLANNING_REVIEW_CYCLES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -1155,8 +1149,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
{
|
||||
AuthenticationUtil
|
||||
.setFullyAuthenticatedUser(rmUserName);
|
||||
Map<Capability, AccessStatus> access = securityService
|
||||
.getCapabilities(filePlan);
|
||||
Map<Capability, AccessStatus> access = capabilityService.getCapabilitiesAccessState(filePlan);
|
||||
assertEquals(66, access.size()); // 58 + File
|
||||
check(access, ACCESS_AUDIT, AccessStatus.DENIED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
@@ -1233,7 +1226,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
check(access, MAP_CLASSIFICATION_GUIDE_METADATA,
|
||||
AccessStatus.DENIED);
|
||||
check(access, MAP_EMAIL_METADATA, AccessStatus.DENIED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.UNDETERMINED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.DENIED);
|
||||
check(access, PASSWORD_CONTROL, AccessStatus.DENIED);
|
||||
check(access, PLANNING_REVIEW_CYCLES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -1275,8 +1268,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
AuthenticationUtil
|
||||
.setFullyAuthenticatedUser(AuthenticationUtil.SYSTEM_USER_NAME);
|
||||
|
||||
Map<Capability, AccessStatus> access = securityService
|
||||
.getCapabilities(rmContainer);
|
||||
Map<Capability, AccessStatus> access = capabilityService.getCapabilitiesAccessState(rmContainer);
|
||||
assertEquals(66, access.size());
|
||||
check(access, ACCESS_AUDIT, AccessStatus.ALLOWED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
@@ -1355,7 +1347,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
check(access, MAP_CLASSIFICATION_GUIDE_METADATA,
|
||||
AccessStatus.ALLOWED);
|
||||
check(access, MAP_EMAIL_METADATA, AccessStatus.ALLOWED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.UNDETERMINED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.DENIED);
|
||||
check(access, PASSWORD_CONTROL, AccessStatus.ALLOWED);
|
||||
check(access, PLANNING_REVIEW_CYCLES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -1398,8 +1390,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
AuthenticationUtil
|
||||
.setFullyAuthenticatedUser(AuthenticationUtil
|
||||
.getAdminUserName());
|
||||
Map<Capability, AccessStatus> access = securityService
|
||||
.getCapabilities(rmContainer);
|
||||
Map<Capability, AccessStatus> access = capabilityService.getCapabilitiesAccessState(rmContainer);
|
||||
assertEquals(66, access.size());
|
||||
check(access, ACCESS_AUDIT, AccessStatus.ALLOWED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
@@ -1478,7 +1469,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
check(access, MAP_CLASSIFICATION_GUIDE_METADATA,
|
||||
AccessStatus.ALLOWED);
|
||||
check(access, MAP_EMAIL_METADATA, AccessStatus.ALLOWED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.UNDETERMINED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.DENIED);
|
||||
check(access, PASSWORD_CONTROL, AccessStatus.ALLOWED);
|
||||
check(access, PLANNING_REVIEW_CYCLES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -1520,8 +1511,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
{
|
||||
AuthenticationUtil
|
||||
.setFullyAuthenticatedUser(rmAdminName);
|
||||
Map<Capability, AccessStatus> access = securityService
|
||||
.getCapabilities(rmContainer);
|
||||
Map<Capability, AccessStatus> access = capabilityService.getCapabilitiesAccessState(rmContainer);
|
||||
assertEquals(66, access.size());
|
||||
check(access, ACCESS_AUDIT, AccessStatus.ALLOWED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
@@ -1600,7 +1590,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
check(access, MAP_CLASSIFICATION_GUIDE_METADATA,
|
||||
AccessStatus.ALLOWED);
|
||||
check(access, MAP_EMAIL_METADATA, AccessStatus.ALLOWED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.UNDETERMINED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.DENIED);
|
||||
check(access, PASSWORD_CONTROL, AccessStatus.ALLOWED);
|
||||
check(access, PLANNING_REVIEW_CYCLES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -1644,8 +1634,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
.setFullyAuthenticatedUser(recordsManagerName);
|
||||
// permissionService.setPermission(recordCategory_1,
|
||||
// rm_records_manager, FILING, true);
|
||||
Map<Capability, AccessStatus> access = securityService
|
||||
.getCapabilities(rmContainer);
|
||||
Map<Capability, AccessStatus> access = capabilityService.getCapabilitiesAccessState(rmContainer);
|
||||
assertEquals(66, access.size()); // 58 + File
|
||||
check(access, ACCESS_AUDIT, AccessStatus.ALLOWED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
@@ -1724,7 +1713,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
check(access, MAP_CLASSIFICATION_GUIDE_METADATA,
|
||||
AccessStatus.ALLOWED);
|
||||
check(access, MAP_EMAIL_METADATA, AccessStatus.ALLOWED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.UNDETERMINED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.DENIED);
|
||||
check(access, PASSWORD_CONTROL, AccessStatus.ALLOWED);
|
||||
check(access, PLANNING_REVIEW_CYCLES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -1768,8 +1757,8 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
.setFullyAuthenticatedUser(securityOfficerName);
|
||||
// permissionService.setPermission(recordCategory_1,
|
||||
// securityOfficerName, FILING, true);
|
||||
Map<Capability, AccessStatus> access = securityService
|
||||
.getCapabilities(rmContainer);
|
||||
Map<Capability, AccessStatus> access = capabilityService
|
||||
.getCapabilitiesAccessState(rmContainer);
|
||||
assertEquals(66, access.size()); // 58 + File
|
||||
check(access, ACCESS_AUDIT, AccessStatus.DENIED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
@@ -1846,7 +1835,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
check(access, MAP_CLASSIFICATION_GUIDE_METADATA,
|
||||
AccessStatus.DENIED);
|
||||
check(access, MAP_EMAIL_METADATA, AccessStatus.DENIED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.UNDETERMINED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.DENIED);
|
||||
check(access, PASSWORD_CONTROL, AccessStatus.DENIED);
|
||||
check(access, PLANNING_REVIEW_CYCLES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -1889,8 +1878,8 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
.setFullyAuthenticatedUser(powerUserName);
|
||||
// permissionService.setPermission(rmContainer,
|
||||
// powerUserName, FILING, true);
|
||||
Map<Capability, AccessStatus> access = securityService
|
||||
.getCapabilities(rmContainer);
|
||||
Map<Capability, AccessStatus> access = capabilityService
|
||||
.getCapabilitiesAccessState(rmContainer);
|
||||
assertEquals(66, access.size()); // 58 + File
|
||||
check(access, ACCESS_AUDIT, AccessStatus.DENIED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
@@ -1967,7 +1956,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
check(access, MAP_CLASSIFICATION_GUIDE_METADATA,
|
||||
AccessStatus.DENIED);
|
||||
check(access, MAP_EMAIL_METADATA, AccessStatus.DENIED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.UNDETERMINED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.DENIED);
|
||||
check(access, PASSWORD_CONTROL, AccessStatus.DENIED);
|
||||
check(access, PLANNING_REVIEW_CYCLES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -2010,8 +1999,8 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
.setFullyAuthenticatedUser(rmUserName);
|
||||
// permissionService.setPermission(rmContainer,
|
||||
// rmUserName, FILING, true);
|
||||
Map<Capability, AccessStatus> access = securityService
|
||||
.getCapabilities(rmContainer);
|
||||
Map<Capability, AccessStatus> access = capabilityService
|
||||
.getCapabilitiesAccessState(rmContainer);
|
||||
assertEquals(66, access.size()); // 58 + File
|
||||
check(access, ACCESS_AUDIT, AccessStatus.DENIED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
@@ -2088,7 +2077,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
check(access, MAP_CLASSIFICATION_GUIDE_METADATA,
|
||||
AccessStatus.DENIED);
|
||||
check(access, MAP_EMAIL_METADATA, AccessStatus.DENIED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.UNDETERMINED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.DENIED);
|
||||
check(access, PASSWORD_CONTROL, AccessStatus.DENIED);
|
||||
check(access, PLANNING_REVIEW_CYCLES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -2130,8 +2119,8 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
AuthenticationUtil
|
||||
.setFullyAuthenticatedUser(AuthenticationUtil.SYSTEM_USER_NAME);
|
||||
|
||||
Map<Capability, AccessStatus> access = securityService
|
||||
.getCapabilities(rmFolder);
|
||||
Map<Capability, AccessStatus> access = capabilityService
|
||||
.getCapabilitiesAccessState(rmFolder);
|
||||
assertEquals(66, access.size());
|
||||
check(access, ACCESS_AUDIT, AccessStatus.ALLOWED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
@@ -2215,7 +2204,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
check(access, MAP_CLASSIFICATION_GUIDE_METADATA,
|
||||
AccessStatus.ALLOWED);
|
||||
check(access, MAP_EMAIL_METADATA, AccessStatus.ALLOWED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.UNDETERMINED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.DENIED);
|
||||
check(access, PASSWORD_CONTROL, AccessStatus.ALLOWED);
|
||||
check(access, PLANNING_REVIEW_CYCLES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -2259,8 +2248,8 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
AuthenticationUtil
|
||||
.setFullyAuthenticatedUser(AuthenticationUtil
|
||||
.getAdminUserName());
|
||||
Map<Capability, AccessStatus> access = securityService
|
||||
.getCapabilities(rmFolder);
|
||||
Map<Capability, AccessStatus> access = capabilityService
|
||||
.getCapabilitiesAccessState(rmFolder);
|
||||
assertEquals(66, access.size());
|
||||
check(access, ACCESS_AUDIT, AccessStatus.ALLOWED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
@@ -2339,7 +2328,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
check(access, MAP_CLASSIFICATION_GUIDE_METADATA,
|
||||
AccessStatus.ALLOWED);
|
||||
check(access, MAP_EMAIL_METADATA, AccessStatus.ALLOWED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.UNDETERMINED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.DENIED);
|
||||
check(access, PASSWORD_CONTROL, AccessStatus.ALLOWED);
|
||||
check(access, PLANNING_REVIEW_CYCLES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -2382,8 +2371,8 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
{
|
||||
AuthenticationUtil
|
||||
.setFullyAuthenticatedUser(rmAdminName);
|
||||
Map<Capability, AccessStatus> access = securityService
|
||||
.getCapabilities(rmFolder);
|
||||
Map<Capability, AccessStatus> access = capabilityService
|
||||
.getCapabilitiesAccessState(rmFolder);
|
||||
assertEquals(66, access.size());
|
||||
check(access, ACCESS_AUDIT, AccessStatus.ALLOWED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
@@ -2462,7 +2451,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
check(access, MAP_CLASSIFICATION_GUIDE_METADATA,
|
||||
AccessStatus.ALLOWED);
|
||||
check(access, MAP_EMAIL_METADATA, AccessStatus.ALLOWED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.UNDETERMINED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.DENIED);
|
||||
check(access, PASSWORD_CONTROL, AccessStatus.ALLOWED);
|
||||
check(access, PLANNING_REVIEW_CYCLES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -2504,7 +2493,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
{
|
||||
AuthenticationUtil.setFullyAuthenticatedUser(recordsManagerName);
|
||||
//setFilingOnRecordFolder(rmFolder, recordsManagerName);
|
||||
Map<Capability, AccessStatus> access = securityService.getCapabilities(rmFolder);
|
||||
Map<Capability, AccessStatus> access = capabilityService.getCapabilitiesAccessState(rmFolder);
|
||||
assertEquals(66, access.size()); // 58 + File
|
||||
check(access, ACCESS_AUDIT, AccessStatus.ALLOWED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
@@ -2583,7 +2572,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
check(access, MAP_CLASSIFICATION_GUIDE_METADATA,
|
||||
AccessStatus.ALLOWED);
|
||||
check(access, MAP_EMAIL_METADATA, AccessStatus.ALLOWED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.UNDETERMINED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.DENIED);
|
||||
check(access, PASSWORD_CONTROL, AccessStatus.ALLOWED);
|
||||
check(access, PLANNING_REVIEW_CYCLES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -2625,7 +2614,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
{
|
||||
AuthenticationUtil.setFullyAuthenticatedUser(securityOfficerName);
|
||||
//setFilingOnRecordFolder(rmFolder, securityOfficerName);
|
||||
Map<Capability, AccessStatus> access = securityService.getCapabilities(rmFolder);
|
||||
Map<Capability, AccessStatus> access = capabilityService.getCapabilitiesAccessState(rmFolder);
|
||||
assertEquals(66, access.size()); // 58 + File
|
||||
check(access, ACCESS_AUDIT, AccessStatus.DENIED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
@@ -2702,7 +2691,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
check(access, MAP_CLASSIFICATION_GUIDE_METADATA,
|
||||
AccessStatus.DENIED);
|
||||
check(access, MAP_EMAIL_METADATA, AccessStatus.DENIED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.UNDETERMINED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.DENIED);
|
||||
check(access, PASSWORD_CONTROL, AccessStatus.DENIED);
|
||||
check(access, PLANNING_REVIEW_CYCLES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -2743,7 +2732,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
{
|
||||
AuthenticationUtil.setFullyAuthenticatedUser(powerUserName);
|
||||
//setFilingOnRecordFolder(rmFolder, powerUserName);
|
||||
Map<Capability, AccessStatus> access = securityService.getCapabilities(rmFolder);
|
||||
Map<Capability, AccessStatus> access = capabilityService.getCapabilitiesAccessState(rmFolder);
|
||||
assertEquals(66, access.size()); // 58 + File
|
||||
check(access, ACCESS_AUDIT, AccessStatus.DENIED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
@@ -2820,7 +2809,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
check(access, MAP_CLASSIFICATION_GUIDE_METADATA,
|
||||
AccessStatus.DENIED);
|
||||
check(access, MAP_EMAIL_METADATA, AccessStatus.DENIED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.UNDETERMINED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.DENIED);
|
||||
check(access, PASSWORD_CONTROL, AccessStatus.DENIED);
|
||||
check(access, PLANNING_REVIEW_CYCLES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -2862,8 +2851,8 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
AuthenticationUtil
|
||||
.setFullyAuthenticatedUser(rmUserName);
|
||||
//setFilingOnRecordFolder(rmFolder, rmUserName);
|
||||
Map<Capability, AccessStatus> access = securityService
|
||||
.getCapabilities(rmFolder);
|
||||
Map<Capability, AccessStatus> access = capabilityService
|
||||
.getCapabilitiesAccessState(rmFolder);
|
||||
assertEquals(66, access.size()); // 58 + File
|
||||
check(access, ACCESS_AUDIT, AccessStatus.DENIED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
@@ -2940,7 +2929,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
check(access, MAP_CLASSIFICATION_GUIDE_METADATA,
|
||||
AccessStatus.DENIED);
|
||||
check(access, MAP_EMAIL_METADATA, AccessStatus.DENIED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.UNDETERMINED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.DENIED);
|
||||
check(access, PASSWORD_CONTROL, AccessStatus.DENIED);
|
||||
check(access, PLANNING_REVIEW_CYCLES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -2980,7 +2969,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
public Object execute() throws Throwable
|
||||
{
|
||||
AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.SYSTEM_USER_NAME);
|
||||
Map<Capability, AccessStatus> access = securityService.getCapabilities(record);
|
||||
Map<Capability, AccessStatus> access = capabilityService.getCapabilitiesAccessState(record);
|
||||
assertEquals(66, access.size());
|
||||
check(access, ACCESS_AUDIT, AccessStatus.ALLOWED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
@@ -3103,8 +3092,8 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
AuthenticationUtil
|
||||
.setFullyAuthenticatedUser(AuthenticationUtil
|
||||
.getAdminUserName());
|
||||
Map<Capability, AccessStatus> access = securityService
|
||||
.getCapabilities(record);
|
||||
Map<Capability, AccessStatus> access = capabilityService
|
||||
.getCapabilitiesAccessState(record);
|
||||
assertEquals(66, access.size());
|
||||
check(access, ACCESS_AUDIT, AccessStatus.ALLOWED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
@@ -3226,8 +3215,8 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
{
|
||||
AuthenticationUtil
|
||||
.setFullyAuthenticatedUser(rmAdminName);
|
||||
Map<Capability, AccessStatus> access = securityService
|
||||
.getCapabilities(record);
|
||||
Map<Capability, AccessStatus> access = capabilityService
|
||||
.getCapabilitiesAccessState(record);
|
||||
assertEquals(66, access.size());
|
||||
check(access, ACCESS_AUDIT, AccessStatus.ALLOWED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
@@ -3350,8 +3339,8 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
AuthenticationUtil
|
||||
.setFullyAuthenticatedUser(recordsManagerName);
|
||||
// setFilingOnRecord(record, recordsManagerName);
|
||||
Map<Capability, AccessStatus> access = securityService
|
||||
.getCapabilities(record);
|
||||
Map<Capability, AccessStatus> access = capabilityService
|
||||
.getCapabilitiesAccessState(record);
|
||||
assertEquals(66, access.size()); // 58 + File
|
||||
check(access, ACCESS_AUDIT, AccessStatus.ALLOWED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
@@ -3474,8 +3463,8 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
AuthenticationUtil
|
||||
.setFullyAuthenticatedUser(securityOfficerName);
|
||||
// setFilingOnRecord(record, securityOfficerName);
|
||||
Map<Capability, AccessStatus> access = securityService
|
||||
.getCapabilities(record);
|
||||
Map<Capability, AccessStatus> access = capabilityService
|
||||
.getCapabilitiesAccessState(record);
|
||||
assertEquals(66, access.size()); // 58 + File
|
||||
check(access, ACCESS_AUDIT, AccessStatus.DENIED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
@@ -3553,7 +3542,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
check(access, MAP_CLASSIFICATION_GUIDE_METADATA,
|
||||
AccessStatus.DENIED);
|
||||
check(access, MAP_EMAIL_METADATA, AccessStatus.DENIED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.UNDETERMINED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.DENIED);
|
||||
check(access, PASSWORD_CONTROL, AccessStatus.DENIED);
|
||||
check(access, PLANNING_REVIEW_CYCLES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -3596,8 +3585,8 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
AuthenticationUtil
|
||||
.setFullyAuthenticatedUser(powerUserName);
|
||||
// setFilingOnRecord(record, powerUserName);
|
||||
Map<Capability, AccessStatus> access = securityService
|
||||
.getCapabilities(record);
|
||||
Map<Capability, AccessStatus> access = capabilityService
|
||||
.getCapabilitiesAccessState(record);
|
||||
assertEquals(66, access.size()); // 58 + File
|
||||
check(access, ACCESS_AUDIT, AccessStatus.DENIED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
@@ -3675,7 +3664,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
check(access, MAP_CLASSIFICATION_GUIDE_METADATA,
|
||||
AccessStatus.DENIED);
|
||||
check(access, MAP_EMAIL_METADATA, AccessStatus.DENIED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.UNDETERMINED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.DENIED);
|
||||
check(access, PASSWORD_CONTROL, AccessStatus.DENIED);
|
||||
check(access, PLANNING_REVIEW_CYCLES,
|
||||
AccessStatus.DENIED);
|
||||
@@ -3717,8 +3706,8 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
AuthenticationUtil
|
||||
.setFullyAuthenticatedUser(rmUserName);
|
||||
// setFilingOnRecord(record, rmUserName);
|
||||
Map<Capability, AccessStatus> access = securityService
|
||||
.getCapabilities(record);
|
||||
Map<Capability, AccessStatus> access = capabilityService
|
||||
.getCapabilitiesAccessState(record);
|
||||
assertEquals(66, access.size()); // 58 + File
|
||||
check(access, ACCESS_AUDIT, AccessStatus.DENIED);
|
||||
check(access, ADD_MODIFY_EVENT_DATES,
|
||||
@@ -3795,7 +3784,7 @@ public class CapabilitiesTest extends BaseRMTestCase implements
|
||||
check(access, MAP_CLASSIFICATION_GUIDE_METADATA,
|
||||
AccessStatus.DENIED);
|
||||
check(access, MAP_EMAIL_METADATA, AccessStatus.DENIED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.UNDETERMINED);
|
||||
check(access, MOVE_RECORDS, AccessStatus.DENIED);
|
||||
check(access, PASSWORD_CONTROL, AccessStatus.DENIED);
|
||||
check(access, PLANNING_REVIEW_CYCLES,
|
||||
AccessStatus.DENIED);
|
||||
|
@@ -23,6 +23,8 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import net.sf.acegisecurity.vote.AccessDecisionVoter;
|
||||
|
||||
import org.alfresco.model.ContentModel;
|
||||
import org.alfresco.module.org_alfresco_module_rm.FilePlanComponentKind;
|
||||
import org.alfresco.module.org_alfresco_module_rm.capability.Capability;
|
||||
@@ -45,6 +47,7 @@ public class DeclarativeCapabilityTest extends BaseRMTestCase
|
||||
{
|
||||
private NodeRef record;
|
||||
private NodeRef declaredRecord;
|
||||
private NodeRef undeclaredRecord;
|
||||
|
||||
private NodeRef recordFolderContainsFrozen;
|
||||
private NodeRef frozenRecord;
|
||||
@@ -53,6 +56,9 @@ public class DeclarativeCapabilityTest extends BaseRMTestCase
|
||||
|
||||
private NodeRef closedFolder;
|
||||
|
||||
private NodeRef moveToFolder;
|
||||
private NodeRef moveToCategory;
|
||||
|
||||
@Override
|
||||
protected boolean isUserTest()
|
||||
{
|
||||
@@ -67,16 +73,21 @@ public class DeclarativeCapabilityTest extends BaseRMTestCase
|
||||
// Pre-filed content
|
||||
record = utils.createRecord(rmFolder, "record.txt");
|
||||
declaredRecord = utils.createRecord(rmFolder, "declaredRecord.txt");
|
||||
undeclaredRecord = utils.createRecord(rmFolder, "undeclaredRecord.txt");
|
||||
|
||||
// Closed folder
|
||||
closedFolder = rmService.createRecordFolder(rmContainer, "closedFolder");
|
||||
utils.closeFolder(closedFolder);
|
||||
|
||||
// Frozen artifacts
|
||||
recordFolderContainsFrozen = rmService.createRecordFolder(rmContainer, "containsFrozen");
|
||||
frozenRecord = utils.createRecord(rmFolder, "frozenRecord.txt");
|
||||
frozenRecord2 = utils.createRecord(recordFolderContainsFrozen, "frozen2.txt");
|
||||
frozenRecordFolder = rmService.createRecordFolder(rmContainer, "frozenRecordFolder");
|
||||
|
||||
|
||||
// MoveTo artifacts
|
||||
moveToFolder = rmService.createRecordFolder(rmContainer, "moveToFolder");
|
||||
moveToCategory = rmService.createRecordCategory(rmContainer, "moveToCategory");
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -123,6 +134,8 @@ public class DeclarativeCapabilityTest extends BaseRMTestCase
|
||||
for (String user : testUsers)
|
||||
{
|
||||
securityService.setPermission(rmFolder, user, RMPermissionModel.FILING);
|
||||
securityService.setPermission(moveToFolder, user, RMPermissionModel.READ_RECORDS);
|
||||
securityService.setPermission(moveToCategory, user, RMPermissionModel.READ_RECORDS);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -283,4 +296,190 @@ public class DeclarativeCapabilityTest extends BaseRMTestCase
|
||||
}
|
||||
}, rmUserName);
|
||||
}
|
||||
|
||||
public void testMoveRecordCapability()
|
||||
{
|
||||
// grab the move record capability
|
||||
final Capability capability = capabilityService.getCapability("MoveRecords");
|
||||
assertNotNull(capability);
|
||||
|
||||
doTestInTransaction(new Test<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void run()
|
||||
{
|
||||
// first take a look at just the record
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(rmContainer));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(rmFolder));
|
||||
assertEquals(AccessStatus.UNDETERMINED, capability.hasPermission(record));
|
||||
assertEquals(AccessStatus.UNDETERMINED, capability.hasPermission(declaredRecord));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(frozenRecordFolder));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(recordFolderContainsFrozen));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(frozenRecord));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(closedFolder));
|
||||
assertEquals(AccessStatus.UNDETERMINED, capability.hasPermission(undeclaredRecord));
|
||||
|
||||
// now lets take a look when we know what the destination is
|
||||
// NOTE: should be denied since we do not have file permission on the destination folder
|
||||
// despite having the capability!
|
||||
assertEquals(AccessDecisionVoter.ACCESS_DENIED, capability.evaluate(record, moveToFolder));
|
||||
assertEquals(AccessDecisionVoter.ACCESS_DENIED, capability.evaluate(declaredRecord, moveToFolder));
|
||||
assertEquals(AccessDecisionVoter.ACCESS_DENIED, capability.evaluate(undeclaredRecord, moveToFolder));
|
||||
assertEquals(AccessDecisionVoter.ACCESS_DENIED, capability.evaluate(frozenRecord, moveToFolder));
|
||||
|
||||
return null;
|
||||
}
|
||||
}, recordsManagerName);
|
||||
|
||||
doTestInTransaction(new Test<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void run()
|
||||
{
|
||||
for (String user : testUsers)
|
||||
{
|
||||
securityService.setPermission(moveToFolder, user, RMPermissionModel.FILING);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}, rmAdminName);
|
||||
|
||||
doTestInTransaction(new Test<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void run()
|
||||
{
|
||||
// first take a look at just the record
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(rmContainer));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(rmFolder));
|
||||
assertEquals(AccessStatus.UNDETERMINED, capability.hasPermission(record));
|
||||
assertEquals(AccessStatus.UNDETERMINED, capability.hasPermission(declaredRecord));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(frozenRecordFolder));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(recordFolderContainsFrozen));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(frozenRecord));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(closedFolder));
|
||||
assertEquals(AccessStatus.UNDETERMINED, capability.hasPermission(undeclaredRecord));
|
||||
|
||||
// now lets take a look when we know what the destination is
|
||||
// NOTE: should be allowed now since we have filling permission on the destination folder
|
||||
assertEquals(AccessDecisionVoter.ACCESS_GRANTED, capability.evaluate(record, moveToFolder));
|
||||
assertEquals(AccessDecisionVoter.ACCESS_GRANTED, capability.evaluate(declaredRecord, moveToFolder));
|
||||
assertEquals(AccessDecisionVoter.ACCESS_GRANTED, capability.evaluate(undeclaredRecord, moveToFolder));
|
||||
assertEquals(AccessDecisionVoter.ACCESS_DENIED, capability.evaluate(frozenRecord, moveToFolder));
|
||||
|
||||
return null;
|
||||
}
|
||||
}, recordsManagerName);
|
||||
|
||||
doTestInTransaction(new Test<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void run()
|
||||
{
|
||||
// first take a look at just the record
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(rmContainer));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(rmFolder));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(record));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(declaredRecord));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(frozenRecordFolder));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(recordFolderContainsFrozen));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(frozenRecord));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(closedFolder));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(undeclaredRecord));
|
||||
|
||||
// now lets take a look when we know what the destination is
|
||||
// NOTE: should be allowed now since we have filling permission on the destination folder
|
||||
assertEquals(AccessDecisionVoter.ACCESS_DENIED, capability.evaluate(record, moveToFolder));
|
||||
assertEquals(AccessDecisionVoter.ACCESS_DENIED, capability.evaluate(declaredRecord, moveToFolder));
|
||||
assertEquals(AccessDecisionVoter.ACCESS_DENIED, capability.evaluate(undeclaredRecord, moveToFolder));
|
||||
assertEquals(AccessDecisionVoter.ACCESS_DENIED, capability.evaluate(frozenRecord, moveToFolder));
|
||||
|
||||
return null;
|
||||
}
|
||||
}, rmUserName);
|
||||
}
|
||||
|
||||
public void testMoveRecordFolderCapability()
|
||||
{
|
||||
// grab the move record capability
|
||||
final Capability capability = capabilityService.getCapability("MoveRecordFolder");
|
||||
assertNotNull(capability);
|
||||
|
||||
doTestInTransaction(new Test<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void run()
|
||||
{
|
||||
// first take a look at just the record
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(rmContainer));
|
||||
assertEquals(AccessStatus.UNDETERMINED, capability.hasPermission(rmFolder));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(record));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(declaredRecord));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(frozenRecordFolder));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(recordFolderContainsFrozen));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(frozenRecord));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(closedFolder));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(undeclaredRecord));
|
||||
|
||||
assertEquals(AccessDecisionVoter.ACCESS_DENIED, capability.evaluate(rmFolder, moveToCategory));
|
||||
|
||||
return null;
|
||||
}
|
||||
}, recordsManagerName);
|
||||
|
||||
doTestInTransaction(new Test<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void run()
|
||||
{
|
||||
for (String user : testUsers)
|
||||
{
|
||||
securityService.setPermission(moveToCategory, user, RMPermissionModel.FILING);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}, rmAdminName);
|
||||
|
||||
doTestInTransaction(new Test<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void run()
|
||||
{
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(rmContainer));
|
||||
assertEquals(AccessStatus.UNDETERMINED, capability.hasPermission(rmFolder));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(record));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(declaredRecord));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(frozenRecordFolder));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(recordFolderContainsFrozen));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(frozenRecord));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(closedFolder));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(undeclaredRecord));
|
||||
|
||||
assertEquals(AccessDecisionVoter.ACCESS_GRANTED, capability.evaluate(rmFolder, moveToCategory));
|
||||
|
||||
return null;
|
||||
}
|
||||
}, recordsManagerName);
|
||||
|
||||
doTestInTransaction(new Test<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void run()
|
||||
{
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(rmContainer));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(rmFolder));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(record));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(declaredRecord));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(frozenRecordFolder));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(recordFolderContainsFrozen));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(frozenRecord));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(closedFolder));
|
||||
assertEquals(AccessStatus.DENIED, capability.hasPermission(undeclaredRecord));
|
||||
|
||||
assertEquals(AccessDecisionVoter.ACCESS_DENIED, capability.evaluate(rmFolder, moveToCategory));
|
||||
|
||||
return null;
|
||||
}
|
||||
}, rmUserName);
|
||||
}
|
||||
}
|
||||
|
@@ -30,6 +30,7 @@ import org.alfresco.error.AlfrescoRuntimeException;
|
||||
import org.alfresco.model.ContentModel;
|
||||
import org.alfresco.module.org_alfresco_module_rm.action.RecordsManagementActionService;
|
||||
import org.alfresco.module.org_alfresco_module_rm.capability.Capability;
|
||||
import org.alfresco.module.org_alfresco_module_rm.capability.CapabilityService;
|
||||
import org.alfresco.module.org_alfresco_module_rm.capability.RMPermissionModel;
|
||||
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
|
||||
import org.alfresco.module.org_alfresco_module_rm.security.RecordsManagementSecurityService;
|
||||
@@ -72,6 +73,7 @@ public class RecordsManagementSecurityServiceImplTest extends BaseSpringTest
|
||||
private RecordsManagementSecurityService rmSecurityService;
|
||||
private RecordsManagementActionService rmActionService;
|
||||
private RetryingTransactionHelper transactionHelper;
|
||||
private CapabilityService capabilityService;
|
||||
|
||||
@Override
|
||||
protected void onSetUpInTransaction() throws Exception
|
||||
@@ -87,6 +89,7 @@ public class RecordsManagementSecurityServiceImplTest extends BaseSpringTest
|
||||
this.transactionHelper = (RetryingTransactionHelper)this.applicationContext.getBean("retryingTransactionHelper");
|
||||
this.permissionService = (PermissionService)this.applicationContext.getBean("PermissionService");
|
||||
this.rmActionService = (RecordsManagementActionService)this.applicationContext.getBean("RecordsManagementActionService");
|
||||
this.capabilityService = (CapabilityService)this.applicationContext.getBean("CapabilityService");
|
||||
|
||||
// Set the current security context as admin
|
||||
AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName());
|
||||
@@ -205,7 +208,7 @@ public class RecordsManagementSecurityServiceImplTest extends BaseSpringTest
|
||||
private Set<Capability> getListOfCapabilities(int size, int offset)
|
||||
{
|
||||
Set<Capability> result = new HashSet<Capability>(size);
|
||||
Set<Capability> caps = rmSecurityService.getCapabilities();
|
||||
Set<Capability> caps = capabilityService.getCapabilities(false);
|
||||
int count = 0;
|
||||
for (Capability cap : caps)
|
||||
{
|
||||
@@ -362,7 +365,7 @@ public class RecordsManagementSecurityServiceImplTest extends BaseSpringTest
|
||||
System.out.println("\nUser capabilities: ");
|
||||
for (String cap : caps)
|
||||
{
|
||||
assertNotNull(rmSecurityService.getCapability(cap));
|
||||
assertNotNull(capabilityService.getCapability(cap));
|
||||
System.out.println(cap);
|
||||
}
|
||||
|
||||
@@ -375,7 +378,7 @@ public class RecordsManagementSecurityServiceImplTest extends BaseSpringTest
|
||||
System.out.println("\nPowerUser capabilities: ");
|
||||
for (String cap : caps)
|
||||
{
|
||||
assertNotNull(rmSecurityService.getCapability(cap));
|
||||
assertNotNull(capabilityService.getCapability(cap));
|
||||
System.out.println(cap);
|
||||
}
|
||||
|
||||
@@ -388,7 +391,7 @@ public class RecordsManagementSecurityServiceImplTest extends BaseSpringTest
|
||||
System.out.println("\nSecurityOfficer capabilities: ");
|
||||
for (String cap : caps)
|
||||
{
|
||||
assertNotNull(rmSecurityService.getCapability(cap));
|
||||
assertNotNull(capabilityService.getCapability(cap));
|
||||
System.out.println(cap);
|
||||
}
|
||||
|
||||
@@ -401,7 +404,7 @@ public class RecordsManagementSecurityServiceImplTest extends BaseSpringTest
|
||||
System.out.println("\nRecordsManager capabilities: ");
|
||||
for (String cap : caps)
|
||||
{
|
||||
assertNotNull(rmSecurityService.getCapability(cap));
|
||||
assertNotNull(capabilityService.getCapability(cap));
|
||||
System.out.println(cap);
|
||||
}
|
||||
|
||||
@@ -414,7 +417,7 @@ public class RecordsManagementSecurityServiceImplTest extends BaseSpringTest
|
||||
System.out.println("\nAdministrator capabilities: ");
|
||||
for (String cap : caps)
|
||||
{
|
||||
assertNotNull("No capability called " + cap, rmSecurityService.getCapability(cap));
|
||||
assertNotNull("No capability called " + cap, capabilityService.getCapability(cap));
|
||||
System.out.println(cap);
|
||||
}
|
||||
|
||||
@@ -449,7 +452,7 @@ public class RecordsManagementSecurityServiceImplTest extends BaseSpringTest
|
||||
{
|
||||
// Create a new role
|
||||
Set<Capability> caps = new HashSet<Capability>(1);
|
||||
caps.add(rmSecurityService.getCapability(RMPermissionModel.VIEW_RECORDS));
|
||||
caps.add(capabilityService.getCapability(RMPermissionModel.VIEW_RECORDS));
|
||||
|
||||
Role role = rmSecurityService.createRole(rmRootNode, "TestRole", "My Test Role", caps);
|
||||
String user = createUser();
|
||||
@@ -562,8 +565,8 @@ public class RecordsManagementSecurityServiceImplTest extends BaseSpringTest
|
||||
|
||||
// Add the capability to the role
|
||||
Set<Capability> caps2 = new HashSet<Capability>(1);
|
||||
caps2.add(rmSecurityService.getCapability(RMPermissionModel.VIEW_RECORDS));
|
||||
caps2.add(rmSecurityService.getCapability(RMPermissionModel.CLOSE_FOLDERS));
|
||||
caps2.add(capabilityService.getCapability(RMPermissionModel.VIEW_RECORDS));
|
||||
caps2.add(capabilityService.getCapability(RMPermissionModel.CLOSE_FOLDERS));
|
||||
rmSecurityService.updateRole(rmRootNode, "TestRole", "My Test Role", caps2);
|
||||
|
||||
Set<AccessPermission> aps = permissionService.getAllSetPermissions(rmRootNode);
|
||||
@@ -616,7 +619,7 @@ public class RecordsManagementSecurityServiceImplTest extends BaseSpringTest
|
||||
{
|
||||
// Create a new role
|
||||
Set<Capability> caps = new HashSet<Capability>(1);
|
||||
caps.add(rmSecurityService.getCapability(RMPermissionModel.VIEW_RECORDS));
|
||||
caps.add(capabilityService.getCapability(RMPermissionModel.VIEW_RECORDS));
|
||||
|
||||
Role role = rmSecurityService.createRole(rmRootNode, "TestRole", "My Test Role", caps);
|
||||
String user = createUser();
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -16,7 +16,7 @@
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package org.alfresco.module.org_alfresco_module_rm.test;
|
||||
package org.alfresco.module.org_alfresco_module_rm.test.system;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.Serializable;
|
@@ -248,7 +248,7 @@ public class RoleRestApiTest extends BaseRMWebScriptTestCase implements RecordsM
|
||||
private Set<Capability> getListOfCapabilities(int size, int offset)
|
||||
{
|
||||
Set<Capability> result = new HashSet<Capability>(size);
|
||||
Set<Capability> caps = securityService.getCapabilities();
|
||||
Set<Capability> caps = capabilityService.getCapabilities(false);
|
||||
int count = 0;
|
||||
for (Capability cap : caps)
|
||||
{
|
||||
|
Reference in New Issue
Block a user