1 package org.jboss.test.security.test; 2 3 import org.jboss.test.JBossTestCase; 4 import org.jboss.test.security.interfaces.SubjectSessionHome; 5 import org.jboss.test.security.interfaces.SubjectSession; 6 import org.jboss.test.security.interfaces.CalledSession; 7 import org.jboss.test.security.interfaces.CalledSessionHome; 8 import org.jboss.security.SimplePrincipal; 9 10 import javax.naming.Context ; 11 import javax.naming.InitialContext ; 12 import javax.rmi.PortableRemoteObject ; 13 import java.util.Properties ; 14 import java.util.HashSet ; 15 import java.rmi.AccessException ; 16 17 import junit.framework.Test; 18 19 24 public class MissingMethodUnitTestCase 25 extends JBossTestCase 26 { 27 public MissingMethodUnitTestCase(String name) 28 { 29 super(name); 30 } 31 32 34 public void testMissingIsUnchecked() throws Exception 35 { 36 log.debug("+++ testMissingIsUnchecked()"); 37 Properties env = new Properties (); 38 env.setProperty(Context.INITIAL_CONTEXT_FACTORY, 39 "org.jboss.security.jndi.JndiLoginInitialContextFactory"); 40 env.setProperty(Context.SECURITY_PRINCIPAL, "jduke"); 41 env.setProperty(Context.SECURITY_CREDENTIALS, "theduke"); 42 InitialContext ctx = new InitialContext (env); 43 Object obj = ctx.lookup("unchecked/MissingMethodBean"); 44 obj = PortableRemoteObject.narrow(obj, CalledSessionHome.class); 45 CalledSessionHome home = (CalledSessionHome) obj; 46 log.debug("Found CalledSessionHome"); 47 CalledSession bean = home.create(); 48 log.debug("Created CalledSession"); 49 50 bean.invokeEcho("testMissingIsUnchecked"); 52 bean.callEcho(); 54 bean.remove(); 55 } 56 57 59 public void testMissingIsExcluded() throws Exception 60 { 61 log.debug("+++ testMissingIsExcluded()"); 62 Properties env = new Properties (); 63 env.setProperty(Context.INITIAL_CONTEXT_FACTORY, 64 "org.jboss.security.jndi.JndiLoginInitialContextFactory"); 65 env.setProperty(Context.SECURITY_PRINCIPAL, "jduke"); 66 env.setProperty(Context.SECURITY_CREDENTIALS, "theduke"); 67 InitialContext ctx = new InitialContext (env); 68 Object obj = ctx.lookup("excluded/MissingMethodBean"); 69 obj = PortableRemoteObject.narrow(obj, CalledSessionHome.class); 70 CalledSessionHome home = (CalledSessionHome) obj; 71 log.debug("Found CalledSessionHome"); 72 CalledSession bean = home.create(); 73 log.debug("Created CalledSession"); 74 75 bean.invokeEcho("testMissingIsExcluded"); 77 try 79 { 80 bean.callEcho(); 81 fail("Was able to invoke callEcho"); 82 } 83 catch(AccessException e) 84 { 85 log.debug("Failed with AccessException"); 86 } 87 bean.remove(); 88 } 89 90 public static Test suite() throws Exception 91 { 92 return JBossTestCase.getDeploySetup(MissingMethodUnitTestCase.class, 93 "missing-methods-excluded.jar,missing-methods-unchecked.jar"); 94 } 95 96 } 97 | Popular Tags |