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");
           }
        }
  
      }
  
  }
  
  
  
  
  

Reply via email to