[jboss-cvs] JBoss Messaging SVN: r4643 - in trunk/tests/src/org/jboss/messaging/tests: timing/core/remoting/impl and 2 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Jul 7 08:29:53 EDT 2008


Author: ataylor
Date: 2008-07-07 08:29:53 -0400 (Mon, 07 Jul 2008)
New Revision: 4643

Added:
   trunk/tests/src/org/jboss/messaging/tests/timing/core/remoting/impl/
   trunk/tests/src/org/jboss/messaging/tests/timing/core/remoting/impl/RemotingConnectionImplTest.java
   trunk/tests/src/org/jboss/messaging/tests/timing/core/remoting/impl/RemotingServiceImplTest.java
   trunk/tests/src/org/jboss/messaging/tests/unit/core/remoting/impl/RemotingConnectionImplTest.java
Removed:
   trunk/tests/src/org/jboss/messaging/tests/unit/core/remoting/impl/RemotingConnectionTest.java
   trunk/tests/src/org/jboss/messaging/tests/unit/core/remoting/network/
Modified:
   trunk/tests/src/org/jboss/messaging/tests/unit/core/remoting/impl/RemotingServiceImplTest.java
Log:
moved tests to timing

Added: trunk/tests/src/org/jboss/messaging/tests/timing/core/remoting/impl/RemotingConnectionImplTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/timing/core/remoting/impl/RemotingConnectionImplTest.java	                        (rev 0)
+++ trunk/tests/src/org/jboss/messaging/tests/timing/core/remoting/impl/RemotingConnectionImplTest.java	2008-07-07 12:29:53 UTC (rev 4643)
@@ -0,0 +1,196 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005-2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.messaging.tests.timing.core.remoting.impl;
+
+import org.easymock.EasyMock;
+import org.jboss.messaging.core.client.ConnectionParams;
+import org.jboss.messaging.core.client.Location;
+import org.jboss.messaging.core.client.impl.ConnectionParamsImpl;
+import org.jboss.messaging.core.remoting.*;
+import org.jboss.messaging.core.remoting.impl.RemotingConnectionImpl;
+import org.jboss.messaging.tests.util.UnitTestCase;
+
+/**
+ * @author <a href="ataylor at redhat.com">Andy Taylor</a>
+ */
+public class RemotingConnectionImplTest extends UnitTestCase
+{
+   public void testConnectionSendBlockingWithTimeout() throws Throwable
+   {
+      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
+      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
+      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
+      {
+         public ConnectorRegistry locate()
+         {
+            return connectorRegistry;
+         }
+      });
+      Location location = EasyMock.createNiceMock(Location.class);
+      ConnectionParams connectionParams = new ConnectionParamsImpl();
+      connectionParams.setCallTimeout(1000);
+      DummyDispatcher dispatcher = new DummyDispatcher();
+      DummySession nioSession = new DummySession(dispatcher, 2000, null, false);
+      PacketHandler handler = null;
+
+      Packet packet = EasyMock.createStrictMock(Packet.class);
+
+      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
+      EasyMock.replay(connectorRegistry);
+      EasyMock.expect(connector.connect()).andReturn(nioSession);
+      EasyMock.expect(connector.getDispatcher()).andReturn(dispatcher);
+      EasyMock.expect(connector.getDispatcher()).andReturn(dispatcher);
+      EasyMock.expect(connector.getDispatcher()).andReturn(dispatcher);
+      EasyMock.replay(connector);
+      packet.setTargetID(1);
+      packet.setExecutorID(2);
+      packet.setResponseTargetID(0);
+      EasyMock.replay(packet);
+
+      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
+      remotingConnection.start();
+      try
+      {
+         remotingConnection.sendBlocking(1, 2, packet);
+         fail("should have timed out");
+      }
+      catch (IllegalStateException e)
+      {
+         //pass
+      }
+      EasyMock.verify(connector);
+      EasyMock.verify(connectorRegistry);
+      EasyMock.verify(packet);
+      assertNull(nioSession.getPacketDispatched());
+   }
+
+   class DummyDispatcher implements PacketDispatcher
+   {
+      PacketHandler handler = null;
+
+      public void register(PacketHandler handler)
+      {
+         this.handler = handler;
+      }
+
+      public void unregister(long handlerID)
+      {
+         //todo
+      }
+
+      public void setListener(PacketHandlerRegistrationListener listener)
+      {
+         //todo
+      }
+
+      public void dispatch(Packet packet, PacketReturner sender) throws Exception
+      {
+         handler.handle(packet, sender);
+      }
+
+      public void callFilters(Packet packet) throws Exception
+      {
+         //todo
+      }
+
+      public void addInterceptor(Interceptor filter)
+      {
+         //todo
+      }
+
+      public void removeInterceptor(Interceptor filter)
+      {
+         //todo
+      }
+
+      public long generateID()
+      {
+         return 0;
+      }
+   }
+   
+   class DummySession implements RemotingSession
+   {
+      PacketDispatcher dispatcher;
+      Packet packetDispatched = null;
+      long timeToReply = 0;
+      Exception exceptionToThrow = null;
+      boolean oneWay = false;
+
+      public DummySession(PacketDispatcher dispatcher, long timeToReply, Exception toThrow, boolean oneWay)
+      {
+         this.dispatcher = dispatcher;
+         this.timeToReply = timeToReply;
+         exceptionToThrow = toThrow;
+         this.oneWay = oneWay;
+      }
+
+      public Packet getPacketDispatched()
+      {
+         return packetDispatched;
+      }
+
+      public long getID()
+      {
+         return 0;
+      }
+
+      public void write(final Packet packet) throws Exception
+      {
+         if (exceptionToThrow != null)
+         {
+            throw exceptionToThrow;
+         }
+         else if (!oneWay)
+         {
+            new Thread(new Runnable()
+            {
+               public void run()
+               {
+                  try
+                  {
+                     Thread.sleep(timeToReply);
+                  }
+                  catch (InterruptedException e)
+                  {
+                     e.printStackTrace();
+                  }
+                  packetDispatched = packet;
+                  try
+                  {
+                     dispatcher.dispatch(packet, null);
+                  }
+                  catch (Exception e)
+                  {
+                     e.printStackTrace();
+                  }
+               }
+            }).start();
+         }
+      }
+
+      public boolean isConnected()
+      {
+         return true;
+      }
+   }
+}

Added: trunk/tests/src/org/jboss/messaging/tests/timing/core/remoting/impl/RemotingServiceImplTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/timing/core/remoting/impl/RemotingServiceImplTest.java	                        (rev 0)
+++ trunk/tests/src/org/jboss/messaging/tests/timing/core/remoting/impl/RemotingServiceImplTest.java	2008-07-07 12:29:53 UTC (rev 4643)
@@ -0,0 +1,120 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005-2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.messaging.tests.timing.core.remoting.impl;
+
+import org.jboss.messaging.core.config.impl.ConfigurationImpl;
+import org.jboss.messaging.core.remoting.Packet;
+import org.jboss.messaging.core.remoting.PacketDispatcher;
+import org.jboss.messaging.core.remoting.RemotingSession;
+import org.jboss.messaging.core.remoting.TransportType;
+import org.jboss.messaging.core.remoting.impl.RemotingServiceImpl;
+import org.jboss.messaging.core.remoting.impl.wireformat.Ping;
+import org.jboss.messaging.core.remoting.impl.wireformat.Pong;
+import org.jboss.messaging.tests.util.UnitTestCase;
+
+/**
+ * @author <a href="ataylor at redhat.com">Andy Taylor</a>
+ */
+public class RemotingServiceImplTest extends UnitTestCase
+{
+    public void testPingerAddedAndCalled()
+   {
+      ConfigurationImpl config = new ConfigurationImpl();
+      config.setTransport(TransportType.INVM);
+      config.getConnectionParams().setPingInterval(100);
+      RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
+      DummySession dummySession = new DummySession(remotingService.getDispatcher());
+      remotingService.registerPinger(dummySession);
+      try
+      {
+         Thread.sleep(1100);
+      }
+      catch (InterruptedException e)
+      {
+         e.printStackTrace();
+      }
+      assertTrue(remotingService.isSession(1l));
+      remotingService.unregisterPinger(1l);
+      assertTrue(dummySession.count > 10);
+   }
+
+   public void testPingerAddedAndRemoved()
+   {
+      ConfigurationImpl config = new ConfigurationImpl();
+      config.setTransport(TransportType.INVM);
+      config.getConnectionParams().setPingInterval(100);
+      RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
+      DummySession dummySession = new DummySession(remotingService.getDispatcher());
+      remotingService.registerPinger(dummySession);
+      try
+      {
+         Thread.sleep(1100);
+      }
+      catch (InterruptedException e)
+      {
+         e.printStackTrace();
+      }
+      remotingService.unregisterPinger(1l);
+      int count = dummySession.count;
+      try
+      {
+         Thread.sleep(config.getConnectionParams().getPingInterval() + 2);
+      }
+      catch (InterruptedException e)
+      {
+         e.printStackTrace();
+      }
+      assertEquals(count, dummySession.count);
+   }
+
+   class DummySession implements RemotingSession
+   {
+      PacketDispatcher dispatcher;
+      int count = 0;
+
+      public DummySession(PacketDispatcher dispatcher)
+      {
+         this.dispatcher = dispatcher;
+      }
+
+      public long getID()
+      {
+         return 1;
+      }
+
+      public void write(Packet packet) throws Exception
+      {
+         count++;
+         Ping ping = (Ping) packet;
+
+         Pong pong = new Pong(ping.getSessionID(), false);
+         pong.setTargetID(1);
+         dispatcher.dispatch(pong, null);
+
+      }
+
+      public boolean isConnected()
+      {
+         return true;
+      }
+   }
+}

