[jboss-cvs] jboss-seam/src/test/misc/org/jboss/seam/test ...
Shane Bryzak
Shane_Bryzak at symantec.com
Tue Dec 12 20:52:30 EST 2006
User: sbryzak2
Date: 06/12/12 20:52:30
Modified: src/test/misc/org/jboss/seam/test SecurityTest.java
Log:
simplified security config
Revision Changes Path
1.11 +49 -21 jboss-seam/src/test/misc/org/jboss/seam/test/SecurityTest.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: SecurityTest.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/test/misc/org/jboss/seam/test/SecurityTest.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- SecurityTest.java 11 Dec 2006 00:56:30 -0000 1.10
+++ SecurityTest.java 13 Dec 2006 01:52:30 -0000 1.11
@@ -1,31 +1,59 @@
package org.jboss.seam.test;
-import java.io.Serializable;
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
-import javax.persistence.EntityManager;
-import javax.persistence.EntityManagerFactory;
-import javax.persistence.Id;
-
-import org.hibernate.ejb.Ejb3Configuration;
-import org.jboss.seam.Component;
-import org.jboss.seam.annotations.Name;
-import org.jboss.seam.contexts.Contexts;
-import org.jboss.seam.contexts.Lifecycle;
-import org.jboss.seam.init.Initialization;
-import org.jboss.seam.mock.MockAclObjectIdentity;
-import org.jboss.seam.mock.MockAclPermission;
-import org.jboss.seam.mock.MockExternalContext;
-import org.jboss.seam.mock.MockSecureEntity;
-import org.jboss.seam.mock.MockServletContext;
-import org.jboss.seam.security.UsernamePasswordToken;
-import org.jboss.seam.security.acl.JPAIdentityGenerator;
-import org.jboss.seam.security.acl.AclProvider;
-import org.jboss.seam.security.acl.PersistentAclProvider;
-import org.jboss.seam.security.acl.AclProvider.RecipientType;
+import org.jboss.seam.security.Role;
+import org.jboss.seam.security.config.SecurityConfigException;
+import org.jboss.seam.security.config.SecurityConfiguration;
import org.testng.annotations.Test;
+import org.jboss.seam.security.SeamPermission;
+import java.util.Enumeration;
public class SecurityTest
{
+ private static final String ROLES_CONFIG = "<roles><role name=\"admin\">" +
+ "<members>superuser</members><permissions>" +
+ "<permission name=\"user\" action=\"create\"/>" +
+ "</permissions></role><role name=\"superuser\">" +
+ "<members>user</members><permissions>" +
+ "<permission name=\"account\" action=\"create\"/>" +
+ "</permissions></role><role name=\"user\"><permissions>" +
+ "<permission name=\"customer\" action=\"create\"/>" +
+ "</permissions></role></roles>";
+
+ class CustomSecurityConfiguration extends SecurityConfiguration {
+ public void loadConfigFromStream(InputStream config)
+ throws SecurityConfigException {
+ super.loadConfigFromStream(config);
+ }
+ }
+
+ @Test
+ public void testRoleConfiguration()
+ throws Exception
+ {
+ String securityConfig = String.format("<security-config>%s</security-config>",
+ ROLES_CONFIG);
+
+ CustomSecurityConfiguration config = new CustomSecurityConfiguration();
+ config.loadConfigFromStream(new ByteArrayInputStream(securityConfig.getBytes()));
+
+ assert config.getSecurityRoles().contains(new Role("admin"));
+ assert config.getSecurityRoles().contains(new Role("superuser"));
+ assert config.getSecurityRoles().contains(new Role("user"));
+
+ for (Role r : config.getSecurityRoles())
+ {
+ if ("admin".equals(r.getName()))
+ {
+ assert r.hasPermission(new SeamPermission("user", "create"));
+ assert r.isMember(new Role("superuser"));
+ break;
+ }
+ }
+ }
+
/*@Name("mock")
class MockSecureEntityMethodId {
private Integer id;
More information about the jboss-cvs-commits
mailing list