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

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Mar 10 15:30:30 EDT 2009


Author: ataylor
Date: 2009-03-10 15:30:29 -0400 (Tue, 10 Mar 2009)
New Revision: 6058

Added:
   trunk/tests/src/org/jboss/messaging/tests/integration/client/ClientSessionCreateConsumerTest.java
   trunk/tests/src/org/jboss/messaging/tests/integration/client/ClientSessionCreateProducerTest.java
Modified:
   trunk/tests/src/org/jboss/messaging/tests/integration/client/ClientSessionFactoryTest.java
Log:
ClientSession tests

Added: trunk/tests/src/org/jboss/messaging/tests/integration/client/ClientSessionCreateConsumerTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/client/ClientSessionCreateConsumerTest.java	                        (rev 0)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/client/ClientSessionCreateConsumerTest.java	2009-03-10 19:30:29 UTC (rev 6058)
@@ -0,0 +1,182 @@
+/*
+ * 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.integration.client;
+
+import org.jboss.messaging.core.client.ClientConsumer;
+import org.jboss.messaging.core.client.ClientSessionFactory;
+import org.jboss.messaging.core.client.impl.ClientSessionInternal;
+import org.jboss.messaging.core.exception.MessagingException;
+import org.jboss.messaging.core.server.MessagingService;
+import org.jboss.messaging.tests.util.ServiceTestBase;
+
+/**
+ * @author <a href="mailto:andy.taylor at jboss.org">Andy Taylor</a>
+ */
+public class ClientSessionCreateConsumerTest extends ServiceTestBase
+{
+   private String queueName = "ClientSessionCreateConsumerTestQ";
+
+   public void testCreateConsumer() throws Exception
+   {
+      MessagingService service = createService(false);
+      try
+      {
+         service.start();
+         ClientSessionFactory cf = createInVMFactory();
+         cf.setProducerMaxRate(99);
+         cf.setBlockOnNonPersistentSend(true);
+         cf.setBlockOnNonPersistentSend(true);
+         ClientSessionInternal clientSession = (ClientSessionInternal) cf.createSession(false, true, true);
+         clientSession.createQueue(queueName, queueName, false);
+         ClientConsumer consumer = clientSession.createConsumer(queueName);
+         assertNotNull(consumer);
+         clientSession.close();
+      }
+      finally
+      {
+         service.stop();
+      }
+   }
+
+   public void testCreateConsumerNoQ() throws Exception
+   {
+      MessagingService service = createService(false);
+      try
+      {
+         service.start();
+         ClientSessionFactory cf = createInVMFactory();
+         cf.setProducerMaxRate(99);
+         cf.setBlockOnNonPersistentSend(true);
+         cf.setBlockOnNonPersistentSend(true);
+         ClientSessionInternal clientSession = (ClientSessionInternal) cf.createSession(false, true, true);
+         try
+         {
+            clientSession.createConsumer(queueName);
+            fail("should throw exception");
+         }
+         catch (MessagingException e)
+         {
+            assertEquals(e.getCode(), MessagingException.QUEUE_DOES_NOT_EXIST);
+         }
+         clientSession.close();
+      }
+      finally
+      {
+         service.stop();
+      }
+   }
+
+   public void testCreateConsumerWithFilter() throws Exception
+   {
+      MessagingService service = createService(false);
+      try
+      {
+         service.start();
+         ClientSessionFactory cf = createInVMFactory();
+         cf.setProducerMaxRate(99);
+         cf.setBlockOnNonPersistentSend(true);
+         cf.setBlockOnNonPersistentSend(true);
+         ClientSessionInternal clientSession = (ClientSessionInternal) cf.createSession(false, true, true);
+         clientSession.createQueue(queueName, queueName, false);
+         ClientConsumer consumer = clientSession.createConsumer(queueName, "foo=bar");
+         assertNotNull(consumer);
+         clientSession.close();
+      }
+      finally
+      {
+         service.stop();
+      }
+   }
+
+   public void testCreateConsumerWithInvalidFilter() throws Exception
+   {
+      MessagingService service = createService(false);
+      try
+      {
+         service.start();
+         ClientSessionFactory cf = createInVMFactory();
+         cf.setProducerMaxRate(99);
+         cf.setBlockOnNonPersistentSend(true);
+         cf.setBlockOnNonPersistentSend(true);
+         ClientSessionInternal clientSession = (ClientSessionInternal) cf.createSession(false, true, true);
+         clientSession.createQueue(queueName, queueName, false);
+         try
+         {
+            clientSession.createConsumer(queueName, "foobar");
+            fail("should throw exception");
+         }
+         catch (MessagingException e)
+         {
+            assertEquals(e.getCode(), MessagingException.INVALID_FILTER_EXPRESSION);
+         }
+         clientSession.close();
+      }
+      finally
+      {
+         service.stop();
+      }
+   }
+
+   public void testCreateConsumerWithBrowseOnly() throws Exception
+   {
+      MessagingService service = createService(false);
+      try
+      {
+         service.start();
+         ClientSessionFactory cf = createInVMFactory();
+         cf.setProducerMaxRate(99);
+         cf.setBlockOnNonPersistentSend(true);
+         cf.setBlockOnNonPersistentSend(true);
+         ClientSessionInternal clientSession = (ClientSessionInternal) cf.createSession(false, true, true);
+         clientSession.createQueue(queueName, queueName, false);
+         ClientConsumer consumer = clientSession.createConsumer(queueName, null, true);
+         assertNotNull(consumer);
+         clientSession.close();
+      }
+      finally
+      {
+         service.stop();
+      }
+   }
+
+   public void testCreateConsumerWithBrowseOnly2() throws Exception
+   {
+      MessagingService service = createService(false);
+      try
+      {
+         service.start();
+         ClientSessionFactory cf = createInVMFactory();
+         cf.setProducerMaxRate(99);
+         cf.setBlockOnNonPersistentSend(true);
+         cf.setBlockOnNonPersistentSend(true);
+         ClientSessionInternal clientSession = (ClientSessionInternal) cf.createSession(false, true, true);
+         clientSession.createQueue(queueName, queueName, false);
+         ClientConsumer consumer = clientSession.createConsumer(queueName, null, 100, 100, false);
+         assertNotNull(consumer);
+         clientSession.close();
+      }
+      finally
+      {
+         service.stop();
+      }
+   }
+}

