[jboss-cvs] JBoss Messaging SVN: r6177 - trunk/tests/src/org/jboss/messaging/tests/integration/client.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Mar 26 12:11:36 EDT 2009


Author: ataylor
Date: 2009-03-26 12:11:36 -0400 (Thu, 26 Mar 2009)
New Revision: 6177

Modified:
   trunk/tests/src/org/jboss/messaging/tests/integration/client/ClientReceiveTest.java
   trunk/tests/src/org/jboss/messaging/tests/integration/client/ClientSessionStopStartTest.java
Log:
more tests

Modified: trunk/tests/src/org/jboss/messaging/tests/integration/client/ClientReceiveTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/client/ClientReceiveTest.java	2009-03-26 16:00:03 UTC (rev 6176)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/client/ClientReceiveTest.java	2009-03-26 16:11:36 UTC (rev 6177)
@@ -21,15 +21,185 @@
  */
 package org.jboss.messaging.tests.integration.client;
 
+import org.jboss.messaging.core.client.ClientConsumer;
+import org.jboss.messaging.core.client.ClientMessage;
+import org.jboss.messaging.core.client.ClientProducer;
+import org.jboss.messaging.core.client.ClientSession;
+import org.jboss.messaging.core.client.ClientSessionFactory;
+import org.jboss.messaging.core.client.MessageHandler;
+import org.jboss.messaging.core.exception.MessagingException;
+import org.jboss.messaging.core.server.MessagingService;
 import org.jboss.messaging.tests.util.ServiceTestBase;
+import org.jboss.messaging.utils.SimpleString;
 
 /**
  * @author <a href="mailto:andy.taylor at jboss.org">Andy Taylor</a>
  */
 public class ClientReceiveTest extends ServiceTestBase
 {
-   public void testReceive()
+   SimpleString addressA = new SimpleString("addressA");
+
+   SimpleString queueA = new SimpleString("queueA");
+
+   public void testBasicReceive() throws Exception
    {
+      MessagingService messagingService = createService(false);
+      try
+      {
+         messagingService.start();
+         ClientSessionFactory cf = createInVMFactory();
+         ClientSession sendSession = cf.createSession(false, true, true);
+         ClientProducer cp = sendSession.createProducer(addressA);
+         ClientSession session = cf.createSession(false, true, true);
+         session.createQueue(addressA, queueA, false);
+         ClientConsumer cc = session.createConsumer(queueA);
+         session.start();
+         cp.send(sendSession.createClientMessage(false));
+         assertNotNull(cc.receive());
+         session.close();
+         sendSession.close();
+      }
+      finally
+      {
+         if (messagingService.isStarted())
+         {
+            messagingService.stop();
+         }
+      }
+   }
 
+   public void testReceiveTimesoutCorrectly() throws Exception
+   {
+      MessagingService messagingService = createService(false);
+      try
+      {
+         messagingService.start();
+         ClientSessionFactory cf = createInVMFactory();
+         ClientSession session = cf.createSession(false, true, true);
+         session.createQueue(addressA, queueA, false);
+         ClientConsumer cc = session.createConsumer(queueA);
+         session.start();
+         long time = System.currentTimeMillis();
+         cc.receive(1000);
+         assertTrue(System.currentTimeMillis() - time >= 1000);
+         session.close();
+
+
+      }
+      finally
+      {
+         if (messagingService.isStarted())
+         {
+            messagingService.stop();
+         }
+      }
    }
+
+   public void testReceiveOnClosedException() throws Exception
+   {
+      MessagingService messagingService = createService(false);
+      try
+      {
+         messagingService.start();
+         ClientSessionFactory cf = createInVMFactory();
+         ClientSession session = cf.createSession(false, true, true);
+         session.createQueue(addressA, queueA, false);
+         ClientConsumer cc = session.createConsumer(queueA);
+         session.start();
+         session.close();
+         try
+         {
+            cc.receive();
+            fail("should throw exception");
+         }
+         catch (MessagingException e)
+         {
+            assertEquals(MessagingException.OBJECT_CLOSED, e.getCode());
+         }
+         session.close();
+
+
+      }
+      finally
+      {
+         if (messagingService.isStarted())
+         {
+            messagingService.stop();
+         }
+      }
+   }
+
+   public void testReceiveThrowsExceptionWhenHandlerSet() throws Exception
+   {
+      MessagingService messagingService = createService(false);
+      try
+      {
+         messagingService.start();
+         ClientSessionFactory cf = createInVMFactory();
+         ClientSession session = cf.createSession(false, true, true);
+         session.createQueue(addressA, queueA, false);
+         ClientConsumer cc = session.createConsumer(queueA);
+         session.start();
+         cc.setMessageHandler(new MessageHandler()
+         {
+            public void onMessage(ClientMessage message)
+            {
+            }
+         });
+         try
+         {
+            cc.receive();
+            fail("should throw exception");
+         }
+         catch (MessagingException e)
+         {
+            assertEquals(MessagingException.ILLEGAL_STATE, e.getCode());
+         }
+         session.close();
+
+
+      }
+      finally
+      {
+         if (messagingService.isStarted())
+         {
+            messagingService.stop();
+         }
+      }
+   }
+
+   public void testReceiveImmediate() throws Exception
+   {
+      MessagingService messagingService = createService(false);
+      try
+      {
+         messagingService.start();
+         ClientSessionFactory cf = createInVMFactory();
+         //forces perfect round robin
+         cf.setConsumerWindowSize(1);
+         ClientSession sendSession = cf.createSession(false, true, true);
+         ClientProducer cp = sendSession.createProducer(addressA);
+         ClientSession session = cf.createSession(false, true, true);
+         session.createQueue(addressA, queueA, false);
+         ClientConsumer cc = session.createConsumer(queueA);
+         ClientConsumer cc2 = session.createConsumer(queueA);
+         session.start();
+         cp.send(sendSession.createClientMessage(false));
+         cp.send(sendSession.createClientMessage(false));
+         cp.send(sendSession.createClientMessage(false));
+         //at this point we know that the first consumer has a messge in ites buffer
+         assertNotNull(cc2.receive(5000));
+         assertNotNull(cc2.receive(5000));
+         assertNotNull(cc.receiveImmediate());
+         session.close();
+         sendSession.close();
+      }
+      finally
+      {
+         if (messagingService.isStarted())
+         {
+            messagingService.stop();
+         }
+      }
+   }
 }

