You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by jg...@apache.org on 2009/06/02 01:28:03 UTC
svn commit: r780880 - in
/activemq/activemq-dotnet/Apache.NMS/trunk/src/test/csharp: DurableTest.cs
NMSTestSupport.cs
Author: jgomes
Date: Mon Jun 1 23:28:03 2009
New Revision: 780880
URL: http://svn.apache.org/viewvc?rev=780880&view=rev
Log:
Remove tests for non-persistent durable messages. All durable consumer message tests must use persistent messages. (c.f., http://activemq.apache.org/why-do-i-not-receive-messages-on-my-durable-topic-subscription.html)
Added macro expansion for TIBCOHost, TIBCOBackupHost, MSMQHost, and MSMQBackupHost.
Modified:
activemq/activemq-dotnet/Apache.NMS/trunk/src/test/csharp/DurableTest.cs
activemq/activemq-dotnet/Apache.NMS/trunk/src/test/csharp/NMSTestSupport.cs
Modified: activemq/activemq-dotnet/Apache.NMS/trunk/src/test/csharp/DurableTest.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS/trunk/src/test/csharp/DurableTest.cs?rev=780880&r1=780879&r2=780880&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS/trunk/src/test/csharp/DurableTest.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS/trunk/src/test/csharp/DurableTest.cs Mon Jun 1 23:28:03 2009
@@ -33,34 +33,44 @@
#if !NET_1_1
[RowTest]
- [Row(MsgDeliveryMode.Persistent)]
- [Row(MsgDeliveryMode.NonPersistent)]
+ [Row(AcknowledgementMode.AutoAcknowledge)]
+ [Row(AcknowledgementMode.ClientAcknowledge)]
+ [Row(AcknowledgementMode.DupsOkAcknowledge)]
+ [Row(AcknowledgementMode.Transactional)]
#endif
- public void TestDurableConsumerSelectorChange(MsgDeliveryMode deliveryMode)
+ public void TestDurableConsumerSelectorChange(AcknowledgementMode ackMode)
{
try
{
using(IConnection connection = CreateConnection(TEST_CLIENT_ID))
{
connection.Start();
- using(ISession session = connection.CreateSession(AcknowledgementMode.AutoAcknowledge))
+ using(ISession session = connection.CreateSession(ackMode))
{
- ITopic topic = SessionUtil.GetTopic(session, DURABLE_TOPIC);
+ ITopic topic = session.GetTopic(DURABLE_TOPIC);
IMessageProducer producer = session.CreateProducer(topic);
IMessageConsumer consumer = session.CreateDurableConsumer(topic, CONSUMER_ID, "color='red'", false);
- producer.DeliveryMode = deliveryMode;
+ producer.DeliveryMode = MsgDeliveryMode.Persistent;
// Send the messages
ITextMessage sendMessage = session.CreateTextMessage("1st");
sendMessage.Properties["color"] = "red";
producer.Send(sendMessage);
+ if(AcknowledgementMode.Transactional == ackMode)
+ {
+ session.Commit();
+ }
ITextMessage receiveMsg = consumer.Receive(receiveTimeout) as ITextMessage;
Assert.IsNotNull(receiveMsg, "Failed to retrieve 1st durable message.");
Assert.AreEqual("1st", receiveMsg.Text);
- Assert.AreEqual(deliveryMode, receiveMsg.NMSDeliveryMode, "NMSDeliveryMode does not match");
+ Assert.AreEqual(MsgDeliveryMode.Persistent, receiveMsg.NMSDeliveryMode, "NMSDeliveryMode does not match");
receiveMsg.Acknowledge();
+ if(AcknowledgementMode.Transactional == ackMode)
+ {
+ session.Commit();
+ }
// Change the subscription.
consumer.Dispose();
@@ -72,13 +82,21 @@
sendMessage = session.CreateTextMessage("3rd");
sendMessage.Properties["color"] = "blue";
producer.Send(sendMessage);
+ if(AcknowledgementMode.Transactional == ackMode)
+ {
+ session.Commit();
+ }
// Selector should skip the 2nd message.
receiveMsg = consumer.Receive(receiveTimeout) as ITextMessage;
Assert.IsNotNull(receiveMsg, "Failed to retrieve durable message.");
Assert.AreEqual("3rd", receiveMsg.Text, "Retrieved the wrong durable message.");
- Assert.AreEqual(deliveryMode, receiveMsg.NMSDeliveryMode, "NMSDeliveryMode does not match");
+ Assert.AreEqual(MsgDeliveryMode.Persistent, receiveMsg.NMSDeliveryMode, "NMSDeliveryMode does not match");
receiveMsg.Acknowledge();
+ if(AcknowledgementMode.Transactional == ackMode)
+ {
+ session.Commit();
+ }
// Make sure there are no pending messages.
Assert.IsNull(consumer.ReceiveNoWait(), "Wrong number of messages in durable subscription.");
@@ -97,25 +115,20 @@
#if !NET_1_1
[RowTest]
- [Row(MsgDeliveryMode.Persistent, AcknowledgementMode.AutoAcknowledge)]
- [Row(MsgDeliveryMode.Persistent, AcknowledgementMode.ClientAcknowledge)]
- [Row(MsgDeliveryMode.Persistent, AcknowledgementMode.DupsOkAcknowledge)]
- [Row(MsgDeliveryMode.Persistent, AcknowledgementMode.Transactional)]
-
- [Row(MsgDeliveryMode.NonPersistent, AcknowledgementMode.AutoAcknowledge)]
- [Row(MsgDeliveryMode.NonPersistent, AcknowledgementMode.ClientAcknowledge)]
- [Row(MsgDeliveryMode.NonPersistent, AcknowledgementMode.DupsOkAcknowledge)]
- [Row(MsgDeliveryMode.NonPersistent, AcknowledgementMode.Transactional)]
+ [Row(AcknowledgementMode.AutoAcknowledge)]
+ [Row(AcknowledgementMode.ClientAcknowledge)]
+ [Row(AcknowledgementMode.DupsOkAcknowledge)]
+ [Row(AcknowledgementMode.Transactional)]
#endif
- public void TestDurableConsumer(MsgDeliveryMode deliveryMode, AcknowledgementMode ackMode)
+ public void TestDurableConsumer(AcknowledgementMode ackMode)
{
try
{
RegisterDurableConsumer(TEST_CLIENT_ID, DURABLE_TOPIC, CONSUMER_ID, DURABLE_SELECTOR, false);
- RunTestDurableConsumer(deliveryMode, ackMode);
+ RunTestDurableConsumer(ackMode);
if(AcknowledgementMode.Transactional == ackMode)
{
- RunTestDurableConsumer(deliveryMode, ackMode);
+ RunTestDurableConsumer(ackMode);
}
}
finally
@@ -124,9 +137,9 @@
}
}
- protected void RunTestDurableConsumer(MsgDeliveryMode deliveryMode, AcknowledgementMode ackMode)
+ protected void RunTestDurableConsumer(AcknowledgementMode ackMode)
{
- SendDurableMessage(deliveryMode);
+ SendDurableMessage();
using(IConnection connection = CreateConnection(TEST_CLIENT_ID))
{
@@ -139,7 +152,7 @@
IMessage msg = consumer.Receive(receiveTimeout);
Assert.IsNotNull(msg, "Did not receive first durable message.");
msg.Acknowledge();
- SendDurableMessage(deliveryMode);
+ SendDurableMessage();
msg = consumer.Receive(receiveTimeout);
Assert.IsNotNull(msg, "Did not receive second durable message.");
@@ -154,7 +167,7 @@
}
}
- protected void SendDurableMessage(MsgDeliveryMode deliveryMode)
+ protected void SendDurableMessage()
{
using(IConnection connection = CreateConnection(SEND_CLIENT_ID))
{
@@ -166,7 +179,7 @@
{
ITextMessage message = session.CreateTextMessage("Durable Hello");
- producer.DeliveryMode = deliveryMode;
+ producer.DeliveryMode = MsgDeliveryMode.Persistent;
producer.RequestTimeout = receiveTimeout;
producer.Send(message);
}
Modified: activemq/activemq-dotnet/Apache.NMS/trunk/src/test/csharp/NMSTestSupport.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS/trunk/src/test/csharp/NMSTestSupport.cs?rev=780880&r1=780879&r2=780880&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS/trunk/src/test/csharp/NMSTestSupport.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS/trunk/src/test/csharp/NMSTestSupport.cs Mon Jun 1 23:28:03 2009
@@ -212,31 +212,55 @@
/// <returns></returns>
public static string ReplaceEnvVar(string srcText)
{
- // TODO: This should be refactored to be more generic and support full variable
+ // NOTE: Might be able to refactor to be more generic and support full variable
// names that can be pulled from the environment. Currently, we only support limited
- // hard-coded variable names:
- //
- // "${activemqhost}" - defaults to "localhost".
- // "${activemqbackuphost}" - defaults to "localhost".
+ // hard-coded variable names.
- srcText = ReplaceEnvVar(srcText, "ActiveMQHost", "localhost");
- srcText = ReplaceEnvVar(srcText, "ActiveMQBackupHost", "localhost");
+ string defaultBroker = GetEnvVar("NMSTestBroker", "localhost");
+
+ srcText = ReplaceEnvVar(srcText, "ActiveMQHost", defaultBroker);
+ srcText = ReplaceEnvVar(srcText, "ActiveMQBackupHost", defaultBroker);
+
+ srcText = ReplaceEnvVar(srcText, "TIBCOHost", defaultBroker);
+ srcText = ReplaceEnvVar(srcText, "TIBCOBackupHost", defaultBroker);
+
+ srcText = ReplaceEnvVar(srcText, "MSMQHost", defaultBroker);
+ srcText = ReplaceEnvVar(srcText, "MSMQBackupHost", defaultBroker);
return srcText;
}
+ /// <summary>
+ /// Replace the variable with environment variable.
+ /// </summary>
+ /// <param name="srcText"></param>
+ /// <param name="varName"></param>
+ /// <param name="defaultValue"></param>
+ /// <returns></returns>
public static string ReplaceEnvVar(string srcText, string varName, string defaultValue)
{
+ string replacementValue = GetEnvVar(varName, defaultValue);
+ return Regex.Replace(srcText, "\\${" + varName + "}", replacementValue, RegexOptions.IgnoreCase);
+ }
+
+ /// <summary>
+ /// Get environment variable value.
+ /// </summary>
+ /// <param name="varName"></param>
+ /// <param name="defaultValue"></param>
+ /// <returns></returns>
+ public static string GetEnvVar(string varName, string defaultValue)
+ {
#if (PocketPC||NETCF||NETCF_2_0)
- string replacementValue = null;
+ string varValue = null;
#else
- string replacementValue = Environment.GetEnvironmentVariable(varName);
+ string varValue = Environment.GetEnvironmentVariable(varName);
#endif
- if(null == replacementValue)
+ if(null == varValue)
{
- replacementValue = defaultValue;
+ varValue = defaultValue;
}
- return Regex.Replace(srcText, "\\${" + varName + "}", replacementValue, RegexOptions.IgnoreCase);
+ return varValue;
}
/// <summary>