Author: tabish
Date: Fri Jan 23 07:28:59 2009
New Revision: 737053
URL: http://svn.apache.org/viewvc?rev=737053&view=rev
Log:
http://issues.apache.org/activemq/browse/AMQNET-106
Add a unit test for this issue.
Added:
activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/OpenWire/PrefetchSizeZeroTest.cs
Added:
activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/OpenWire/PrefetchSizeZeroTest.cs
URL:
http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/OpenWire/PrefetchSizeZeroTest.cs?rev=737053&view=auto
==============================================================================
---
activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/OpenWire/PrefetchSizeZeroTest.cs
(added)
+++
activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/OpenWire/PrefetchSizeZeroTest.cs
Fri Jan 23 07:28:59 2009
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+using NUnit.Framework;
+using Apache.NMS.Util;
+using NUnit.Framework.Extensions;
+using System.Threading;
+
+namespace Apache.NMS.Test
+{
+ [TestFixture]
+ public class PrefetchSizeZeroTest : NMSTestSupport
+ {
+ protected static string DESTINATION_NAME =
"TestPrefetchSizeZero?consumer.prefetchSize=0";
+
+ [Test, Explicit]
+ public void TestZeroPrefetchSize()
+ {
+ using(IConnection connection = CreateConnection())
+ {
+ connection.Start();
+ using(ISession session =
connection.CreateSession(AcknowledgementMode.AutoAcknowledge))
+ {
+ IDestination destination =
SessionUtil.GetDestination(session, DESTINATION_NAME);
+ using(IMessageConsumer consumer =
session.CreateConsumer(destination))
+ using(IMessageProducer producer =
session.CreateProducer(destination))
+ {
+ SendMessage(producer);
+ SendMessage(producer);
+
+ IMessage receivedMsg =
consumer.Receive(TimeSpan.FromSeconds(5));
+ Assert.IsNotNull(receivedMsg);
+ receivedMsg =
consumer.Receive(TimeSpan.FromSeconds(5));
+ Assert.IsNotNull(receivedMsg);
+ receivedMsg =
consumer.Receive(TimeSpan.FromSeconds(5));
+ Assert.IsNull(receivedMsg);
+
+ // Go inactive...
+
Thread.Sleep(TimeSpan.FromSeconds(10));
+
+ // Send another message.
+ SendMessage(producer);
+ receivedMsg =
consumer.Receive(TimeSpan.FromSeconds(5));
+ Assert.IsNotNull(receivedMsg);
+
+ }
+ }
+ }
+ }
+
+ protected void SendMessage(IMessageProducer producer)
+ {
+ IMessage request = producer.CreateMessage();
+ request.NMSType = "Test";
+ producer.Send(request);
+ }
+ }
+}