Modified: trunk/tests/src/org/jboss/messaging/tests/integration/client/ClientSessionStopStartTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/client/ClientSessionStopStartTest.java	2009-03-26 16:00:03 UTC (rev 6176)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/client/ClientSessionStopStartTest.java	2009-03-26 16:11:36 UTC (rev 6177)
@@ -248,7 +248,7 @@
       session.close();
    }
 
-      public void testStopStartConsumerAsyncSync() throws Exception
+   public void testStopStartConsumerAsyncSync() throws Exception
    {
       ClientSessionFactory sf = createInVMFactory();
 
@@ -542,7 +542,7 @@
       session.close();
    }
 
-    public void testStopStartMultipleConsumers() throws Exception
+   public void testStopStartMultipleConsumers() throws Exception
    {
       ClientSessionFactory sf = createInVMFactory();
       sf.setConsumerWindowSize(10);
@@ -597,48 +597,48 @@
 
 
    public void testStopStartAlreadyStartedSession() throws Exception
-      {
-         ClientSessionFactory sf = createInVMFactory();
+   {
+      ClientSessionFactory sf = createInVMFactory();
 
-         final ClientSession session = sf.createSession(false, true, true);
+      final ClientSession session = sf.createSession(false, true, true);
 
-         session.createQueue(QUEUE, QUEUE, null, false);
+      session.createQueue(QUEUE, QUEUE, null, false);
 
-         ClientProducer producer = session.createProducer(QUEUE);
+      ClientProducer producer = session.createProducer(QUEUE);
 
-         final int numMessages = 100;
+      final int numMessages = 100;
 
-         for (int i = 0; i < numMessages; i++)
-         {
-            ClientMessage message = createTextMessage("m" + i, session);
-            message.putIntProperty(new SimpleString("i"), i);
-            producer.send(message);
-         }
+      for (int i = 0; i < numMessages; i++)
+      {
+         ClientMessage message = createTextMessage("m" + i, session);
+         message.putIntProperty(new SimpleString("i"), i);
+         producer.send(message);
+      }
 
-         final ClientConsumer consumer = session.createConsumer(QUEUE);
+      final ClientConsumer consumer = session.createConsumer(QUEUE);
 
-         session.start();
+      session.start();
 
 
-         for (int i = 0; i < numMessages / 2; i++)
-         {
-            ClientMessage cm = consumer.receive(5000);
-            assertNotNull(cm);
-            cm.acknowledge();
-         }
+      for (int i = 0; i < numMessages / 2; i++)
+      {
+         ClientMessage cm = consumer.receive(5000);
+         assertNotNull(cm);
+         cm.acknowledge();
+      }
 
-         session.start();
-         for (int i = 0; i < numMessages / 2; i++)
-         {
-            ClientMessage cm = consumer.receive(5000);
-            assertNotNull(cm);
-            cm.acknowledge();
-         }
-
-         session.close();
+      session.start();
+      for (int i = 0; i < numMessages / 2; i++)
+      {
+         ClientMessage cm = consumer.receive(5000);
+         assertNotNull(cm);
+         cm.acknowledge();
       }
 
-     public void testStopAlreadyStoppedSession() throws Exception
+      session.close();
+   }
+
+   public void testStopAlreadyStoppedSession() throws Exception
    {
       ClientSessionFactory sf = createInVMFactory();
 
@@ -675,7 +675,7 @@
       session.stop();
       cm = consumer.receiveImmediate();
       assertNull(cm);
-      
+
       session.start();
       for (int i = 0; i < numMessages / 2; i++)
       {




More information about the jboss-cvs-commits mailing list