You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2003/06/25 16:55:10 UTC
cvs commit: cocoon-lenya/src/test/org/apache/lenya/cms/ac AccessControlTest.java FileRoleTest.java RoleManagerTest.java FileGroupTest.java LDAPUserTest.java UserManagerTest.java GroupManagerTest.java FileUserTest.java
andreas 2003/06/25 07:55:10
Modified: src/test/org/apache/lenya/cms/ac FileRoleTest.java
RoleManagerTest.java FileGroupTest.java
LDAPUserTest.java UserManagerTest.java
GroupManagerTest.java FileUserTest.java
Added: src/test/org/apache/lenya/cms/ac AccessControlTest.java
Log:
- coupling access control tests with AccessControlTest clas
- reflecting changes to access control API
Revision Changes Path
1.2 +20 -47 cocoon-lenya/src/test/org/apache/lenya/cms/ac/FileRoleTest.java
Index: FileRoleTest.java
===================================================================
RCS file: /home/cvs/cocoon-lenya/src/test/org/apache/lenya/cms/ac/FileRoleTest.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- FileRoleTest.java 3 Jun 2003 13:52:12 -0000 1.1
+++ FileRoleTest.java 25 Jun 2003 14:55:10 -0000 1.2
@@ -51,74 +51,47 @@
import java.io.File;
-import org.apache.lenya.cms.publication.Publication;
-import org.apache.lenya.cms.publication.PublicationFactory;
-
-import junit.framework.TestCase;
+import org.apache.lenya.cms.PublicationHelper;
/**
* @author egli
*
*
*/
-public class FileRoleTest extends TestCase {
+public class FileRoleTest extends AccessControlTest {
/**
* Constructor for FileRoleTest.
- * @param arg0
+ * @param arg0 The test to execute.
*/
public FileRoleTest(String arg0) {
super(arg0);
}
public static void main(String[] args) {
+ PublicationHelper.extractPublicationArguments(args);
junit.textui.TestRunner.run(FileRoleTest.class);
}
- final public Publication getPublication() {
- String publicationId = "default";
- String servletContext = "/home/egli/build/jakarta-tomcat-4.1.21-LE-jdk14/webapps/lenya/";
- Publication pub = PublicationFactory.getPublication(publicationId, servletContext);
- return pub;
- }
-
- final public void testFileRole() {
+ final public void testFileRole() throws AccessControlException {
String name = "test";
- Publication pub = getPublication();
- FileRole role = new FileRole(pub, name);
- try {
- role.save();
- } catch (AccessControlException e) {
- e.printStackTrace();
- }
+ File configDir = getConfigurationDirectory();
+ FileRole role = new FileRole(configDir, name);
+ role.save();
File path = null;
- try {
- path = RoleManager.instance(pub).getPath();
- } catch (AccessControlException e1) {
- e1.printStackTrace();
- }
+ path = RoleManager.instance(configDir).getConfigurationDirectory();
File roleFile = new File(path, name + RoleManager.SUFFIX);
assertNotNull(roleFile);
assertTrue(roleFile.exists());
}
- final public void testSave() {
+ final public void testSave() throws AccessControlException {
+ File configDir = getConfigurationDirectory();
String name = "test";
- String publicationId = "default";
- String servletContext = "/home/egli/build/jakarta-tomcat-4.1.21-LE-jdk14/webapps/lenya/";
- Publication pub = PublicationFactory.getPublication(publicationId, servletContext);
- FileRole role = new FileRole(pub, name);
- try {
- role.save();
- } catch (AccessControlException e) {
- e.printStackTrace();
- }
+ FileRole role = new FileRole(configDir, name);
+ role.save();
File path = null;
- try {
- path = RoleManager.instance(pub).getPath();
- } catch (AccessControlException e1) {
- e1.printStackTrace();
- }
+ path = RoleManager.instance(configDir).getConfigurationDirectory();
File roleFile = new File(path, name + RoleManager.SUFFIX);
assertNotNull(roleFile);
assertTrue(roleFile.exists());
@@ -126,8 +99,8 @@
final public void testGetName() {
String name = "test";
- Publication pub = getPublication();
- FileRole role = new FileRole(pub, name);
+ File configDir = getConfigurationDirectory();
+ FileRole role = new FileRole(configDir, name);
assertTrue(role.getName().equals(name));
}
@@ -136,9 +109,9 @@
*/
final public void testEqualsObject() {
String name = "test";
- Publication pub = getPublication();
- FileRole role1 = new FileRole(pub, name);
- FileRole role2 = new FileRole(pub, name);
+ File configDir = getConfigurationDirectory();
+ FileRole role1 = new FileRole(configDir, name);
+ FileRole role2 = new FileRole(configDir, name);
assertEquals(role1, role2);
}
}
1.3 +14 -36 cocoon-lenya/src/test/org/apache/lenya/cms/ac/RoleManagerTest.java
Index: RoleManagerTest.java
===================================================================
RCS file: /home/cvs/cocoon-lenya/src/test/org/apache/lenya/cms/ac/RoleManagerTest.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- RoleManagerTest.java 11 Jun 2003 12:02:39 -0000 1.2
+++ RoleManagerTest.java 25 Jun 2003 14:55:10 -0000 1.3
@@ -49,19 +49,17 @@
package org.apache.lenya.cms.ac;
+import java.io.File;
import java.util.Iterator;
-import org.apache.lenya.cms.publication.Publication;
-import org.apache.lenya.cms.publication.PublicationFactory;
-
-import junit.framework.TestCase;
+import org.apache.lenya.cms.PublicationHelper;
/**
* @author egli
*
*
*/
-public class RoleManagerTest extends TestCase {
+public class RoleManagerTest extends AccessControlTest {
/**
* Constructor for RoleManagerTest.
@@ -72,31 +70,15 @@
}
public static void main(String[] args) {
+ PublicationHelper.extractPublicationArguments(args);
junit.textui.TestRunner.run(RoleManagerTest.class);
}
- final public Publication getPublication() {
- String publicationId = "default";
- String servletContext = "/home/egli/build/jakarta-tomcat-4.1.21-LE-jdk14/webapps/lenya/";
- Publication pub = PublicationFactory.getPublication(publicationId, servletContext);
- return pub;
- }
-
- final public void testInstance() {
- Publication pub = getPublication();
- RoleManager manager = null;
- try {
- manager = RoleManager.instance(pub);
- } catch (AccessControlException e) {
- e.printStackTrace();
- }
+ final public void testInstance() throws AccessControlException {
+ File configDir = getConfigurationDirectory();
+ RoleManager manager = RoleManager.instance(configDir);
assertNotNull(manager);
- RoleManager anotherManager = null;
- try {
- anotherManager = RoleManager.instance(pub);
- } catch (AccessControlException e1) {
- e1.printStackTrace();
- }
+ RoleManager anotherManager = RoleManager.instance(configDir);
assertNotNull(anotherManager);
assertEquals(manager, anotherManager);
}
@@ -107,16 +89,12 @@
/*
* Test for void add(Role)
*/
- final public void testAddRole() {
- Publication pub = getPublication();
+ final public void testAddRole() throws AccessControlException {
+ File configDir = getConfigurationDirectory();
String name = "test";
Role role = new Role(name);
RoleManager manager = null;
- try {
- manager = RoleManager.instance(pub);
- } catch (AccessControlException e) {
- e.printStackTrace();
- }
+ manager = RoleManager.instance(configDir);
assertNotNull(manager);
manager.add(role);
@@ -127,12 +105,12 @@
* Test for void remove(Role)
*/
final public void testRemoveRole() {
- Publication pub = getPublication();
+ File configDir = getConfigurationDirectory();
String name = "test2";
Role role = new Role(name);
RoleManager manager = null;
try {
- manager = RoleManager.instance(pub);
+ manager = RoleManager.instance(configDir);
} catch (AccessControlException e) {
e.printStackTrace();
}
1.2 +30 -45 cocoon-lenya/src/test/org/apache/lenya/cms/ac/FileGroupTest.java
Index: FileGroupTest.java
===================================================================
RCS file: /home/cvs/cocoon-lenya/src/test/org/apache/lenya/cms/ac/FileGroupTest.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- FileGroupTest.java 3 Jun 2003 13:52:12 -0000 1.1
+++ FileGroupTest.java 25 Jun 2003 14:55:10 -0000 1.2
@@ -50,22 +50,20 @@
package org.apache.lenya.cms.ac;
import java.io.File;
-import java.util.Iterator;
+import java.io.IOException;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.avalon.framework.configuration.DefaultConfigurationBuilder;
-import org.apache.lenya.cms.publication.Publication;
-import org.apache.lenya.cms.publication.PublicationFactory;
-
-import junit.framework.TestCase;
+import org.apache.lenya.cms.PublicationHelper;
+import org.xml.sax.SAXException;
/**
* @author egli
*
*
*/
-public class FileGroupTest extends TestCase {
+public class FileGroupTest extends AccessControlTest {
/**
* Constructor for FileGroupTest.
@@ -76,57 +74,43 @@
}
public static void main(String[] args) {
+ PublicationHelper.extractPublicationArguments(args);
junit.textui.TestRunner.run(FileGroupTest.class);
}
- final public Publication getPublication() {
- String publicationId = "default";
- String servletContext = "/home/egli/build/jakarta-tomcat-4.1.21-LE-jdk14/webapps/lenya/";
- Publication pub = PublicationFactory.getPublication(publicationId, servletContext);
- return pub;
- }
-
- final public void testFileGroup() {
+ final public void testFileGroup() throws AccessControlException, ConfigurationException, SAXException, IOException {
String groupName = "testGroup";
String roleName = "testRole";
- Publication pub = getPublication();
- FileGroup group = new FileGroup(pub, groupName);
- FileRole role = new FileRole(pub, roleName);
- group.addRole(role);
- try {
- role.save();
- } catch (AccessControlException e2) {
- e2.printStackTrace();
- }
- try {
- group.save();
- } catch (AccessControlException e) {
- e.printStackTrace();
- }
- File path = null;
- try {
- path = RoleManager.instance(pub).getPath();
- } catch (AccessControlException e1) {
- e1.printStackTrace();
- }
+ File configurationDirectory = getConfigurationDirectory();
+
+ System.out.println("Configuration directory: " + configurationDirectory);
+
+ FileGroup group = new FileGroup(configurationDirectory, groupName);
+ FileRole role = new FileRole(configurationDirectory, roleName);
+// group.addRole(role);
+
+ role.save();
+ group.save();
+
+ File path = null;
+ path = RoleManager.instance(configurationDirectory).getConfigurationDirectory();
+
File groupFile = new File(path, groupName + GroupManager.SUFFIX);
assertNotNull(groupFile);
assertTrue(groupFile.exists());
Configuration config = null;
- try {
- config = new DefaultConfigurationBuilder().buildFromFile(groupFile);
- } catch (Exception e3) {
- e3.printStackTrace();
- }
+ config = new DefaultConfigurationBuilder().buildFromFile(groupFile);
assertNotNull(config);
+
FileGroup newGroup = null;
- try {
- newGroup = new FileGroup(pub, config);
- } catch (ConfigurationException e4) {
- e4.printStackTrace();
- }
+ newGroup = new FileGroup();
+ newGroup.setConfigurationDirectory(configurationDirectory);
+ newGroup.configure(config);
assertNotNull(newGroup);
+
assertTrue(newGroup.getName().equals(groupName));
+
+ /*
int roleCount = 0;
for (Iterator roles = newGroup.getRoles(); roles.hasNext();) {
Role newRole = (Role) roles.next();
@@ -134,6 +118,7 @@
assertTrue(newRole.getName().equals(roleName));
}
assertEquals(1, roleCount);
+ */
}
}
1.4 +29 -22 cocoon-lenya/src/test/org/apache/lenya/cms/ac/LDAPUserTest.java
Index: LDAPUserTest.java
===================================================================
RCS file: /home/cvs/cocoon-lenya/src/test/org/apache/lenya/cms/ac/LDAPUserTest.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- LDAPUserTest.java 25 Jun 2003 09:15:45 -0000 1.3
+++ LDAPUserTest.java 25 Jun 2003 14:55:10 -0000 1.4
@@ -49,18 +49,20 @@
package org.apache.lenya.cms.ac;
+import java.io.File;
+
import org.apache.avalon.framework.configuration.ConfigurationException;
+import org.apache.lenya.cms.PublicationHelper;
import org.apache.lenya.cms.publication.Publication;
import org.apache.lenya.cms.publication.PublicationFactory;
-import junit.framework.TestCase;
/**
* @author egli
*
*
*/
-public class LDAPUserTest extends TestCase {
+public class LDAPUserTest extends AccessControlTest {
/**
* Constructor for LDAPUserTest.
@@ -75,6 +77,7 @@
* @param args an array of <code>String</code>
*/
public static void main(String[] args) {
+ PublicationHelper.extractPublicationArguments(args);
junit.textui.TestRunner.run(LDAPUserTest.class);
}
@@ -113,44 +116,46 @@
* @param email of the user
* @param ldapId ldap id of the user
* @throws AccessControlException if the creating or the saving fails
+ * @throws ConfigurationException if the creating or the saving fails
*/
final public void createAndSaveUser(
String userName,
String email,
String ldapId)
- throws AccessControlException {
+ throws AccessControlException, ConfigurationException {
- Publication publication = getPublication();
String editorGroupName = "editorGroup";
String adminGroupName = "adminGroup";
String editorRoleName = "editorRole";
String adminRoleName = "adminRole";
- FileRole editorRole = new FileRole(publication, editorRoleName);
- FileRole adminRole = new FileRole(publication, adminRoleName);
+ File configDir = getConfigurationDirectory();
+ FileRole editorRole = new FileRole();
+ editorRole.setName(editorRoleName);
+ editorRole.setConfigurationDirectory(configDir);
+
+ FileRole adminRole = new FileRole();
+ adminRole.setName(adminRoleName);
+ adminRole.setConfigurationDirectory(configDir);
- FileGroup editorGroup = new FileGroup(publication, editorGroupName);
- FileGroup adminGroup = new FileGroup(publication, adminGroupName);
+ FileGroup editorGroup = new FileGroup(configDir, editorGroupName);
+ FileGroup adminGroup = new FileGroup(configDir, adminGroupName);
- LDAPUser user = null;
- try {
- user = new LDAPUser(publication, userName, email, ldapId);
- } catch (ConfigurationException e) {
- throw new AccessControlException("Could not create user", e);
- }
+ LDAPUser user = new LDAPUser(configDir, userName, email, ldapId);
editorRole.save();
adminRole.save();
+/*
editorGroup.addRole(editorRole);
user.addGroup(editorGroup);
adminGroup.addRole(editorRole);
adminGroup.addRole(adminRole);
-
+*/
editorGroup.save();
adminGroup.save();
- user.addGroup(adminGroup);
+ adminGroup.add(user);
user.save();
}
@@ -164,8 +169,7 @@
*/
final public LDAPUser loadUser(String userName)
throws AccessControlException {
- Publication publication = getPublication();
- UserManager manager = UserManager.instance(publication);
+ UserManager manager = UserManager.instance(getConfigurationDirectory());
return (LDAPUser) manager.getUser(userName);
}
@@ -200,8 +204,9 @@
* Test the ldap id getter
*
* @throws AccessControlException if the test fails
+ * @throws ConfigurationException if the creating or the saving fails
*/
- final public void testGetLdapId() throws AccessControlException {
+ final public void testGetLdapId() throws ConfigurationException, AccessControlException {
String userName = "felix";
String ldapId = "m400032";
createAndSaveUser(userName, "felix@wyona.com", ldapId);
@@ -215,8 +220,9 @@
* Test settinf the ldap id
*
* @throws AccessControlException if the test fails
+ * @throws ConfigurationException if the creating or the saving fails
*/
- final public void testSetLdapId() throws AccessControlException {
+ final public void testSetLdapId() throws ConfigurationException, AccessControlException {
String userName = "felix";
String newLdapId = "foo";
createAndSaveUser(userName, "felix@wyona.com", "bar");
@@ -235,8 +241,9 @@
* Test save
*
* @throws AccessControlException if the test fails
+ * @throws ConfigurationException if the creating or the saving fails
*/
- final public void testSave() throws AccessControlException {
+ final public void testSave() throws ConfigurationException, AccessControlException {
String userName = "felix";
createAndSaveUser(userName, "felix@wyona.com", "m400032");
User user = null;
1.6 +33 -65 cocoon-lenya/src/test/org/apache/lenya/cms/ac/UserManagerTest.java
Index: UserManagerTest.java
===================================================================
RCS file: /home/cvs/cocoon-lenya/src/test/org/apache/lenya/cms/ac/UserManagerTest.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- UserManagerTest.java 11 Jun 2003 14:59:11 -0000 1.5
+++ UserManagerTest.java 25 Jun 2003 14:55:10 -0000 1.6
@@ -49,17 +49,18 @@
package org.apache.lenya.cms.ac;
+import java.io.File;
+
+import org.apache.lenya.cms.PublicationHelper;
import org.apache.lenya.cms.publication.Publication;
import org.apache.lenya.cms.publication.PublicationFactory;
-import junit.framework.TestCase;
-
/**
* @author egli
*
*
*/
-public class UserManagerTest extends TestCase {
+public class UserManagerTest extends AccessControlTest {
/**
* Constructor for UserManagerTest.
@@ -70,6 +71,7 @@
}
public static void main(String[] args) {
+ PublicationHelper.extractPublicationArguments(args);
junit.textui.TestRunner.run(UserManagerTest.class);
}
@@ -87,83 +89,52 @@
super.tearDown();
}
- final public Publication getPublication() {
- String publicationId = "default";
- String servletContextPath =
- "/home/egli/build/jakarta-tomcat-4.1.21-LE-jdk14/webapps/lenya/";
- return PublicationFactory.getPublication(
- publicationId,
- servletContextPath);
- }
+ final public void testInstance() throws AccessControlException {
- final public void testInstance() {
-
- Publication publication = getPublication();
- UserManager manager = null;
- try {
- manager = (UserManager) UserManager.instance(publication);
- } catch (AccessControlException e) {
- }
+ File configDir = getConfigurationDirectory();
+ UserManager manager = UserManager.instance(configDir);
assertNotNull(manager);
}
- final public void testLoadConfig() {
- Publication publication = getPublication();
+ final public void testLoadConfig() throws AccessControlException {
+ File configDir = getConfigurationDirectory();
+
String userName = "alice";
String editorGroupName = "editorGroup";
String adminGroupName = "adminGroup";
String editorRoleName = "editorRole";
String adminRoleName = "adminRole";
- FileRole editorRole = new FileRole(publication, editorRoleName);
- FileRole adminRole = new FileRole(publication, adminRoleName);
+ FileRole editorRole = new FileRole(configDir, editorRoleName);
+ FileRole adminRole = new FileRole(configDir, adminRoleName);
User user =
new FileUser(
- publication,
+ configDir,
userName,
"Alice in Wonderland",
"alice@test.com",
"secret");
- try {
- editorRole.save();
- adminRole.save();
- } catch (AccessControlException e5) {
- e5.printStackTrace();
- }
- FileGroup editorGroup = new FileGroup(publication, editorGroupName);
- editorGroup.addRole(editorRole);
- user.addGroup(editorGroup);
- FileGroup adminGroup = new FileGroup(publication, adminGroupName);
- adminGroup.addRole(editorRole);
- adminGroup.addRole(adminRole);
- try {
- editorGroup.save();
- adminGroup.save();
- } catch (AccessControlException e2) {
- e2.printStackTrace();
- }
- user.addGroup(adminGroup);
- try {
- user.save();
- } catch (AccessControlException e3) {
- e3.printStackTrace();
- }
+ editorRole.save();
+ adminRole.save();
+ FileGroup editorGroup = new FileGroup(configDir, editorGroupName);
+// editorGroup.addRole(editorRole);
+ editorGroup.add(user);
+ FileGroup adminGroup = new FileGroup(configDir, adminGroupName);
+// adminGroup.addRole(editorRole);
+// adminGroup.addRole(adminRole);
+ editorGroup.save();
+ adminGroup.save();
+ adminGroup.add(user);
+ user.save();
UserManager userManager = null;
GroupManager groupManager = null;
- try {
- userManager = UserManager.instance(publication);
- } catch (AccessControlException e) {
- }
+ userManager = UserManager.instance(configDir);
assertNotNull(userManager);
- try {
- groupManager = GroupManager.instance(publication);
- } catch (AccessControlException e4) {
- e4.printStackTrace();
- }
+ groupManager = GroupManager.instance(configDir);
assertNotNull(groupManager);
Group fetchedGroup = groupManager.getGroup(editorGroupName);
@@ -173,21 +144,18 @@
assertTrue(adminGroup.equals(fetchedGroup));
}
- final public void testGetUser() {
- Publication publication = getPublication();
+ final public void testGetUser() throws AccessControlException {
+ File configDir = getConfigurationDirectory();
UserManager manager = null;
String userName = "test-user";
FileUser user =
new FileUser(
- publication,
+ configDir,
userName,
"Alice in Wonderland",
"alice@wonderland.com",
"secret");
- try {
- manager = (UserManager) UserManager.instance(publication);
- } catch (AccessControlException e) {
- }
+ manager = (UserManager) UserManager.instance(configDir);
assertNotNull(manager);
manager.add(user);
1.3 +10 -21 cocoon-lenya/src/test/org/apache/lenya/cms/ac/GroupManagerTest.java
Index: GroupManagerTest.java
===================================================================
RCS file: /home/cvs/cocoon-lenya/src/test/org/apache/lenya/cms/ac/GroupManagerTest.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- GroupManagerTest.java 3 Jun 2003 16:41:04 -0000 1.2
+++ GroupManagerTest.java 25 Jun 2003 14:55:10 -0000 1.3
@@ -49,6 +49,9 @@
package org.apache.lenya.cms.ac;
+import java.io.File;
+
+import org.apache.lenya.cms.PublicationHelper;
import org.apache.lenya.cms.publication.Publication;
import org.apache.lenya.cms.publication.PublicationFactory;
@@ -59,7 +62,7 @@
*
*
*/
-public class GroupManagerTest extends TestCase {
+public class GroupManagerTest extends AccessControlTest {
/**
* Constructor for GroupManagerTest.
@@ -70,31 +73,17 @@
}
public static void main(String[] args) {
+ PublicationHelper.extractPublicationArguments(args);
junit.textui.TestRunner.run(GroupManagerTest.class);
}
- public final Publication getPublication() {
- String publicationId = "default";
- String servletContext = "/home/egli/build/jakarta-tomcat-4.1.21-LE-jdk14/webapps/lenya/";
- Publication pub = PublicationFactory.getPublication(publicationId, servletContext);
- return pub;
- }
-
- public final void testInstance() {
- Publication pub = getPublication();
+ public final void testInstance() throws AccessControlException {
GroupManager manager = null;
- try {
- manager = GroupManager.instance(pub);
- } catch (AccessControlException e) {
- e.printStackTrace();
- }
+ File configDir = getConfigurationDirectory();
+ manager = GroupManager.instance(configDir);
assertNotNull(manager);
GroupManager anotherManager = null;
- try {
- anotherManager = GroupManager.instance(pub);
- } catch (AccessControlException e1) {
- e1.printStackTrace();
- }
+ anotherManager = GroupManager.instance(configDir);
assertNotNull(anotherManager);
assertEquals(manager, anotherManager);
}
1.6 +47 -84 cocoon-lenya/src/test/org/apache/lenya/cms/ac/FileUserTest.java
Index: FileUserTest.java
===================================================================
RCS file: /home/cvs/cocoon-lenya/src/test/org/apache/lenya/cms/ac/FileUserTest.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- FileUserTest.java 12 Jun 2003 15:44:18 -0000 1.5
+++ FileUserTest.java 25 Jun 2003 14:55:10 -0000 1.6
@@ -51,20 +51,16 @@
import java.io.File;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.Map;
-import org.apache.lenya.cms.publication.Publication;
-import org.apache.lenya.cms.publication.PublicationFactory;
-
-import junit.framework.TestCase;
+import org.apache.lenya.cms.PublicationHelper;
/**
* @author egli
*
*
*/
-public class FileUserTest extends TestCase {
+public class FileUserTest extends AccessControlTest {
private HashMap roles = new HashMap();
private HashMap groups = new HashMap();
@@ -77,6 +73,7 @@
}
public static void main(String[] args) {
+ PublicationHelper.extractPublicationArguments(args);
junit.textui.TestRunner.run(FileUserTest.class);
}
@@ -94,15 +91,6 @@
super.tearDown();
}
- final public Publication getPublication() {
- String publicationId = "default";
- String servletContextPath =
- "/home/egli/build/jakarta-tomcat-4.1.21-LE-jdk14/webapps/lenya/";
- return PublicationFactory.getPublication(
- publicationId,
- servletContextPath);
- }
-
final public Map getRoles() {
return roles;
}
@@ -115,75 +103,65 @@
String userName,
String fullName,
String email,
- String password) {
+ String password) throws AccessControlException {
- Publication publication = getPublication();
+ File configDir = getConfigurationDirectory();
+
String editorGroupName = "editorGroup";
String adminGroupName = "adminGroup";
String editorRoleName = "editorRole";
String adminRoleName = "adminRole";
+
+ this.roles.clear();
- FileRole editorRole = new FileRole(publication, editorRoleName);
- FileRole adminRole = new FileRole(publication, adminRoleName);
+ FileRole editorRole = new FileRole(configDir, editorRoleName);
+ FileRole adminRole = new FileRole(configDir, adminRoleName);
this.roles.put(editorRoleName, editorRole);
this.roles.put(adminRoleName, adminRole);
- FileGroup editorGroup = new FileGroup(publication, editorGroupName);
- FileGroup adminGroup = new FileGroup(publication, adminGroupName);
+ FileGroup editorGroup = new FileGroup(configDir, editorGroupName);
+ FileGroup adminGroup = new FileGroup(configDir, adminGroupName);
this.groups.put(editorGroupName, editorGroup);
this.groups.put(adminGroupName, adminGroup);
FileUser user =
- new FileUser(publication, userName, fullName, email, password);
-
- try {
- editorRole.save();
- adminRole.save();
- } catch (AccessControlException e5) {
- e5.printStackTrace();
- }
- editorGroup.addRole(editorRole);
- user.addGroup(editorGroup);
- adminGroup.addRole(editorRole);
- adminGroup.addRole(adminRole);
- try {
- editorGroup.save();
- adminGroup.save();
- } catch (AccessControlException e2) {
- e2.printStackTrace();
- }
- user.addGroup(adminGroup);
- try {
- user.save();
- } catch (AccessControlException e3) {
- e3.printStackTrace();
- }
+ new FileUser(configDir, userName, fullName, email, password);
+
+ editorGroup.add(user);
+ adminGroup.add(user);
+
+ editorRole.save();
+ adminRole.save();
+// editorGroup.addRole(editorRole);
+// adminGroup.addRole(editorRole);
+// adminGroup.addRole(adminRole);
+ editorGroup.save();
+ adminGroup.save();
+ user.save();
return user;
}
final public FileUser loadUser(String userName)
throws AccessControlException {
- Publication publication = getPublication();
- UserManager manager = UserManager.instance(publication);
+ File configDir = getConfigurationDirectory();
+ UserManager manager = UserManager.instance(configDir);
return (FileUser) manager.getUser(userName);
}
- final public void testSave() {
- Publication publication = getPublication();
+ final public void testSave() throws AccessControlException {
String userName = "alice";
createAndSaveUser(
userName,
"Alice Wonderland",
"alice@wonderland.org",
"secret");
+ File configDir = getConfigurationDirectory();
File xmlFile =
- new File(
- publication.getDirectory(),
- ItemManager.PATH + File.separator + userName + ".iml");
+ new File(configDir, userName + ".iml");
assertTrue(xmlFile.exists());
}
- final public void testGetEmail() {
+ final public void testGetEmail() throws AccessControlException {
String userName = "alice";
String email = "alice@wonderland.org";
FileUser user =
@@ -197,7 +175,7 @@
assertTrue(user.getEmail().equals(email));
}
- final public void testGetFullName() {
+ final public void testGetFullName() throws AccessControlException {
String userName = "alice";
String fullName = "Alice Wonderland";
FileUser user =
@@ -207,15 +185,11 @@
"alice@wonderland.org",
"secret");
assertTrue(user.getFullName().equals(fullName));
- try {
- user = loadUser(userName);
- } catch (AccessControlException e) {
- e.printStackTrace();
- }
+ user = loadUser(userName);
assertTrue(user.getFullName().equals(fullName));
}
- final public void testGetGroups() {
+ final public void testGetGroups() throws AccessControlException {
FileUser user =
createAndSaveUser(
"alice",
@@ -223,15 +197,16 @@
"alice@wonderland.org",
"secret");
int groupCount = 0;
- for (Iterator groups = user.getGroups(); groups.hasNext();) {
- Group group = (Group) groups.next();
+ Group groups[] = user.getGroups();
+
+ for (int i = 0; i < groups.length; i++) {
groupCount += 1;
- assertTrue(getGroups().containsKey(group.getName()));
+ assertTrue(getGroups().containsKey(groups[i].getName()));
}
assertEquals(groupCount, getGroups().size());
}
- final public void testGetId() {
+ final public void testGetId() throws AccessControlException {
String id = "alice";
FileUser user =
createAndSaveUser(
@@ -242,7 +217,7 @@
assertTrue(user.getId().equals(id));
}
- final public void testDelete() {
+ final public void testDelete() throws AccessControlException {
String id = "albert";
FileUser user =
createAndSaveUser(
@@ -250,25 +225,17 @@
"Albert Einstein",
"albert@physics.org",
"secret");
- Publication publication = getPublication();
+ File configDir = getConfigurationDirectory();
UserManager manager = null;
- try {
- manager = UserManager.instance(publication);
- } catch (AccessControlException e1) {
- e1.printStackTrace();
- }
+ manager = UserManager.instance(configDir);
assertNotNull(manager);
assertNotNull(manager.getUser(id));
- try {
- user.delete();
- } catch (AccessControlException e) {
- e.printStackTrace();
- }
+ user.delete();
assertNull(manager.getUser(id));
}
- final public void testAuthenticate() {
+ final public void testAuthenticate() throws AccessControlException {
String password = "daisy";
FileUser user =
createAndSaveUser(
@@ -278,13 +245,9 @@
password);
assertTrue(user.authenticate(password));
- Publication publication = getPublication();
+ File configDir = getConfigurationDirectory();
UserManager manager = null;
- try {
- manager = UserManager.instance(publication);
- } catch (AccessControlException e1) {
- e1.printStackTrace();
- }
+ manager = UserManager.instance(configDir);
assertNotNull(manager);
User lenya = manager.getUser("lenya");
1.1 cocoon-lenya/src/test/org/apache/lenya/cms/ac/AccessControlTest.java
Index: AccessControlTest.java
===================================================================
/*
* $Id
* <License>
* The Apache Software License
*
* Copyright (c) 2002 lenya. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice, this
* list of conditions and the following disclaimer in the documentation and/or
* other materials provided with the distribution.
*
* 3. All advertising materials mentioning features or use of this software must
* display the following acknowledgment: "This product includes software developed
* by lenya (http://www.lenya.org)"
*
* 4. The name "lenya" must not be used to endorse or promote products derived from
* this software without prior written permission. For written permission, please
* contact contact@lenya.org
*
* 5. Products derived from this software may not be called "lenya" nor may "lenya"
* appear in their names without prior written permission of lenya.
*
* 6. Redistributions of any form whatsoever must retain the following acknowledgment:
* "This product includes software developed by lenya (http://www.lenya.org)"
*
* THIS SOFTWARE IS PROVIDED BY lenya "AS IS" WITHOUT ANY WARRANTY EXPRESS OR IMPLIED,
* INCLUDING THE WARRANTY OF NON-INFRINGEMENT AND THE IMPLIED WARRANTIES OF MERCHANTI-
* BILITY AND FITNESS FOR A PARTICULAR PURPOSE. lenya WILL NOT BE LIABLE FOR ANY DAMAGES
* SUFFERED BY YOU AS A RESULT OF USING THIS SOFTWARE. IN NO EVENT WILL lenya BE LIABLE
* FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR LOST PROFITS EVEN IF lenya HAS
* BEEN ADVISED OF THE POSSIBILITY OF THEIR OCCURRENCE. lenya WILL NOT BE LIABLE FOR ANY
* THIRD PARTY CLAIMS AGAINST YOU.
*
* Lenya includes software developed by the Apache Software Foundation, W3C,
* DOM4J Project, BitfluxEditor and Xopus.
* </License>
*/
package org.apache.lenya.cms.ac;
import java.io.File;
import org.apache.lenya.cms.PublicationHelper;
import org.apache.lenya.cms.ac2.AccessController;
import org.apache.lenya.cms.ac2.PolicyTest;
import org.apache.lenya.cms.ac2.file.FileAccessController;
import org.apache.lenya.cms.publication.Publication;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import junit.textui.TestRunner;
/**
* @author andreas
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class AccessControlTest extends TestCase {
/**
* Constructor.
* @param test The test to execute.
*/
public AccessControlTest(String test) {
super(test);
}
/**
* The main method.
* @param args The command-line arguments.
*/
public static void main(String[] args) {
PublicationHelper.extractPublicationArguments(args);
TestRunner.run(getSuite());
}
protected static final Class classes[] = {
FileGroupTest.class,
FileRoleTest.class,
FileUserTest.class,
// LDAPUserTest.class,
GroupManagerTest.class,
RoleManagerTest.class,
UserManagerTest.class,
PolicyTest.class
};
/**
* Creates a test suite.
* @return a test suite.
*/
public static Test getSuite() {
TestSuite suite = new TestSuite();
for (int i = 0; i < classes.length; i++) {
suite.addTestSuite(classes[i]);
}
return suite;
}
/**
* Returns the configuration directory.
* @return A file object.
*/
public static final File getConfigurationDirectory() {
Publication publication = PublicationHelper.getPublication();
return new File(publication.getDirectory(), ItemManager.PATH);
}
/**
* Returns the access controller.
* @return An access controller object.
*/
public static final AccessController getAccessController() {
Publication publication = PublicationHelper.getPublication();
File configDir = new File(publication.getDirectory(), "config/ac");
return new FileAccessController(configDir);
}
/** @see junit.framework.TestCase#setUp() */
protected void setUp() throws Exception {
if (PublicationHelper.getPublication() == null) {
String args[] = {
"D:\\Development\\build\\tomcat-4.1.24\\webapps\\lenya",
"test"
};
PublicationHelper.extractPublicationArguments(args);
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: lenya-cvs-unsubscribe@cocoon.apache.org
For additional commands, e-mail: lenya-cvs-help@cocoon.apache.org