You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ta...@apache.org on 2016/09/20 18:32:02 UTC

[1/2] qpid-jms git commit: QPIDJMS-207 Add additional test coverage, update ConnectionMetaData

Repository: qpid-jms
Updated Branches:
  refs/heads/master 1c3ff1cbb -> 4550dac6c


QPIDJMS-207 Add additional test coverage, update ConnectionMetaData


Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/fd2bc183
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/fd2bc183
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/fd2bc183

Branch: refs/heads/master
Commit: fd2bc18322b388dd38bb53a526a01ce3d7fcf149
Parents: 1c3ff1c
Author: Timothy Bish <ta...@gmail.com>
Authored: Tue Sep 20 14:14:26 2016 -0400
Committer: Timothy Bish <ta...@gmail.com>
Committed: Tue Sep 20 14:17:14 2016 -0400

----------------------------------------------------------------------
 .../apache/qpid/jms/JmsConnectionMetaData.java  |  6 +--
 .../qpid/jms/JmsConnectionFactoryTest.java      | 37 +++++++++++++
 .../org/apache/qpid/jms/JmsConnectionTest.java  | 31 +++++++++++
 .../qpid/jms/consumer/JmsQueueBrowserTest.java  | 16 ++++++
 .../apache/qpid/jms/session/JmsSessionTest.java | 57 +++++++++++++++++++-
 5 files changed, 143 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/fd2bc183/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionMetaData.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionMetaData.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionMetaData.java
index 1fc940d..7fa79f6 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionMetaData.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionMetaData.java
@@ -40,7 +40,7 @@ public final class JmsConnectionMetaData implements ConnectionMetaData {
      */
     @Override
     public String getJMSVersion() {
-        return "1.1";
+        return "2.0";
     }
 
     /**
@@ -50,7 +50,7 @@ public final class JmsConnectionMetaData implements ConnectionMetaData {
      */
     @Override
     public int getJMSMajorVersion() {
-        return 1;
+        return 2;
     }
 
     /**
@@ -60,7 +60,7 @@ public final class JmsConnectionMetaData implements ConnectionMetaData {
      */
     @Override
     public int getJMSMinorVersion() {
-        return 1;
+        return 0;
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/fd2bc183/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionFactoryTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionFactoryTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionFactoryTest.java
index ea8c867..8184acb 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionFactoryTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionFactoryTest.java
@@ -36,6 +36,7 @@ import java.util.concurrent.TimeUnit;
 
 import javax.jms.Connection;
 import javax.jms.ExceptionListener;
+import javax.jms.JMSContext;
 import javax.jms.JMSException;
 
 import org.apache.qpid.jms.policy.JmsDefaultDeserializationPolicy;
@@ -756,4 +757,40 @@ public class JmsConnectionFactoryTest extends QpidJmsTestCase {
 
         assertTrue(connection.getDeserializationPolicy() instanceof SerializationTestSupport.TestJmsDeserializationPolicy);
     }
+
+    @Test
+    public void testCreateContext() {
+        JmsConnectionFactory factory = new JmsConnectionFactory("mock://127.0.0.1:5672");
+
+        JMSContext context = factory.createContext();
+        assertNotNull(context);
+        assertEquals(JMSContext.AUTO_ACKNOWLEDGE, context.getSessionMode());
+    }
+
+    @Test
+    public void testCreateContextWithUserAndPassword() {
+        JmsConnectionFactory factory = new JmsConnectionFactory("mock://127.0.0.1:5672");
+
+        JMSContext context = factory.createContext(USER, PASSWORD);
+        assertNotNull(context);
+        assertEquals(JMSContext.AUTO_ACKNOWLEDGE, context.getSessionMode());
+    }
+
+    @Test
+    public void testCreateContextWithUserAndPasswordAndSessionMode() {
+        JmsConnectionFactory factory = new JmsConnectionFactory("mock://127.0.0.1:5672");
+
+        JMSContext context = factory.createContext(USER, PASSWORD, JMSContext.CLIENT_ACKNOWLEDGE);
+        assertNotNull(context);
+        assertEquals(JMSContext.CLIENT_ACKNOWLEDGE, context.getSessionMode());
+    }
+
+    @Test
+    public void testCreateContextWithSessionMode() {
+        JmsConnectionFactory factory = new JmsConnectionFactory("mock://127.0.0.1:5672");
+
+        JMSContext context = factory.createContext(JMSContext.CLIENT_ACKNOWLEDGE);
+        assertNotNull(context);
+        assertEquals(JMSContext.CLIENT_ACKNOWLEDGE, context.getSessionMode());
+    }
 }

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/fd2bc183/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionTest.java
index 329b541..412ee73 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionTest.java
@@ -27,6 +27,7 @@ import static org.junit.Assert.fail;
 import java.io.IOException;
 import java.net.URI;
 
+import javax.jms.ConnectionMetaData;
 import javax.jms.ExceptionListener;
 import javax.jms.IllegalStateException;
 import javax.jms.InvalidClientIDException;
@@ -36,6 +37,7 @@ import javax.jms.TemporaryQueue;
 import javax.jms.TemporaryTopic;
 
 import org.apache.qpid.jms.policy.JmsDefaultPrefetchPolicy;
+import org.apache.qpid.jms.provider.ProviderConstants.ACK_TYPE;
 import org.apache.qpid.jms.provider.mock.MockProvider;
 import org.apache.qpid.jms.provider.mock.MockProviderFactory;
 import org.apache.qpid.jms.util.IdGenerator;
@@ -266,6 +268,35 @@ public class JmsConnectionTest {
         }
     }
 
