Merged HEAD-BUG-FIX (5.0/Cloud) to HEAD (5.0/Cloud)

78359: Merged V4.2-BUG-FIX (4.2.4) to HEAD-BUG-FIX (5.0/Cloud)
      76619: Merged DEV to V4.2-BUG-FIX (4.2.4).
         76456: MNT-10693 Changing permission on a document changes its modified fields in Share
         76496: MNT-10693 Changing permission on a document changes its modified fields in Share
         76499: MNT-10693 Changing permission on a document changes its modified fields in Share
                   - In PermissionServiceTest.testPreserveAuditableData() was made changes.
         76520: MNT-10693 Changing permission on a document changes its modified fields in Share
                   - In AbstractPermissionTest was changed visibility of 'applicationContext' to 'protected'. 


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@82530 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Erik Winlof
2014-09-03 11:36:59 +00:00
parent c941d1be30
commit d385bc9bb1
8 changed files with 105 additions and 18 deletions

View File

@@ -58,7 +58,7 @@ import org.springframework.orm.hibernate3.LocalSessionFactoryBean;
public class AbstractPermissionTest extends TestCase
{
private static ApplicationContext applicationContext = ApplicationContextHelper.getApplicationContext();
protected static ApplicationContext applicationContext = ApplicationContextHelper.getApplicationContext();
protected static final String ROLE_AUTHENTICATED = "ROLE_AUTHENTICATED";

View File

@@ -27,6 +27,7 @@ import net.sf.acegisecurity.Authentication;
import net.sf.acegisecurity.GrantedAuthority;
import org.alfresco.model.ContentModel;
import org.alfresco.repo.domain.permissions.ADMAccessControlListDAO;
import org.alfresco.repo.model.filefolder.FileFolderServiceImpl;
import org.alfresco.repo.security.authentication.AuthenticationUtil;
import org.alfresco.repo.security.permissions.ACLType;
@@ -3383,6 +3384,47 @@ public class PermissionServiceTest extends AbstractPermissionTest
//assertTrue("Time was "+(end - start)/1000000000.0f, end == start);
}
public void testPreserveAuditableData()
{
ADMAccessControlListDAO accessControlListDao = (ADMAccessControlListDAO) applicationContext.getBean("admNodeACLDAO");
boolean preserveAuditableData = accessControlListDao.isPreserveAuditableData();
runAs("admin");
personService.getPerson("andy");
personService.getPerson("userTwo");
NodeRef folder = nodeService.createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, QName.createQName("{namespace}Folder"), ContentModel.TYPE_FOLDER).getChildRef();;
NodeRef content1 = nodeService.createNode(folder, ContentModel.ASSOC_CHILDREN, QName.createQName("{namespace}content1"), ContentModel.TYPE_CONTENT).getChildRef();;
NodeRef content2 = nodeService.createNode(folder, ContentModel.ASSOC_CHILDREN, QName.createQName("{namespace}content2"), ContentModel.TYPE_CONTENT).getChildRef();;
try
{
permissionService.setPermission(folder, "andy", PermissionService.COORDINATOR, true);
assertEquals("admin", nodeService.getProperty(content1, ContentModel.PROP_MODIFIER));
accessControlListDao.setPreserveAuditableData(true);
runAs("andy");
permissionService.setPermission(content1, "userTwo", PermissionService.COORDINATOR, true);
assertEquals("admin", nodeService.getProperty(content1, ContentModel.PROP_MODIFIER));
accessControlListDao.setPreserveAuditableData(false);
permissionService.setPermission(content2, "userTwo", PermissionService.COORDINATOR, true);
assertEquals("andy", nodeService.getProperty(content2, ContentModel.PROP_MODIFIER));
}
finally
{
accessControlListDao.setPreserveAuditableData(preserveAuditableData);
if (folder != null)
{
nodeService.deleteNode(folder);
}
}
}
public void xtestFindNodesByPermission()