Copied: trunk/tests/src/org/jboss/messaging/tests/unit/core/remoting/impl/RemotingConnectionImplTest.java (from rev 4641, trunk/tests/src/org/jboss/messaging/tests/unit/core/remoting/impl/RemotingConnectionTest.java)
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/remoting/impl/RemotingConnectionImplTest.java	                        (rev 0)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/remoting/impl/RemotingConnectionImplTest.java	2008-07-07 12:29:53 UTC (rev 4643)
@@ -0,0 +1,910 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005-2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.messaging.tests.unit.core.remoting.impl;
+
+import org.easymock.EasyMock;
+import org.jboss.messaging.core.client.ConnectionParams;
+import org.jboss.messaging.core.client.Location;
+import org.jboss.messaging.core.client.RemotingSessionListener;
+import org.jboss.messaging.core.client.impl.ConnectionParamsImpl;
+import org.jboss.messaging.core.exception.MessagingException;
+import org.jboss.messaging.core.remoting.*;
+import org.jboss.messaging.core.remoting.impl.RemotingConnectionImpl;
+import org.jboss.messaging.core.remoting.impl.wireformat.MessagingExceptionMessage;
+import org.jboss.messaging.tests.util.UnitTestCase;
+import org.jboss.messaging.util.MessagingBuffer;
+
+/**
+ * @author <a href="ataylor at redhat.com">Andy Taylor</a>
+ * @author <a href="tim.fox at jboss.com">Tim Fox</a>
+ */
+public class RemotingConnectionImplTest extends UnitTestCase
+{
+   protected void tearDown() throws Exception
+   {
+      super.tearDown();
+      ConnectorRegistryFactory.setRegisteryLocator(null);
+   }
+
+   public void testNullLocationThrowsException()
+   {
+      ConnectionParams connectionParams = EasyMock.createNiceMock(ConnectionParams.class);
+      try
+      {
+         new RemotingConnectionImpl(null, connectionParams);
+         fail("should throw exception");
+      }
+      catch (IllegalArgumentException e)
+      {
+         //pass
+      }
+   }
+
+   public void testNullConnectionParamsThrowsException()
+   {
+      Location location = EasyMock.createNiceMock(Location.class);
+      try
+      {
+         new RemotingConnectionImpl(location, null);
+         fail("should throw exception");
+      }
+      catch (IllegalArgumentException e)
+      {
+         //pass
+      }
+   }
+
+   public void testConnectionStarted() throws Throwable
+   {
+      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
+      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
+      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
+      {
+         public ConnectorRegistry locate()
+         {
+            return connectorRegistry;
+         }
+      });
+      Location location = EasyMock.createNiceMock(Location.class);
+      ConnectionParams connectionParams = EasyMock.createNiceMock(ConnectionParams.class);
+      RemotingSession remotingSession = EasyMock.createStrictMock(RemotingSession.class);
+
+      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
+      EasyMock.replay(connectorRegistry);
+      EasyMock.expect(connector.connect()).andReturn(remotingSession);
+      EasyMock.replay(connector);
+
+      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
+      remotingConnection.start();
+      EasyMock.verify(connector);
+      EasyMock.verify(connectorRegistry);
+   }
+
+   public void testConnectionStartedAndStopped() throws Throwable
+   {
+      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
+      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
+      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
+      {
+         public ConnectorRegistry locate()
+         {
+            return connectorRegistry;
+         }
+      });
+      Location location = EasyMock.createNiceMock(Location.class);
+      ConnectionParams connectionParams = EasyMock.createNiceMock(ConnectionParams.class);
+      RemotingSession remotingSession = EasyMock.createStrictMock(RemotingSession.class);
+
+      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
+      EasyMock.expect(connectorRegistry.removeConnector(location)).andReturn(connector);
+      EasyMock.replay(connectorRegistry);
+      EasyMock.expect(connector.connect()).andReturn(remotingSession);
+      EasyMock.expect(connector.disconnect()).andReturn(true);
+      EasyMock.replay(connector);
+
+      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
+      remotingConnection.start();
+      remotingConnection.stop();
+      EasyMock.verify(connector);
+      EasyMock.verify(connectorRegistry);
+      assertEquals(-1, remotingConnection.getSessionID());
+
+   }
+
+   public void testConnectionListenerRemovedOnStop() throws Throwable
+   {
+      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
+      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
+      RemotingSessionListener listener = EasyMock.createNiceMock(RemotingSessionListener.class);
+      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
+      {
+         public ConnectorRegistry locate()
+         {
+            return connectorRegistry;
+         }
+      });
+      Location location = EasyMock.createNiceMock(Location.class);
+      ConnectionParams connectionParams = EasyMock.createNiceMock(ConnectionParams.class);
+      RemotingSession remotingSession = EasyMock.createStrictMock(RemotingSession.class);
+
+      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
+      EasyMock.expect(connectorRegistry.removeConnector(location)).andReturn(connector);
+      EasyMock.replay(connectorRegistry);
+      EasyMock.expect(connector.connect()).andReturn(remotingSession);
+      connector.addSessionListener(listener);
+      connector.removeSessionListener(listener);
+      EasyMock.expect(connector.disconnect()).andReturn(true);
+      EasyMock.replay(connector);
+
+      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
+      remotingConnection.start();
+      remotingConnection.addRemotingSessionListener(listener);
+      remotingConnection.stop();
+      EasyMock.verify(connector);
+      EasyMock.verify(connectorRegistry);
+      assertEquals(-1, remotingConnection.getSessionID());
+
+   }
+
+   public void testConnectionGetSessionId() throws Throwable
+   {
+      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
+      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
+      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
+      {
+         public ConnectorRegistry locate()
+         {
+            return connectorRegistry;
+         }
+      });
+      Location location = EasyMock.createNiceMock(Location.class);
+      ConnectionParams connectionParams = EasyMock.createNiceMock(ConnectionParams.class);
+      RemotingSession remotingSession = EasyMock.createStrictMock(RemotingSession.class);
+
+      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
+      EasyMock.replay(connectorRegistry);
+      EasyMock.expect(connector.connect()).andReturn(remotingSession);
+      EasyMock.replay(connector);
+      EasyMock.expect(remotingSession.isConnected()).andReturn(true);
+      EasyMock.expect(remotingSession.getID()).andReturn((123l));
+      EasyMock.replay(remotingSession);
+
+      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
+      remotingConnection.start();
+      assertEquals(123l, remotingConnection.getSessionID());
+
+      EasyMock.verify(connector);
+      EasyMock.verify(connectorRegistry);
+      EasyMock.verify(remotingSession);
+   }
+
+   public void testConnectionGetSessionIdDisconnected() throws Throwable
+   {
+      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
+      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
+      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
+      {
+         public ConnectorRegistry locate()
+         {
+            return connectorRegistry;
+         }
+      });
+      Location location = EasyMock.createNiceMock(Location.class);
+      ConnectionParams connectionParams = EasyMock.createNiceMock(ConnectionParams.class);
+      RemotingSession remotingSession = EasyMock.createStrictMock(RemotingSession.class);
+
+      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
+      EasyMock.replay(connectorRegistry);
+      EasyMock.expect(connector.connect()).andReturn(remotingSession);
+      EasyMock.replay(connector);
+      EasyMock.expect(remotingSession.isConnected()).andReturn(false);
+      //EasyMock.expect(nioSession.getID()).andReturn((123l));
+      EasyMock.replay(remotingSession);
+
+      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
+      remotingConnection.start();
+      assertEquals(-1, remotingConnection.getSessionID());
+
+      EasyMock.verify(connector);
+      EasyMock.verify(connectorRegistry);
+      EasyMock.verify(remotingSession);
+   }
+
+   public void testConnectionGetSessionIdStopped() throws Throwable
+   {
+      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
+      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
+      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
+      {
+         public ConnectorRegistry locate()
+         {
+            return connectorRegistry;
+         }
+      });
+      Location location = EasyMock.createNiceMock(Location.class);
+      ConnectionParams connectionParams = EasyMock.createNiceMock(ConnectionParams.class);
+      RemotingSession remotingSession = EasyMock.createStrictMock(RemotingSession.class);
+
+      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
+      EasyMock.replay(connectorRegistry);
+      EasyMock.expect(connector.connect()).andReturn(remotingSession);
+      EasyMock.replay(connector);
+      EasyMock.expect(remotingSession.isConnected()).andReturn(true);
+      EasyMock.expect(remotingSession.getID()).andReturn((123l));
+      EasyMock.replay(remotingSession);
+
+      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
+      remotingConnection.start();
+      remotingConnection.stop();
+      assertEquals(123l, remotingConnection.getSessionID());
+
+      EasyMock.verify(connector);
+      EasyMock.verify(connectorRegistry);
+      EasyMock.verify(remotingSession);
+   }
+
+   public void testConnectionSendBlocking() throws Throwable
+   {
+      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
+      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
+      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
+      {
+         public ConnectorRegistry locate()
+         {
+            return connectorRegistry;
+         }
+      });
+      Location location = EasyMock.createNiceMock(Location.class);
+      ConnectionParams connectionParams = new ConnectionParamsImpl();
+      connectionParams.setCallTimeout(1000);
+      DummyDispatcher dispatcher = new DummyDispatcher();
+      DummySession nioSession = new DummySession(dispatcher, 0, null, false);
+      PacketHandler handler = null;
+
+      Packet packet = EasyMock.createStrictMock(Packet.class);
+
+      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
+      EasyMock.replay(connectorRegistry);
+      EasyMock.expect(connector.connect()).andReturn(nioSession);
+      EasyMock.expect(connector.getDispatcher()).andReturn(dispatcher);
+      EasyMock.expect(connector.getDispatcher()).andReturn(dispatcher);
+      EasyMock.expect(connector.getDispatcher()).andReturn(dispatcher);
+      EasyMock.replay(connector);
+      packet.setTargetID(1);
+      packet.setExecutorID(2);
+      packet.setResponseTargetID(0);
+      EasyMock.replay(packet);
+
+
+      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
+      remotingConnection.start();
+      remotingConnection.sendBlocking(1, 2, packet);
+      EasyMock.verify(connector);
+      EasyMock.verify(connectorRegistry);
+      EasyMock.verify(packet);
+      assertNotNull(nioSession.getPacketDispatched());
+   }
+
+   public void testConnectionSendBlockingThrowsExceptionIfSessionNull() throws Throwable
+   {
+      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
+      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
+      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
+      {
+         public ConnectorRegistry locate()
+         {
+            return connectorRegistry;
+         }
+      });
+      Location location = EasyMock.createNiceMock(Location.class);
+      ConnectionParams connectionParams = new ConnectionParamsImpl();
+      connectionParams.setCallTimeout(1000);
+      DummyDispatcher dispatcher = new DummyDispatcher();
+      DummySession nioSession = new DummySession(dispatcher, 0, null, false);
+      PacketHandler handler = null;
+
+      Packet packet = EasyMock.createStrictMock(Packet.class);
+
+      //EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
+      EasyMock.replay(connectorRegistry);
+      EasyMock.expect(connector.getDispatcher()).andReturn(dispatcher).anyTimes();
+      EasyMock.replay(connector);
+      //packet.setTargetID(1);
+      //packet.setExecutorID(2);
+      // packet.setResponseTargetID(0);
+      EasyMock.replay(packet);
+
+
+      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
+      try
+      {
+         remotingConnection.sendBlocking(1, 2, packet);
+         fail("should throw exception");
+      }
+      catch (IllegalStateException e)
+      {
+         //pass
+      }
+      EasyMock.verify(connector);
+      EasyMock.verify(connectorRegistry);
+      EasyMock.verify(packet);
+      assertNull(nioSession.getPacketDispatched());
+   }
+
+   public void testConnectionSendBlockingThrowsExceptionWhenSessionNotConnected() throws Throwable
+   {
+      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
+      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
+      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
+      {
+         public ConnectorRegistry locate()
+         {
+            return connectorRegistry;
+         }
+      });
+      Location location = EasyMock.createNiceMock(Location.class);
+      ConnectionParams connectionParams = new ConnectionParamsImpl();
+      connectionParams.setCallTimeout(1000);
+      DummyDispatcher dispatcher = new DummyDispatcher();
+      RemotingSession nioSession = EasyMock.createStrictMock(RemotingSession.class);
+      PacketHandler handler = null;
+
+      Packet packet = EasyMock.createStrictMock(Packet.class);
+      EasyMock.expect(nioSession.isConnected()).andReturn(false);
+      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
+      EasyMock.replay(connectorRegistry);
+      EasyMock.expect(connector.connect()).andReturn(nioSession);
+      EasyMock.replay(connector, nioSession);
+      EasyMock.replay(packet);
+
+
+      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
+      remotingConnection.start();
+      try
+      {
+         remotingConnection.sendBlocking(1, 2, packet);
+         fail("should throw exception");
+      }
+      catch (MessagingException e)
+      {
+         //pass
+      }
+      EasyMock.verify(connector, connectorRegistry, packet, nioSession);
+   }
+
+   public void testConnectionSendBlockingThrowsMessagingException() throws Throwable
+   {
+      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
+      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
+      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
+      {
+         public ConnectorRegistry locate()
+         {
+            return connectorRegistry;
+         }
+      });
+      Location location = EasyMock.createNiceMock(Location.class);
+      ConnectionParams connectionParams = new ConnectionParamsImpl();
+      connectionParams.setCallTimeout(1000);
+      DummyDispatcher dispatcher = new DummyDispatcher();
+      DummySession nioSession = new DummySession(dispatcher, 0, null, false);
+      PacketHandler handler = null;
+
+      MessagingExceptionMessage packet = new MessagingExceptionMessage(new MessagingException());
+
+      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
+      EasyMock.replay(connectorRegistry);
+      EasyMock.expect(connector.connect()).andReturn(nioSession);
+      EasyMock.expect(connector.getDispatcher()).andReturn(dispatcher);
+      EasyMock.expect(connector.getDispatcher()).andReturn(dispatcher);
+      EasyMock.expect(connector.getDispatcher()).andReturn(dispatcher);
+      EasyMock.replay(connector);
+      packet.setTargetID(1);
+      packet.setExecutorID(2);
+      packet.setResponseTargetID(0);
+
+
+      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
+      remotingConnection.start();
+      try
+      {
+         remotingConnection.sendBlocking(1, 2, packet);
+         fail("should throw exception");
+      }
+      catch (MessagingException e)
+      {
+         //pass
+      }
+      EasyMock.verify(connector);
+      EasyMock.verify(connectorRegistry);
+      assertNotNull(nioSession.getPacketDispatched());
+   }
+
+
+   public void testConnectionSendBlockingErrorOnWrite() throws Throwable
+   {
+      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
+      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
+      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
+      {
+         public ConnectorRegistry locate()
+         {
+            return connectorRegistry;
+         }
+      });
+      Location location = EasyMock.createNiceMock(Location.class);
+      ConnectionParams connectionParams = new ConnectionParamsImpl();
+      connectionParams.setCallTimeout(1000);
+      DummyDispatcher dispatcher = new DummyDispatcher();
+      DummySession nioSession = new DummySession(dispatcher, 0, new Exception(), false);
+      PacketHandler handler = null;
+
+      Packet packet = EasyMock.createStrictMock(Packet.class);
+
+      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
+      EasyMock.replay(connectorRegistry);
+      EasyMock.expect(connector.connect()).andReturn(nioSession);
+      EasyMock.expect(connector.getDispatcher()).andReturn(dispatcher);
+      EasyMock.expect(connector.getDispatcher()).andReturn(dispatcher);
+      EasyMock.expect(connector.getDispatcher()).andReturn(dispatcher);
+      EasyMock.replay(connector);
+      packet.setTargetID(1);
+      packet.setExecutorID(2);
+      packet.setResponseTargetID(0);
+      EasyMock.replay(packet);
+
+
+      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
+      remotingConnection.start();
+      try
+      {
+         remotingConnection.sendBlocking(1, 2, packet);
+         fail("should throw exception");
+      }
+      catch (MessagingException e)
+      {
+         //pass
+      }
+      EasyMock.verify(connector);
+      EasyMock.verify(connectorRegistry);
+      EasyMock.verify(packet);
+      assertNull(nioSession.getPacketDispatched());
+   }
+
+   public void testConnectionSendOneWay() throws Throwable
+   {
+      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
+      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
+      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
+      {
+         public ConnectorRegistry locate()
+         {
+            return connectorRegistry;
+         }
+      });
+      Location location = EasyMock.createNiceMock(Location.class);
+      ConnectionParams connectionParams = new ConnectionParamsImpl();
+      connectionParams.setCallTimeout(1000);
+      DummyDispatcher dispatcher = new DummyDispatcher();
+      DummySession nioSession = new DummySession(dispatcher, 0, null, true);
+      PacketHandler handler = null;
+
+      Packet packet = EasyMock.createStrictMock(Packet.class);
+
+      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
+      EasyMock.replay(connectorRegistry);
+      EasyMock.expect(connector.connect()).andReturn(nioSession);
+      EasyMock.replay(connector);
+      packet.setTargetID(1);
+      packet.setExecutorID(2);
+      EasyMock.replay(packet);
+
+
+      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
+      remotingConnection.start();
+      remotingConnection.sendOneWay(1, 2, packet);
+      EasyMock.verify(connector);
+      EasyMock.verify(connectorRegistry);
+      EasyMock.verify(packet);
+      assertNull(nioSession.getPacketDispatched());
+   }
+
+   public void testConnectionSendOneWayThrowsExceptionOnNullSession() throws Throwable
+   {
+      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
+      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
+      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
+      {
+         public ConnectorRegistry locate()
+         {
+            return connectorRegistry;
+         }
+      });
+      Location location = EasyMock.createNiceMock(Location.class);
+      ConnectionParams connectionParams = new ConnectionParamsImpl();
+      connectionParams.setCallTimeout(1000);
+      DummyDispatcher dispatcher = new DummyDispatcher();
+      DummySession nioSession = new DummySession(dispatcher, 0, null, true);
+      PacketHandler handler = null;
+
+      Packet packet = EasyMock.createStrictMock(Packet.class);
+
+      EasyMock.replay(connectorRegistry);
+      EasyMock.replay(connector);
+      EasyMock.replay(packet);
+
+
+      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
+      try
+      {
+         remotingConnection.sendOneWay(1, 2, packet);
+         fail("should throw exception");
+      }
+      catch (IllegalStateException e)
+      {
+         //pass
+      }
+      EasyMock.verify(connector);
+      EasyMock.verify(connectorRegistry);
+      EasyMock.verify(packet);
+      assertNull(nioSession.getPacketDispatched());
+   }
+
+   public void testConnectionSendOneWayThrowsExceptionOnSessionNoConnected() throws Throwable
+   {
+      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
+      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
+      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
+      {
+         public ConnectorRegistry locate()
+         {
+            return connectorRegistry;
+         }
+      });
+      Location location = EasyMock.createNiceMock(Location.class);
+      ConnectionParams connectionParams = new ConnectionParamsImpl();
+      connectionParams.setCallTimeout(1000);
+      DummyDispatcher dispatcher = new DummyDispatcher();
+      RemotingSession nioSession = EasyMock.createStrictMock(RemotingSession.class);
+      PacketHandler handler = null;
+
+      Packet packet = EasyMock.createStrictMock(Packet.class);
+      EasyMock.expect(nioSession.isConnected()).andReturn(false);
+      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
+      EasyMock.replay(connectorRegistry);
+      EasyMock.expect(connector.connect()).andReturn(nioSession);
+      EasyMock.replay(connector);
+      EasyMock.replay(packet);
+
+
+      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
+      remotingConnection.start();
+      try
+      {
+         remotingConnection.sendOneWay(1, 2, packet);
+         fail("should throw exception");
+      }
+      catch (MessagingException e)
+      {
+         //pass
+      }
+      EasyMock.verify(connector);
+      EasyMock.verify(connectorRegistry);
+      EasyMock.verify(packet);
+   }
+
+   public void testConnectionSendOneWayErrorOnWrite() throws Throwable
+   {
+      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
+      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
+      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
+      {
+         public ConnectorRegistry locate()
+         {
+            return connectorRegistry;
+         }
+      });
+      Location location = EasyMock.createNiceMock(Location.class);
+      ConnectionParams connectionParams = new ConnectionParamsImpl();
+      connectionParams.setCallTimeout(1000);
+      DummyDispatcher dispatcher = new DummyDispatcher();
+      DummySession nioSession = new DummySession(dispatcher, 0, new Exception(), true);
+      PacketHandler handler = null;
+
+      Packet packet = EasyMock.createStrictMock(Packet.class);
+
+      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
+      EasyMock.replay(connectorRegistry);
+      EasyMock.expect(connector.connect()).andReturn(nioSession);
+      EasyMock.replay(connector);
+      packet.setTargetID(1);
+      packet.setExecutorID(2);
+      EasyMock.replay(packet);
+
+
+      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
+      remotingConnection.start();
+      try
+      {
+         remotingConnection.sendOneWay(1, 2, packet);
+         fail("should throw exception");
+      }
+      catch (MessagingException e)
+      {
+         //pass
+      }
+      EasyMock.verify(connector);
+      EasyMock.verify(connectorRegistry);
+      EasyMock.verify(packet);
+      assertNull(nioSession.getPacketDispatched());
+   }
+
+   public void testConnectionSetListener() throws Throwable
+   {
+      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
+      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
+      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
+      {
+         public ConnectorRegistry locate()
+         {
+            return connectorRegistry;
+         }
+      });
+      Location location = EasyMock.createNiceMock(Location.class);
+      ConnectionParams connectionParams = EasyMock.createNiceMock(ConnectionParams.class);
+      RemotingSession remotingSession = EasyMock.createStrictMock(RemotingSession.class);
+      RemotingSessionListener listener = EasyMock.createNiceMock(RemotingSessionListener.class);
+
+      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
+      EasyMock.replay(connectorRegistry);
+      EasyMock.expect(connector.connect()).andReturn(remotingSession);
+      connector.addSessionListener(listener);
+      EasyMock.replay(connector);
+
+      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
+      remotingConnection.start();
+      remotingConnection.addRemotingSessionListener(listener);
+      EasyMock.verify(connector);
+      EasyMock.verify(connectorRegistry);
+   }
+
+   public void testConnectionReSetListener() throws Throwable
+   {
+      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
+      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
+      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
+      {
+         public ConnectorRegistry locate()
+         {
+            return connectorRegistry;
+         }
+      });
+      Location location = EasyMock.createNiceMock(Location.class);
+      ConnectionParams connectionParams = EasyMock.createNiceMock(ConnectionParams.class);
+      RemotingSession remotingSession = EasyMock.createStrictMock(RemotingSession.class);
+      RemotingSessionListener listener = EasyMock.createNiceMock(RemotingSessionListener.class);
+      RemotingSessionListener listener2 = EasyMock.createNiceMock(RemotingSessionListener.class);
+      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
+      EasyMock.replay(connectorRegistry);
+      EasyMock.expect(connector.connect()).andReturn(remotingSession);
+      connector.addSessionListener(listener);
+      connector.removeSessionListener(listener);
+      connector.addSessionListener(listener2);
+      EasyMock.replay(connector);
+
+      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
+      remotingConnection.start();
+      remotingConnection.addRemotingSessionListener(listener);
+      remotingConnection.removeRemotingSessionListener(listener);
+      remotingConnection.addRemotingSessionListener(listener2);
+      EasyMock.verify(connector);
+      EasyMock.verify(connectorRegistry);
+   }
+
+
+   public void testGetDispatcher() throws Throwable
+   {
+      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
+      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
+      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
+      {
+         public ConnectorRegistry locate()
+         {
+            return connectorRegistry;
+         }
+      });
+      Location location = EasyMock.createNiceMock(Location.class);
+      ConnectionParams connectionParams = EasyMock.createNiceMock(ConnectionParams.class);
+      RemotingSession remotingSession = EasyMock.createStrictMock(RemotingSession.class);
+
+      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
+      EasyMock.replay(connectorRegistry);
+      EasyMock.expect(connector.connect()).andReturn(remotingSession);
+      PacketDispatcher packetDispatcher = EasyMock.createNiceMock(PacketDispatcher.class);
+      EasyMock.expect(connector.getDispatcher()).andReturn(packetDispatcher);
+      EasyMock.replay(connector);
+
+      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
+      remotingConnection.start();
+      assertEquals(remotingConnection.getPacketDispatcher(), packetDispatcher);
+      EasyMock.verify(connector);
+      EasyMock.verify(connectorRegistry);
+   }
+
+   public void testGetLocation() throws Throwable
+   {
+      Location location = EasyMock.createNiceMock(Location.class);
+      ConnectionParams connectionParams = EasyMock.createNiceMock(ConnectionParams.class);
+      EasyMock.replay(location, connectionParams);
+
+      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
+      assertEquals(remotingConnection.getLocation(), location);
+      EasyMock.verify(location, connectionParams);
+   }
+   
+   public void testCreateBuffer() throws Throwable
+   {
+      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
+      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
+      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
+      {
+         public ConnectorRegistry locate()
+         {
+            return connectorRegistry;
+         }
+      });
+      Location location = EasyMock.createNiceMock(Location.class);
+      ConnectionParams connectionParams = EasyMock.createNiceMock(ConnectionParams.class);
+      RemotingSession remotingSession = EasyMock.createStrictMock(RemotingSession.class);
+
+      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
+      EasyMock.replay(connectorRegistry);
+      EasyMock.expect(connector.connect()).andReturn(remotingSession);
+      
+      final int size = 120912;      
+      MessagingBuffer buff = EasyMock.createMock(MessagingBuffer.class);
+      EasyMock.expect(connector.createBuffer(size)).andReturn(buff);
+      
+      EasyMock.replay(connector);
+
+      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
+      remotingConnection.start();
+      MessagingBuffer buff2 = remotingConnection.createBuffer(size);
+            
+      EasyMock.verify(connector);
+      EasyMock.verify(connectorRegistry);
+      assertTrue(buff == buff2);
+   }
+
+
+   class DummyDispatcher implements PacketDispatcher
+   {
+      PacketHandler handler = null;
+
+      public void register(PacketHandler handler)
+      {
+         this.handler = handler;
+      }
+
+      public void unregister(long handlerID)
+      {
+         //todo
+      }
+
+      public void setListener(PacketHandlerRegistrationListener listener)
+      {
+         //todo
+      }
+
+      public void dispatch(Packet packet, PacketReturner sender) throws Exception
+      {
+         handler.handle(packet, sender);
+      }
+
+      public void callFilters(Packet packet) throws Exception
+      {
+         //todo
+      }
+
+      public void addInterceptor(Interceptor filter)
+      {
+         //todo
+      }
+
+      public void removeInterceptor(Interceptor filter)
+      {
+         //todo
+      }
+
+      public long generateID()
+      {
+         return 0;
+      }
+   }
+
+   class DummySession implements RemotingSession
+   {
+      PacketDispatcher dispatcher;
+      Packet packetDispatched = null;
+      long timeToReply = 0;
+      Exception exceptionToThrow = null;
+      boolean oneWay = false;
+
+      public DummySession(PacketDispatcher dispatcher, long timeToReply, Exception toThrow, boolean oneWay)
+      {
+         this.dispatcher = dispatcher;
+         this.timeToReply = timeToReply;
+         exceptionToThrow = toThrow;
+         this.oneWay = oneWay;
+      }
+
+      public Packet getPacketDispatched()
+      {
+         return packetDispatched;
+      }
+
+      public long getID()
+      {
+         return 0;
+      }
+
+      public void write(final Packet packet) throws Exception
+      {
+         if (exceptionToThrow != null)
+         {
+            throw exceptionToThrow;
+         }
+         else if (!oneWay)
+         {
+            new Thread(new Runnable()
+            {
+               public void run()
+               {
+                  try
+                  {
+                     Thread.sleep(timeToReply);
+                  }
+                  catch (InterruptedException e)
+                  {
+                     e.printStackTrace();
+                  }
+                  packetDispatched = packet;
+                  try
+                  {
+                     dispatcher.dispatch(packet, null);
+                  }
+                  catch (Exception e)
+                  {
+                     e.printStackTrace();
+                  }
+               }
+            }).start();
+         }
+      }
+
+      public boolean isConnected()
+      {
+         return true;
+      }
+   }
+}

