Add new CreateConnectionAndStart() helper function to streamline test creation and syntax.
Update AsyncConsumeTest.cs with new API as example code.
diff --git a/src/test/csharp/AsyncConsumeTest.cs b/src/test/csharp/AsyncConsumeTest.cs
index fcc6198..be49561 100644
--- a/src/test/csharp/AsyncConsumeTest.cs
+++ b/src/test/csharp/AsyncConsumeTest.cs
@@ -16,7 +16,6 @@
*/
using System.Threading;
-using Apache.NMS.Util;
using NUnit.Framework;
namespace Apache.NMS.Test
@@ -52,25 +51,22 @@
[Values(MsgDeliveryMode.Persistent, MsgDeliveryMode.NonPersistent)]
MsgDeliveryMode deliveryMode)
{
- using(IConnection connection = CreateConnection(GetTestClientId()))
+ using(IConnection connection = CreateConnectionAndStart(GetTestClientId()))
+ using(ISession session = connection.CreateSession(AcknowledgementMode.AutoAcknowledge))
+ using(IDestination destination = CreateDestination(session, DestinationType.Queue))
+ using(IMessageConsumer consumer = session.CreateConsumer(destination))
+ using(IMessageProducer producer = session.CreateProducer(destination))
{
- connection.Start();
- using(ISession session = connection.CreateSession(AcknowledgementMode.AutoAcknowledge))
- using(IDestination destination = CreateDestination(session, DestinationType.Queue))
- using(IMessageConsumer consumer = session.CreateConsumer(destination))
- using(IMessageProducer producer = session.CreateProducer(destination))
- {
- producer.DeliveryMode = deliveryMode;
- consumer.Listener += new MessageListener(OnMessage);
+ producer.DeliveryMode = deliveryMode;
+ consumer.Listener += new MessageListener(OnMessage);
- IMessage request = session.CreateMessage();
- request.NMSCorrelationID = "AsyncConsume";
- request.NMSType = "Test";
- producer.Send(request);
+ IMessage request = session.CreateMessage();
+ request.NMSCorrelationID = "AsyncConsume";
+ request.NMSType = "Test";
+ producer.Send(request);
- WaitForMessageToArrive();
- Assert.AreEqual(request.NMSCorrelationID, receivedMsg.NMSCorrelationID, "Invalid correlation ID.");
- }
+ WaitForMessageToArrive();
+ Assert.AreEqual(request.NMSCorrelationID, receivedMsg.NMSCorrelationID, "Invalid correlation ID.");
}
}
@@ -79,26 +75,26 @@
[Values(MsgDeliveryMode.Persistent, MsgDeliveryMode.NonPersistent)]
MsgDeliveryMode deliveryMode)
{
- using(IConnection connection = CreateConnection(GetTestClientId()))
+ using(IConnection connection = CreateConnectionAndStart(GetTestClientId()))
+ using(ISession session = connection.CreateSession(AcknowledgementMode.AutoAcknowledge))
+ using(IDestination destination = CreateDestination(session, DestinationType.Queue))
{
- connection.Start();
- using(ISession session = connection.CreateSession(AcknowledgementMode.AutoAcknowledge))
- using(IDestination destination = CreateDestination(session, DestinationType.Queue))
+ string correlationId = "AsyncConsumeAfterSend";
+
using(IMessageProducer producer = session.CreateProducer(destination))
{
producer.DeliveryMode = deliveryMode;
-
IMessage request = session.CreateMessage();
- request.NMSCorrelationID = "AsyncConsumeAfterSend";
+ request.NMSCorrelationID = correlationId;
request.NMSType = "Test";
producer.Send(request);
+ }
- using(IMessageConsumer consumer = session.CreateConsumer(destination))
- {
- consumer.Listener += new MessageListener(OnMessage);
- WaitForMessageToArrive();
- Assert.AreEqual(request.NMSCorrelationID, receivedMsg.NMSCorrelationID, "Invalid correlation ID.");
- }
+ using(IMessageConsumer consumer = session.CreateConsumer(destination))
+ {
+ consumer.Listener += new MessageListener(OnMessage);
+ WaitForMessageToArrive();
+ Assert.AreEqual(correlationId, receivedMsg.NMSCorrelationID, "Invalid correlation ID.");
}
}
}
@@ -108,26 +104,23 @@
[Values(MsgDeliveryMode.Persistent, MsgDeliveryMode.NonPersistent)]
MsgDeliveryMode deliveryMode)
{
- using(IConnection connection = CreateConnection(GetTestClientId()))
+ using(IConnection connection = CreateConnectionAndStart(GetTestClientId()))
+ using(ISession session = connection.CreateSession(AcknowledgementMode.AutoAcknowledge))
+ using(IDestination destination = CreateDestination(session, DestinationType.Queue))
+ using(IMessageConsumer consumer = session.CreateConsumer(destination))
+ using(IMessageProducer producer = session.CreateProducer(destination))
{
- connection.Start();
- using(ISession session = connection.CreateSession(AcknowledgementMode.AutoAcknowledge))
- using(IDestination destination = CreateDestination(session, DestinationType.Queue))
- using(IMessageConsumer consumer = session.CreateConsumer(destination))
- using(IMessageProducer producer = session.CreateProducer(destination))
- {
- producer.DeliveryMode = deliveryMode;
+ producer.DeliveryMode = deliveryMode;
- IMessage request = session.CreateMessage();
- request.NMSCorrelationID = "AsyncConsumeAfterSendLateListener";
- request.NMSType = "Test";
- producer.Send(request);
+ IMessage request = session.CreateMessage();
+ request.NMSCorrelationID = "AsyncConsumeAfterSendLateListener";
+ request.NMSType = "Test";
+ producer.Send(request);
- // now lets add the listener
- consumer.Listener += new MessageListener(OnMessage);
- WaitForMessageToArrive();
- Assert.AreEqual(request.NMSCorrelationID, receivedMsg.NMSCorrelationID, "Invalid correlation ID.");
- }
+ // now lets add the listener
+ consumer.Listener += new MessageListener(OnMessage);
+ WaitForMessageToArrive();
+ Assert.AreEqual(request.NMSCorrelationID, receivedMsg.NMSCorrelationID, "Invalid correlation ID.");
}
}
@@ -136,32 +129,27 @@
[Values(MsgDeliveryMode.Persistent, MsgDeliveryMode.NonPersistent)]
MsgDeliveryMode deliveryMode)
{
- using(IConnection connection = CreateConnection(GetTestClientId()))
+ using(IConnection connection = CreateConnectionAndStart(GetTestClientId()))
+ using(ISession session = connection.CreateSession(AcknowledgementMode.AutoAcknowledge))
+ using(IDestination destination = CreateDestination(session, DestinationType.Queue))
+ using(IMessageConsumer consumer = session.CreateConsumer(destination))
+ using(IMessageProducer producer = session.CreateProducer(destination))
{
- connection.Start();
- using(ISession session = connection.CreateSession(AcknowledgementMode.AutoAcknowledge))
- using(IDestination destination = CreateDestination(session, DestinationType.Queue))
- using(IMessageConsumer consumer = session.CreateConsumer(destination))
- {
- consumer.Listener += new MessageListener(OnMessage);
- using(IMessageProducer producer = session.CreateProducer(destination))
- {
- producer.DeliveryMode = deliveryMode;
+ consumer.Listener += new MessageListener(OnMessage);
+ producer.DeliveryMode = deliveryMode;
- ITextMessage request = session.CreateTextMessage("Hello, World!");
- request.NMSCorrelationID = "AsyncConsumeTextMessage";
- request.Properties["NMSXGroupID"] = "cheese";
- request.Properties["myHeader"] = "James";
+ ITextMessage request = session.CreateTextMessage("Hello, World!");
+ request.NMSCorrelationID = "AsyncConsumeTextMessage";
+ request.Properties["NMSXGroupID"] = "cheese";
+ request.Properties["myHeader"] = "James";
- producer.Send(request);
+ producer.Send(request);
- WaitForMessageToArrive();
- Assert.AreEqual(request.NMSCorrelationID, receivedMsg.NMSCorrelationID, "Invalid correlation ID.");
- Assert.AreEqual(request.Properties["NMSXGroupID"], receivedMsg.Properties["NMSXGroupID"], "Invalid NMSXGroupID.");
- Assert.AreEqual(request.Properties["myHeader"], receivedMsg.Properties["myHeader"], "Invalid myHeader.");
- Assert.AreEqual(request.Text, ((ITextMessage) receivedMsg).Text, "Invalid text body.");
- }
- }
+ WaitForMessageToArrive();
+ Assert.AreEqual(request.NMSCorrelationID, receivedMsg.NMSCorrelationID, "Invalid correlation ID.");
+ Assert.AreEqual(request.Properties["NMSXGroupID"], receivedMsg.Properties["NMSXGroupID"], "Invalid NMSXGroupID.");
+ Assert.AreEqual(request.Properties["myHeader"], receivedMsg.Properties["myHeader"], "Invalid myHeader.");
+ Assert.AreEqual(request.Text, ((ITextMessage) receivedMsg).Text, "Invalid text body.");
}
}
@@ -170,48 +158,42 @@
[Values(MsgDeliveryMode.Persistent, MsgDeliveryMode.NonPersistent)]
MsgDeliveryMode deliveryMode)
{
- using(IConnection connection = CreateConnection(GetTestClientId()))
+ using(IConnection connection = CreateConnectionAndStart(GetTestClientId()))
+ using(ISession session = connection.CreateSession(AcknowledgementMode.AutoAcknowledge))
+ using(ITemporaryQueue tempReplyDestination = session.CreateTemporaryQueue())
+ using(IDestination destination = CreateDestination(session, DestinationType.Queue))
+ using(IMessageConsumer consumer = session.CreateConsumer(destination))
+ using(IMessageConsumer tempConsumer = session.CreateConsumer(tempReplyDestination))
+ using(IMessageProducer producer = session.CreateProducer(destination))
{
- connection.Start();
- using(ISession session = connection.CreateSession(AcknowledgementMode.AutoAcknowledge))
- using(ITemporaryQueue tempReplyDestination = session.CreateTemporaryQueue())
- using(IDestination destination = CreateDestination(session, DestinationType.Queue))
- using(IMessageConsumer consumer = session.CreateConsumer(destination))
- using(IMessageConsumer tempConsumer = session.CreateConsumer(tempReplyDestination))
- using(IMessageProducer producer = session.CreateProducer(destination))
- {
- producer.DeliveryMode = deliveryMode;
- tempConsumer.Listener += new MessageListener(OnMessage);
- consumer.Listener += new MessageListener(OnQueueMessage);
+ producer.DeliveryMode = deliveryMode;
+ tempConsumer.Listener += new MessageListener(OnMessage);
+ consumer.Listener += new MessageListener(OnQueueMessage);
- IMessage request = session.CreateMessage();
- request.NMSCorrelationID = "TemqQueueAsyncConsume";
- request.NMSType = "Test";
- request.NMSReplyTo = tempReplyDestination;
- producer.Send(request);
+ IMessage request = session.CreateMessage();
+ request.NMSCorrelationID = "TemqQueueAsyncConsume";
+ request.NMSType = "Test";
+ request.NMSReplyTo = tempReplyDestination;
+ producer.Send(request);
- WaitForMessageToArrive();
- Assert.AreEqual("TempQueueAsyncResponse", receivedMsg.NMSCorrelationID, "Invalid correlation ID.");
- }
+ WaitForMessageToArrive();
+ Assert.AreEqual("TempQueueAsyncResponse", receivedMsg.NMSCorrelationID, "Invalid correlation ID.");
}
}
protected void OnQueueMessage(IMessage message)
{
Assert.AreEqual("TemqQueueAsyncConsume", message.NMSCorrelationID, "Invalid correlation ID.");
- using(IConnection connection = CreateConnection(RESPONSE_CLIENT_ID))
+ using(IConnection connection = CreateConnectionAndStart(RESPONSE_CLIENT_ID))
+ using(ISession session = connection.CreateSession(AcknowledgementMode.AutoAcknowledge))
+ using(IMessageProducer producer = session.CreateProducer(message.NMSReplyTo))
{
- connection.Start();
- using(ISession session = connection.CreateSession(AcknowledgementMode.AutoAcknowledge))
- using(IMessageProducer producer = session.CreateProducer(message.NMSReplyTo))
- {
- producer.DeliveryMode = message.NMSDeliveryMode;
+ producer.DeliveryMode = message.NMSDeliveryMode;
- ITextMessage response = session.CreateTextMessage("Asynchronous Response Message Text");
- response.NMSCorrelationID = "TempQueueAsyncResponse";
- response.NMSType = message.NMSType;
- producer.Send(response);
- }
+ ITextMessage response = session.CreateTextMessage("Asynchronous Response Message Text");
+ response.NMSCorrelationID = "TempQueueAsyncResponse";
+ response.NMSType = message.NMSType;
+ producer.Send(response);
}
}
diff --git a/src/test/csharp/NMSTestSupport.cs b/src/test/csharp/NMSTestSupport.cs
index a319672..08b92b8 100644
--- a/src/test/csharp/NMSTestSupport.cs
+++ b/src/test/csharp/NMSTestSupport.cs
@@ -389,6 +389,18 @@
return newConnection;
}
+ /// <summary>
+ /// Create a new connection to the broker, and start it.
+ /// </summary>
+ /// <param name="newClientId">Client ID of the new connection.</param>
+ /// <returns></returns>
+ public virtual IConnection CreateConnectionAndStart(string newClientId = null)
+ {
+ IConnection newConnection = CreateConnection(newClientId);
+ newConnection.Start();
+ return newConnection;
+ }
+
public IDestination CreateDestination(ISession session, DestinationType type)
{
return CreateDestination(session, type, "");