[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