+    @Test(timeout=30000)
+    public void testConnectionCreatedSessionRespectsAcknowledgementMode() throws Exception {
+        connection = new JmsConnection("ID:TEST:1", provider, clientIdGenerator);
+        connection.start();
+
+        JmsSession session = (JmsSession) connection.createSession(Session.SESSION_TRANSACTED);
+        try {
+            session.acknowledge(ACK_TYPE.ACCEPTED);
+            fail("Should be in TX mode and not allow explicit ACK.");
+        } catch (IllegalStateException ise) {
+        }
+    }
+
+    @Test(timeout=30000)
+    public void testConnectionMetaData() throws Exception {
+        connection = new JmsConnection("ID:TEST:1", provider, clientIdGenerator);
+
+        ConnectionMetaData metaData = connection.getMetaData();
+
+        assertNotNull(metaData);
+        assertEquals(2, metaData.getJMSMajorVersion());
+        assertEquals(0, metaData.getJMSMinorVersion());
+        assertEquals("2.0", metaData.getJMSVersion());
+        assertNotNull(metaData.getJMSXPropertyNames());
+
+        assertNotNull(metaData.getProviderVersion());
+        assertNotNull(metaData.getJMSProviderName());
+    }
+
     //----- Currently these are unimplemented, these will fail after that ----//
 
     @Test(timeout=30000, expected=JMSException.class)

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/fd2bc183/qpid-jms-client/src/test/java/org/apache/qpid/jms/consumer/JmsQueueBrowserTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/consumer/JmsQueueBrowserTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/consumer/JmsQueueBrowserTest.java
index c16a0b7..9dee268 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/consumer/JmsQueueBrowserTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/consumer/JmsQueueBrowserTest.java
@@ -17,8 +17,12 @@
 package org.apache.qpid.jms.consumer;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNull;
 
+import java.util.Enumeration;
+
+import javax.jms.Message;
 import javax.jms.Queue;
 import javax.jms.QueueBrowser;
 import javax.jms.Session;
@@ -59,4 +63,16 @@ public class JmsQueueBrowserTest extends JmsConnectionTestSupport {
         browser.close();
         browser.close();  // Should not throw on multiple close.
     }
+
+    @Test(timeout = 30000)
+    public void testHasMoreElementsOnClosedBrowser() throws Exception {
+        browser = session.createBrowser(queue);
+
+        @SuppressWarnings("unchecked")
+        Enumeration<Message> browse = browser.getEnumeration();
+
+        assertFalse(browse.hasMoreElements());
+        browser.close();
+        assertFalse(browse.hasMoreElements());
+    }
 }

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/fd2bc183/qpid-jms-client/src/test/java/org/apache/qpid/jms/session/JmsSessionTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/session/JmsSessionTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/session/JmsSessionTest.java
index c4f78d4..6cbc308 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/session/JmsSessionTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/session/JmsSessionTest.java
@@ -284,7 +284,7 @@ public class JmsSessionTest extends JmsConnectionTestSupport {
         } catch (InvalidDestinationException idex) {}
     }
 
-    @Test//(timeout = 10000)
+    @Test(timeout = 10000)
     public void testCannotCreateConsumerOnDeletedTemporaryDestination() throws JMSException {
         JmsSession session = (JmsSession) connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
         TemporaryQueue tempQueue = session.createTemporaryQueue();
@@ -303,4 +303,59 @@ public class JmsSessionTest extends JmsConnectionTestSupport {
             fail("Should not be able to send to this temporary destination");
         } catch (IllegalStateException ise) {}
     }