Added: trunk/tests/src/org/jboss/messaging/tests/integration/client/ClientSessionCreateProducerTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/client/ClientSessionCreateProducerTest.java	                        (rev 0)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/client/ClientSessionCreateProducerTest.java	2009-03-10 19:30:29 UTC (rev 6058)
@@ -0,0 +1,168 @@
+/*
+ * 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.integration.client;
+
+import org.jboss.messaging.core.client.ClientProducer;
+import org.jboss.messaging.core.client.ClientSessionFactory;
+import org.jboss.messaging.core.client.impl.ClientSessionInternal;
+import org.jboss.messaging.core.exception.MessagingException;
+import org.jboss.messaging.core.server.MessagingService;
+import org.jboss.messaging.tests.util.ServiceTestBase;
+
+/**
+ * @author <a href="mailto:andy.taylor at jboss.org">Andy Taylor</a>
+ */
+public class ClientSessionCreateProducerTest extends ServiceTestBase
+{
+   public void testCreateAnonProducer() throws Exception
+   {
+      MessagingService service = createService(false);
+      try
+      {
+         service.start();
+         ClientSessionFactory cf = createInVMFactory();
+         cf.setProducerMaxRate(99);
+         cf.setBlockOnNonPersistentSend(true);
+         cf.setBlockOnNonPersistentSend(true);
+         ClientSessionInternal clientSession = (ClientSessionInternal) cf.createSession(false, true, true);
+         ClientProducer producer = clientSession.createProducer();
+         assertNull(producer.getAddress());
+         assertEquals(cf.getProducerMaxRate(), producer.getMaxRate());
+         assertEquals(cf.isBlockOnNonPersistentSend(),producer.isBlockOnNonPersistentSend());
+         assertEquals(cf.isBlockOnPersistentSend(),producer.isBlockOnPersistentSend());
+         assertFalse(producer.isClosed());
+         clientSession.close();
+      }
+      finally
+      {
+         service.stop();
+      }
+   }
+
+   public void testCreateProducer1() throws Exception
+   {
+      MessagingService service = createService(false);
+      try
+      {
+         service.start();
+         ClientSessionFactory cf = createInVMFactory();
+         cf.setProducerMaxRate(99);
+         cf.setBlockOnNonPersistentSend(true);
+         cf.setBlockOnNonPersistentSend(true);
+         ClientSessionInternal clientSession = (ClientSessionInternal) cf.createSession(false, true, true);
+         ClientProducer producer = clientSession.createProducer("testAddress");
+         assertNotNull(producer.getAddress());
+         assertEquals(cf.getProducerMaxRate(), producer.getMaxRate());
+         assertEquals(cf.isBlockOnNonPersistentSend(),producer.isBlockOnNonPersistentSend());
+         assertEquals(cf.isBlockOnPersistentSend(),producer.isBlockOnPersistentSend());
+         assertFalse(producer.isClosed());
+         clientSession.close();
+      }
+      finally
+      {
+         service.stop();
+      }
+   }
+
+   public void testCreateProducer2() throws Exception
+   {
+      MessagingService service = createService(false);
+      try
+      {
+         service.start();
+         ClientSessionFactory cf = createInVMFactory();
+         cf.setProducerMaxRate(99);
+         cf.setBlockOnNonPersistentSend(true);
+         cf.setBlockOnNonPersistentSend(true);
+         ClientSessionInternal clientSession = (ClientSessionInternal) cf.createSession(false, true, true);
+         int rate = 9876;
+         ClientProducer producer = clientSession.createProducer("testAddress", rate);
+         assertNotNull(producer.getAddress());
+         assertEquals(rate, producer.getMaxRate());
+         assertEquals(cf.isBlockOnNonPersistentSend(),producer.isBlockOnNonPersistentSend());
+         assertEquals(cf.isBlockOnPersistentSend(),producer.isBlockOnPersistentSend());
+         assertFalse(producer.isClosed());
+         clientSession.close();
+      }
+      finally
+      {
+         service.stop();
+      }
+   }
+
+   public void testCreateProducer3() throws Exception
+   {
+      MessagingService service = createService(false);
+      try
+      {
+         service.start();
+         ClientSessionFactory cf = createInVMFactory();
+         cf.setProducerMaxRate(99);
+         cf.setBlockOnNonPersistentSend(true);
+         cf.setBlockOnNonPersistentSend(true);
+         ClientSessionInternal clientSession = (ClientSessionInternal) cf.createSession(false, true, true);
+         int rate = 9876;
+         boolean blockOnSend = false;
+         boolean blockOnNonSend = false;
+         ClientProducer producer = clientSession.createProducer("testAddress", 9876, blockOnSend, blockOnNonSend);
+         assertNotNull(producer.getAddress());
+         assertEquals(rate, producer.getMaxRate());
+         assertEquals(blockOnSend, producer.isBlockOnNonPersistentSend());
+         assertEquals(blockOnNonSend, producer.isBlockOnPersistentSend());
+         assertFalse(producer.isClosed());
+         clientSession.close();
+      }
+      finally
+      {
+         service.stop();
+      }
+   }
+
+   public void testProducerOnClosedSession() throws Exception
+      {
+         MessagingService service = createService(false);
+         try
+         {
+            service.start();
+            ClientSessionFactory cf = createInVMFactory();
+            cf.setProducerMaxRate(99);
+            cf.setBlockOnNonPersistentSend(true);
+            cf.setBlockOnNonPersistentSend(true);
+            ClientSessionInternal clientSession = (ClientSessionInternal) cf.createSession(false, true, true);
+            clientSession.close();
+            try
+            {
+               clientSession.createProducer();
+               fail("should throw exception");
+            }
+            catch (MessagingException e)
+            {
+               assertEquals(e.getCode(), MessagingException.OBJECT_CLOSED);
+            }
+         }
+         finally
+         {
+            service.stop();
+         }
+      }
+
+}

Modified: trunk/tests/src/org/jboss/messaging/tests/integration/client/ClientSessionFactoryTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/client/ClientSessionFactoryTest.java	2009-03-10 14:47:20 UTC (rev 6057)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/client/ClientSessionFactoryTest.java	2009-03-10 19:30:29 UTC (rev 6058)
@@ -444,7 +444,7 @@
          ClientSessionImpl sessions[] = new ClientSessionImpl[ClientSessionFactoryImpl.DEFAULT_MAX_CONNECTIONS * 2];
          for (int i = 0; i < sessions.length; i++)
          {
-            sessions[i] = (ClientSessionImpl) cf.createSession(false, true, true);;
+            sessions[i] = (ClientSessionImpl) cf.createSession(false, true, true);
 
          }
          assertEquals(ClientSessionFactoryImpl.DEFAULT_MAX_CONNECTIONS * 2, cf.numSessions());




More information about the jboss-cvs-commits mailing list