svn commit: r790524 - in /lenya/branches/BRANCH_2_0_X/src/impl/test/org/apache/lenya/cms: LenyaTestCase.java usecase/AbstractUsecaseTest.java
[email protected] Thu, 02 Jul 2009 09:54:19 -0000
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);
+ }
+
}