Deleted: trunk/tests/src/org/jboss/messaging/tests/unit/core/remoting/impl/RemotingConnectionTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/remoting/impl/RemotingConnectionTest.java	2008-07-07 12:19:15 UTC (rev 4642)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/remoting/impl/RemotingConnectionTest.java	2008-07-07 12:29:53 UTC (rev 4643)
@@ -1,968 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005-2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-package org.jboss.messaging.tests.unit.core.remoting.impl;
-
-import org.easymock.EasyMock;
-import org.jboss.messaging.core.client.ConnectionParams;
-import org.jboss.messaging.core.client.Location;
-import org.jboss.messaging.core.client.RemotingSessionListener;
-import org.jboss.messaging.core.client.impl.ConnectionParamsImpl;
-import org.jboss.messaging.core.exception.MessagingException;
-import org.jboss.messaging.core.remoting.ConnectorRegistry;
-import org.jboss.messaging.core.remoting.ConnectorRegistryFactory;
-import org.jboss.messaging.core.remoting.ConnectorRegistryLocator;
-import org.jboss.messaging.core.remoting.Interceptor;
-import org.jboss.messaging.core.remoting.Packet;
-import org.jboss.messaging.core.remoting.PacketDispatcher;
-import org.jboss.messaging.core.remoting.PacketHandler;
-import org.jboss.messaging.core.remoting.PacketHandlerRegistrationListener;
-import org.jboss.messaging.core.remoting.PacketReturner;
-import org.jboss.messaging.core.remoting.RemotingConnector;
-import org.jboss.messaging.core.remoting.RemotingSession;
-import org.jboss.messaging.core.remoting.impl.RemotingConnectionImpl;
-import org.jboss.messaging.core.remoting.impl.wireformat.MessagingExceptionMessage;
-import org.jboss.messaging.tests.util.UnitTestCase;
-import org.jboss.messaging.util.MessagingBuffer;
-
-/**
- * @author <a href="ataylor at redhat.com">Andy Taylor</a>
- * @author <a href="tim.fox at jboss.com">Tim Fox</a>
- */
-public class RemotingConnectionTest extends UnitTestCase
-{
-   protected void tearDown() throws Exception
-   {
-      super.tearDown();
-      ConnectorRegistryFactory.setRegisteryLocator(null);
-   }
-
-   public void testNullLocationThrowsException()
-   {
-      ConnectionParams connectionParams = EasyMock.createNiceMock(ConnectionParams.class);
-      try
-      {
-         new RemotingConnectionImpl(null, connectionParams);
-         fail("should throw exception");
-      }
-      catch (IllegalArgumentException e)
-      {
-         //pass
-      }
-   }
-
-   public void testNullConnectionParamsThrowsException()
-   {
-      Location location = EasyMock.createNiceMock(Location.class);
-      try
-      {
-         new RemotingConnectionImpl(location, null);
-         fail("should throw exception");
-      }
-      catch (IllegalArgumentException e)
-      {
-         //pass
-      }
-   }
-
-   public void testConnectionStarted() throws Throwable
-   {
-      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
-      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
-      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
-      {
-         public ConnectorRegistry locate()
-         {
-            return connectorRegistry;
-         }
-      });
-      Location location = EasyMock.createNiceMock(Location.class);
-      ConnectionParams connectionParams = EasyMock.createNiceMock(ConnectionParams.class);
-      RemotingSession remotingSession = EasyMock.createStrictMock(RemotingSession.class);
-
-      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
-      EasyMock.replay(connectorRegistry);
-      EasyMock.expect(connector.connect()).andReturn(remotingSession);
-      EasyMock.replay(connector);
-
-      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
-      remotingConnection.start();
-      EasyMock.verify(connector);
-      EasyMock.verify(connectorRegistry);
-   }
-
-   public void testConnectionStartedAndStopped() throws Throwable
-   {
-      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
-      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
-      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
-      {
-         public ConnectorRegistry locate()
-         {
-            return connectorRegistry;
-         }
-      });
-      Location location = EasyMock.createNiceMock(Location.class);
-      ConnectionParams connectionParams = EasyMock.createNiceMock(ConnectionParams.class);
-      RemotingSession remotingSession = EasyMock.createStrictMock(RemotingSession.class);
-
-      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
-      EasyMock.expect(connectorRegistry.removeConnector(location)).andReturn(connector);
-      EasyMock.replay(connectorRegistry);
-      EasyMock.expect(connector.connect()).andReturn(remotingSession);
-      EasyMock.expect(connector.disconnect()).andReturn(true);
-      EasyMock.replay(connector);
-
-      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
-      remotingConnection.start();
-      remotingConnection.stop();
-      EasyMock.verify(connector);
-      EasyMock.verify(connectorRegistry);
-      assertEquals(-1, remotingConnection.getSessionID());
-
-   }
-
-   public void testConnectionListenerRemovedOnStop() throws Throwable
-   {
-      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
-      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
-      RemotingSessionListener listener = EasyMock.createNiceMock(RemotingSessionListener.class);
-      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
-      {
-         public ConnectorRegistry locate()
-         {
-            return connectorRegistry;
-         }
-      });
-      Location location = EasyMock.createNiceMock(Location.class);
-      ConnectionParams connectionParams = EasyMock.createNiceMock(ConnectionParams.class);
-      RemotingSession remotingSession = EasyMock.createStrictMock(RemotingSession.class);
-
-      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
-      EasyMock.expect(connectorRegistry.removeConnector(location)).andReturn(connector);
-      EasyMock.replay(connectorRegistry);
-      EasyMock.expect(connector.connect()).andReturn(remotingSession);
-      connector.addSessionListener(listener);
-      connector.removeSessionListener(listener);
-      EasyMock.expect(connector.disconnect()).andReturn(true);
-      EasyMock.replay(connector);
-
-      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
-      remotingConnection.start();
-      remotingConnection.addRemotingSessionListener(listener);
-      remotingConnection.stop();
-      EasyMock.verify(connector);
-      EasyMock.verify(connectorRegistry);
-      assertEquals(-1, remotingConnection.getSessionID());
-
-   }
-
-   public void testConnectionGetSessionId() throws Throwable
-   {
-      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
-      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
-      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
-      {
-         public ConnectorRegistry locate()
-         {
-            return connectorRegistry;
-         }
-      });
-      Location location = EasyMock.createNiceMock(Location.class);
-      ConnectionParams connectionParams = EasyMock.createNiceMock(ConnectionParams.class);
-      RemotingSession remotingSession = EasyMock.createStrictMock(RemotingSession.class);
-
-      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
-      EasyMock.replay(connectorRegistry);
-      EasyMock.expect(connector.connect()).andReturn(remotingSession);
-      EasyMock.replay(connector);
-      EasyMock.expect(remotingSession.isConnected()).andReturn(true);
-      EasyMock.expect(remotingSession.getID()).andReturn((123l));
-      EasyMock.replay(remotingSession);
-
-      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
-      remotingConnection.start();
-      assertEquals(123l, remotingConnection.getSessionID());
-
-      EasyMock.verify(connector);
-      EasyMock.verify(connectorRegistry);
-      EasyMock.verify(remotingSession);
-   }
-
-   public void testConnectionGetSessionIdDisconnected() throws Throwable
-   {
-      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
-      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
-      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
-      {
-         public ConnectorRegistry locate()
-         {
-            return connectorRegistry;
-         }
-      });
-      Location location = EasyMock.createNiceMock(Location.class);
-      ConnectionParams connectionParams = EasyMock.createNiceMock(ConnectionParams.class);
-      RemotingSession remotingSession = EasyMock.createStrictMock(RemotingSession.class);
-
-      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
-      EasyMock.replay(connectorRegistry);
-      EasyMock.expect(connector.connect()).andReturn(remotingSession);
-      EasyMock.replay(connector);
-      EasyMock.expect(remotingSession.isConnected()).andReturn(false);
-      //EasyMock.expect(nioSession.getID()).andReturn((123l));
-      EasyMock.replay(remotingSession);
-
-      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
-      remotingConnection.start();
-      assertEquals(-1, remotingConnection.getSessionID());
-
-      EasyMock.verify(connector);
-      EasyMock.verify(connectorRegistry);
-      EasyMock.verify(remotingSession);
-   }
-
-   public void testConnectionGetSessionIdStopped() throws Throwable
-   {
-      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
-      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
-      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
-      {
-         public ConnectorRegistry locate()
-         {
-            return connectorRegistry;
-         }
-      });
-      Location location = EasyMock.createNiceMock(Location.class);
-      ConnectionParams connectionParams = EasyMock.createNiceMock(ConnectionParams.class);
-      RemotingSession remotingSession = EasyMock.createStrictMock(RemotingSession.class);
-
-      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
-      EasyMock.replay(connectorRegistry);
-      EasyMock.expect(connector.connect()).andReturn(remotingSession);
-      EasyMock.replay(connector);
-      EasyMock.expect(remotingSession.isConnected()).andReturn(true);
-      EasyMock.expect(remotingSession.getID()).andReturn((123l));
-      EasyMock.replay(remotingSession);
-
-      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
-      remotingConnection.start();
-      remotingConnection.stop();
-      assertEquals(123l, remotingConnection.getSessionID());
-
-      EasyMock.verify(connector);
-      EasyMock.verify(connectorRegistry);
-      EasyMock.verify(remotingSession);
-   }
-
-   public void testConnectionSendBlocking() throws Throwable
-   {
-      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
-      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
-      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
-      {
-         public ConnectorRegistry locate()
-         {
-            return connectorRegistry;
-         }
-      });
-      Location location = EasyMock.createNiceMock(Location.class);
-      ConnectionParams connectionParams = new ConnectionParamsImpl();
-      connectionParams.setCallTimeout(1000);
-      DummyDispatcher dispatcher = new DummyDispatcher();
-      DummySession nioSession = new DummySession(dispatcher, 0, null, false);
-      PacketHandler handler = null;
-
-      Packet packet = EasyMock.createStrictMock(Packet.class);
-
-      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
-      EasyMock.replay(connectorRegistry);
-      EasyMock.expect(connector.connect()).andReturn(nioSession);
-      EasyMock.expect(connector.getDispatcher()).andReturn(dispatcher);
-      EasyMock.expect(connector.getDispatcher()).andReturn(dispatcher);
-      EasyMock.expect(connector.getDispatcher()).andReturn(dispatcher);
-      EasyMock.replay(connector);
-      packet.setTargetID(1);
-      packet.setExecutorID(2);
-      packet.setResponseTargetID(0);
-      EasyMock.replay(packet);
-
-
-      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
-      remotingConnection.start();
-      remotingConnection.sendBlocking(1, 2, packet);
-      EasyMock.verify(connector);
-      EasyMock.verify(connectorRegistry);
-      EasyMock.verify(packet);
-      assertNotNull(nioSession.getPacketDispatched());
-   }
-
-   public void testConnectionSendBlockingThrowsExceptionIfSessionNull() throws Throwable
-   {
-      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
-      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
-      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
-      {
-         public ConnectorRegistry locate()
-         {
-            return connectorRegistry;
-         }
-      });
-      Location location = EasyMock.createNiceMock(Location.class);
-      ConnectionParams connectionParams = new ConnectionParamsImpl();
-      connectionParams.setCallTimeout(1000);
-      DummyDispatcher dispatcher = new DummyDispatcher();
-      DummySession nioSession = new DummySession(dispatcher, 0, null, false);
-      PacketHandler handler = null;
-
-      Packet packet = EasyMock.createStrictMock(Packet.class);
-
-      //EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
-      EasyMock.replay(connectorRegistry);
-      EasyMock.expect(connector.getDispatcher()).andReturn(dispatcher).anyTimes();
-      EasyMock.replay(connector);
-      //packet.setTargetID(1);
-      //packet.setExecutorID(2);
-      // packet.setResponseTargetID(0);
-      EasyMock.replay(packet);
-
-
-      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
-      try
-      {
-         remotingConnection.sendBlocking(1, 2, packet);
-         fail("should throw exception");
-      }
-      catch (IllegalStateException e)
-      {
-         //pass
-      }
-      EasyMock.verify(connector);
-      EasyMock.verify(connectorRegistry);
-      EasyMock.verify(packet);
-      assertNull(nioSession.getPacketDispatched());
-   }
-
-   public void testConnectionSendBlockingThrowsExceptionWhenSessionNotConnected() throws Throwable
-   {
-      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
-      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
-      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
-      {
-         public ConnectorRegistry locate()
-         {
-            return connectorRegistry;
-         }
-      });
-      Location location = EasyMock.createNiceMock(Location.class);
-      ConnectionParams connectionParams = new ConnectionParamsImpl();
-      connectionParams.setCallTimeout(1000);
-      DummyDispatcher dispatcher = new DummyDispatcher();
-      RemotingSession nioSession = EasyMock.createStrictMock(RemotingSession.class);
-      PacketHandler handler = null;
-
-      Packet packet = EasyMock.createStrictMock(Packet.class);
-      EasyMock.expect(nioSession.isConnected()).andReturn(false);
-      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
-      EasyMock.replay(connectorRegistry);
-      EasyMock.expect(connector.connect()).andReturn(nioSession);
-      EasyMock.replay(connector, nioSession);
-      EasyMock.replay(packet);
-
-
-      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
-      remotingConnection.start();
-      try
-      {
-         remotingConnection.sendBlocking(1, 2, packet);
-         fail("should throw exception");
-      }
-      catch (MessagingException e)
-      {
-         //pass
-      }
-      EasyMock.verify(connector, connectorRegistry, packet, nioSession);
-   }
-
-   public void testConnectionSendBlockingThrowsMessagingException() throws Throwable
-   {
-      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
-      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
-      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
-      {
-         public ConnectorRegistry locate()
-         {
-            return connectorRegistry;
-         }
-      });
-      Location location = EasyMock.createNiceMock(Location.class);
-      ConnectionParams connectionParams = new ConnectionParamsImpl();
-      connectionParams.setCallTimeout(1000);
-      DummyDispatcher dispatcher = new DummyDispatcher();
-      DummySession nioSession = new DummySession(dispatcher, 0, null, false);
-      PacketHandler handler = null;
-
-      MessagingExceptionMessage packet = new MessagingExceptionMessage(new MessagingException());
-
-      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
-      EasyMock.replay(connectorRegistry);
-      EasyMock.expect(connector.connect()).andReturn(nioSession);
-      EasyMock.expect(connector.getDispatcher()).andReturn(dispatcher);
-      EasyMock.expect(connector.getDispatcher()).andReturn(dispatcher);
-      EasyMock.expect(connector.getDispatcher()).andReturn(dispatcher);
-      EasyMock.replay(connector);
-      packet.setTargetID(1);
-      packet.setExecutorID(2);
-      packet.setResponseTargetID(0);
-
-
-      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
-      remotingConnection.start();
-      try
-      {
-         remotingConnection.sendBlocking(1, 2, packet);
-         fail("should throw exception");
-      }
-      catch (MessagingException e)
-      {
-         //pass
-      }
-      EasyMock.verify(connector);
-      EasyMock.verify(connectorRegistry);
-      assertNotNull(nioSession.getPacketDispatched());
-   }
-
-   public void testConnectionSendBlockingWithTimeout() throws Throwable
-   {
-      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
-      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
-      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
-      {
-         public ConnectorRegistry locate()
-         {
-            return connectorRegistry;
-         }
-      });
-      Location location = EasyMock.createNiceMock(Location.class);
-      ConnectionParams connectionParams = new ConnectionParamsImpl();
-      connectionParams.setCallTimeout(1000);
-      DummyDispatcher dispatcher = new DummyDispatcher();
-      DummySession nioSession = new DummySession(dispatcher, 2000, null, false);
-      PacketHandler handler = null;
-
-      Packet packet = EasyMock.createStrictMock(Packet.class);
-
-      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
-      EasyMock.replay(connectorRegistry);
-      EasyMock.expect(connector.connect()).andReturn(nioSession);
-      EasyMock.expect(connector.getDispatcher()).andReturn(dispatcher);
-      EasyMock.expect(connector.getDispatcher()).andReturn(dispatcher);
-      EasyMock.expect(connector.getDispatcher()).andReturn(dispatcher);
-      EasyMock.replay(connector);
-      packet.setTargetID(1);
-      packet.setExecutorID(2);
-      packet.setResponseTargetID(0);
-      EasyMock.replay(packet);
-
-      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
-      remotingConnection.start();
-      try
-      {
-         remotingConnection.sendBlocking(1, 2, packet);
-         fail("should have timed out");
-      }
-      catch (IllegalStateException e)
-      {
-         //pass
-      }
-      EasyMock.verify(connector);
-      EasyMock.verify(connectorRegistry);
-      EasyMock.verify(packet);
-      assertNull(nioSession.getPacketDispatched());
-   }
-
-   public void testConnectionSendBlockingErrorOnWrite() throws Throwable
-   {
-      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
-      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
-      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
-      {
-         public ConnectorRegistry locate()
-         {
-            return connectorRegistry;
-         }
-      });
-      Location location = EasyMock.createNiceMock(Location.class);
-      ConnectionParams connectionParams = new ConnectionParamsImpl();
-      connectionParams.setCallTimeout(1000);
-      DummyDispatcher dispatcher = new DummyDispatcher();
-      DummySession nioSession = new DummySession(dispatcher, 0, new Exception(), false);
-      PacketHandler handler = null;
-
-      Packet packet = EasyMock.createStrictMock(Packet.class);
-
-      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
-      EasyMock.replay(connectorRegistry);
-      EasyMock.expect(connector.connect()).andReturn(nioSession);
-      EasyMock.expect(connector.getDispatcher()).andReturn(dispatcher);
-      EasyMock.expect(connector.getDispatcher()).andReturn(dispatcher);
-      EasyMock.expect(connector.getDispatcher()).andReturn(dispatcher);
-      EasyMock.replay(connector);
-      packet.setTargetID(1);
-      packet.setExecutorID(2);
-      packet.setResponseTargetID(0);
-      EasyMock.replay(packet);
-
-
-      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
-      remotingConnection.start();
-      try
-      {
-         remotingConnection.sendBlocking(1, 2, packet);
-         fail("should throw exception");
-      }
-      catch (MessagingException e)
-      {
-         //pass
-      }
-      EasyMock.verify(connector);
-      EasyMock.verify(connectorRegistry);
-      EasyMock.verify(packet);
-      assertNull(nioSession.getPacketDispatched());
-   }
-
-   public void testConnectionSendOneWay() throws Throwable
-   {
-      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
-      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
-      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
-      {
-         public ConnectorRegistry locate()
-         {
-            return connectorRegistry;
-         }
-      });
-      Location location = EasyMock.createNiceMock(Location.class);
-      ConnectionParams connectionParams = new ConnectionParamsImpl();
-      connectionParams.setCallTimeout(1000);
-      DummyDispatcher dispatcher = new DummyDispatcher();
-      DummySession nioSession = new DummySession(dispatcher, 0, null, true);
-      PacketHandler handler = null;
-
-      Packet packet = EasyMock.createStrictMock(Packet.class);
-
-      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
-      EasyMock.replay(connectorRegistry);
-      EasyMock.expect(connector.connect()).andReturn(nioSession);
-      EasyMock.replay(connector);
-      packet.setTargetID(1);
-      packet.setExecutorID(2);
-      EasyMock.replay(packet);
-
-
-      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
-      remotingConnection.start();
-      remotingConnection.sendOneWay(1, 2, packet);
-      EasyMock.verify(connector);
-      EasyMock.verify(connectorRegistry);
-      EasyMock.verify(packet);
-      assertNull(nioSession.getPacketDispatched());
-   }
-
-   public void testConnectionSendOneWayThrowsExceptionOnNullSession() throws Throwable
-   {
-      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
-      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
-      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
-      {
-         public ConnectorRegistry locate()
-         {
-            return connectorRegistry;
-         }
-      });
-      Location location = EasyMock.createNiceMock(Location.class);
-      ConnectionParams connectionParams = new ConnectionParamsImpl();
-      connectionParams.setCallTimeout(1000);
-      DummyDispatcher dispatcher = new DummyDispatcher();
-      DummySession nioSession = new DummySession(dispatcher, 0, null, true);
-      PacketHandler handler = null;
-
-      Packet packet = EasyMock.createStrictMock(Packet.class);
-
-      EasyMock.replay(connectorRegistry);
-      EasyMock.replay(connector);
-      EasyMock.replay(packet);
-
-
-      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
-      try
-      {
-         remotingConnection.sendOneWay(1, 2, packet);
-         fail("should throw exception");
-      }
-      catch (IllegalStateException e)
-      {
-         //pass
-      }
-      EasyMock.verify(connector);
-      EasyMock.verify(connectorRegistry);
-      EasyMock.verify(packet);
-      assertNull(nioSession.getPacketDispatched());
-   }
-
-   public void testConnectionSendOneWayThrowsExceptionOnSessionNoConnected() throws Throwable
-   {
-      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
-      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
-      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
-      {
-         public ConnectorRegistry locate()
-         {
-            return connectorRegistry;
-         }
-      });
-      Location location = EasyMock.createNiceMock(Location.class);
-      ConnectionParams connectionParams = new ConnectionParamsImpl();
-      connectionParams.setCallTimeout(1000);
-      DummyDispatcher dispatcher = new DummyDispatcher();
-      RemotingSession nioSession = EasyMock.createStrictMock(RemotingSession.class);
-      PacketHandler handler = null;
-
-      Packet packet = EasyMock.createStrictMock(Packet.class);
-      EasyMock.expect(nioSession.isConnected()).andReturn(false);
-      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
-      EasyMock.replay(connectorRegistry);
-      EasyMock.expect(connector.connect()).andReturn(nioSession);
-      EasyMock.replay(connector);
-      EasyMock.replay(packet);
-
-
-      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
-      remotingConnection.start();
-      try
-      {
-         remotingConnection.sendOneWay(1, 2, packet);
-         fail("should throw exception");
-      }
-      catch (MessagingException e)
-      {
-         //pass
-      }
-      EasyMock.verify(connector);
-      EasyMock.verify(connectorRegistry);
-      EasyMock.verify(packet);
-   }
-
-   public void testConnectionSendOneWayErrorOnWrite() throws Throwable
-   {
-      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
-      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
-      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
-      {
-         public ConnectorRegistry locate()
-         {
-            return connectorRegistry;
-         }
-      });
-      Location location = EasyMock.createNiceMock(Location.class);
-      ConnectionParams connectionParams = new ConnectionParamsImpl();
-      connectionParams.setCallTimeout(1000);
-      DummyDispatcher dispatcher = new DummyDispatcher();
-      DummySession nioSession = new DummySession(dispatcher, 0, new Exception(), true);
-      PacketHandler handler = null;
-
-      Packet packet = EasyMock.createStrictMock(Packet.class);
-
-      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
-      EasyMock.replay(connectorRegistry);
-      EasyMock.expect(connector.connect()).andReturn(nioSession);
-      EasyMock.replay(connector);
-      packet.setTargetID(1);
-      packet.setExecutorID(2);
-      EasyMock.replay(packet);
-
-
-      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
-      remotingConnection.start();
-      try
-      {
-         remotingConnection.sendOneWay(1, 2, packet);
-         fail("should throw exception");
-      }
-      catch (MessagingException e)
-      {
-         //pass
-      }
-      EasyMock.verify(connector);
-      EasyMock.verify(connectorRegistry);
-      EasyMock.verify(packet);
-      assertNull(nioSession.getPacketDispatched());
-   }
-
-   public void testConnectionSetListener() throws Throwable
-   {
-      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
-      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
-      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
-      {
-         public ConnectorRegistry locate()
-         {
-            return connectorRegistry;
-         }
-      });
-      Location location = EasyMock.createNiceMock(Location.class);
-      ConnectionParams connectionParams = EasyMock.createNiceMock(ConnectionParams.class);
-      RemotingSession remotingSession = EasyMock.createStrictMock(RemotingSession.class);
-      RemotingSessionListener listener = EasyMock.createNiceMock(RemotingSessionListener.class);
-
-      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
-      EasyMock.replay(connectorRegistry);
-      EasyMock.expect(connector.connect()).andReturn(remotingSession);
-      connector.addSessionListener(listener);
-      EasyMock.replay(connector);
-
-      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
-      remotingConnection.start();
-      remotingConnection.addRemotingSessionListener(listener);
-      EasyMock.verify(connector);
-      EasyMock.verify(connectorRegistry);
-   }
-
-   public void testConnectionReSetListener() throws Throwable
-   {
-      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
-      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
-      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
-      {
-         public ConnectorRegistry locate()
-         {
-            return connectorRegistry;
-         }
-      });
-      Location location = EasyMock.createNiceMock(Location.class);
-      ConnectionParams connectionParams = EasyMock.createNiceMock(ConnectionParams.class);
-      RemotingSession remotingSession = EasyMock.createStrictMock(RemotingSession.class);
-      RemotingSessionListener listener = EasyMock.createNiceMock(RemotingSessionListener.class);
-      RemotingSessionListener listener2 = EasyMock.createNiceMock(RemotingSessionListener.class);
-      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
-      EasyMock.replay(connectorRegistry);
-      EasyMock.expect(connector.connect()).andReturn(remotingSession);
-      connector.addSessionListener(listener);
-      connector.removeSessionListener(listener);
-      connector.addSessionListener(listener2);
-      EasyMock.replay(connector);
-
-      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
-      remotingConnection.start();
-      remotingConnection.addRemotingSessionListener(listener);
-      remotingConnection.removeRemotingSessionListener(listener);
-      remotingConnection.addRemotingSessionListener(listener2);
-      EasyMock.verify(connector);
-      EasyMock.verify(connectorRegistry);
-   }
-
-
-   public void testGetDispatcher() throws Throwable
-   {
-      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
-      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
-      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
-      {
-         public ConnectorRegistry locate()
-         {
-            return connectorRegistry;
-         }
-      });
-      Location location = EasyMock.createNiceMock(Location.class);
-      ConnectionParams connectionParams = EasyMock.createNiceMock(ConnectionParams.class);
-      RemotingSession remotingSession = EasyMock.createStrictMock(RemotingSession.class);
-
-      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
-      EasyMock.replay(connectorRegistry);
-      EasyMock.expect(connector.connect()).andReturn(remotingSession);
-      PacketDispatcher packetDispatcher = EasyMock.createNiceMock(PacketDispatcher.class);
-      EasyMock.expect(connector.getDispatcher()).andReturn(packetDispatcher);
-      EasyMock.replay(connector);
-
-      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
-      remotingConnection.start();
-      assertEquals(remotingConnection.getPacketDispatcher(), packetDispatcher);
-      EasyMock.verify(connector);
-      EasyMock.verify(connectorRegistry);
-   }
-
-   public void testGetLocation() throws Throwable
-   {
-      Location location = EasyMock.createNiceMock(Location.class);
-      ConnectionParams connectionParams = EasyMock.createNiceMock(ConnectionParams.class);
-      EasyMock.replay(location, connectionParams);
-
-      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
-      assertEquals(remotingConnection.getLocation(), location);
-      EasyMock.verify(location, connectionParams);
-   }
-   
-   public void testCreateBuffer() throws Throwable
-   {
-      final ConnectorRegistry connectorRegistry = EasyMock.createStrictMock(ConnectorRegistry.class);
-      RemotingConnector connector = EasyMock.createStrictMock(RemotingConnector.class);
-      ConnectorRegistryFactory.setRegisteryLocator(new ConnectorRegistryLocator()
-      {
-         public ConnectorRegistry locate()
-         {
-            return connectorRegistry;
-         }
-      });
-      Location location = EasyMock.createNiceMock(Location.class);
-      ConnectionParams connectionParams = EasyMock.createNiceMock(ConnectionParams.class);
-      RemotingSession remotingSession = EasyMock.createStrictMock(RemotingSession.class);
-
-      EasyMock.expect(connectorRegistry.getConnector(location, connectionParams)).andReturn(connector);
-      EasyMock.replay(connectorRegistry);
-      EasyMock.expect(connector.connect()).andReturn(remotingSession);
-      
-      final int size = 120912;      
-      MessagingBuffer buff = EasyMock.createMock(MessagingBuffer.class);
-      EasyMock.expect(connector.createBuffer(size)).andReturn(buff);
-      
-      EasyMock.replay(connector);
-
-      RemotingConnectionImpl remotingConnection = new RemotingConnectionImpl(location, connectionParams);
-      remotingConnection.start();
-      MessagingBuffer buff2 = remotingConnection.createBuffer(size);
-            
-      EasyMock.verify(connector);
-      EasyMock.verify(connectorRegistry);
-      assertTrue(buff == buff2);
-   }
-
-
-   class DummyDispatcher implements PacketDispatcher
-   {
-      PacketHandler handler = null;
-
-      public void register(PacketHandler handler)
-      {
-         this.handler = handler;
-      }
-
-      public void unregister(long handlerID)
-      {
-         //todo
-      }
-
-      public void setListener(PacketHandlerRegistrationListener listener)
-      {
-         //todo
-      }
-
-      public void dispatch(Packet packet, PacketReturner sender) throws Exception
-      {
-         handler.handle(packet, sender);
-      }
-
-      public void callFilters(Packet packet) throws Exception
-      {
-         //todo
-      }
-
-      public void addInterceptor(Interceptor filter)
-      {
-         //todo
-      }
-
-      public void removeInterceptor(Interceptor filter)
-      {
-         //todo
-      }
-
-      public long generateID()
-      {
-         return 0;
-      }
-   }
-
-   class DummySession implements RemotingSession
-   {
-      PacketDispatcher dispatcher;
-      Packet packetDispatched = null;
-      long timeToReply = 0;
-      Exception exceptionToThrow = null;
-      boolean oneWay = false;
-
-      public DummySession(PacketDispatcher dispatcher, long timeToReply, Exception toThrow, boolean oneWay)
-      {
-         this.dispatcher = dispatcher;
-         this.timeToReply = timeToReply;
-         exceptionToThrow = toThrow;
-         this.oneWay = oneWay;
-      }
-
-      public Packet getPacketDispatched()
-      {
-         return packetDispatched;
-      }
-
-      public long getID()
-      {
-         return 0;
-      }
-
-      public void write(final Packet packet) throws Exception
-      {
-         if (exceptionToThrow != null)
-         {
-            throw exceptionToThrow;
-         }
-         else if (!oneWay)
-         {
-            new Thread(new Runnable()
-            {
-               public void run()
-               {
-                  try
-                  {
-                     Thread.sleep(timeToReply);
-                  }
-                  catch (InterruptedException e)
-                  {
-                     e.printStackTrace();
-                  }
-                  packetDispatched = packet;
-                  try
-                  {
-                     dispatcher.dispatch(packet, null);
-                  }
-                  catch (Exception e)
-                  {
-                     e.printStackTrace();
-                  }
-               }
-            }).start();
-         }
-      }
-
-      public boolean isConnected()
-      {
-         return true;
-      }
-   }
-}

Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/remoting/impl/RemotingServiceImplTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/remoting/impl/RemotingServiceImplTest.java	2008-07-07 12:19:15 UTC (rev 4642)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/remoting/impl/RemotingServiceImplTest.java	2008-07-07 12:29:53 UTC (rev 4643)
@@ -29,8 +29,6 @@
 import org.jboss.messaging.core.exception.MessagingException;
 import org.jboss.messaging.core.remoting.*;
 import org.jboss.messaging.core.remoting.impl.RemotingServiceImpl;
