Author: rgodfrey
Date: Sat Nov 26 20:53:45 2016
New Revision: 1771512
URL: http://svn.apache.org/viewvc?rev=1771512&view=rev
Log:
QPID-7546 : Make some more tests run under AMQP 1.0
Modified:
qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/client/RollbackOrderTest.java
qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/client/message/JMSReplyToTest.java
qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/client/message/SelectorTest.java
qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/unit/ack/Acknowledge2ConsumersTest.java
qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/unit/ack/AcknowledgeOnMessageTest.java
qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/unit/ack/AcknowledgeTest.java
qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/unit/basic/LargeMessageTest.java
qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/unit/client/connection/ConnectionStartTest.java
qpid/java/trunk/systests/src/test/java/org/apache/qpid/transport/ProtocolNegotiationTest.java
qpid/java/trunk/test-profiles/Java10Excludes
qpid/java/trunk/test-profiles/Java10UninvestigatedTestsExcludes
Modified:
qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/client/RollbackOrderTest.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/client/RollbackOrderTest.java?rev=1771512&r1=1771511&r2=1771512&view=diff
==============================================================================
---
qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/client/RollbackOrderTest.java
(original)
+++
qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/client/RollbackOrderTest.java
Sat Nov 26 20:53:45 2016
@@ -20,9 +20,9 @@
*/
package org.apache.qpid.test.client;
-import junit.framework.AssertionFailedError;
-
-import org.apache.qpid.test.utils.QpidBrokerTestCase;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicBoolean;
import javax.jms.Connection;
import javax.jms.JMSException;
@@ -31,9 +31,10 @@ import javax.jms.MessageConsumer;
import javax.jms.MessageListener;
import javax.jms.Queue;
import javax.jms.Session;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicBoolean;
+
+import junit.framework.AssertionFailedError;
+
+import org.apache.qpid.test.utils.QpidBrokerTestCase;
/**
* RollbackOrderTest, QPID-1864, QPID-1871
@@ -98,7 +99,7 @@ public class RollbackOrderTest extends Q
_connection = getConnection();
_session = _connection.createSession(true, Session.SESSION_TRANSACTED);
- _queue = _session.createQueue(getTestQueueName());
+ _queue = createTestQueue(_session);
_consumer = _session.createConsumer(_queue);
//Send more messages so it is more likely that the dispatcher is
Modified:
qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/client/message/JMSReplyToTest.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/client/message/JMSReplyToTest.java?rev=1771512&r1=1771511&r2=1771512&view=diff
==============================================================================
---
qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/client/message/JMSReplyToTest.java
(original)
+++
qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/client/message/JMSReplyToTest.java
Sat Nov 26 20:53:45 2016
@@ -62,7 +62,7 @@ public class JMSReplyToTest extends Qpid
public void testRequestResponseUsingJmsReplyTo() throws Exception
{
final String responseQueueName = getTestQueueName() + ".response";
- Queue replyToQueue = _session.createQueue(responseQueueName);
+ Queue replyToQueue = createTestQueue(_session, responseQueueName);
sendRequestAndValidateResponse(replyToQueue);
}
@@ -113,7 +113,7 @@ public class JMSReplyToTest extends Qpid
final Connection responderConnection = getConnection();
responderConnection.start();
final Session responderSession =
responderConnection.createSession(false, Session.AUTO_ACKNOWLEDGE);
- final Queue requestQueue =
responderSession.createQueue(requestQueueName);
+ final Queue requestQueue = createTestQueue(responderSession,
requestQueueName);
final MessageConsumer requestConsumer =
responderSession.createConsumer(requestQueue);
requestConsumer.setMessageListener(new
AsyncResponder(responderSession));
Modified:
qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/client/message/SelectorTest.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/client/message/SelectorTest.java?rev=1771512&r1=1771511&r2=1771512&view=diff
==============================================================================
---
qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/client/message/SelectorTest.java
(original)
+++
qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/client/message/SelectorTest.java
Sat Nov 26 20:53:45 2016
@@ -20,17 +20,10 @@
*/
package org.apache.qpid.test.client.message;
-import org.junit.Assert;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.qpid.client.AMQConnection;
-import org.apache.qpid.client.AMQDestination;
-import org.apache.qpid.client.AMQQueue;
-import org.apache.qpid.client.AMQSession;
-import org.apache.qpid.client.BasicMessageProducer;
-import org.apache.qpid.test.utils.QpidBrokerTestCase;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+import javax.jms.Connection;
import javax.jms.DeliveryMode;
import javax.jms.Destination;
import javax.jms.InvalidSelectorException;
@@ -39,16 +32,22 @@ import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageListener;
import javax.jms.MessageProducer;
+import javax.jms.Queue;
import javax.jms.Session;
import javax.jms.TextMessage;
-import java.util.concurrent.CountDownLatch;
+
+import org.junit.Assert;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.apache.qpid.test.utils.QpidBrokerTestCase;
public class SelectorTest extends QpidBrokerTestCase implements MessageListener
{
private static final Logger _logger =
LoggerFactory.getLogger(SelectorTest.class);
- private AMQConnection _connection;
- private AMQDestination _destination;
+ private Connection _connection;
+ private Queue _destination;
private int count;
private static final String INVALID_SELECTOR = "Cost LIKE 5";
CountDownLatch _responseLatch = new CountDownLatch(1);
@@ -58,19 +57,12 @@ public class SelectorTest extends QpidBr
protected void setUp() throws Exception
{
super.setUp();
- init((AMQConnection) getConnection());
- }
-
- private void init(AMQConnection connection) throws JMSException
- {
- init(connection, new AMQQueue(connection, getTestQueueName(), true));
- }
+ _connection = getConnection();
+ Session session = _connection.createSession(false,
Session.AUTO_ACKNOWLEDGE);
- private void init(AMQConnection connection, AMQDestination destination)
throws JMSException
- {
- _connection = connection;
- _destination = destination;
- connection.start();
+ _destination = createTestQueue(session);
+ session.close();
+ _connection.start();
}
public void onMessage(Message message)
@@ -82,58 +74,41 @@ public class SelectorTest extends QpidBr
public void testUsingOnMessage() throws Exception
{
- String selector = "Cost = 2 AND \"property-with-hyphen\" = 'wibble'";
- Session session = _connection.createSession(false,
AMQSession.NO_ACKNOWLEDGE);
+ String selector = "Cost = 2 AND foo = 'wibble'";
+ Session session = _connection.createSession(false,
Session.AUTO_ACKNOWLEDGE);
session.createConsumer(_destination,
selector).setMessageListener(this);
- try
- {
- Message msg = session.createTextMessage("Message");
- msg.setJMSPriority(1);
- msg.setIntProperty("Cost", 2);
- msg.setStringProperty("property-with-hyphen", "wibble");
- msg.setJMSType("Special");
-
- _logger.info("Sending Message:" + msg);
+ Message msg = session.createTextMessage("Message");
+ msg.setJMSPriority(1);
+ msg.setIntProperty("Cost", 2);
+ msg.setStringProperty("foo", "wibble");
+ msg.setJMSType("Special");
- ((BasicMessageProducer)
session.createProducer(_destination)).send(msg, DeliveryMode.NON_PERSISTENT);
- _logger.info("Message sent, waiting for response...");
+ _logger.info("Sending Message:" + msg);
- _responseLatch.await();
+ final MessageProducer producer = session.createProducer(_destination);
+ producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
+ producer.send(msg);
+ _logger.info("Message sent, waiting for response...");
- if (count > 0)
- {
- _logger.info("Got message");
- }
+ _responseLatch.await(getReceiveTimeout(), TimeUnit.MILLISECONDS);
- if (count == 0)
- {
- fail("Did not get message!");
- // throw new RuntimeException("Did not get message!");
- }
- }
- catch (JMSException e)
+ if (count > 0)
{
- _logger.debug("JMS:" + e.getClass().getSimpleName() + ":" +
e.getMessage());
- if (!(e instanceof InvalidSelectorException))
- {
- fail("Wrong exception:" + e.getMessage());
- }
- else
- {
- _logger.debug("SUCCESS!!");
- }
+ _logger.info("Got message");
}
- catch (InterruptedException e)
+
+ if (count == 0)
{
- _logger.debug("IE :" + e.getClass().getSimpleName() + ":" +
e.getMessage());
+ fail("Did not get message!");
+ // throw new RuntimeException("Did not get message!");
}
}
public void testUnparsableSelectors() throws Exception
{
- AMQSession session = (AMQSession) _connection.createSession(false,
AMQSession.NO_ACKNOWLEDGE);
+ Session session = _connection.createSession(false,
Session.AUTO_ACKNOWLEDGE);
boolean caught = false;
//Try Creating a Browser
@@ -173,7 +148,7 @@ public class SelectorTest extends QpidBr
//Try Creating a Receiever
try
{
- session.createReceiver(session.createQueue("Ping"),
INVALID_SELECTOR);
+ session.createConsumer(session.createQueue("Ping"),
INVALID_SELECTOR);
}
catch (JMSException e)
{
@@ -189,7 +164,7 @@ public class SelectorTest extends QpidBr
try
{
- session.createReceiver(session.createQueue("Ping"),
BAD_MATHS_SELECTOR);
+ session.createConsumer(session.createQueue("Ping"),
BAD_MATHS_SELECTOR);
}
catch (JMSException e)
{
@@ -219,9 +194,8 @@ public class SelectorTest extends QpidBr
sentMsg.setStringProperty("testproperty", "hello"); // "hello" % 5
makes no sense
producer.send(sentMsg);
recvd = consumer.receive(RECEIVE_TIMEOUT);
- assertNull("Message ausing runtime selector error should be received",
recvd);
+ assertNull("Message causing runtime selector error should be
received", recvd);
- assertFalse("Connection should not be closed", _connection.isClosed());
}
public void testSelectorWithJMSMessageID() throws Exception
@@ -269,10 +243,10 @@ public class SelectorTest extends QpidBr
public void testSelectorWithJMSDeliveryMode() throws Exception
{
- Session session = _connection.createSession(false,
Session.SESSION_TRANSACTED);
+ Session session = _connection.createSession(false,
Session.AUTO_ACKNOWLEDGE);
- Destination dest1 = session.createTopic("test1");
- Destination dest2 = session.createTopic("test2");
+ Destination dest1 = createTopic(_connection, "test1");
+ Destination dest2 = createTopic(_connection, "test2");
MessageProducer prod1 = session.createProducer(dest1);
MessageProducer prod2 = session.createProducer(dest2);
Modified:
qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/unit/ack/Acknowledge2ConsumersTest.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/unit/ack/Acknowledge2ConsumersTest.java?rev=1771512&r1=1771511&r2=1771512&view=diff
==============================================================================
---
qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/unit/ack/Acknowledge2ConsumersTest.java
(original)
+++
qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/unit/ack/Acknowledge2ConsumersTest.java
Sat Nov 26 20:53:45 2016
@@ -21,10 +21,6 @@
package org.apache.qpid.test.unit.ack;
-import org.apache.qpid.client.AMQDestination;
-import org.apache.qpid.client.AMQSession;
-import org.apache.qpid.test.utils.QpidBrokerTestCase;
-
import javax.jms.Connection;
import javax.jms.JMSException;
import javax.jms.Message;
@@ -32,6 +28,8 @@ import javax.jms.MessageConsumer;
import javax.jms.Queue;
import javax.jms.Session;
+import org.apache.qpid.test.utils.QpidBrokerTestCase;
+
public class Acknowledge2ConsumersTest extends QpidBrokerTestCase
{
protected static int NUM_MESSAGES = 100;
@@ -46,7 +44,6 @@ public class Acknowledge2ConsumersTest e
{
super.setUp();
- _queue = (Queue) getInitialContext().lookup("queue");
//Create Producer put some messages on the queue
_con = getConnection();
@@ -56,8 +53,9 @@ public class Acknowledge2ConsumersTest e
{
_producerSession = _con.createSession(true,
Session.SESSION_TRANSACTED);
_consumerSession = _con.createSession(transacted, mode);
- _consumerA = _consumerSession.createConsumer(_queue);
+ _queue = createTestQueue(_producerSession);
_con.start();
+ _consumerA = _consumerSession.createConsumer(_queue);
}
/**
@@ -105,7 +103,7 @@ public class Acknowledge2ConsumersTest e
// and close the session to release any prefetched messages.
_consumerSession.close();
assertEquals("Wrong number of messages on queue", NUM_MESSAGES - count,
- ((AMQSession)
_producerSession).getQueueDepth((AMQDestination) _queue));
+ getQueueDepth(_con, _queue));
// Clean up messages that may be left on the queue
_consumerSession = _con.createSession(transacted, mode);
Modified:
qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/unit/ack/AcknowledgeOnMessageTest.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/unit/ack/AcknowledgeOnMessageTest.java?rev=1771512&r1=1771511&r2=1771512&view=diff
==============================================================================
---
qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/unit/ack/AcknowledgeOnMessageTest.java
(original)
+++
qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/unit/ack/AcknowledgeOnMessageTest.java
Sat Nov 26 20:53:45 2016
@@ -20,17 +20,15 @@
*/
package org.apache.qpid.test.unit.ack;
-import org.apache.qpid.client.AMQDestination;
-import org.apache.qpid.client.AMQSession;
-import org.apache.qpid.client.failover.FailoverException;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicReference;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
-import javax.jms.Session;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicReference;
+
+import org.apache.qpid.client.failover.FailoverException;
/**
* This test extends the synchronous AcknowledgeTest to use a MessageListener
@@ -131,7 +129,7 @@ public class AcknowledgeOnMessageTest ex
else
{
_logger.info("AOMT: Check QueueDepth:" + _queue);
- long onQueue=((AMQSession)
getConnection().createSession(false,
Session.AUTO_ACKNOWLEDGE)).getQueueDepth((AMQDestination) _queue);
+ long onQueue=getQueueDepth(_connection, _queue);
fail("All messages not received missing:" +
_receivedAll.getCount() + "/" + NUM_MESSAGES+" On Queue:"+onQueue);
}
@@ -164,7 +162,7 @@ public class AcknowledgeOnMessageTest ex
_logger.info("AOMT: check number of message at end of test.");
assertEquals("Wrong number of messages on queue", 0,
- ((AMQSession) getConnection().createSession(false,
Session.AUTO_ACKNOWLEDGE)).getQueueDepth((AMQDestination) _queue));
+ getQueueDepth(_connection, _queue));
}
/**
Modified:
qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/unit/ack/AcknowledgeTest.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/unit/ack/AcknowledgeTest.java?rev=1771512&r1=1771511&r2=1771512&view=diff
==============================================================================
---
qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/unit/ack/AcknowledgeTest.java
(original)
+++
qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/unit/ack/AcknowledgeTest.java
Sat Nov 26 20:53:45 2016
@@ -21,10 +21,6 @@
package org.apache.qpid.test.unit.ack;
-import org.apache.qpid.client.AMQDestination;
-import org.apache.qpid.client.AMQSession;
-import org.apache.qpid.test.utils.QpidBrokerTestCase;
-
import javax.jms.Connection;
import javax.jms.JMSException;
import javax.jms.Message;
@@ -33,6 +29,9 @@ import javax.jms.MessageProducer;
import javax.jms.Queue;
import javax.jms.Session;
+import org.apache.qpid.client.AMQSession;
+import org.apache.qpid.test.utils.QpidBrokerTestCase;
+
/**
* Test the various JMS Acknowledge Modes the single testAcking method does all
* the work of receiving and validation of acking.
@@ -63,6 +62,7 @@ public class AcknowledgeTest extends Qpi
protected void init(boolean transacted, int mode) throws Exception
{
_consumerSession = _connection.createSession(transacted, mode);
+ _queue = createTestQueue(_consumerSession);
_consumer = _consumerSession.createConsumer(_queue);
_producer = _consumerSession.createProducer(_queue);
@@ -70,9 +70,10 @@ public class AcknowledgeTest extends Qpi
sendMessage(_consumerSession, _queue, 1);
syncIfNotTransacted(transacted);
-
+ _connection.start();
assertEquals("Wrong number of messages on queue", 1,
- ((AMQSession<?,?>)
_consumerSession).getQueueDepth((AMQDestination) _queue));
+ getQueueDepth(_connection, _queue));
+ _connection.stop();
}
/**
@@ -97,7 +98,7 @@ public class AcknowledgeTest extends Qpi
_connection.start();
- Message msg = _consumer.receive(1500);
+ Message msg = _consumer.receive(getReceiveTimeout());
int count = 0;
while (count < NUM_MESSAGES)
@@ -115,7 +116,7 @@ public class AcknowledgeTest extends Qpi
doAcknowlegement(msg);
- msg = _consumer.receive(1500);
+ msg = _consumer.receive(getReceiveTimeout());
}
if (_consumerSession.getTransacted())
@@ -125,7 +126,7 @@ public class AcknowledgeTest extends Qpi
}
assertEquals("Wrong number of messages on queue", 0,
- ((AMQSession<?,?>)
_consumerSession).getQueueDepth((AMQDestination) _queue));
+ getQueueDepth(_connection, _queue));
}
/**
@@ -182,7 +183,7 @@ public class AcknowledgeTest extends Qpi
{
if(!transacted)
{
- ((AMQSession<?,?>)_consumerSession).sync();
+ _consumerSession.createTemporaryQueue().delete();
}
}
}
Modified:
qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/unit/basic/LargeMessageTest.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/unit/basic/LargeMessageTest.java?rev=1771512&r1=1771511&r2=1771512&view=diff
==============================================================================
---
qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/unit/basic/LargeMessageTest.java
(original)
+++
qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/unit/basic/LargeMessageTest.java
Sat Nov 26 20:53:45 2016
@@ -21,14 +21,7 @@
package org.apache.qpid.test.unit.basic;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.qpid.client.AMQConnection;
-import org.apache.qpid.client.AMQQueue;
-import org.apache.qpid.client.AMQSession;
-import org.apache.qpid.test.utils.QpidBrokerTestCase;
-
+import javax.jms.Connection;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.MessageConsumer;
@@ -36,26 +29,27 @@ import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.jms.TextMessage;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.apache.qpid.test.utils.QpidBrokerTestCase;
+
public class LargeMessageTest extends QpidBrokerTestCase
{
private static final Logger _logger =
LoggerFactory.getLogger(LargeMessageTest.class);
private Destination _destination;
- private AMQSession _session;
- private AMQConnection _connection;
+ private Session _session;
+ private Connection _connection;
protected void setUp() throws Exception
{
super.setUp();
- try
- {
- _connection = (AMQConnection) getConnection("guest", "guest");
- init( _connection );
- }
- catch (Exception e)
- {
- fail("Unable to initialilse connection: " + e);
- }
+ _connection = getConnection();
+ _session = _connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ _destination = createTestQueue(_session);
+
+ _connection.start();
}
protected void tearDown() throws Exception
@@ -64,20 +58,6 @@ public class LargeMessageTest extends Qp
super.tearDown();
}
- private void init(AMQConnection connection) throws Exception
- {
- Destination destination = new AMQQueue(connection, "LargeMessageTest",
true);
- init(connection, destination);
- }
-
- private void init(AMQConnection connection, Destination destination)
throws Exception
- {
- _destination = destination;
- _session = (AMQSession) connection.createSession(false,
Session.AUTO_ACKNOWLEDGE);
-
- connection.start();
- }
-
// Test boundary of 1 packet to 2 packets
public void test64kminus9()
{
@@ -183,8 +163,4 @@ public class LargeMessageTest extends Qp
return builder.toString();
}
- public static junit.framework.Test suite()
- {
- return new junit.framework.TestSuite(LargeMessageTest.class);
- }
}
Modified:
qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/unit/client/connection/ConnectionStartTest.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/unit/client/connection/ConnectionStartTest.java?rev=1771512&r1=1771511&r2=1771512&view=diff
==============================================================================
---
qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/unit/client/connection/ConnectionStartTest.java
(original)
+++
qpid/java/trunk/systests/src/test/java/org/apache/qpid/test/unit/client/connection/ConnectionStartTest.java
Sat Nov 26 20:53:45 2016
@@ -20,62 +20,53 @@
*/
package org.apache.qpid.test.unit.client.connection;
-import org.apache.qpid.client.AMQConnection;
-import org.apache.qpid.client.AMQQueue;
-import org.apache.qpid.client.AMQSession;
-import org.apache.qpid.test.utils.QpidBrokerTestCase;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+import javax.jms.Connection;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageListener;
import javax.jms.MessageProducer;
+import javax.jms.Queue;
import javax.jms.Session;
import javax.jms.TextMessage;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
+
+import org.apache.qpid.client.AMQSession;
+import org.apache.qpid.test.utils.QpidBrokerTestCase;
public class ConnectionStartTest extends QpidBrokerTestCase
{
- private String _broker = "vm://:1";
-
- private AMQConnection _connection;
+ private Connection _connection;
private Session _consumerSess;
private MessageConsumer _consumer;
protected void setUp() throws Exception
{
super.setUp();
- try
- {
+ Connection pubCon = getConnection();
- AMQConnection pubCon = (AMQConnection) getConnection("guest",
"guest");
+ Session pubSess = pubCon.createSession(false,
AMQSession.AUTO_ACKNOWLEDGE);
+ Queue queue = createTestQueue(pubSess);
- AMQQueue queue = new AMQQueue(pubCon,"ConnectionStartTest");
- Session pubSess = pubCon.createSession(false,
AMQSession.AUTO_ACKNOWLEDGE);
+ MessageProducer pub = pubSess.createProducer(queue);
- MessageProducer pub = pubSess.createProducer(queue);
+ _connection = getConnection();
- _connection = (AMQConnection) getConnection("guest", "guest");
+ _consumerSess = _connection.createSession(false,
AMQSession.AUTO_ACKNOWLEDGE);
- _consumerSess = _connection.createSession(false,
AMQSession.AUTO_ACKNOWLEDGE);
+ _consumer = _consumerSess.createConsumer(queue);
- _consumer = _consumerSess.createConsumer(queue);
+ //publish after queue is created to ensure it can be routed as expected
+ pub.send(pubSess.createTextMessage("Initial Message"));
- //publish after queue is created to ensure it can be routed as
expected
- pub.send(pubSess.createTextMessage("Initial Message"));
+ pubCon.close();
- pubCon.close();
- }
- catch (Exception e)
- {
- _logger.error("Connection to " + _broker + " should succeed.", e);
- fail("Connection to " + _broker + " should succeed. Reason: " + e);
- }
}
protected void tearDown() throws Exception
@@ -88,13 +79,9 @@ public class ConnectionStartTest extends
{
try
{
- assertTrue("Connection should not be started",
!_connection.started());
- //Note that this next line will start the dispatcher in the session
- // should really not be called before _connection start
- //assertTrue("There should not be messages waiting for the
consumer", _consumer.receiveNoWait() == null);
+ assertNull("No messages should be delivered when the connection is
stopped", _consumer.receive(500));
_connection.start();
- assertTrue("There should be messages waiting for the consumer",
_consumer.receive(10*1000) != null);
- assertTrue("Connection should be started", _connection.started());
+ assertTrue("There should be messages waiting for the consumer",
_consumer.receive(getReceiveTimeout()) != null);
}
catch (JMSException e)
@@ -104,20 +91,18 @@ public class ConnectionStartTest extends
}
- public void testMessageListenerConnection()
+ public void testMessageListenerConnection() throws Exception
{
final CountDownLatch _gotMessage = new CountDownLatch(1);
try
{
- assertTrue("Connection should not be started",
!_connection.started());
_consumer.setMessageListener(new MessageListener()
{
public void onMessage(Message message)
{
try
{
- assertTrue("Connection should be started",
_connection.started());
assertEquals("Mesage Received", "Initial Message",
((TextMessage) message).getText());
_gotMessage.countDown();
}
@@ -127,10 +112,9 @@ public class ConnectionStartTest extends
}
}
});
-
- assertTrue("Connection should not be started",
!_connection.started());
+ Thread.sleep(500);
+ assertEquals("No messages should be delivered before connection
start", 1L,_gotMessage.getCount());
_connection.start();
- assertTrue("Connection should be started", _connection.started());
try
{
Modified:
qpid/java/trunk/systests/src/test/java/org/apache/qpid/transport/ProtocolNegotiationTest.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/test/java/org/apache/qpid/transport/ProtocolNegotiationTest.java?rev=1771512&r1=1771511&r2=1771512&view=diff
==============================================================================
---
qpid/java/trunk/systests/src/test/java/org/apache/qpid/transport/ProtocolNegotiationTest.java
(original)
+++
qpid/java/trunk/systests/src/test/java/org/apache/qpid/transport/ProtocolNegotiationTest.java
Sat Nov 26 20:53:45 2016
@@ -25,6 +25,7 @@ import java.io.OutputStream;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.SocketTimeoutException;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
@@ -57,7 +58,20 @@ public class ProtocolNegotiationTest ext
private static final Logger LOGGER =
LoggerFactory.getLogger(ProtocolNegotiationTest.class);
private static final int SO_TIMEOUT = 5000;
public static final int AMQP_HEADER_LEN = 8;
- private ProtocolVersion _expectedProtocolInit;
+ private Protocol _expectedProtocolInit;
+
+ private static final Map<Protocol, List<List<Byte>>> HEADERS = new
HashMap<>();
+
+ static
+ {
+ HEADERS.put(Protocol.AMQP_0_8,
Collections.singletonList(Arrays.asList((byte)1, (byte)1, (byte)8, (byte)0)));
+ HEADERS.put(Protocol.AMQP_0_9,
Collections.singletonList(Arrays.asList((byte)1, (byte)1, (byte)0, (byte)9)));
+ HEADERS.put(Protocol.AMQP_0_9_1,
Collections.singletonList(Arrays.asList((byte)0, (byte)0, (byte)9, (byte)1)));
+ HEADERS.put(Protocol.AMQP_0_10,
Collections.singletonList(Arrays.asList((byte)1, (byte)1, (byte)0, (byte)10)));
+ HEADERS.put(Protocol.AMQP_1_0, Arrays.asList(Arrays.asList((byte)3,
(byte)1, (byte)0, (byte)0),
+ Arrays.asList((byte)0,
(byte)1, (byte)0, (byte)0)));
+
+ }
public void setUp() throws Exception
{
@@ -78,7 +92,7 @@ public class ProtocolNegotiationTest ext
Collections.singletonMap(AmqpPort.PROPERTY_DEFAULT_SUPPORTED_PROTOCOL_REPLY,
null));
super.setUp();
- _expectedProtocolInit =
convertProtocolToProtocolVersion(getBrokerProtocol());
+ _expectedProtocolInit = getBrokerProtocol();
}
public void
testWrongProtocolHeaderSent_BrokerRespondsWithSupportedProtocol() throws
Exception
@@ -104,10 +118,23 @@ public class ProtocolNegotiationTest ext
ProtocolInitiation protocolInitiation = new
ProtocolInitiation(QpidByteBuffer.wrap(receivedHeader));
- assertEquals("Unexpected protocol initialisation",
_expectedProtocolInit, protocolInitiation.checkVersion());
+ assertTrue("Unexpected protocol initialisation",
matchedExpectedVersion(receivedHeader));
}
}
+ private boolean matchedExpectedVersion(byte[] header)
+ {
+ if(header[0] != 'A' || header[1] != 'M' || header[2] != 'Q' ||
header[3] != 'P')
+ {
+ return false;
+ }
+ List<Byte> version = new ArrayList<>();
+ for(int i = 4; i<8; i++)
+ {
+ version.add(header[i]);
+ }
+ return HEADERS.get(_expectedProtocolInit).contains(version);
+ }
public void testNoProtocolHeaderSent_BrokerClosesConnection() throws
Exception
{
@@ -146,8 +173,7 @@ public class ProtocolNegotiationTest ext
{
socket.setSoTimeout(5000);
- final ProtocolVersion protocolVersion =
convertProtocolToProtocolVersion(getBrokerProtocol());
- ProtocolInitiation pi = new ProtocolInitiation(protocolVersion);
+ byte[] header = getHeaderBytesForBrokerVersion();
final InetSocketAddress inetSocketAddress = new
InetSocketAddress("localhost", getDefaultAmqpPort());
_logger.debug("Making connection to {}", inetSocketAddress);
@@ -161,7 +187,7 @@ public class ProtocolNegotiationTest ext
final InputStream inputStream = socket.getInputStream();
// write header
- pi.writePayload(sender);
+ sender.send(QpidByteBuffer.wrap(header));
sender.flush();
// reader header
@@ -188,14 +214,28 @@ public class ProtocolNegotiationTest ext
}
}
+ private byte[] getHeaderBytesForBrokerVersion()
+ {
+ byte[] header = new byte[8];
+ header[0] = 'A';
+ header[1] = 'M';
+ header[2] = 'Q';
+ header[3] = 'P';
+ List<Byte> version =
HEADERS.get(getBrokerProtocol()).iterator().next();
+ int i = 4;
+ for(byte b : version)
+ {
+ header[i++] = b;
+ }
+ return header;
+ }
+
public void testIllegalFrameSent_BrokerClosesConnection() throws Exception
{
try(Socket socket = new Socket())
{
socket.setSoTimeout(5000);
- final ProtocolVersion protocolVersion =
convertProtocolToProtocolVersion(getBrokerProtocol());
- ProtocolInitiation pi = new ProtocolInitiation(protocolVersion);
final InetSocketAddress inetSocketAddress = new
InetSocketAddress("localhost", getDefaultAmqpPort());
_logger.debug("Making connection to {}", inetSocketAddress);
@@ -208,7 +248,7 @@ public class ProtocolNegotiationTest ext
// write header
TestSender sender = new TestSender(socket.getOutputStream());
- pi.writePayload(sender);
+ sender.send(QpidByteBuffer.wrap(getHeaderBytesForBrokerVersion()));
sender.flush();
// reader header
@@ -242,7 +282,7 @@ public class ProtocolNegotiationTest ext
setTestSystemProperty(ClientProperties.AMQP_VERSION, version);
AMQConnection connection = (AMQConnection)getConnection();
LOGGER.debug("Negotiated version {}",
connection.getProtocolVersion());
- assertEquals("Unexpected version negotiated: " +
connection.getProtocolVersion(), _expectedProtocolInit,
connection.getProtocolVersion());
+ assertEquals("Unexpected version negotiated: " +
connection.getProtocolVersion(),
convertProtocolToProtocolVersion(_expectedProtocolInit),
connection.getProtocolVersion());
connection.close();
}
}
@@ -271,6 +311,9 @@ public class ProtocolNegotiationTest ext
final ProtocolVersion protocolVersion;
switch(p)
{
+ case AMQP_1_0:
+ protocolVersion = null;
+ break;
case AMQP_0_10:
protocolVersion = ProtocolVersion.v0_10;
break;
Modified: qpid/java/trunk/test-profiles/Java10Excludes
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/test-profiles/Java10Excludes?rev=1771512&r1=1771511&r2=1771512&view=diff
==============================================================================
--- qpid/java/trunk/test-profiles/Java10Excludes (original)
+++ qpid/java/trunk/test-profiles/Java10Excludes Sat Nov 26 20:53:45 2016
@@ -85,5 +85,23 @@ org.apache.qpid.server.logging.ChannelLo
org.apache.qpid.server.logging.ChannelLoggingTest#testChannelClosedOnExclusiveQueueDeclaredOnDifferentSession
+// These tests test acknowledge modes that are 0-8/9/10 client specific
+org.apache.qpid.test.unit.ack.AcknowledgeTest#testNoAck
+org.apache.qpid.test.unit.ack.AcknowledgeTest#testPreAck
+org.apache.qpid.test.unit.ack.AcknowledgeOnMessageTest#testNoAck
+org.apache.qpid.test.unit.ack.AcknowledgeOnMessageTest#testPreAck
+
+
+// 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#*
+
+// This test is concerned with the 0-x client establishing a connection to a
supported version
+org.apache.qpid.transport.ProtocolNegotiationTest#testProtocolNegotiationFromUnsupportedVersion
+
+
+
+
+
+
Modified: qpid/java/trunk/test-profiles/Java10UninvestigatedTestsExcludes
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/test-profiles/Java10UninvestigatedTestsExcludes?rev=1771512&r1=1771511&r2=1771512&view=diff
==============================================================================
--- qpid/java/trunk/test-profiles/Java10UninvestigatedTestsExcludes (original)
+++ qpid/java/trunk/test-profiles/Java10UninvestigatedTestsExcludes Sat Nov 26
20:53:45 2016
@@ -29,8 +29,6 @@ org.apache.qpid.server.logging.QueueLogg
org.apache.qpid.server.logging.TransientQueueLoggingTest#*
org.apache.qpid.server.queue.NodeAutoCreationPolicyTest#*
org.apache.qpid.server.security.auth.manager.ExternalAuthenticationTest#*
-org.apache.qpid.test.unit.basic.LargeMessageTest#*
-org.apache.qpid.test.unit.client.connection.ConnectionStartTest#*
org.apache.qpid.test.unit.client.connection.ExceptionListenerTest#*
org.apache.qpid.test.unit.client.DynamicQueueExchangeCreateTest#*
org.apache.qpid.client.prefetch.PrefetchBehaviourTest#*
@@ -79,20 +77,12 @@ org.apache.qpid.test.unit.basic.Property
org.apache.qpid.test.unit.basic.InvalidDestinationTest#*
org.apache.qpid.test.unit.basic.FieldTableMessageTest#*
org.apache.qpid.test.unit.basic.close.CloseTest#*
-org.apache.qpid.test.unit.ack.AcknowledgeTest#*
-org.apache.qpid.test.unit.ack.AcknowledgeOnMessageTest#*
-org.apache.qpid.test.unit.ack.Acknowledge2ConsumersTest#*
-org.apache.qpid.test.client.RollbackOrderTest#*
org.apache.qpid.test.client.queue.LVQTest#*
-org.apache.qpid.test.client.message.SelectorTest#*
org.apache.qpid.test.client.message.MessageToStringTest#*
-org.apache.qpid.test.client.message.JMSReplyToTest#*
org.apache.qpid.test.client.message.JMSDestinationTest#*
org.apache.qpid.test.client.FlowControlTest#*
org.apache.qpid.systest.rest.ConnectionRestTest#*
org.apache.qpid.systest.rest.MessagesRestTest#*
-org.apache.qpid.transport.ProtocolNegotiationTest#*
-org.apache.qpid.transport.MaxFrameSizeTest#*
org.apache.qpid.transport.ConnectionEstablishmentTest#*
org.apache.qpid.test.unit.transacted.TransactionTimeoutTest#*
org.apache.qpid.client.failover.FailoverBehaviourTest#*
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]