+
+    @Test(timeout = 10000)
+    public void testSessionRunFailsWhenSessionIsClosed() throws Exception {
+        JmsSession session = (JmsSession) connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+        try {
+            session.run();
+            fail("Not implemented");
+        } catch (UnsupportedOperationException usoe) {}
+
+        session.close();
+
+        try {
+            session.run();
+            fail("Session is closed.");
+        } catch (RuntimeException re) {}
+    }
+
+    //----- Not yet implemented, should all be cleared on implementation -----//
+
+    @Test(timeout = 10000)
+    public void testCreateSharedConsumer() throws Exception {
+        JmsSession session = (JmsSession) connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+        try {
+            session.createSharedConsumer(session.createTopic("test"), "subscription");
+            fail("Should fail until implemented.");
+        } catch (JMSException ex) {}
+    }
+
+    @Test(timeout = 10000)
+    public void testCreateSharedConsumerWithSelector() throws Exception {
+        JmsSession session = (JmsSession) connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+        try {
+            session.createSharedConsumer(session.createTopic("test"), "subscription", "a = b");
+            fail("Should fail until implemented.");
+        } catch (JMSException ex) {}
+    }
+
+    @Test(timeout = 10000)
+    public void testCreateSharedDurableConsumer() throws Exception {
+        JmsSession session = (JmsSession) connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+        try {
+            session.createSharedDurableConsumer(session.createTopic("test"), "subscription");
+            fail("Should fail until implemented.");
+        } catch (JMSException ex) {}
+    }
+
+    @Test(timeout = 10000)
+    public void testCreateSharedDurableConsumerWithSelector() throws Exception {
+        JmsSession session = (JmsSession) connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+        try {
+            session.createSharedDurableConsumer(session.createTopic("test"), "subscription", "a = b");
+            fail("Should fail until implemented.");
+        } catch (JMSException ex) {}
+    }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org


[2/2] qpid-jms git commit: QPIDJMS-207 Fix MessageProducer getDeliveryDelay, add test

Posted by ta...@apache.org.
QPIDJMS-207 Fix MessageProducer getDeliveryDelay, add test

Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/4550dac6
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/4550dac6
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/4550dac6

Branch: refs/heads/master
Commit: 4550dac6c87b8d721d1c5a22e92848a4af30e4d4
Parents: fd2bc18
Author: Timothy Bish <ta...@gmail.com>
Authored: Tue Sep 20 14:23:53 2016 -0400
Committer: Timothy Bish <ta...@gmail.com>
Committed: Tue Sep 20 14:23:53 2016 -0400

----------------------------------------------------------------------
 .../main/java/org/apache/qpid/jms/JmsMessageProducer.java    | 2 +-
 .../org/apache/qpid/jms/producer/JmsMessageProducerTest.java | 8 ++++++++
 2 files changed, 9 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/4550dac6/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsMessageProducer.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsMessageProducer.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsMessageProducer.java
index 6e9c96d..64cdf8b 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsMessageProducer.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsMessageProducer.java
@@ -114,7 +114,7 @@ public class JmsMessageProducer implements AutoCloseable, MessageProducer {
     @Override
     public long getDeliveryDelay() throws JMSException {
         checkClosed();
-        return deliveryMode;
+        return deliveryDelay;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/4550dac6/qpid-jms-client/src/test/java/org/apache/qpid/jms/producer/JmsMessageProducerTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/producer/JmsMessageProducerTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/producer/JmsMessageProducerTest.java
index a2629a9..319ce3f 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/producer/JmsMessageProducerTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/producer/JmsMessageProducerTest.java
@@ -133,6 +133,14 @@ public class JmsMessageProducerTest extends JmsConnectionTestSupport {
     }
 
     @Test(timeout = 10000)
+    public void testDeliveryDelayConfiguration() throws Exception {
+        MessageProducer producer = session.createProducer(null);
+        assertEquals(Message.DEFAULT_DELIVERY_DELAY, producer.getDeliveryDelay());
+        producer.setDeliveryDelay(2000);
+        assertEquals(2000, producer.getDeliveryDelay());
+    }
+
+    @Test(timeout = 10000)
     public void testAnonymousProducerThrowsUOEWhenExplictDestinationNotProvided() throws Exception {
         JmsMessageProducer producer = (JmsMessageProducer) session.createProducer(null);
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org