[jboss-cvs] JBossRemoting/src/tests/org/jboss/test/remoting/marshall/preferredstream ...

Ron Sigal ron_sigal at yahoo.com
Sun Feb 4 23:13:08 EST 2007


  User: rsigal  
  Date: 07/02/04 23:13:08

  Modified:    src/tests/org/jboss/test/remoting/marshall/preferredstream     
                        TestMarshaller.java
                        PreferredStreamMarshallerTestCase.java
                        TestUnMarshaller.java
  Added:       src/tests/org/jboss/test/remoting/marshall/preferredstream     
                        TestObjectInputStream.java
                        TestObjectOutputStream.java
  Log:
  JBREM-692:  Expanded and corrected unit test.
  
  Revision  Changes    Path
  1.3       +2 -4      JBossRemoting/src/tests/org/jboss/test/remoting/marshall/preferredstream/TestMarshaller.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: TestMarshaller.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossRemoting/src/tests/org/jboss/test/remoting/marshall/preferredstream/TestMarshaller.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -b -r1.2 -r1.3
  --- TestMarshaller.java	4 Feb 2007 23:17:58 -0000	1.2
  +++ TestMarshaller.java	5 Feb 2007 04:13:08 -0000	1.3
  @@ -21,9 +21,7 @@
   */
   package org.jboss.test.remoting.marshall.preferredstream;
   
  -import java.io.BufferedOutputStream;
   import java.io.IOException;
  -import java.io.ObjectOutputStream;
   import java.io.OutputStream;
   import java.util.Map;
   
  @@ -32,7 +30,7 @@
   
   /** 
    * @author <a href="ron.sigal at jboss.com">Ron Sigal</a>
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.3 $
    * <p>
    * Copyright Jan 29, 2007
    * </p>
  @@ -47,7 +45,7 @@
      public OutputStream getMarshallingStream(OutputStream outputStream, Map config)
      throws IOException
      {
  -      return new BufferedOutputStream(outputStream);
  +      return new TestObjectOutputStream(outputStream);
      }
      
      public Marshaller cloneMarshaller() throws CloneNotSupportedException
  
  
  
  1.3       +116 -9    JBossRemoting/src/tests/org/jboss/test/remoting/marshall/preferredstream/PreferredStreamMarshallerTestCase.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: PreferredStreamMarshallerTestCase.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossRemoting/src/tests/org/jboss/test/remoting/marshall/preferredstream/PreferredStreamMarshallerTestCase.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -b -r1.2 -r1.3
  --- PreferredStreamMarshallerTestCase.java	4 Feb 2007 23:17:58 -0000	1.2
  +++ PreferredStreamMarshallerTestCase.java	5 Feb 2007 04:13:08 -0000	1.3
  @@ -21,13 +21,16 @@
   */
   package org.jboss.test.remoting.marshall.preferredstream;
   
  +import java.io.InputStream;
   import java.io.ObjectInputStream;
   import java.io.ObjectOutputStream;
  +import java.io.OutputStream;
   import java.lang.reflect.Field;
   import java.net.InetAddress;
   import java.util.HashMap;
   import java.util.List;
   import java.util.Map;
  +import java.util.Set;
   
   import javax.management.MBeanServer;
   
  @@ -46,14 +49,18 @@
   import org.jboss.remoting.transport.Connector;
   import org.jboss.remoting.transport.PortUtil;
   import org.jboss.remoting.transport.socket.ClientSocketWrapper;
  +import org.jboss.remoting.transport.socket.LRUPool;
   import org.jboss.remoting.transport.socket.MicroSocketClientInvoker;
  +import org.jboss.remoting.transport.socket.ServerSocketWrapper;
  +import org.jboss.remoting.transport.socket.ServerThread;
  +import org.jboss.remoting.transport.socket.SocketServerInvoker;
   
   /** 
    * This test verifies that the socket transport caches and reuses object streams
    * provided by PreferredStream(Un)Marshallers.
    * 
    * @author <a href="ron.sigal at jboss.com">Ron Sigal</a>
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.3 $
    * <p>
    * Copyright Jan 10, 2007
    * </p>
  @@ -86,8 +93,8 @@
         String host = InetAddress.getLocalHost().getHostAddress();
         int port = PortUtil.findFreePort(host);
         String locatorURI = getTransport() + "://" + host + ":" + port;
  -      locatorURI += "/?marshaller=org.jboss.remoting.marshall.serializable.SerializableMarshaller";
  -      locatorURI += "&unmarshaller=org.jboss.remoting.marshall.serializable.SerializableUnMarshaller";
  +      locatorURI += "/?marshaller=org.jboss.remoting.marshal.serializable.SerializableMarshaller";
  +      locatorURI += "&unmarshaller=org.jboss.remoting.marshal.serializable.SerializableUnMarshaller";
         InvokerLocator locator = new InvokerLocator(locatorURI);
         Connector connector = new Connector(locator);
         connector.create();
  @@ -101,6 +108,7 @@
         Integer i = (Integer) client.invoke(new Integer(17));
         assertEquals(18, i.intValue());
         
  +      // Make sure client has object streams.
         assertTrue(client.getInvoker() instanceof MicroSocketClientInvoker);
         MicroSocketClientInvoker clientInvoker = (MicroSocketClientInvoker) client.getInvoker();
         Field field = MicroSocketClientInvoker.class.getDeclaredField("pool");
  @@ -110,10 +118,59 @@
         ClientSocketWrapper csw = (ClientSocketWrapper) pool.get(0);
         field = ClientSocketWrapper.class.getDeclaredField("in");
         field.setAccessible(true);
  -      assertTrue(field.get(csw) instanceof ObjectInputStream);
  +      InputStream client_in1 = (InputStream) field.get(csw);
  +      assertTrue(client_in1 instanceof ObjectInputStream);
         field = ClientSocketWrapper.class.getDeclaredField("out");
         field.setAccessible(true);
  -      assertTrue(field.get(csw) instanceof ObjectOutputStream);
  +      OutputStream client_out1 = (OutputStream) field.get(csw);
  +      assertTrue(client_out1 instanceof ObjectOutputStream);
  +      
  +      // Make sure server has object streams.
  +      assertTrue(connector.getServerInvoker() instanceof SocketServerInvoker);
  +      SocketServerInvoker ssi = (SocketServerInvoker) connector.getServerInvoker();
  +      field = SocketServerInvoker.class.getDeclaredField("clientpool");
  +      field.setAccessible(true);
  +      LRUPool clientpool = (LRUPool) field.get(ssi);
  +      assertEquals(1, clientpool.size());
  +      Set threads = clientpool.getContents();
  +      ServerThread serverThread = (ServerThread) threads.iterator().next();
  +      field = ServerThread.class.getDeclaredField("socketWrapper");
  +      field.setAccessible(true);
  +      ServerSocketWrapper ssw = (ServerSocketWrapper) field.get(serverThread);
  +      field = ClientSocketWrapper.class.getDeclaredField("in");
  +      field.setAccessible(true);
  +      InputStream server_in1 = (InputStream) field.get(ssw);
  +      assertTrue(server_in1 instanceof ObjectInputStream);
  +      field = ClientSocketWrapper.class.getDeclaredField("out");
  +      field.setAccessible(true);
  +      OutputStream server_out1 = (OutputStream) field.get(ssw);
  +      assertTrue(server_out1 instanceof ObjectOutputStream);
  +      
  +      // Do another invocation.
  +      i = (Integer) client.invoke(new Integer(19));
  +      assertEquals(20, i.intValue());
  +      
  +      // Make sure client and server reused the cached streams.
  +      field = ClientSocketWrapper.class.getDeclaredField("in");
  +      field.setAccessible(true);
  +      InputStream client_in2 = (InputStream) field.get(csw);
  +      assertTrue(client_in2 instanceof ObjectInputStream);
  +      field = ClientSocketWrapper.class.getDeclaredField("out");
  +      field.setAccessible(true);
  +      OutputStream client_out2 = (OutputStream) field.get(csw);
  +      assertTrue(client_out2 instanceof ObjectOutputStream);
  +      field = ClientSocketWrapper.class.getDeclaredField("in");
  +      field.setAccessible(true);
  +      InputStream server_in2 = (InputStream) field.get(ssw);
  +      assertTrue(server_in2 instanceof ObjectInputStream);
  +      field = ClientSocketWrapper.class.getDeclaredField("out");
  +      field.setAccessible(true);
  +      OutputStream server_out2 = (OutputStream) field.get(ssw);
  +      assertTrue(server_out2 instanceof ObjectOutputStream);
  +      assertEquals(client_in1, client_in2);
  +      assertEquals(client_out1, client_out2);
  +      assertEquals(server_in1, server_in2);
  +      assertEquals(server_out1, server_out2);      
         
         client.disconnect();
         connector.stop();
  @@ -127,8 +184,8 @@
         String host = InetAddress.getLocalHost().getHostAddress();
         int port = PortUtil.findFreePort(host);
         String locatorURI = getTransport() + "://" + host + ":" + port;
  -      locatorURI += "/?marshaller=org.jboss.test.remoting.marshall.preferredstream.Marshaller";
  -      locatorURI += "&unmarshaller=org.jboss.test.remoting.marshall.preferredstream.UnMarshaller";
  +      locatorURI += "/?marshaller=org.jboss.test.remoting.marshall.preferredstream.TestMarshaller";
  +      locatorURI += "&unmarshaller=org.jboss.test.remoting.marshall.preferredstream.TestUnMarshaller";
         InvokerLocator locator = new InvokerLocator(locatorURI);
         Connector connector = new Connector(locator);
         connector.create();
  @@ -142,6 +199,7 @@
         Integer i = (Integer) client.invoke(new Integer(17));
         assertEquals(18, i.intValue());
         
  +      // Make sure client has object streams from test directory.
         assertTrue(client.getInvoker() instanceof MicroSocketClientInvoker);
         MicroSocketClientInvoker clientInvoker = (MicroSocketClientInvoker) client.getInvoker();
         Field field = MicroSocketClientInvoker.class.getDeclaredField("pool");
  @@ -151,10 +209,59 @@
         ClientSocketWrapper csw = (ClientSocketWrapper) pool.get(0);
         field = ClientSocketWrapper.class.getDeclaredField("in");
         field.setAccessible(true);
  -      assertTrue(field.get(csw) instanceof ObjectInputStream);
  +      InputStream client_in1 = (InputStream) field.get(csw);
  +      assertTrue(client_in1 instanceof TestObjectInputStream);
  +      field = ClientSocketWrapper.class.getDeclaredField("out");
  +      field.setAccessible(true);
  +      OutputStream client_out1 = (OutputStream) field.get(csw);
  +      assertTrue(client_out1 instanceof TestObjectOutputStream);
  +      
  +      // Make sure server has object streams from test directory.
  +      assertTrue(connector.getServerInvoker() instanceof SocketServerInvoker);
  +      SocketServerInvoker ssi = (SocketServerInvoker) connector.getServerInvoker();
  +      field = SocketServerInvoker.class.getDeclaredField("clientpool");
  +      field.setAccessible(true);
  +      LRUPool clientpool = (LRUPool) field.get(ssi);
  +      assertEquals(1, clientpool.size());
  +      Set threads = clientpool.getContents();
  +      ServerThread serverThread = (ServerThread) threads.iterator().next();
  +      field = ServerThread.class.getDeclaredField("socketWrapper");
  +      field.setAccessible(true);
  +      ServerSocketWrapper ssw = (ServerSocketWrapper) field.get(serverThread);
  +      field = ClientSocketWrapper.class.getDeclaredField("in");
  +      field.setAccessible(true);
  +      InputStream server_in1 = (InputStream) field.get(ssw);
  +      assertTrue(server_in1 instanceof TestObjectInputStream);
  +      field = ClientSocketWrapper.class.getDeclaredField("out");
  +      field.setAccessible(true);
  +      OutputStream server_out1 = (OutputStream) field.get(ssw);
  +      assertTrue(server_out1 instanceof TestObjectOutputStream);
  +      
  +      // Do another invocation.
  +      i = (Integer) client.invoke(new Integer(19));
  +      assertEquals(20, i.intValue());
  +      
  +      // Make sure client and server reused the cached streams.
  +      field = ClientSocketWrapper.class.getDeclaredField("in");
  +      field.setAccessible(true);
  +      InputStream client_in2 = (InputStream) field.get(csw);
  +      assertTrue(client_in2 instanceof ObjectInputStream);
  +      field = ClientSocketWrapper.class.getDeclaredField("out");
  +      field.setAccessible(true);
  +      OutputStream client_out2 = (OutputStream) field.get(csw);
  +      assertTrue(client_out2 instanceof ObjectOutputStream);
  +      field = ClientSocketWrapper.class.getDeclaredField("in");
  +      field.setAccessible(true);
  +      InputStream server_in2 = (InputStream) field.get(ssw);
  +      assertTrue(server_in2 instanceof TestObjectInputStream);
         field = ClientSocketWrapper.class.getDeclaredField("out");
         field.setAccessible(true);
  -      assertTrue(field.get(csw) instanceof ObjectOutputStream);
  +      OutputStream server_out2 = (OutputStream) field.get(ssw);
  +      assertTrue(server_out2 instanceof TestObjectOutputStream);
  +      assertEquals(client_in1, client_in2);
  +      assertEquals(client_out1, client_out2);
  +      assertEquals(server_in1, server_in2);
  +      assertEquals(server_out1, server_out2);      
         
         client.disconnect();
         connector.stop();
  
  
  
  1.3       +3 -4      JBossRemoting/src/tests/org/jboss/test/remoting/marshall/preferredstream/TestUnMarshaller.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: TestUnMarshaller.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossRemoting/src/tests/org/jboss/test/remoting/marshall/preferredstream/TestUnMarshaller.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -b -r1.2 -r1.3
  --- TestUnMarshaller.java	4 Feb 2007 23:17:58 -0000	1.2
  +++ TestUnMarshaller.java	5 Feb 2007 04:13:08 -0000	1.3
  @@ -21,7 +21,6 @@
   */
   package org.jboss.test.remoting.marshall.preferredstream;
   
  -import java.io.BufferedInputStream;
   import java.io.IOException;
   import java.io.InputStream;
   import java.util.Map;
  @@ -31,7 +30,7 @@
   
   /** 
    * @author <a href="ron.sigal at jboss.com">Ron Sigal</a>
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.3 $
    * <p>
    * Copyright Jan 29, 2007
    * </p>
  @@ -43,10 +42,10 @@
      
      public TestUnMarshaller() {}
      
  -   public InputStream getMarshalledStream(InputStream inputStream, Map config)
  +   public InputStream getMarshallingStream(InputStream inputStream, Map config)
      throws IOException
      {
  -      return new BufferedInputStream(inputStream);
  +      return new TestObjectInputStream(inputStream);
      }
      
      public UnMarshaller cloneUnMarshaller() throws CloneNotSupportedException
  
  
  
  1.2       +18 -0     JBossRemoting/src/tests/org/jboss/test/remoting/marshall/preferredstream/TestObjectInputStream.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: TestObjectInputStream.java
  ===================================================================
  RCS file: TestObjectInputStream.java
  diff -N TestObjectInputStream.java
  --- /dev/null	1 Jan 1970 00:00:00 -0000
  +++ TestObjectInputStream.java	5 Feb 2007 04:13:08 -0000	1.2
  @@ -0,0 +1,18 @@
  +package org.jboss.test.remoting.marshall.preferredstream;
  +
  +import java.io.IOException;
  +import java.io.InputStream;
  +import java.io.ObjectInputStream;
  +
  +public class TestObjectInputStream extends ObjectInputStream
  +{
  +   public TestObjectInputStream(InputStream in) throws IOException
  +   {
  +      super(in);
  +   }
  +
  +   public TestObjectInputStream() throws IOException, SecurityException
  +   {
  +      super();
  +   }
  +}
  
  
  
  1.2       +18 -0     JBossRemoting/src/tests/org/jboss/test/remoting/marshall/preferredstream/TestObjectOutputStream.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: TestObjectOutputStream.java
  ===================================================================
  RCS file: TestObjectOutputStream.java
  diff -N TestObjectOutputStream.java
  --- /dev/null	1 Jan 1970 00:00:00 -0000
  +++ TestObjectOutputStream.java	5 Feb 2007 04:13:08 -0000	1.2
  @@ -0,0 +1,18 @@
  +package org.jboss.test.remoting.marshall.preferredstream;
  +
  +import java.io.IOException;
  +import java.io.ObjectOutputStream;
  +import java.io.OutputStream;
  +
  +public class TestObjectOutputStream extends ObjectOutputStream
  +{
  +   public TestObjectOutputStream(OutputStream out) throws IOException
  +   {
  +      super(out);
  +   }
  +
  +   public TestObjectOutputStream() throws IOException, SecurityException
  +   {
  +      super();
  +   }
  +}
  
  
  



More information about the jboss-cvs-commits mailing list