[jboss-cvs] JBoss Messaging SVN: r3532 - in trunk: tests/src/org/jboss/messaging/core/remoting/test/unit and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Jan 4 08:31:38 EST 2008
Author: jmesnil
Date: 2008-01-04 08:31:37 -0500 (Fri, 04 Jan 2008)
New Revision: 3532
Added:
trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/PacketDispatcherTest.java
Modified:
trunk/src/main/org/jboss/messaging/core/remoting/PacketDispatcher.java
Log:
* added unit tests for PacketDispatcher
Modified: trunk/src/main/org/jboss/messaging/core/remoting/PacketDispatcher.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/PacketDispatcher.java 2008-01-04 12:49:02 UTC (rev 3531)
+++ trunk/src/main/org/jboss/messaging/core/remoting/PacketDispatcher.java 2008-01-04 13:31:37 UTC (rev 3532)
@@ -37,7 +37,7 @@
// Constructors --------------------------------------------------
- private PacketDispatcher()
+ public PacketDispatcher()
{
handlers = new ConcurrentHashMap<String, PacketHandler>();
}
Added: trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/PacketDispatcherTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/PacketDispatcherTest.java (rev 0)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/PacketDispatcherTest.java 2008-01-04 13:31:37 UTC (rev 3532)
@@ -0,0 +1,123 @@
+/*
+ * JBoss, Home of Professional Open Source
+ *
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+package org.jboss.messaging.core.remoting.test.unit;
+
+import static java.util.UUID.randomUUID;
+import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.expectLastCall;
+import static org.easymock.EasyMock.replay;
+import static org.easymock.EasyMock.verify;
+import junit.framework.TestCase;
+
+import org.jboss.messaging.core.remoting.PacketDispatcher;
+import org.jboss.messaging.core.remoting.PacketHandler;
+import org.jboss.messaging.core.remoting.PacketSender;
+import org.jboss.messaging.core.remoting.wireformat.TextPacket;
+
+/**
+ * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
+ *
+ * @version <tt>$Revision$</tt>
+ *
+ */
+public class PacketDispatcherTest extends TestCase
+{
+ // Constants -----------------------------------------------------
+
+ // Attributes ----------------------------------------------------
+
+ PacketDispatcher dispatcher;
+
+ // Static --------------------------------------------------------
+
+ // Constructors --------------------------------------------------
+
+ // Public --------------------------------------------------------
+
+ // TestCase overrides --------------------------------------------
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ dispatcher = new PacketDispatcher();
+ }
+
+ @Override
+ protected void tearDown() throws Exception
+ {
+ dispatcher = null;
+ }
+
+ public void testUnregisterAnUnregisteredHandlerReturnsNull() throws Exception
+ {
+ PacketHandler handler = createMock(PacketHandler.class);
+ String id = randomUUID().toString();
+
+ replay(handler);
+
+ dispatcher.unregister(id);
+ assertNull(dispatcher.getHandler(id));
+
+ verify(handler);
+ }
+
+ public void testRegisterAndUnregisterValidHandler() throws Exception
+ {
+ PacketHandler handler = createMock(PacketHandler.class);
+ String id = randomUUID().toString();
+ expect(handler.getID()).andReturn(id).anyTimes();
+
+ replay(handler);
+
+ dispatcher.register(handler);
+
+ PacketHandler registeredHandler = dispatcher.getHandler(id);
+ assertSame(handler, registeredHandler);
+
+ dispatcher.unregister(id);
+ assertNull(dispatcher.getHandler(id));
+
+ verify(handler);
+ }
+
+ public void testDispatchPacketWithRegisteredHandler() throws Exception
+ {
+ PacketHandler handler = createMock(PacketHandler.class);
+ PacketSender sender = createMock(PacketSender.class);
+
+ TextPacket packet = new TextPacket("testDispatch");
+
+ String id = randomUUID().toString();
+ expect(handler.getID()).andStubReturn(id);
+ handler.handle(packet, sender);
+ expectLastCall().once();
+
+ replay(handler, sender);
+
+ dispatcher.register(handler);
+
+ PacketHandler registeredHandler = dispatcher.getHandler(id);
+ assertSame(handler, registeredHandler);
+
+ packet.setTargetID(handler.getID());
+ dispatcher.dispatch(packet, sender);
+
+ dispatcher.unregister(id);
+ assertNull(dispatcher.getHandler(id));
+
+ verify(handler, sender);
+ }
+
+ // Package protected ---------------------------------------------
+
+ // Protected -----------------------------------------------------
+
+ // Private -------------------------------------------------------
+
+ // Inner classes -------------------------------------------------
+}
More information about the jboss-cvs-commits
mailing list