[jboss-cvs] JBossAS SVN: r79035 - projects/naming/trunk/jnpserver/src/test/java/org/jnp/test.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Oct 2 11:44:54 EDT 2008


Author: scott.stark at jboss.org
Date: 2008-10-02 11:44:54 -0400 (Thu, 02 Oct 2008)
New Revision: 79035

Modified:
   projects/naming/trunk/jnpserver/src/test/java/org/jnp/test/NamingServerSecurityManagerUnitTest.java
Log:
JBNAME-8, Reset the naming server for each test

Modified: projects/naming/trunk/jnpserver/src/test/java/org/jnp/test/NamingServerSecurityManagerUnitTest.java
===================================================================
--- projects/naming/trunk/jnpserver/src/test/java/org/jnp/test/NamingServerSecurityManagerUnitTest.java	2008-10-02 15:18:04 UTC (rev 79034)
+++ projects/naming/trunk/jnpserver/src/test/java/org/jnp/test/NamingServerSecurityManagerUnitTest.java	2008-10-02 15:44:54 UTC (rev 79035)
@@ -30,6 +30,7 @@
 import java.util.List;
 import java.util.Properties;
 
+import javax.naming.Context;
 import javax.naming.InitialContext;
 
 import junit.framework.TestCase;
@@ -55,8 +56,10 @@
    @Override
    protected void setUp() throws Exception
    {
+      System.out.println("+++ setUp, creating NamingBean");
       namingBean = new NamingBeanImpl();
       namingBean.setInstallGlobalService(true);
+      namingBean.setUseGlobalService(false);
       namingBean.setEventMgr(new ExecutorEventMgr());
       namingBean.start();
 
@@ -66,6 +69,10 @@
       env.setProperty("java.naming.factory.url.pkgs", "org.jnp.interfaces");
       ic = new InitialContext(env);
    }
+   protected void tearDown()
+   {
+      System.setSecurityManager(null);
+   }
 
    /**
     * Test that the expected JndiPermission are passed to the SecurityManager
@@ -97,6 +104,7 @@
       expectedPerms.add(new JndiPermission("path1x", "list"));
       expectedPerms.add(new JndiPermission("path1x", "listBindings"));
       expectedPerms.add(new JndiPermission("path1x/x", "bind"));
+      expectedPerms.add(new JndiPermission("path1x/x", "rebind"));
       expectedPerms.add(new JndiPermission("path1x", "unbind"));
       doBadOps(false);
 
@@ -120,17 +128,17 @@
    {
       TestSecurityManager tsm = new TestSecurityManager();
       /*
-       JndiPermission 
+       The permissions that should be needed 
        */
       tsm.addPermission(new JndiPermission("path1", "createSubcontext,lookup,list,listBindings,unbind"));
       tsm.addPermission(new JndiPermission("path1x", "createSubcontext,unbind"));
       tsm.addPermission(new JndiPermission("path1/*", "list,listBindings,lookup"));
       tsm.addPermission(new JndiPermission("path1/x", "bind,rebind,unbind"));
-      tsm.addPermission(new RuntimePermission("exitVM"));
+      tsm.addPermission(new RuntimePermission("setSecurityManager"));
+      tsm.addPermission(new FilePermission("<<ALL FILES>>", "read"));
       tsm.addPermission(new RuntimePermission("createClassLoader"));
       tsm.addPermission(new ReflectPermission("suppressAccessChecks"));
       tsm.addPermission(new SerializablePermission("enableSubstitution"));
-      tsm.addPermission(new FilePermission("<<ALL FILES>>", "read"));
       System.setSecurityManager(tsm);
 
       doOps();
@@ -138,6 +146,28 @@
    }
 
    /**
+    * Validate that the JndiPermission("<<ALL BINDINGS>>", "*") allows all
+    * naming operations.
+    * 
+    * @throws Exception
+    */
+   public void testAllPermission()
+      throws Exception
+   {
+      TestSecurityManager tsm = new TestSecurityManager();
+      tsm.addPermission(new JndiPermission("<<ALL BINDINGS>>", "*"));
+      tsm.addPermission(new RuntimePermission("setSecurityManager"));
+      tsm.addPermission(new FilePermission("<<ALL FILES>>", "read"));
+      tsm.addPermission(new RuntimePermission("createClassLoader"));
+      tsm.addPermission(new ReflectPermission("suppressAccessChecks"));
+      tsm.addPermission(new SerializablePermission("enableSubstitution"));
+      System.setSecurityManager(tsm);
+
+      doOps();
+      doBadOps(false);  
+   }
+
+   /**
     * Naming ops that should succeed.
     * @throws Exception
     */
@@ -170,12 +200,14 @@
       {
          System.out.println(e);
       }
-      ic.createSubcontext("path1x");
+      Context path1x = ic.createSubcontext("path1x");
       try
       {
-         ic.rebind("path1x", "path1x.rebind");
          if(expectFailure)
+         {
+            ic.rebind("path1x", "path1x.rebind");
             fail("Was able to rebind path1x subcontext");
+         }
       }
       catch(AccessControlException e)
       {




More information about the jboss-cvs-commits mailing list