mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
Updated Tests
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@3371 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -27,17 +27,24 @@ import org.alfresco.repo.security.permissions.PermissionEntry;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.alfresco.service.cmr.security.AccessPermission;
|
||||
import org.alfresco.service.cmr.security.AccessStatus;
|
||||
import org.alfresco.service.cmr.security.AuthorityType;
|
||||
import org.alfresco.service.cmr.security.PermissionService;
|
||||
import org.alfresco.service.namespace.QName;
|
||||
|
||||
public class PermissionServiceTest extends AbstractPermissionTest
|
||||
{
|
||||
private SimplePermissionEntry denyAndyAll;
|
||||
|
||||
private SimplePermissionEntry allowAndyAll;
|
||||
|
||||
private SimplePermissionEntry denyAndyRead;
|
||||
|
||||
private SimplePermissionEntry allowAndyRead;
|
||||
|
||||
private SimplePermissionEntry denyAndyReadProperties;
|
||||
|
||||
private SimplePermissionEntry allowAndyReadProperties;
|
||||
|
||||
private SimplePermissionEntry allowAndyReadChildren;
|
||||
|
||||
public PermissionServiceTest()
|
||||
@@ -64,41 +71,75 @@ public class PermissionServiceTest extends AbstractPermissionTest
|
||||
protected void onSetUpInTransaction() throws Exception
|
||||
{
|
||||
super.onSetUpInTransaction();
|
||||
denyAndyAll = new SimplePermissionEntry(
|
||||
rootNodeRef,
|
||||
permissionService.getAllPermissionReference(),
|
||||
"andy",
|
||||
denyAndyAll = new SimplePermissionEntry(rootNodeRef, permissionService.getAllPermissionReference(), "andy",
|
||||
AccessStatus.DENIED);
|
||||
allowAndyAll = new SimplePermissionEntry(
|
||||
rootNodeRef,
|
||||
permissionService.getAllPermissionReference(),
|
||||
"andy",
|
||||
allowAndyAll = new SimplePermissionEntry(rootNodeRef, permissionService.getAllPermissionReference(), "andy",
|
||||
AccessStatus.ALLOWED);
|
||||
denyAndyRead = new SimplePermissionEntry(
|
||||
rootNodeRef,
|
||||
getPermission(PermissionService.READ),
|
||||
"andy",
|
||||
denyAndyRead = new SimplePermissionEntry(rootNodeRef, getPermission(PermissionService.READ), "andy",
|
||||
AccessStatus.DENIED);
|
||||
allowAndyRead = new SimplePermissionEntry(
|
||||
rootNodeRef,
|
||||
getPermission(PermissionService.READ),
|
||||
"andy",
|
||||
AccessStatus.ALLOWED);
|
||||
denyAndyReadProperties = new SimplePermissionEntry(
|
||||
rootNodeRef,
|
||||
getPermission(PermissionService.READ_PROPERTIES),
|
||||
"andy",
|
||||
AccessStatus.DENIED);
|
||||
allowAndyReadProperties = new SimplePermissionEntry(
|
||||
rootNodeRef,
|
||||
getPermission(PermissionService.READ_PROPERTIES),
|
||||
"andy",
|
||||
AccessStatus.ALLOWED);
|
||||
allowAndyReadChildren = new SimplePermissionEntry(
|
||||
rootNodeRef,
|
||||
getPermission(PermissionService.READ_CHILDREN),
|
||||
"andy",
|
||||
allowAndyRead = new SimplePermissionEntry(rootNodeRef, getPermission(PermissionService.READ), "andy",
|
||||
AccessStatus.ALLOWED);
|
||||
denyAndyReadProperties = new SimplePermissionEntry(rootNodeRef,
|
||||
getPermission(PermissionService.READ_PROPERTIES), "andy", AccessStatus.DENIED);
|
||||
allowAndyReadProperties = new SimplePermissionEntry(rootNodeRef,
|
||||
getPermission(PermissionService.READ_PROPERTIES), "andy", AccessStatus.ALLOWED);
|
||||
allowAndyReadChildren = new SimplePermissionEntry(rootNodeRef, getPermission(PermissionService.READ_CHILDREN),
|
||||
"andy", AccessStatus.ALLOWED);
|
||||
}
|
||||
|
||||
public void testGetAllSetPermissions()
|
||||
{
|
||||
runAs("andy");
|
||||
permissionService.setPermission(new SimplePermissionEntry(rootNodeRef, getPermission(PermissionService.DELETE),
|
||||
"andy", AccessStatus.ALLOWED));
|
||||
permissionService.setPermission(new SimplePermissionEntry(rootNodeRef, getPermission(PermissionService.DELETE),
|
||||
"GROUP_GREEN", AccessStatus.ALLOWED));
|
||||
permissionService.setPermission(new SimplePermissionEntry(rootNodeRef, getPermission(PermissionService.READ),
|
||||
"andy", AccessStatus.ALLOWED));
|
||||
permissionService.setPermission(new SimplePermissionEntry(rootNodeRef, getPermission(PermissionService.READ),
|
||||
"GROUP_RED", AccessStatus.ALLOWED));
|
||||
permissionService.setPermission(new SimplePermissionEntry(systemNodeRef,
|
||||
getPermission(PermissionService.DELETE), "andy", AccessStatus.DENIED));
|
||||
permissionService.setPermission(new SimplePermissionEntry(systemNodeRef,
|
||||
getPermission(PermissionService.DELETE), "GROUP_GREEN", AccessStatus.DENIED));
|
||||
|
||||
NodeRef current = systemNodeRef;
|
||||
Set<AccessPermission> setPermissions = new HashSet<AccessPermission>();
|
||||
while (current != null)
|
||||
{
|
||||
Set<AccessPermission> morePermissions = permissionService.getAllSetPermissions(current);
|
||||
for (AccessPermission toTest : morePermissions)
|
||||
{
|
||||
if (toTest.getAuthorityType() == AuthorityType.GROUP)
|
||||
{
|
||||
boolean add = true;
|
||||
for (AccessPermission existing : setPermissions)
|
||||
{
|
||||
if (add
|
||||
&& existing.getAuthority().equals(toTest.getAuthority())
|
||||
&& existing.getPermission().equals(toTest.getPermission()))
|
||||
{
|
||||
add = false;
|
||||
}
|
||||
|
||||
}
|
||||
if (add)
|
||||
{
|
||||
setPermissions.add(toTest);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (permissionService.getInheritParentPermissions(current))
|
||||
{
|
||||
current = nodeService.getPrimaryParent(current).getParentRef();
|
||||
}
|
||||
else
|
||||
{
|
||||
current = null;
|
||||
}
|
||||
}
|
||||
assertEquals(2, setPermissions.size());
|
||||
|
||||
}
|
||||
|
||||
public void testSetInheritFalse()
|
||||
@@ -1002,7 +1043,8 @@ public class PermissionServiceTest extends AbstractPermissionTest
|
||||
assertFalse(permissionService.hasPermission(rootNodeRef, getPermission(PermissionService.READ_CONTENT)) == AccessStatus.ALLOWED);
|
||||
|
||||
assertEquals(0, permissionService.getAllSetPermissions(rootNodeRef).size());
|
||||
permissionService.setPermission(new SimplePermissionEntry(rootNodeRef, PermissionServiceImpl.OLD_ALL_PERMISSIONS_REFERENCE, "andy", AccessStatus.ALLOWED));
|
||||
permissionService.setPermission(new SimplePermissionEntry(rootNodeRef,
|
||||
PermissionServiceImpl.OLD_ALL_PERMISSIONS_REFERENCE, "andy", AccessStatus.ALLOWED));
|
||||
assertEquals(1, permissionService.getAllSetPermissions(rootNodeRef).size());
|
||||
runAs("andy");
|
||||
assertTrue(permissionService.hasPermission(rootNodeRef, getPermission(PermissionService.READ)) == AccessStatus.ALLOWED);
|
||||
@@ -1423,8 +1465,6 @@ public class PermissionServiceTest extends AbstractPermissionTest
|
||||
|
||||
permissionService.setInheritParentPermissions(n2, true);
|
||||
|
||||
|
||||
|
||||
runAs("andy");
|
||||
assertFalse(permissionService.hasPermission(n2, getPermission(PermissionService.READ)) == AccessStatus.ALLOWED);
|
||||
// Changed by removing permission read parents access
|
||||
@@ -1701,8 +1741,6 @@ public class PermissionServiceTest extends AbstractPermissionTest
|
||||
|
||||
}
|
||||
|
||||
|
||||
// TODO: Test permissions on missing nodes
|
||||
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user