mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
Fixed permissions data access
Some tweaks to select and joins git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@2816 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -181,6 +181,23 @@ public class PermissionServiceTest extends AbstractPermissionTest
|
||||
testSetNodePermissionEntry();
|
||||
testSetNodePermissionEntry2();
|
||||
}
|
||||
|
||||
public void testDoubleSetAllowDeny()
|
||||
{
|
||||
Set<? extends PermissionEntry> permissionEntries = null;
|
||||
// add-remove andy-all
|
||||
permissionService.setPermission(rootNodeRef, "andy", permissionService.getAllPermission(), true);
|
||||
permissionService.setPermission(rootNodeRef, "andy", permissionService.getAllPermission(), false);
|
||||
permissionService.deletePermission(rootNodeRef, "andy", permissionService.getAllPermission());
|
||||
permissionEntries = permissionService.getSetPermissions(rootNodeRef).getPermissionEntries();
|
||||
assertEquals(0, permissionEntries.size());
|
||||
// add-remove andy-read
|
||||
permissionService.setPermission(rootNodeRef, "andy", PermissionService.READ, true);
|
||||
permissionService.setPermission(rootNodeRef, "andy", PermissionService.READ, false);
|
||||
permissionService.deletePermission(rootNodeRef, "andy", PermissionService.READ);
|
||||
permissionEntries = permissionService.getSetPermissions(rootNodeRef).getPermissionEntries();
|
||||
assertEquals(0, permissionEntries.size());
|
||||
}
|
||||
|
||||
public void testSetPermissionEntryElements()
|
||||
{
|
||||
|
@@ -119,13 +119,6 @@ public class HibernatePermissionTest extends BaseSpringTest
|
||||
// throw the reference away and get the a new one for the id
|
||||
permission = (DbPermission) getSession().load(DbPermissionImpl.class, id);
|
||||
assertNotNull("Permission not found", permission);
|
||||
assertEquals("Test", permission.getName());
|
||||
assertEquals(qname, permission.getTypeQname());
|
||||
|
||||
// Test key
|
||||
permission = (DbPermission) getSession().load(DbPermissionImpl.class, id);
|
||||
assertNotNull("Permission not found", permission);
|
||||
assertEquals("Test", permission.getName());
|
||||
assertEquals(qname, permission.getTypeQname());
|
||||
}
|
||||
|
||||
@@ -175,29 +168,29 @@ public class HibernatePermissionTest extends BaseSpringTest
|
||||
DbAccessControlList accessControlList = new DbAccessControlListImpl();
|
||||
accessControlList.setNode(node);
|
||||
accessControlList.setInherits(true);
|
||||
Serializable nodeAclId = getSession().save(accessControlList);
|
||||
|
||||
DbAuthority recipient = new DbAuthorityImpl();
|
||||
recipient.setRecipient("Test");
|
||||
recipient.getExternalKeys().add("One");
|
||||
getSession().save(recipient);
|
||||
|
||||
DbPermission permission = new DbPermissionImpl();
|
||||
permission.setTypeQname(qname);
|
||||
permission.setName("Test");
|
||||
|
||||
DbAccessControlEntry accessControlEntry = DbAccessControlEntryImpl.create(accessControlList, permission, recipient, true);
|
||||
|
||||
Serializable nodeAclId = getSession().save(accessControlList);
|
||||
getSession().save(recipient);
|
||||
getSession().save(permission);
|
||||
Serializable aceEntryId = getSession().save(accessControlEntry);
|
||||
|
||||
accessControlEntry = (DbAccessControlEntry) getSession().load(DbAccessControlEntryImpl.class, aceEntryId);
|
||||
DbAccessControlEntry accessControlEntry = accessControlList.newEntry(permission, recipient, true);
|
||||
Long aceEntryId = accessControlEntry.getId();
|
||||
assertNotNull("Entry is still transient", aceEntryId);
|
||||
|
||||
accessControlEntry = (DbAccessControlEntry) getSession().load(DbAccessControlEntryImpl.class, aceEntryId);
|
||||
assertNotNull("Permission entry not found", accessControlEntry);
|
||||
assertTrue(accessControlEntry.isAllowed());
|
||||
assertNotNull(accessControlEntry.getAccessControlList());
|
||||
assertTrue(accessControlEntry.getAccessControlList().getInherits());
|
||||
assertNotNull(accessControlEntry.getPermission());
|
||||
assertEquals("Test", accessControlEntry.getPermission().getName());
|
||||
assertEquals("Test", accessControlEntry.getPermission().getKey().getName());
|
||||
assertNotNull(accessControlEntry.getAuthority());
|
||||
assertEquals("Test", accessControlEntry.getAuthority().getRecipient());
|
||||
assertEquals(1, accessControlEntry.getAuthority().getExternalKeys().size());
|
||||
|
Reference in New Issue
Block a user