svn commit: r790524 - in /lenya/branches/BRANCH_2_0_X/src/impl/test/org/apache/lenya/cms: LenyaTestCase.java usecase/AbstractUsecaseTest.java

[email protected]
Newsgroups gmane.comp.cms.lenya.cvs
Message-ID <[email protected]>
Author: andreas
Date: Thu Jul  2 09:54:19 2009
New Revision: 790524

URL: http://svn.apache.org/viewvc?rev=790524&view=rev
Log:
Use class loader instead of file to load test configuration, allow to set usecase permission in AbstractUsecaseTest subclasses.

Modified:
    lenya/branches/BRANCH_2_0_X/src/impl/test/org/apache/lenya/cms/LenyaTestCase.java
    lenya/branches/BRANCH_2_0_X/src/impl/test/org/apache/lenya/cms/usecase/AbstractUsecaseTest.java

Modified: lenya/branches/BRANCH_2_0_X/src/impl/test/org/apache/lenya/cms/LenyaTestCase.java
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_2_0_X/src/impl/test/org/apache/lenya/cms/LenyaTestCase.java?rev=790524&r1=790523&r2=790524&view=diff
==============================================================================
--- lenya/branches/BRANCH_2_0_X/src/impl/test/org/apache/lenya/cms/LenyaTestCase.java (original)
+++ lenya/branches/BRANCH_2_0_X/src/impl/test/org/apache/lenya/cms/LenyaTestCase.java Thu Jul  2 09:54:19 2009
@@ -18,7 +18,7 @@
 package org.apache.lenya.cms;
 
 import java.io.File;
-import java.io.FileInputStream;
+import java.net.URL;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Map;
@@ -91,17 +91,10 @@
     }
 
     protected void prepare() throws Exception {
-        File testPath = new File("build/test");
         final String resourceName = LenyaTestCase.class.getName().replace('.', '/') + ".xtest";
-        File resourceFile = new File(testPath, resourceName.replace('/', File.separatorChar));
+        URL resourceUrl = ClassLoader.getSystemResource(resourceName);
+        prepare(resourceUrl.openStream());
         
-        if (resourceFile.isFile()) {
-            getLogger().debug("Loading resource " + resourceFile.getAbsolutePath());
-            prepare(new FileInputStream(resourceFile));
-        } else {
-            getLogger().debug("Resource not found " + resourceName);
-        }
-
         SourceResolver resolver = (SourceResolver) getManager().lookup(SourceResolver.ROLE);
         MockEnvironment env = new MockEnvironment(resolver);
 

Modified: lenya/branches/BRANCH_2_0_X/src/impl/test/org/apache/lenya/cms/usecase/AbstractUsecaseTest.java
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_2_0_X/src/impl/test/org/apache/lenya/cms/usecase/AbstractUsecaseTest.java?rev=790524&r1=790523&r2=790524&view=diff
==============================================================================
--- lenya/branches/BRANCH_2_0_X/src/impl/test/org/apache/lenya/cms/usecase/AbstractUsecaseTest.java (original)
+++ lenya/branches/BRANCH_2_0_X/src/impl/test/org/apache/lenya/cms/usecase/AbstractUsecaseTest.java Thu Jul  2 09:54:19 2009
@@ -22,7 +22,12 @@
 import java.util.List;
 import java.util.Map;
 
+import org.apache.lenya.ac.AccessControlException;
+import org.apache.lenya.ac.Authorizer;
+import org.apache.lenya.ac.Role;
 import org.apache.lenya.ac.impl.AbstractAccessControlTest;
+import org.apache.lenya.cms.ac.usecase.UsecaseAuthorizer;
+import org.apache.lenya.cms.publication.Publication;
 import org.apache.lenya.cms.repository.Session;
 import org.apache.lenya.cms.usecase.impl.TestUsecaseInvoker;
 
@@ -99,4 +104,25 @@
     protected void checkPostconditions() throws Exception {
     }
 
+    private UsecaseAuthorizer authorizer;
+
+    protected UsecaseAuthorizer getUsecaseAuthorizer() {
+        if (this.authorizer == null) {
+            Authorizer[] authorizers = getAccessController().getAuthorizers();
+            for (int i = 0; i < authorizers.length; i++) {
+                if (authorizers[i] instanceof UsecaseAuthorizer) {
+                    this.authorizer = (UsecaseAuthorizer) authorizers[i];
+                }
+            }
+        }
+        return this.authorizer;
+    }
+
+    protected void setUsecasePermission(String usecase, Publication pub, String roleName,
+            boolean value) throws AccessControlException {
+        Role role = getAccessController().getAccreditableManager().getRoleManager().getRole(
+                roleName);
+        getUsecaseAuthorizer().setPermission(usecase, pub, role, value);
+    }
+
 }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.