[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