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

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Mar 16 09:25:50 EDT 2009


Author: ataylor
Date: 2009-03-16 09:25:50 -0400 (Mon, 16 Mar 2009)
New Revision: 6091

Modified:
   trunk/tests/src/org/jboss/messaging/tests/integration/client/ClientEndToEndTest.java
Log:
more end to end tests

Modified: trunk/tests/src/org/jboss/messaging/tests/integration/client/ClientEndToEndTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/client/ClientEndToEndTest.java	2009-03-16 11:07:00 UTC (rev 6090)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/client/ClientEndToEndTest.java	2009-03-16 13:25:50 UTC (rev 6091)
@@ -22,11 +22,13 @@
 package org.jboss.messaging.tests.integration.client;
 
 import org.jboss.messaging.core.client.ClientConsumer;
+import org.jboss.messaging.core.client.ClientFileMessage;
 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.client.impl.ClientFileMessageImpl;
 import org.jboss.messaging.core.exception.MessagingException;
 import org.jboss.messaging.core.server.MessagingService;
 import org.jboss.messaging.core.server.Queue;
@@ -35,6 +37,10 @@
 import org.jboss.messaging.tests.util.ServiceTestBase;
 import org.jboss.messaging.utils.SimpleString;
 
+import java.io.File;
+import java.io.FileOutputStream;
+import java.nio.ByteBuffer;
+import java.nio.channels.FileChannel;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
@@ -1263,7 +1269,125 @@
       }
    }
 
+   public void testSendConsumeLargeMessage() throws Exception
+   {
+      MessagingService messagingService = createService(false);
+      try
+      {
+         messagingService.start();
+         ClientSessionFactory cf = createInVMFactory();
+         cf.setMinLargeMessageSize(1000);
+         ClientSession sendSession = cf.createSession(false, true, true);
+         ClientSession recSession = cf.createSession(false, true, true);
+         sendSession.createQueue(addressA, queueA, false);
+         ClientProducer cp = sendSession.createProducer(addressA);
+         ClientConsumer cc = recSession.createConsumer(queueA);
+         recSession.start();
+         ClientMessage message = recSession.createClientMessage(false);
+         byte[] bytes = new byte[3000];
+         message.getBody().writeBytes(bytes);
+         cp.send(message);
+         ClientMessage m = cc.receive(5000);
+         assertNotNull(m);
+         byte[] recBytes = new byte[3000];
+         m.getBody().readBytes(recBytes);
+         assertEqualsByteArrays(bytes, recBytes);
+      }
+      finally
+      {
+         if(messagingService.isStarted())
+         {
+            messagingService.stop();
+         }
+      }
+   }
 
+   public void testConsumeFileMessage() throws Exception
+   {
+      String testDir = System.getProperty("java.io.tmpdir", "/tmp") + "/jbm-unit-test";
+
+      MessagingService messagingService = createService(false);
+      try
+      {
+         messagingService.start();
+         ClientSessionFactory cf = createInVMFactory();
+         cf.setMinLargeMessageSize(1000);
+         ClientSession sendSession = cf.createSession(false, true, true);
+         ClientSession recSession = cf.createSession(false, true, true);
+         sendSession.createQueue(addressA, queueA, false);
+         ClientProducer cp = sendSession.createProducer(addressA);
+         File directory = new File(testDir);
+         directory.mkdirs();
+         ClientConsumer cc = recSession.createFileConsumer(directory, queueA);
+         recSession.start();
+         ClientMessage message = recSession.createClientMessage(false);
+         byte[] bytes = new byte[3000];
+         message.getBody().writeBytes(bytes);
+         cp.send(message);
+         ClientFileMessageImpl m = (ClientFileMessageImpl) cc.receive(5000);
+         assertNotNull(m);
+         FileChannel channel = m.getChannel();
+         ByteBuffer dst = ByteBuffer.allocate(3000);
+         channel.read(dst);
+         assertEqualsByteArrays(bytes,dst.array());
+         sendSession.close();
+         recSession.close();
+      }
+      finally
+      {
+         if(messagingService.isStarted())
+         {
+            messagingService.stop();
+         }
+      }
+   }
+
+   public void testProduceFileMessage() throws Exception
+   {
+      String testDir = System.getProperty("java.io.tmpdir", "/tmp") + "/jbm-unit-test";
+
+      MessagingService messagingService = createService(false);
+      try
+      {
+         messagingService.start();
+         ClientSessionFactory cf = createInVMFactory();
+         cf.setMinLargeMessageSize(1000);
+         ClientSession sendSession = cf.createSession(false, true, true);
+         ClientSession recSession = cf.createSession(false, true, true);
+         sendSession.createQueue(addressA, queueA, false);
+         ClientProducer cp = sendSession.createProducer(addressA);
+         File directory = new File(testDir);
+         directory.delete();
+         directory.mkdirs();
+         ClientConsumer cc = recSession.createConsumer(queueA);
+         recSession.start();
+         ClientFileMessage message = sendSession.createFileMessage(false);
+         byte[] bytes = new byte[3000];
+         File src = new File(directory, "test.jbm");
+         src.createNewFile();
+         FileOutputStream fos = new FileOutputStream(src);
+         fos.write(bytes);
+         fos.close();
+         message.setFile(src);
+         cp.send(message);
+         ClientMessage m =  cc.receive(5000);
+         assertNotNull(m);
+         byte[] recBytes = new byte[3000];
+         m.getBody().readBytes(recBytes);
+         assertEqualsByteArrays(bytes,recBytes);
+         sendSession.close();
+         recSession.close();
+      }
+      finally
+      {
+         if(messagingService.isStarted())
+         {
+            messagingService.stop();
+         }
+      }
+   }
+
+
    class Receiver implements MessageHandler
    {
       final CountDownLatch latch;




More information about the jboss-cvs-commits mailing list