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
This commit is contained in:
Tuna Aksoy
2014-10-17 20:04:51 +00:00
parent 08e5af48f3
commit fde855cc1f

View File

@@ -933,4 +933,77 @@ public class FilePlanPermissionServiceImplTest extends BaseRMTestCase
} }
}, user2); }, 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<Void>()
{
@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<Void>()
{
@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<NodeRef>()
{
@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));
}
});
}
} }