1 31 32 package org.opencms.notification; 33 34 import org.opencms.file.CmsGroup; 35 import org.opencms.file.CmsObject; 36 import org.opencms.file.CmsUser; 37 import org.opencms.security.CmsAccessControlEntry; 38 import org.opencms.security.CmsPermissionSet; 39 import org.opencms.security.I_CmsPrincipal; 40 import org.opencms.test.OpenCmsTestCase; 41 import org.opencms.test.OpenCmsTestProperties; 42 43 import java.util.HashSet ; 44 import java.util.Set ; 45 46 import junit.extensions.TestSetup; 47 import junit.framework.Test; 48 import junit.framework.TestSuite; 49 50 56 public class TestResponsibles extends OpenCmsTestCase { 57 58 63 public TestResponsibles(String arg0) { 64 super(arg0); 65 } 66 67 72 public static Test suite() { 73 OpenCmsTestProperties.initialize(org.opencms.test.AllTests.TEST_PROPERTIES_PATH); 74 75 TestSuite suite = new TestSuite(); 76 suite.setName(TestResponsibles.class.getName()); 77 78 suite.addTest(new TestResponsibles("testResponsibles")); 79 80 TestSetup wrapper = new TestSetup(suite) { 81 82 protected void setUp() { 83 setupOpenCms("simpletest", "/sites/default/"); 84 } 85 86 protected void tearDown() { 87 removeOpenCms(); 88 } 89 }; 90 91 return wrapper; 92 } 93 94 95 100 public void testResponsibles() throws Throwable { 101 102 echo("Testing responsibles of resources"); 103 104 CmsObject cms = getCmsObject(); 106 CmsGroup tastycrats = cms.createGroup("tastycrats", "A test group", 0, null); 107 CmsUser fry = cms.createUser("fry", "password", "First test user", null); 108 CmsUser bender = cms.createUser("bender", "password", "Second test user, belonging to the tastycrats group.", null); 109 CmsUser leela = cms.createUser("leela", "password", "Third test user, belonging to the tastycrats group.", null); 110 CmsUser farnsworth = cms.createUser("farnsworth", "password", "Another test user, which is not responsible.", null); 111 cms.addUserToGroup("bender", "tastycrats"); 112 cms.addUserToGroup("leela", "tastycrats"); 113 114 String resource1 = "/folder1/index.html"; 116 CmsPermissionSet permissions = new CmsPermissionSet(CmsPermissionSet.PERMISSION_WRITE, CmsPermissionSet.PERMISSION_READ); 117 cms.lockResource(resource1); 118 cms.chacc(resource1, I_CmsPrincipal.PRINCIPAL_USER, fry.getName(), permissions.getAllowedPermissions(), permissions.getDeniedPermissions(), CmsAccessControlEntry.ACCESS_FLAGS_RESPONSIBLE); 119 cms.chacc(resource1, I_CmsPrincipal.PRINCIPAL_GROUP, tastycrats.getName(), permissions.getAllowedPermissions(), permissions.getDeniedPermissions(), CmsAccessControlEntry.ACCESS_FLAGS_RESPONSIBLE); 120 cms.chacc(resource1, I_CmsPrincipal.PRINCIPAL_USER, farnsworth.getName(), permissions.getAllowedPermissions(), permissions.getDeniedPermissions(), 0); 121 cms.unlockResource(resource1); 122 123 Set responsibles = cms.readResponsibleUsers(cms.readResource(resource1)); 125 Set expectedResponsibles = new HashSet (); 126 expectedResponsibles.add(fry); 127 expectedResponsibles.add(leela); 128 expectedResponsibles.add(bender); 129 assertEquals(responsibles, expectedResponsibles); 130 } 131 } | Popular Tags |