[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