[jboss-cvs] JBoss Messaging SVN: r4514 - in trunk: tests/src/org/jboss/messaging/tests/unit/jms/client and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Jun 18 09:13:06 EDT 2008
Author: jmesnil
Date: 2008-06-18 09:13:06 -0400 (Wed, 18 Jun 2008)
New Revision: 4514
Added:
trunk/tests/src/org/jboss/messaging/tests/unit/jms/client/JBossQueueBrowserTest.java
Modified:
trunk/src/main/org/jboss/messaging/jms/client/JBossQueueBrowser.java
Log:
added unit tests for JBossQueueBrowser
Modified: trunk/src/main/org/jboss/messaging/jms/client/JBossQueueBrowser.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/client/JBossQueueBrowser.java 2008-06-18 12:29:46 UTC (rev 4513)
+++ trunk/src/main/org/jboss/messaging/jms/client/JBossQueueBrowser.java 2008-06-18 13:13:06 UTC (rev 4514)
@@ -54,7 +54,7 @@
// Constructors ---------------------------------------------------------------------------------
- JBossQueueBrowser(Queue queue, String messageSelector, ClientBrowser browser)
+ public JBossQueueBrowser(Queue queue, String messageSelector, ClientBrowser browser)
{
this.browser = browser;
this.queue = queue;
@@ -146,7 +146,6 @@
}
catch (Exception e)
{
- e.printStackTrace();
throw new IllegalStateException(e.getMessage());
}
}
Added: trunk/tests/src/org/jboss/messaging/tests/unit/jms/client/JBossQueueBrowserTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/jms/client/JBossQueueBrowserTest.java (rev 0)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/jms/client/JBossQueueBrowserTest.java 2008-06-18 13:13:06 UTC (rev 4514)
@@ -0,0 +1,267 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 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.unit.jms.client;
+
+import static org.easymock.EasyMock.createStrictMock;
+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 static org.jboss.messaging.tests.util.RandomUtil.randomString;
+
+import java.util.Enumeration;
+
+import javax.jms.JMSException;
+import javax.jms.Message;
+import javax.jms.Queue;
+
+import junit.framework.TestCase;
+
+import org.jboss.messaging.core.client.ClientBrowser;
+import org.jboss.messaging.core.client.ClientMessage;
+import org.jboss.messaging.core.exception.MessagingException;
+import org.jboss.messaging.jms.JBossQueue;
+import org.jboss.messaging.jms.client.JBossMessage;
+import org.jboss.messaging.jms.client.JBossQueueBrowser;
+import org.jboss.messaging.util.MessagingBuffer;
+
+/**
+ * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
+ *
+ * @version <tt>$Revision$</tt>
+ *
+ */
+public class JBossQueueBrowserTest extends TestCase
+{
+ // Constants -----------------------------------------------------
+
+ // Attributes ----------------------------------------------------
+
+ // Static --------------------------------------------------------
+
+ // Constructors --------------------------------------------------
+
+ // Public --------------------------------------------------------
+
+ public void testGetMessageSelector() throws Exception
+ {
+ String messageSelector = "color = 'green'";
+ Queue queue = new JBossQueue(randomString());
+ ClientBrowser clientBrowser = createStrictMock(ClientBrowser.class);
+ replay(clientBrowser);
+
+ JBossQueueBrowser browser = new JBossQueueBrowser(queue, messageSelector,
+ clientBrowser);
+ assertEquals(messageSelector, browser.getMessageSelector());
+
+ verify(clientBrowser);
+ }
+
+ public void testGetQueue() throws Exception
+ {
+ Queue queue = new JBossQueue(randomString());
+ ClientBrowser clientBrowser = createStrictMock(ClientBrowser.class);
+ replay(clientBrowser);
+
+ JBossQueueBrowser browser = new JBossQueueBrowser(queue, null,
+ clientBrowser);
+ assertEquals(queue, browser.getQueue());
+
+ verify(clientBrowser);
+ }
+
+ public void testGetBrowser() throws Exception
+ {
+ Queue queue = new JBossQueue(randomString());
+ ClientBrowser clientBrowser = createStrictMock(ClientBrowser.class);
+ replay(clientBrowser);
+
+ JBossQueueBrowser browser = new JBossQueueBrowser(queue, null,
+ clientBrowser);
+ assertEquals(clientBrowser, browser.getBrowser());
+
+ verify(clientBrowser);
+ }
+
+ public void testClose() throws Exception
+ {
+ Queue queue = new JBossQueue(randomString());
+ ClientBrowser clientBrowser = createStrictMock(ClientBrowser.class);
+ clientBrowser.close();
+ replay(clientBrowser);
+
+ JBossQueueBrowser browser = new JBossQueueBrowser(queue, null,
+ clientBrowser);
+
+ browser.close();
+
+ verify(clientBrowser);
+ }
+
+ public void testCloseThrowsException() throws Exception
+ {
+ Queue queue = new JBossQueue(randomString());
+ ClientBrowser clientBrowser = createStrictMock(ClientBrowser.class);
+ clientBrowser.close();
+ expectLastCall().andThrow(new MessagingException());
+
+ replay(clientBrowser);
+
+ JBossQueueBrowser browser = new JBossQueueBrowser(queue, null,
+ clientBrowser);
+
+ try
+ {
+ browser.close();
+ fail("JMSException");
+ } catch (JMSException e)
+ {
+ }
+
+ verify(clientBrowser);
+ }
+
+ public void testGetEnumeration() throws Exception
+ {
+ Queue queue = new JBossQueue(randomString());
+ ClientBrowser clientBrowser = createStrictMock(ClientBrowser.class);
+ clientBrowser.reset();
+ replay(clientBrowser);
+
+ JBossQueueBrowser browser = new JBossQueueBrowser(queue, null,
+ clientBrowser);
+
+ Enumeration enumeration = browser.getEnumeration();
+ assertNotNull(enumeration);
+
+ verify(clientBrowser);
+ }
+
+ public void testGetEnumerationThrowsException() throws Exception
+ {
+ Queue queue = new JBossQueue(randomString());
+ ClientBrowser clientBrowser = createStrictMock(ClientBrowser.class);
+ clientBrowser.reset();
+ expectLastCall().andThrow(new MessagingException());
+ replay(clientBrowser);
+
+ JBossQueueBrowser browser = new JBossQueueBrowser(queue, null,
+ clientBrowser);
+
+ try
+ {
+ browser.getEnumeration();
+ fail("JMSException");
+ } catch (JMSException e)
+ {
+ }
+
+ verify(clientBrowser);
+ }
+
+ public void testGetEnumerationWithOneMessage() throws Exception
+ {
+ Queue queue = new JBossQueue(randomString());
+ ClientBrowser clientBrowser = createStrictMock(ClientBrowser.class);
+ ClientMessage clientMessage = createStrictMock(ClientMessage.class);
+ MessagingBuffer buffer = createStrictMock(MessagingBuffer.class);
+ clientBrowser.reset();
+ expect(clientBrowser.hasNextMessage()).andReturn(true);
+ expect(clientMessage.getType()).andReturn(JBossMessage.TYPE);
+ expect(clientMessage.getBody()).andStubReturn(buffer);
+ expect(clientBrowser.nextMessage()).andReturn(clientMessage);
+ expect(clientBrowser.hasNextMessage()).andReturn(false);
+ replay(clientMessage, clientBrowser);
+
+ JBossQueueBrowser browser = new JBossQueueBrowser(queue, null,
+ clientBrowser);
+
+ Enumeration enumeration = browser.getEnumeration();
+ assertNotNull(enumeration);
+ assertTrue(enumeration.hasMoreElements());
+ Message message = (Message) enumeration.nextElement();
+ assertFalse(enumeration.hasMoreElements());
+
+ verify(clientMessage, clientBrowser);
+ }
+
+ public void testGetEnumerationWithHasMoreElementsThrowsException()
+ throws Exception
+ {
+ Queue queue = new JBossQueue(randomString());
+ ClientBrowser clientBrowser = createStrictMock(ClientBrowser.class);
+ clientBrowser.reset();
+ expect(clientBrowser.hasNextMessage()).andThrow(new MessagingException());
+ replay(clientBrowser);
+
+ JBossQueueBrowser browser = new JBossQueueBrowser(queue, null,
+ clientBrowser);
+
+ Enumeration enumeration = browser.getEnumeration();
+ assertNotNull(enumeration);
+
+ try
+ {
+ enumeration.hasMoreElements();
+ fail("IllegalStateException");
+ } catch (IllegalStateException e)
+ {
+ }
+
+ verify(clientBrowser);
+ }
+
+ public void testGetEnumerationWithNextThrowsException() throws Exception
+ {
+ Queue queue = new JBossQueue(randomString());
+ ClientBrowser clientBrowser = createStrictMock(ClientBrowser.class);
+ clientBrowser.reset();
+ expect(clientBrowser.hasNextMessage()).andReturn(true);
+ expect(clientBrowser.nextMessage()).andThrow(new MessagingException());
+ replay(clientBrowser);
+
+ JBossQueueBrowser browser = new JBossQueueBrowser(queue, null,
+ clientBrowser);
+
+ Enumeration enumeration = browser.getEnumeration();
+ assertNotNull(enumeration);
+ assertTrue(enumeration.hasMoreElements());
+
+ try
+ {
+ enumeration.nextElement();
+ fail("IllegalStateException");
+ } catch (IllegalStateException e)
+ {
+ }
+
+ verify(clientBrowser);
+ }
+ // Package protected ---------------------------------------------
+
+ // Protected -----------------------------------------------------
+
+ // Private -------------------------------------------------------
+
+ // Inner classes -------------------------------------------------
+}
More information about the jboss-cvs-commits
mailing list