From: <die...@us...> - 2010-05-14 14:08:54
|
Revision: 2448 http://openutils.svn.sourceforge.net/openutils/?rev=2448&view=rev Author: diego_schivo Date: 2010-05-14 14:08:47 +0000 (Fri, 14 May 2010) Log Message: ----------- CRIT-12 AclTest Modified Paths: -------------- trunk/openutils-mgnlcriteria/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/AclTest.java trunk/openutils-mgnlcriteria/src/test/java/net/sourceforge/openutils/mgnlcriteria/tests/RepositoryTestNgTestcase.java Removed Paths: ------------- trunk/openutils-mgnlcriteria/src/test/resources/crit-bootstrap/acl/userroles.dogs-vet.xml trunk/openutils-mgnlcriteria/src/test/resources/crit-bootstrap/acl/users.admin.james-carter.xml Modified: trunk/openutils-mgnlcriteria/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/AclTest.java =================================================================== --- trunk/openutils-mgnlcriteria/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/AclTest.java 2010-05-14 11:02:58 UTC (rev 2447) +++ trunk/openutils-mgnlcriteria/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/AclTest.java 2010-05-14 14:08:47 UTC (rev 2448) @@ -20,15 +20,17 @@ package net.sourceforge.openutils.mgnlcriteria.advanced; import info.magnolia.cms.beans.config.ContentRepository; -import info.magnolia.cms.security.MgnlUserManager; -import info.magnolia.cms.security.Realm; -import info.magnolia.cms.security.User; -import info.magnolia.context.AbstractContext; -import info.magnolia.context.DefaultRepositoryStrategy; +import info.magnolia.cms.core.HierarchyManager; +import info.magnolia.cms.security.AccessManager; +import info.magnolia.cms.security.AccessManagerImpl; +import info.magnolia.cms.security.Permission; +import info.magnolia.cms.security.PermissionImpl; +import info.magnolia.cms.util.SimpleUrlPattern; import info.magnolia.context.MgnlContext; -import info.magnolia.context.UserContext; -import info.magnolia.objectfactory.Components; +import java.lang.reflect.Field; +import java.util.Collections; + import javax.jcr.RepositoryException; import net.sourceforge.openutils.mgnlcriteria.tests.RepositoryTestNgTestcase; @@ -56,10 +58,6 @@ super.setUp(); - bootstrapSingleResource("/crit-bootstrap/acl/userroles.dogs-vet.xml"); - MgnlContext.getHierarchyManager(ContentRepository.USER_ROLES).save(); - bootstrapSingleResource("/crit-bootstrap/acl/users.admin.james-carter.xml"); - MgnlContext.getHierarchyManager(ContentRepository.USERS).save(); bootstrapSingleResource("/crit-bootstrap/acl/website.pets.xml"); MgnlContext.getHierarchyManager(ContentRepository.WEBSITE).save(); } @@ -70,32 +68,32 @@ @Test public void testAcl() throws Exception { - AbstractContext ac = (AbstractContext) MgnlContext.getInstance(); - UserContext uc = (UserContext) MgnlContext.getInstance(); + HierarchyManager hm = MgnlContext.getHierarchyManager(ContentRepository.WEBSITE); - MgnlUserManager mgnlUserManager = Components.getSingleton(MgnlUserManager.class); - mgnlUserManager.setName(Realm.REALM_ADMIN); - User user = mgnlUserManager.getUser("james-carter"); + Permission readDogsPermission = new PermissionImpl(); + readDogsPermission.setPattern(new SimpleUrlPattern("/pets/dogs/*")); + readDogsPermission.setPermissions(8); - ac.release(); - MgnlContext.login(user); - ac.setRepositoryStrategy(new DefaultRepositoryStrategy(uc)); + AccessManager am = new AccessManagerImpl(); + am.setPermissionList(Collections.singletonList(readDogsPermission)); - MgnlContext.getHierarchyManager(ContentRepository.WEBSITE); + Field amField = hm.getClass().getDeclaredField("accessManager"); + amField.setAccessible(true); + amField.set(hm, am); try { - MgnlContext.getHierarchyManager(ContentRepository.WEBSITE).getContent("/pets/dogs/3"); + hm.getContent("/pets/dogs/3"); } catch (RepositoryException e) { - Assert.fail("James Carter should be able to read path /pets/dogs"); + Assert.fail("should be able to read path /pets/dogs"); } try { - MgnlContext.getHierarchyManager(ContentRepository.WEBSITE).getContent("/pets/cats/1"); - Assert.fail("James Carter should not be able to read path /pets/cats"); + hm.getContent("/pets/cats/1"); + Assert.fail("should not be able to read path /pets/cats"); } catch (RepositoryException e) { Modified: trunk/openutils-mgnlcriteria/src/test/java/net/sourceforge/openutils/mgnlcriteria/tests/RepositoryTestNgTestcase.java =================================================================== --- trunk/openutils-mgnlcriteria/src/test/java/net/sourceforge/openutils/mgnlcriteria/tests/RepositoryTestNgTestcase.java 2010-05-14 11:02:58 UTC (rev 2447) +++ trunk/openutils-mgnlcriteria/src/test/java/net/sourceforge/openutils/mgnlcriteria/tests/RepositoryTestNgTestcase.java 2010-05-14 14:08:47 UTC (rev 2448) @@ -29,7 +29,6 @@ import info.magnolia.context.SystemRepositoryStrategy; import info.magnolia.importexport.BootstrapUtil; import info.magnolia.test.mock.MockContext; -import info.magnolia.test.mock.MockHierarchyManager; import info.magnolia.test.mock.MockUtil; import java.io.File; @@ -40,8 +39,6 @@ import java.util.Map; import javax.jcr.ImportUUIDBehavior; -import javax.jcr.RepositoryException; -import javax.jcr.UnsupportedRepositoryOperationException; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; @@ -185,15 +182,6 @@ PropertiesInitializer.getInstance().loadAllModuleProperties(); } - protected MockHierarchyManager initMockConfigRepository(String properties) throws IOException, RepositoryException, - UnsupportedRepositoryOperationException - { - - MockHierarchyManager hm = MockUtil.createAndSetHierarchyManager(ContentRepository.CONFIG, properties); - - return hm; - } - /** * @deprecated - workaround until JCR-1778 is fixed * @see <a href="https://issues.apache.org/jira/browse/JCR-1778">JCR-1778</a> Deleted: trunk/openutils-mgnlcriteria/src/test/resources/crit-bootstrap/acl/userroles.dogs-vet.xml =================================================================== --- trunk/openutils-mgnlcriteria/src/test/resources/crit-bootstrap/acl/userroles.dogs-vet.xml 2010-05-14 11:02:58 UTC (rev 2447) +++ trunk/openutils-mgnlcriteria/src/test/resources/crit-bootstrap/acl/userroles.dogs-vet.xml 2010-05-14 14:08:47 UTC (rev 2448) @@ -1,231 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<sv:node sv:name="dogs-vet" xmlns:sv="http://www.jcp.org/jcr/sv/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:role</sv:value> - </sv:property> - <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> - <sv:value>mix:lockable</sv:value> - </sv:property> - <sv:property sv:name="jcr:uuid" sv:type="String"> - <sv:value>9d2501c1-4a58-4cb6-8e82-4347a6628253</sv:value> - </sv:property> - <sv:node sv:name="MetaData"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:metaData</sv:value> - </sv:property> - <sv:property sv:name="mgnl:authorid" sv:type="String"> - <sv:value>superuser</sv:value> - </sv:property> - <sv:property sv:name="mgnl:creationdate" sv:type="Date"> - <sv:value>2010-05-14T11:05:45.984+02:00</sv:value> - </sv:property> - <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> - <sv:value>2010-05-14T11:09:42.359+02:00</sv:value> - </sv:property> - <sv:property sv:name="mgnl:template" sv:type="String"> - <sv:value/> - </sv:property> - </sv:node> - <sv:node sv:name="acl_uri"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:contentNode</sv:value> - </sv:property> - <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> - <sv:value>mix:lockable</sv:value> - </sv:property> - <sv:property sv:name="jcr:uuid" sv:type="String"> - <sv:value>acd60825-34e4-46f3-9a28-efd97bb69376</sv:value> - </sv:property> - <sv:node sv:name="MetaData"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:metaData</sv:value> - </sv:property> - <sv:property sv:name="mgnl:creationdate" sv:type="Date"> - <sv:value>2010-05-14T11:07:21.296+02:00</sv:value> - </sv:property> - </sv:node> - </sv:node> - <sv:node sv:name="acl_mgnlSystem"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:contentNode</sv:value> - </sv:property> - <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> - <sv:value>mix:lockable</sv:value> - </sv:property> - <sv:property sv:name="jcr:uuid" sv:type="String"> - <sv:value>339f64f4-f9e3-4bc4-93f2-9666eb5ebda1</sv:value> - </sv:property> - <sv:node sv:name="MetaData"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:metaData</sv:value> - </sv:property> - <sv:property sv:name="mgnl:creationdate" sv:type="Date"> - <sv:value>2010-05-14T11:07:21.312+02:00</sv:value> - </sv:property> - </sv:node> - </sv:node> - <sv:node sv:name="acl_userroles"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:contentNode</sv:value> - </sv:property> - <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> - <sv:value>mix:lockable</sv:value> - </sv:property> - <sv:property sv:name="jcr:uuid" sv:type="String"> - <sv:value>5fb9b38a-b137-428a-aee7-e30b8c488dcb</sv:value> - </sv:property> - <sv:node sv:name="MetaData"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:metaData</sv:value> - </sv:property> - <sv:property sv:name="mgnl:creationdate" sv:type="Date"> - <sv:value>2010-05-14T11:07:21.312+02:00</sv:value> - </sv:property> - </sv:node> - </sv:node> - <sv:node sv:name="acl_config"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:contentNode</sv:value> - </sv:property> - <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> - <sv:value>mix:lockable</sv:value> - </sv:property> - <sv:property sv:name="jcr:uuid" sv:type="String"> - <sv:value>396954d7-6c05-4d5b-ae1c-c8e9492ff892</sv:value> - </sv:property> - <sv:node sv:name="MetaData"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:metaData</sv:value> - </sv:property> - <sv:property sv:name="mgnl:creationdate" sv:type="Date"> - <sv:value>2010-05-14T11:07:21.312+02:00</sv:value> - </sv:property> - </sv:node> - </sv:node> - <sv:node sv:name="acl_website"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:contentNode</sv:value> - </sv:property> - <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> - <sv:value>mix:lockable</sv:value> - </sv:property> - <sv:property sv:name="jcr:uuid" sv:type="String"> - <sv:value>84b4b009-1d94-4809-b4c9-93cf8b63fe9b</sv:value> - </sv:property> - <sv:node sv:name="MetaData"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:metaData</sv:value> - </sv:property> - <sv:property sv:name="mgnl:creationdate" sv:type="Date"> - <sv:value>2010-05-14T11:07:21.312+02:00</sv:value> - </sv:property> - </sv:node> - <sv:node sv:name="0"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:contentNode</sv:value> - </sv:property> - <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> - <sv:value>mix:lockable</sv:value> - </sv:property> - <sv:property sv:name="jcr:uuid" sv:type="String"> - <sv:value>88961af7-4259-4c5c-885e-565f2f01eccd</sv:value> - </sv:property> - <sv:property sv:name="path" sv:type="String"> - <sv:value>/pets/dogs</sv:value> - </sv:property> - <sv:property sv:name="permissions" sv:type="Long"> - <sv:value>8</sv:value> - </sv:property> - <sv:node sv:name="MetaData"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:metaData</sv:value> - </sv:property> - <sv:property sv:name="mgnl:creationdate" sv:type="Date"> - <sv:value>2010-05-14T11:07:21.312+02:00</sv:value> - </sv:property> - </sv:node> - </sv:node> - <sv:node sv:name="00"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:contentNode</sv:value> - </sv:property> - <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> - <sv:value>mix:lockable</sv:value> - </sv:property> - <sv:property sv:name="jcr:uuid" sv:type="String"> - <sv:value>20372f12-67d5-45d4-a1f1-dcedfbbda10d</sv:value> - </sv:property> - <sv:property sv:name="path" sv:type="String"> - <sv:value>/pets/dogs/*</sv:value> - </sv:property> - <sv:property sv:name="permissions" sv:type="Long"> - <sv:value>8</sv:value> - </sv:property> - <sv:node sv:name="MetaData"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:metaData</sv:value> - </sv:property> - <sv:property sv:name="mgnl:creationdate" sv:type="Date"> - <sv:value>2010-05-14T11:07:21.312+02:00</sv:value> - </sv:property> - </sv:node> - </sv:node> - </sv:node> - <sv:node sv:name="acl_usergroups"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:contentNode</sv:value> - </sv:property> - <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> - <sv:value>mix:lockable</sv:value> - </sv:property> - <sv:property sv:name="jcr:uuid" sv:type="String"> - <sv:value>47490f1c-2f78-40c0-b826-88736be4a159</sv:value> - </sv:property> - <sv:node sv:name="MetaData"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:metaData</sv:value> - </sv:property> - <sv:property sv:name="mgnl:creationdate" sv:type="Date"> - <sv:value>2010-05-14T11:07:21.312+02:00</sv:value> - </sv:property> - </sv:node> - </sv:node> - <sv:node sv:name="acl_mgnlVersion"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:contentNode</sv:value> - </sv:property> - <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> - <sv:value>mix:lockable</sv:value> - </sv:property> - <sv:property sv:name="jcr:uuid" sv:type="String"> - <sv:value>960a3402-87dd-41ee-84c8-b84249066912</sv:value> - </sv:property> - <sv:node sv:name="MetaData"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:metaData</sv:value> - </sv:property> - <sv:property sv:name="mgnl:creationdate" sv:type="Date"> - <sv:value>2010-05-14T11:07:21.312+02:00</sv:value> - </sv:property> - </sv:node> - </sv:node> - <sv:node sv:name="acl_users"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:contentNode</sv:value> - </sv:property> - <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> - <sv:value>mix:lockable</sv:value> - </sv:property> - <sv:property sv:name="jcr:uuid" sv:type="String"> - <sv:value>35d0c5e0-0c4b-49cf-83b7-f100fdef55e7</sv:value> - </sv:property> - <sv:node sv:name="MetaData"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:metaData</sv:value> - </sv:property> - <sv:property sv:name="mgnl:creationdate" sv:type="Date"> - <sv:value>2010-05-14T11:07:21.312+02:00</sv:value> - </sv:property> - </sv:node> - </sv:node> -</sv:node> Deleted: trunk/openutils-mgnlcriteria/src/test/resources/crit-bootstrap/acl/users.admin.james-carter.xml =================================================================== --- trunk/openutils-mgnlcriteria/src/test/resources/crit-bootstrap/acl/users.admin.james-carter.xml 2010-05-14 11:02:58 UTC (rev 2447) +++ trunk/openutils-mgnlcriteria/src/test/resources/crit-bootstrap/acl/users.admin.james-carter.xml 2010-05-14 14:08:47 UTC (rev 2448) @@ -1,85 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<sv:node sv:name="james-carter" xmlns:sv="http://www.jcp.org/jcr/sv/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:user</sv:value> - </sv:property> - <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> - <sv:value>mix:lockable</sv:value> - </sv:property> - <sv:property sv:name="jcr:uuid" sv:type="String"> - <sv:value>1e1fc13b-a29c-43a8-8346-b4a9593ab079</sv:value> - </sv:property> - <sv:property sv:name="enabled" sv:type="String"> - <sv:value>true</sv:value> - </sv:property> - <sv:property sv:name="language" sv:type="String"> - <sv:value>en</sv:value> - </sv:property> - <sv:property sv:name="lastaccess" sv:type="Date"> - <sv:value>2010-05-14T11:10:03.671+02:00</sv:value> - </sv:property> - <sv:property sv:name="pswd" sv:type="String"> - <sv:value>cGV0Y2xpbmlj</sv:value> - </sv:property> - <sv:property sv:name="title" sv:type="String"> - <sv:value>James Carter</sv:value> - </sv:property> - <sv:node sv:name="MetaData"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:metaData</sv:value> - </sv:property> - <sv:property sv:name="mgnl:authorid" sv:type="String"> - <sv:value>superuser</sv:value> - </sv:property> - <sv:property sv:name="mgnl:creationdate" sv:type="Date"> - <sv:value>2010-05-14T11:08:25.984+02:00</sv:value> - </sv:property> - <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> - <sv:value>2010-05-14T11:09:25.906+02:00</sv:value> - </sv:property> - <sv:property sv:name="mgnl:template" sv:type="String"> - <sv:value/> - </sv:property> - </sv:node> - <sv:node sv:name="groups"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:contentNode</sv:value> - </sv:property> - <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> - <sv:value>mix:lockable</sv:value> - </sv:property> - <sv:property sv:name="jcr:uuid" sv:type="String"> - <sv:value>e6605897-2dce-4f94-b652-0197f3a8fe93</sv:value> - </sv:property> - <sv:node sv:name="MetaData"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:metaData</sv:value> - </sv:property> - <sv:property sv:name="mgnl:creationdate" sv:type="Date"> - <sv:value>2010-05-14T11:09:25.906+02:00</sv:value> - </sv:property> - </sv:node> - </sv:node> - <sv:node sv:name="roles"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:contentNode</sv:value> - </sv:property> - <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> - <sv:value>mix:lockable</sv:value> - </sv:property> - <sv:property sv:name="jcr:uuid" sv:type="String"> - <sv:value>30ed3166-1836-4718-9b24-c9cf5c7eca3e</sv:value> - </sv:property> - <sv:property sv:name="0" sv:type="String"> - <sv:value>9d2501c1-4a58-4cb6-8e82-4347a6628253</sv:value> - </sv:property> - <sv:node sv:name="MetaData"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:metaData</sv:value> - </sv:property> - <sv:property sv:name="mgnl:creationdate" sv:type="Date"> - <sv:value>2010-05-14T11:09:25.906+02:00</sv:value> - </sv:property> - </sv:node> - </sv:node> -</sv:node> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |