You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2016/11/27 12:00:58 UTC

svn commit: r1771574 - in /qpid/java/trunk: systests/src/main/java/org/apache/qpid/test/utils/ systests/src/test/java/org/apache/qpid/server/logging/ systests/src/test/java/org/apache/qpid/test/client/message/ test-profiles/

Author: rgodfrey
Date: Sun Nov 27 12:00:58 2016
New Revision: 1771574

URL: http://svn.apache.org/viewvc?rev=1771574&view=rev
Log:
QPID-7546 : Make some more tests run under AMQP 1.0

Modified:
    qpid/java/trunk/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
    qpid/java/trunk/systests/src/test/java/org/apache/qpid/server/logging/ConnectionLoggingTest.java
    qpid/java/trunk/systests/src/test/java/org/apache/qpid/server/logging/ExchangeLoggingTest.java
    qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/client/message/MessageToStringTest.java
    qpid/java/trunk/test-profiles/Java10Excludes
    qpid/java/trunk/test-profiles/Java10UninvestigatedTestsExcludes

Modified: qpid/java/trunk/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java?rev=1771574&r1=1771573&r2=1771574&view=diff
==============================================================================
--- qpid/java/trunk/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java (original)
+++ qpid/java/trunk/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java Sun Nov 27 12:00:58 2016
@@ -18,6 +18,7 @@
 package org.apache.qpid.test.utils;
 
 import java.io.File;
+import java.io.UnsupportedEncodingException;
 import java.net.URISyntaxException;
 import java.net.URLEncoder;
 import java.util.ArrayList;
@@ -322,7 +323,14 @@ public class QpidBrokerTestCase extends
             {
                 stem.append('&');
             }
-            stem.append(option.getKey()).append('=').append(URLEncoder.encode(option.getValue()));
+            try
+            {
+                stem.append(option.getKey()).append('=').append(URLEncoder.encode(option.getValue(), "UTF-8"));
+            }
+            catch (UnsupportedEncodingException e)
+            {
+                throw new RuntimeException(e);
+            }
         }
     }
 
@@ -524,6 +532,24 @@ public class QpidBrokerTestCase extends
         producer.send(createMessage);
         if(session.getTransacted())
         {
+            session.commit();
+        }
+    }
+
+    protected void deleteEntityUsingAmqpManagement(final String name, final Session session, final String type)
+            throws JMSException
+    {
+        MessageProducer producer = session.createProducer(session.createQueue(isBroker10() ? "$management" : "ADDR:$management"));
+
+        MapMessage createMessage = session.createMapMessage();
+        createMessage.setStringProperty("type", type);
+        createMessage.setStringProperty("operation", "DELETE");
+        createMessage.setStringProperty("index", "object-path");
+
+        createMessage.setStringProperty("key", name);
+        producer.send(createMessage);
+        if(session.getTransacted())
+        {
             session.commit();
         }
     }

Modified: qpid/java/trunk/systests/src/test/java/org/apache/qpid/server/logging/ConnectionLoggingTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/test/java/org/apache/qpid/server/logging/ConnectionLoggingTest.java?rev=1771574&r1=1771573&r2=1771574&view=diff
==============================================================================
--- qpid/java/trunk/systests/src/test/java/org/apache/qpid/server/logging/ConnectionLoggingTest.java (original)
+++ qpid/java/trunk/systests/src/test/java/org/apache/qpid/server/logging/ConnectionLoggingTest.java Sun Nov 27 12:00:58 2016
@@ -20,14 +20,14 @@
 */
 package org.apache.qpid.server.logging;
 
-import javax.jms.Connection;
-
-import org.apache.qpid.configuration.CommonProperties;
-
 import java.util.List;
 import java.util.Map;
 import java.util.TreeSet;
 