-import org.jboss.messaging.core.remoting.impl.wireformat.Ping;
-import org.jboss.messaging.core.remoting.impl.wireformat.Pong;
 import org.jboss.messaging.tests.util.UnitTestCase;
 
 import java.util.ArrayList;
@@ -302,55 +300,7 @@
       EasyMock.verify(interceptor, interceptor2, interceptor3);
    }
 
-   public void testPingerAddedAndCalled()
-   {
-      ConfigurationImpl config = new ConfigurationImpl();
-      config.setTransport(TransportType.INVM);
-      config.getConnectionParams().setPingInterval(100);
-      RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
-      DummySession dummySession = new DummySession(remotingService.getDispatcher());
-      remotingService.registerPinger(dummySession);
-      try
-      {
-         Thread.sleep(1100);
-      }
-      catch (InterruptedException e)
-      {
-         e.printStackTrace();
-      }
-      assertTrue(remotingService.isSession(1l));
-      remotingService.unregisterPinger(1l);
-      assertTrue(dummySession.count > 10);
-   }
 
-   public void testPingerAddedAndRemoved()
-   {
-      ConfigurationImpl config = new ConfigurationImpl();
-      config.setTransport(TransportType.INVM);
-      config.getConnectionParams().setPingInterval(100);
-      RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
-      DummySession dummySession = new DummySession(remotingService.getDispatcher());
-      remotingService.registerPinger(dummySession);
-      try
-      {
-         Thread.sleep(1100);
-      }
-      catch (InterruptedException e)
-      {
-         e.printStackTrace();
-      }
-      remotingService.unregisterPinger(1l);
-      int count = dummySession.count;
-      try
-      {
-         Thread.sleep(config.getConnectionParams().getPingInterval() + 2);
-      }
-      catch (InterruptedException e)
-      {
-         e.printStackTrace();
-      }
-      assertEquals(count, dummySession.count);
-   }
 
    public void testListenerAdded()
    {
@@ -436,35 +386,5 @@
       EasyMock.verify(listener, listener2, listener3);
    }
 
-   class DummySession implements RemotingSession
-   {
-      PacketDispatcher dispatcher;
-      int count = 0;
 
-      public DummySession(PacketDispatcher dispatcher)
-      {
-         this.dispatcher = dispatcher;
-      }
-
-      public long getID()
-      {
-         return 1;
-      }
-
-      public void write(Packet packet) throws Exception
-      {
-         count++;
-         Ping ping = (Ping) packet;
-
-         Pong pong = new Pong(ping.getSessionID(), false);
-         pong.setTargetID(1);
-         dispatcher.dispatch(pong, null);
-
-      }
-
-      public boolean isConnected()
-      {
-         return true;
-      }
-   }
 }




More information about the jboss-cvs-commits mailing list