User: peter
Date: 01/01/07 15:14:39
Modified: src/main/org/jboss/test/cts/test AllJUnitTests.java
StatefulSessionTest.java
Added: src/main/org/jboss/test/cts/test LoginCallback.java
Log:
Trying to get JAAS to work within test suite.
Revision Changes Path
1.2 +2 -2 jbosstest/src/main/org/jboss/test/cts/test/AllJUnitTests.java
Index: AllJUnitTests.java
===================================================================
RCS file:
/products/cvs/ejboss/jbosstest/src/main/org/jboss/test/cts/test/AllJUnitTests.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AllJUnitTests.java 2001/01/05 01:27:18 1.1
+++ AllJUnitTests.java 2001/01/07 23:14:38 1.2
@@ -62,8 +62,8 @@
//suite.addTest(new StatefulSessionTest("testSerialization"));
//suite.addTest(new StatefulSessionTest("testUnSerialization"));
//suite.addTest(new StatefulSessionTest("testCompareSerializeGetPK"));
- //suite.addTest(new StatefulSessionTest("testProbeBeanContext"));
- suite.addTest(new StatefulSessionTest("testLoopback"));
+ suite.addTest(new StatefulSessionTest("testProbeBeanContext"));
+ //suite.addTest(new StatefulSessionTest("testLoopback"));
return suite;
}
1.2 +46 -20
jbosstest/src/main/org/jboss/test/cts/test/StatefulSessionTest.java
Index: StatefulSessionTest.java
===================================================================
RCS file:
/products/cvs/ejboss/jbosstest/src/main/org/jboss/test/cts/test/StatefulSessionTest.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- StatefulSessionTest.java 2001/01/05 01:27:18 1.1
+++ StatefulSessionTest.java 2001/01/07 23:14:38 1.2
@@ -8,6 +8,8 @@
import javax.ejb.*;
import javax.naming.*;
import javax.management.*;
+import javax.rmi.PortableRemoteObject;
+import javax.security.auth.login.*;
import org.jboss.test.cts.interfaces.*;
import org.jboss.test.util.ejb.*;
@@ -16,14 +18,12 @@
*
* @see <related>
* @author $Author: peter $
- * @version $Revision: 1.1 $
+ * @version $Revision: 1.2 $
*/
public class StatefulSessionTest
extends junit.framework.TestCase
{
- private static int listenPort = 5755;
-
class DummyPK
implements Serializable
{
@@ -336,23 +336,49 @@
{
Properties props = System.getProperties();
- System.out.println("Obtain home interface");
+ System.out.println( "Setting LoginContext callback..." );
+ LoginContext lc = new LoginContext("JCTS", new LoginCallback());
+ lc.login();
+
+ try
+ {
+ System.out.println("Obtain home interface");
+ // Create a new session object
+ Context ctx = new InitialContext(props);
+ Object ref = ctx.lookup("ejbcts/StatefulSessionBean");
+ StatefulSessionHome home = ( StatefulSessionHome )
+ PortableRemoteObject.narrow(ref, StatefulSessionHome.class);
+ StatefulSession bean = home.create();
+
+ System.out.println( "Invoking bean..." );
+ BeanContextInfo beanCtxInfo = bean.getBeanContextInfo();
+
+ assert(beanCtxInfo != null);
+ //System.out.println("remote interface: "
+ // + beanCtxInfo.remoteInterface);
+ //System.out.println("home interface: " + beanCtxInfo.homeInterface);
+
+ //System.out.println("principleName: " + beanCtxInfo.principleName);
+ //System.out.println("Testing rollback only setting...");
+ //assert(beanCtxInfo.isRollbackOnly.booleanValue());
+ }
+ catch (javax.naming.NamingException ne)
+ {
+ fail( "Naming excepiton failure" );
+ ne.printStackTrace();
+ }
+ catch (java.rmi.ServerException se)
+ {
+ fail( "Server exception" );
+ se.printStackTrace();
+ }
+ catch (java.rmi.RemoteException re)
+ {
+ fail( "Remote exception" );
+ re.printStackTrace();
+ }
- // Create a new session object
- Context ctx = new InitialContext(props);
- StatefulSessionHome home =
- ( StatefulSessionHome ) ctx.lookup("ejbcts/StatefulSessionBean");
- StatefulSession bean = ( StatefulSession ) home.create();
- BeanContextInfo beanCtxInfo = bean.getBeanContextInfo();
- assert(beanCtxInfo != null);
- System.out.println("remote interface: "
- + beanCtxInfo.remoteInterface);
- System.out.println("home interface: " + beanCtxInfo.homeInterface);
-
- //System.out.println("principleName: " + beanCtxInfo.principleName);
- System.out.println("Testing rollback only setting...");
- assert(beanCtxInfo.isRollbackOnly.booleanValue());
}
catch (Exception ex)
{
@@ -436,7 +462,7 @@
StatefulSessionHome home =
( StatefulSessionHome ) ctx.lookup("ejbcts/StatefulSessionBean");
StatefulSession bean = ( StatefulSession ) home.create();
-
+ System.out.println( "Calling loopbackTest( )...." );
bean.loopbackTest();
}
catch (java.rmi.RemoteException rex)
@@ -445,7 +471,7 @@
}
catch (Exception ex)
{
- System.out.println();
+ ex.printStackTrace( );
fail("Test failed in testLoopback, expected RemoteException, got
Exception");
}
}
1.1 jbosstest/src/main/org/jboss/test/cts/test/LoginCallback.java
Index: LoginCallback.java
===================================================================
package org.jboss.test.cts.test;
import javax.security.auth.callback.*;
public class LoginCallback
implements CallbackHandler
{
private static final String PASSWORD = "jcts";
private static final String USER_ID = "jcts";
public void handle(Callback[] callbacks)
throws java.io.IOException,
UnsupportedCallbackException
{
for( int i = 0 ; i < callbacks.length; i++ )
{
if (callbacks[i] instanceof NameCallback)
{
// prompt the user for a username
NameCallback nc = (NameCallback)callbacks[i];
System.out.println( "Setting userid to " + USER_ID );
nc.setName(USER_ID);
}
else if (callbacks[i] instanceof PasswordCallback)
{
// prompt the user for sensitive information
PasswordCallback pc = (PasswordCallback)callbacks[i];
System.out.println( "Setting password to " + PASSWORD );
pc.setPassword(PASSWORD.toCharArray());
}
else
{
throw new UnsupportedCallbackException
(callbacks[i], "Unrecognized Callback");
}
}
}
}