+import javax.jms.Connection;
+
+import org.apache.qpid.configuration.CommonProperties;
+
 public class ConnectionLoggingTest extends AbstractTestLogging
 {
     private static final String CONNECTION_PREFIX = "CON-";
@@ -131,7 +131,7 @@ public class ConnectionLoggingTest exten
         assertEquals("unexpected Client Version option state", clientVersionPresent, message.contains(
                 "Client Version :"));
 
-        if(clientVersionPresent && clientVersionValue != null)
+        if(clientVersionPresent && clientVersionValue != null && !isBroker10())
         {
             assertTrue("Client version value is not present: " + clientVersionValue, message.contains(
                     clientVersionValue));
@@ -140,7 +140,7 @@ public class ConnectionLoggingTest exten
         assertEquals("unexpected Client Product option state", clientVersionPresent, message.contains(
                 "Client Product :"));
 
-        if(clientProductPresent && clientProductValue != null)
+        if(clientProductPresent && clientProductValue != null && !isBroker10())
         {
             assertTrue("Client product value is not present: " + clientProductValue, message.contains(
                     clientProductValue));

Modified: qpid/java/trunk/systests/src/test/java/org/apache/qpid/server/logging/ExchangeLoggingTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/test/java/org/apache/qpid/server/logging/ExchangeLoggingTest.java?rev=1771574&r1=1771573&r2=1771574&view=diff
==============================================================================
--- qpid/java/trunk/systests/src/test/java/org/apache/qpid/server/logging/ExchangeLoggingTest.java (original)
+++ qpid/java/trunk/systests/src/test/java/org/apache/qpid/server/logging/ExchangeLoggingTest.java Sun Nov 27 12:00:58 2016
@@ -21,16 +21,16 @@
 package org.apache.qpid.server.logging;
 
 import java.io.IOException;
+import java.util.LinkedHashMap;
 import java.util.List;
+import java.util.Map;
 
 import javax.jms.Connection;
 import javax.jms.JMSException;
 import javax.jms.MessageProducer;
-import javax.jms.Queue;
 import javax.jms.Session;
 import javax.jms.TextMessage;
-
-import org.apache.qpid.client.AMQSession;
+import javax.jms.Topic;
 
 /**
  * Exchange
@@ -49,9 +49,10 @@ public class ExchangeLoggingTest extends
 
     private Connection _connection;
     private Session _session;
-    private Queue _queue;
+    private Topic _topic;
     private String _name;
     private String _type;
+    private String _topicName;
 
     @Override
     public void setUp() throws Exception
@@ -65,7 +66,8 @@ public class ExchangeLoggingTest extends
         _type = "direct";
         _name = getTestQueueName()+ "-exchange";
 
-        _queue = _session.createQueue(_type + "://" + _name + "/queue/queue");
+        _topicName = isBroker10() ? _name + "/queue" : "ADDR: " + _name + "/queue" ;
+        _topic = _session.createTopic(_topicName);
 
     }
 
@@ -87,19 +89,31 @@ public class ExchangeLoggingTest extends
 
     public void testExchangeCreateDurable() throws JMSException, IOException
     {
-        // The client cannot create durable exchanges lets just look at the
-        // ones the broker creates at startup.
 
-        // They should all be durable
+        //Ignore broker startup messages
+        _monitor.markDiscardPoint();
+
+        createExchangeUsingAmqpManagement(_name, _type, true);
 
         // Ensure we have received the EXH log msg.
         waitForMessage("EXH-1001");
 
         List<String> results = findMatches(EXH_PREFIX);
 
-        assertTrue("No Results found for Exchange.", results.size()>0);
+        assertTrue("No Results found for Exchange.", results.size()==1);
 
-        validateExchangeCreate(results, true, false);
+        validateExchangeCreate(results, true, true);
+    }
+
+    private void createExchangeUsingAmqpManagement(final String name, final String type, final boolean durable)
+            throws JMSException
+    {
+        final Map<String, Object> attributes = new LinkedHashMap();
+        attributes.put("object-path", name);
+        attributes.put("qpid-type", type);
+        attributes.put("durable", durable);
+
+        createEntityUsingAmqpManagement(name, _session, "org.apache.qpid.Exchange", attributes);
     }
 
     /**
@@ -121,7 +135,7 @@ public class ExchangeLoggingTest extends
         //Ignore broker startup messages
         _monitor.markDiscardPoint();
 
-        _session.createConsumer(_queue);
+        createExchangeUsingAmqpManagement(_name, _type, false);
         // Ensure we have received the EXH log msg.
         waitForMessage("EXH-1001");
 
@@ -175,10 +189,8 @@ public class ExchangeLoggingTest extends
         //Ignore broker startup messages
         _monitor.markDiscardPoint();
 
-        //create the exchange by creating a consumer
-        _session.createConsumer(_queue).close();
-
-        ((AMQSession) _session).deleteExchange(_name);
+        createExchangeUsingAmqpManagement(_name, _type, false);
+        deleteEntityUsingAmqpManagement(_name, _session, "org.apache.qpid.Exchange");
 
         //Wait and ensure we get our last EXH-1002 msg
         waitForMessage("EXH-1002");
@@ -201,8 +213,9 @@ public class ExchangeLoggingTest extends
     {
         //Ignore broker startup messages
         _monitor.markDiscardPoint();
+        createExchangeUsingAmqpManagement(_name, _type, false);
 
-        if (!isBroker010())
+        if (!(isBroker010() || isBroker10()))
         {
             // Default 0-8..-0-9-1 behaviour is for messages to be rejected (returned to client).
             setTestClientSystemProperty("qpid.default_mandatory", "false");
@@ -211,13 +224,13 @@ public class ExchangeLoggingTest extends
         _session = _connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
 
         // Do not create consumer so queue is not created and message will be discarded.
-        final MessageProducer producer = _session.createProducer(_queue);
+        final MessageProducer producer = _session.createProducer(_topic);
 
         // Sending message
         final TextMessage msg = _session.createTextMessage("msg");
         producer.send(msg);
 
-        final String expectedMessageBody = "Discarded Message : Name: \"" + _name + "\" Routing Key: \"" + _queue.getQueueName() + "\"";
+        final String expectedMessageBody = "Discarded Message : Name: \"" + _name + "\" Routing Key: \"queue\"";
 
         // Ensure we have received the EXH log msg.
         waitForMessage("EXH-1003");

Modified: qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/client/message/MessageToStringTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/client/message/MessageToStringTest.java?rev=1771574&r1=1771573&r2=1771574&view=diff
==============================================================================
--- qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/client/message/MessageToStringTest.java (original)
+++ qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/client/message/MessageToStringTest.java Sun Nov 27 12:00:58 2016
@@ -20,8 +20,11 @@
  */
 package org.apache.qpid.test.client.message;
 
-import org.apache.qpid.client.AMQSession;
-import org.apache.qpid.test.utils.QpidBrokerTestCase;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.ObjectOutput;
+import java.io.ObjectOutputStream;
+import java.util.UUID;
 
 import javax.jms.BytesMessage;
 import javax.jms.Connection;
@@ -35,11 +38,8 @@ import javax.jms.Queue;
 import javax.jms.Session;
 import javax.jms.StreamMessage;
 import javax.jms.TextMessage;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.ObjectOutput;
-import java.io.ObjectOutputStream;
-import java.util.UUID;
+
+import org.apache.qpid.test.utils.QpidBrokerTestCase;
 
 public class MessageToStringTest extends QpidBrokerTestCase
 {
@@ -62,9 +62,7 @@ public class MessageToStringTest extends
         String queueName = getTestQueueName();
 
         //Create Queue
-        ((AMQSession) _session).createQueue(queueName, true, false, false);
-        _queue = _session.createQueue("direct://amq.direct/"+queueName+"/"+queueName+"?durable='false'&autodelete='true'");
-
+        _queue = createTestQueue(_session);
 
         _consumer = _session.createConsumer(_queue);
 

Modified: qpid/java/trunk/test-profiles/Java10Excludes
URL: http://svn.apache.org/viewvc/qpid/java/trunk/test-profiles/Java10Excludes?rev=1771574&r1=1771573&r2=1771574&view=diff
==============================================================================
--- qpid/java/trunk/test-profiles/Java10Excludes (original)
+++ qpid/java/trunk/test-profiles/Java10Excludes Sun Nov 27 12:00:58 2016
@@ -64,9 +64,6 @@ org.apache.qpid.test.unit.ack.RecoverTes
 // Tests the effect of setting the prefetch value
 org.apache.qpid.test.unit.ack.RecoverTest#testRecoverSessionAfterCreditExhausted
 
-// Tests a message implementation using an 0-9 data type
-org.apache.qpid.test.unit.basic.FieldTableMessageTest#*
-
 // 0-x specific acknowledge modes
 org.apache.qpid.test.client.QueueBrowserNoAckTest#*
 org.apache.qpid.test.client.QueueBrowserPreAckTest#*
@@ -91,6 +88,8 @@ org.apache.qpid.test.unit.ack.Acknowledg
 org.apache.qpid.test.unit.ack.AcknowledgeOnMessageTest#testNoAck
 org.apache.qpid.test.unit.ack.AcknowledgeOnMessageTest#testPreAck
 
+// This test is checking features of the 0-x client specific implementation of Session
+org.apache.qpid.test.unit.client.AMQSessionTest#*
 
 // Low level test on ensuring frames are not bigger than negotiated max - there should probably be an equivalent for 1.0
 org.apache.qpid.transport.MaxFrameSizeTest#*

Modified: qpid/java/trunk/test-profiles/Java10UninvestigatedTestsExcludes
URL: http://svn.apache.org/viewvc/qpid/java/trunk/test-profiles/Java10UninvestigatedTestsExcludes?rev=1771574&r1=1771573&r2=1771574&view=diff
==============================================================================
--- qpid/java/trunk/test-profiles/Java10UninvestigatedTestsExcludes (original)
+++ qpid/java/trunk/test-profiles/Java10UninvestigatedTestsExcludes Sun Nov 27 12:00:58 2016
@@ -21,10 +21,8 @@
 // working, defined as broken, or excluded as they test version specific functionality
 
 org.apache.qpid.server.AbruptClientDisconnectTest#*
-org.apache.qpid.server.logging.ConnectionLoggingTest#*
 org.apache.qpid.server.logging.ConsumerLoggingTest#*
 org.apache.qpid.server.logging.DurableQueueLoggingTest#*
-org.apache.qpid.server.logging.ExchangeLoggingTest#*
 org.apache.qpid.server.logging.QueueLoggingTest#*
 org.apache.qpid.server.logging.TransientQueueLoggingTest#*
 org.apache.qpid.server.queue.NodeAutoCreationPolicyTest#*
@@ -65,12 +63,10 @@ org.apache.qpid.test.unit.client.connect
 org.apache.qpid.test.unit.client.connection.ConnectionFactoryTest#*
 org.apache.qpid.test.unit.client.connection.BrokerClosesClientConnectionTest#*
 org.apache.qpid.test.unit.client.channelclose.CloseWithBlockingReceiveTest#*
-org.apache.qpid.test.unit.client.AMQSessionTest#*
 org.apache.qpid.test.unit.basic.SessionStartTest#*
 org.apache.qpid.test.unit.basic.InvalidDestinationTest#*
 org.apache.qpid.test.unit.basic.close.CloseTest#*
 org.apache.qpid.test.client.queue.LVQTest#*
-org.apache.qpid.test.client.message.MessageToStringTest#*
 org.apache.qpid.test.client.message.JMSDestinationTest#*
 org.apache.qpid.test.client.FlowControlTest#*
 org.apache.qpid.systest.rest.ConnectionRestTest#*



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