From fde855cc1f72dae4b117305acf415b4ca5b249c4 Mon Sep 17 00:00:00 2001 From: Tuna Aksoy Date: Fri, 17 Oct 2014 20:04:51 +0000 Subject: [PATCH] RM-1741 (Moved root category doesn't inherit permissions) * Unit test added git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/V2.1.0.x@88687 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../FilePlanPermissionServiceImplTest.java | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) diff --git a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/service/FilePlanPermissionServiceImplTest.java b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/service/FilePlanPermissionServiceImplTest.java index ef8d4398b5..071ad72aec 100644 --- a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/service/FilePlanPermissionServiceImplTest.java +++ b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/service/FilePlanPermissionServiceImplTest.java @@ -933,4 +933,77 @@ public class FilePlanPermissionServiceImplTest extends BaseRMTestCase } }, user2); } + + public void testMoveRootCategoryIntoAnotherRootCategory() + { + final NodeRef subCategory5 = filePlanService.createRecordCategory(filePlan, "subCategory5"); + final NodeRef subCategory6 = filePlanService.createRecordCategory(filePlan, "subCategory6"); + + assertFalse(permissionService.getInheritParentPermissions(subCategory5)); + assertFalse(permissionService.getInheritParentPermissions(subCategory6)); + + final String user1 = createTestUser(); + final String user2 = createTestUser(); + + setPermission(subCategory5, user1, RMPermissionModel.READ_RECORDS); + setPermission(subCategory6, user2, RMPermissionModel.FILING); + + doTestInTransaction(new Test() + { + @Override + public Void run() + { + assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(subCategory5, RMPermissionModel.READ_RECORDS)); + assertEquals(AccessStatus.DENIED, permissionService.hasPermission(subCategory5, RMPermissionModel.FILING)); + assertEquals(AccessStatus.DENIED, permissionService.hasPermission(subCategory6, RMPermissionModel.READ_RECORDS)); + assertEquals(AccessStatus.DENIED, permissionService.hasPermission(subCategory6, RMPermissionModel.FILING)); + + return null; + } + }, user1); + + doTestInTransaction(new Test() + { + @Override + public Void run() + { + assertEquals(AccessStatus.DENIED, permissionService.hasPermission(subCategory5, RMPermissionModel.READ_RECORDS)); + assertEquals(AccessStatus.DENIED, permissionService.hasPermission(subCategory5, RMPermissionModel.FILING)); + assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(subCategory6, RMPermissionModel.READ_RECORDS)); + assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(subCategory6, RMPermissionModel.FILING)); + + return null; + } + }, user2); + + doTestInTransaction(new Test() + { + @Override + public NodeRef run() throws Exception + { + return fileFolderService.move(subCategory5, subCategory6, null).getNodeRef(); + } + + @Override + public void test(final NodeRef movedSubCategory5) throws Exception + { + assertTrue(permissionService.getInheritParentPermissions(movedSubCategory5)); + assertFalse(permissionService.getInheritParentPermissions(subCategory6)); + + AuthenticationUtil.setFullyAuthenticatedUser(user1); + + assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(movedSubCategory5, RMPermissionModel.READ_RECORDS)); + assertEquals(AccessStatus.DENIED, permissionService.hasPermission(movedSubCategory5, RMPermissionModel.FILING)); + assertEquals(AccessStatus.DENIED, permissionService.hasPermission(subCategory6, RMPermissionModel.READ_RECORDS)); + assertEquals(AccessStatus.DENIED, permissionService.hasPermission(subCategory6, RMPermissionModel.FILING)); + + AuthenticationUtil.setFullyAuthenticatedUser(user2); + + assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(movedSubCategory5, RMPermissionModel.READ_RECORDS)); + assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(movedSubCategory5, RMPermissionModel.FILING)); + assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(subCategory6, RMPermissionModel.READ_RECORDS)); + assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(subCategory6, RMPermissionModel.FILING)); + } + }); + } }