You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ch...@apache.org on 2006/10/09 22:59:17 UTC

svn commit: r454506 [11/11] - in /incubator/activemq/activemq-dotnet/trunk/src: main/csharp/ActiveMQ/ main/csharp/ActiveMQ/Commands/ main/csharp/ActiveMQ/OpenWire/ main/csharp/ActiveMQ/OpenWire/V2/ main/csharp/ActiveMQ/Transport/ main/csharp/ActiveMQ/U...

Modified: incubator/activemq/activemq-dotnet/trunk/src/test/csharp/NMS/Test/TransactionTest.cs
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-dotnet/trunk/src/test/csharp/NMS/Test/TransactionTest.cs?view=diff&rev=454506&r1=454505&r2=454506
==============================================================================
--- incubator/activemq/activemq-dotnet/trunk/src/test/csharp/NMS/Test/TransactionTest.cs (original)
+++ incubator/activemq/activemq-dotnet/trunk/src/test/csharp/NMS/Test/TransactionTest.cs Mon Oct  9 13:59:14 2006
@@ -1,257 +1,257 @@
-/*
- * 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 NUnit.Framework;
-using System;
-using System.Collections;
-
-
-namespace NMS.Test
-{
-	[TestFixture]
-    abstract public class TransactionTest : NMSTestSupport
-    {
-        private static int destinationCounter;
-        
-        IMessageProducer producer;
-        IMessageConsumer consumer;
-        
-        [SetUp]
-		override public void SetUp()
-        {
-            base.SetUp();
-			acknowledgementMode = AcknowledgementMode.Transactional;
-            Drain();
-            consumer = Session.CreateConsumer(Destination);
-            producer = Session.CreateProducer(Destination);
-        }
-		
-        [TearDown]
-        override public void TearDown()
-        {
-			base.TearDown();
-        }
-		
-		
-        [Test]
-        public void TestSendRollback()
-        {
-            IMessage[] outbound = new IMessage[]{
-                Session.CreateTextMessage("First Message"),
-                Session.CreateTextMessage("Second Message")
-            };
-            
-            //sends a message
-            producer.Send(outbound[0]);
-            Session.Commit();
-            
-            //sends a message that gets rollbacked
-            producer.Send(Session.CreateTextMessage("I'm going to get rolled back."));
-            Session.Rollback();
-            
-            //sends a message
-            producer.Send(outbound[1]);
-            Session.Commit();
-            
-            //receives the first message
-            ArrayList messages = new ArrayList();
-            Console.WriteLine("About to consume message 1");
-            IMessage message = consumer.Receive(TimeSpan.FromMilliseconds(1000));
-            messages.Add(message);
-            Console.WriteLine("Received: " + message);
-            
-            //receives the second message
-            Console.WriteLine("About to consume message 2");
-            message = consumer.Receive(TimeSpan.FromMilliseconds(4000));
-            messages.Add(message);
-            Console.WriteLine("Received: " + message);
-            
-            //validates that the rollbacked was not consumed
-            Session.Commit();
-            IMessage[] inbound = new IMessage[messages.Count];
-            messages.CopyTo(inbound);
-            AssertTextMessagesEqual("Rollback did not work.", outbound, inbound);
-        }
-        
-        [Test]
-        public void TestSendSessionClose()
-        {
-            IMessage[] outbound = new IMessage[]{
-                Session.CreateTextMessage("First Message"),
-                Session.CreateTextMessage("Second Message")
-            };
-            
-            //sends a message
-            producer.Send(outbound[0]);
-            Session.Commit();
-            
-            //sends a message that gets rollbacked
-            producer.Send(Session.CreateTextMessage("I'm going to get rolled back."));
-            consumer.Dispose();
-            Session.Dispose();
-            
-            Reconnect();
-            
-            //sends a message
-            producer.Send(outbound[1]);
-            Session.Commit();
-            
-            //receives the first message
-            ArrayList messages = new ArrayList();
-            Console.WriteLine("About to consume message 1");
-            IMessage message = consumer.Receive(TimeSpan.FromMilliseconds(1000));
-            messages.Add(message);
-            Console.WriteLine("Received: " + message);
-            
-            //receives the second message
-            Console.WriteLine("About to consume message 2");
-            message = consumer.Receive(TimeSpan.FromMilliseconds(4000));
-            messages.Add(message);
-            Console.WriteLine("Received: " + message);
-            
-            //validates that the rollbacked was not consumed
-            Session.Commit();
-            IMessage[] inbound = new IMessage[messages.Count];
-            messages.CopyTo(inbound);
-            AssertTextMessagesEqual("Rollback did not work.", outbound, inbound);
-        }
-        
-        [Test]
-        public void TestReceiveRollback()
-        {
-            IMessage[] outbound = new IMessage[]{
-                Session.CreateTextMessage("First Message"),
-                Session.CreateTextMessage("Second Message")
-            };
-            
-            //sent both messages
-            producer.Send(outbound[0]);
-            producer.Send(outbound[1]);
-            Session.Commit();
-            
-            Console.WriteLine("Sent 0: " + outbound[0]);
-            Console.WriteLine("Sent 1: " + outbound[1]);
-            
-            ArrayList messages = new ArrayList();
-            IMessage message = consumer.Receive(TimeSpan.FromMilliseconds(1000));
-            messages.Add(message);
-            Assert.AreEqual(outbound[0], message);
-            Session.Commit();
-            
-            // rollback so we can get that last message again.
-            message = consumer.Receive(TimeSpan.FromMilliseconds(1000));
-            Assert.IsNotNull(message);
-            Assert.AreEqual(outbound[1], message);
-            Session.Rollback();
-            
-            // Consume again.. the previous message should
-            // get redelivered.
-            message = consumer.Receive(TimeSpan.FromMilliseconds(5000));
-            Assert.IsNotNull(message, "Should have re-received the message again!");
-            messages.Add(message);
-            Session.Commit();
-            
-            IMessage[] inbound = new IMessage[messages.Count];
-            messages.CopyTo(inbound);
-            AssertTextMessagesEqual("Rollback did not work", outbound, inbound);
-        }
-        
-        
-        [Test]
-        public void TestReceiveTwoThenRollback()
-        {
-            IMessage[] outbound = new IMessage[]{
-                Session.CreateTextMessage("First Message"),
-                Session.CreateTextMessage("Second Message")
-            };
-            
-            producer.Send(outbound[0]);
-            producer.Send(outbound[1]);
-            Session.Commit();
-            
-            Console.WriteLine("Sent 0: " + outbound[0]);
-            Console.WriteLine("Sent 1: " + outbound[1]);
-            
-            ArrayList messages = new ArrayList();
-            IMessage message = consumer.Receive(TimeSpan.FromMilliseconds(1000));
-            AssertTextMessageEqual("first mesage received before rollback", outbound[0], message);
-            
-            message = consumer.Receive(TimeSpan.FromMilliseconds(1000));
-            Assert.IsNotNull(message);
-            AssertTextMessageEqual("second message received before rollback", outbound[1], message);
-            Session.Rollback();
-            
-            // Consume again.. the previous message should
-            // get redelivered.
-            message = consumer.Receive(TimeSpan.FromMilliseconds(5000));
-            Assert.IsNotNull(message, "Should have re-received the first message again!");
-            messages.Add(message);
-            AssertTextMessageEqual("first message received after rollback", outbound[0], message);
-            
-            message = consumer.Receive(TimeSpan.FromMilliseconds(5000));
-            Assert.IsNotNull(message, "Should have re-received the second message again!");
-            messages.Add(message);
-            AssertTextMessageEqual("second message received after rollback", outbound[1], message);
-            
-            Assert.IsNull(consumer.ReceiveNoWait());
-            Session.Commit();
-            
-            IMessage[] inbound = new IMessage[messages.Count];
-            messages.CopyTo(inbound);
-            AssertTextMessagesEqual("Rollback did not work", outbound, inbound);
-        }
-        
-        protected override string CreateDestinationName()
-        {
-            // TODO - how can we get the test name?
-            return base.CreateDestinationName() + (++destinationCounter);
-        }
-        
-        protected void AssertTextMessagesEqual(String message, IMessage[] expected, IMessage[] actual)
-        {
-            Assert.AreEqual(expected.Length, actual.Length, "Incorrect number of messages received");
-            
-            for (int i = 0; i < expected.Length; i++)
-            {
-                AssertTextMessageEqual(message + ". Index: " + i, expected[i], actual[i]);
-            }
-        }
-        
-        protected void AssertTextMessageEqual(String message, IMessage expected, IMessage actual)
-        {
-            Assert.IsTrue(expected is ITextMessage, "expected object not a text message");
-            Assert.IsTrue(actual is ITextMessage, "actual object not a text message");
-            
-            String expectedText = ((ITextMessage) expected).Text;
-            String actualText = ((ITextMessage) actual).Text;
-            
-            Assert.AreEqual(expectedText, actualText, message);
-        }
-		
-		/// <summary>
-		/// Method Reconnect
-		/// </summary>
-		protected override void Reconnect()
-		{
-			base.Reconnect();
-            consumer = Session.CreateConsumer(Destination);
-            producer = Session.CreateProducer(Destination);
-		}
-		
-    }
-}
-
-
+/*
+ * 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 NUnit.Framework;
+using System;
+using System.Collections;
+
+
+namespace NMS.Test
+{
+	[TestFixture]
+    abstract public class TransactionTest : NMSTestSupport
+    {
+        private static int destinationCounter;
+        
+        IMessageProducer producer;
+        IMessageConsumer consumer;
+        
+        [SetUp]
+		override public void SetUp()
+        {
+            base.SetUp();
+			acknowledgementMode = AcknowledgementMode.Transactional;
+            Drain();
+            consumer = Session.CreateConsumer(Destination);
+            producer = Session.CreateProducer(Destination);
+        }
+		
+        [TearDown]
+        override public void TearDown()
+        {
+			base.TearDown();
+        }
+		
+		
+        [Test]
+        public void TestSendRollback()
+        {
+            IMessage[] outbound = new IMessage[]{
+                Session.CreateTextMessage("First Message"),
+                Session.CreateTextMessage("Second Message")
+            };
+            
+            //sends a message
+            producer.Send(outbound[0]);
+            Session.Commit();
+            
+            //sends a message that gets rollbacked
+            producer.Send(Session.CreateTextMessage("I'm going to get rolled back."));
+            Session.Rollback();
+            
+            //sends a message
+            producer.Send(outbound[1]);
+            Session.Commit();
+            
+            //receives the first message
+            ArrayList messages = new ArrayList();
+            Console.WriteLine("About to consume message 1");
+            IMessage message = consumer.Receive(TimeSpan.FromMilliseconds(1000));
+            messages.Add(message);
+            Console.WriteLine("Received: " + message);
+            
+            //receives the second message
+            Console.WriteLine("About to consume message 2");
+            message = consumer.Receive(TimeSpan.FromMilliseconds(4000));
+            messages.Add(message);
+            Console.WriteLine("Received: " + message);
+            
+            //validates that the rollbacked was not consumed
+            Session.Commit();
+            IMessage[] inbound = new IMessage[messages.Count];
+            messages.CopyTo(inbound);
+            AssertTextMessagesEqual("Rollback did not work.", outbound, inbound);
+        }
+        
+        [Test]
+        public void TestSendSessionClose()
+        {
+            IMessage[] outbound = new IMessage[]{
+                Session.CreateTextMessage("First Message"),
+                Session.CreateTextMessage("Second Message")
+            };
+            
+            //sends a message
+            producer.Send(outbound[0]);
+            Session.Commit();
+            
+            //sends a message that gets rollbacked
+            producer.Send(Session.CreateTextMessage("I'm going to get rolled back."));
+            consumer.Dispose();
+            Session.Dispose();
+            
+            Reconnect();
+            
+            //sends a message
+            producer.Send(outbound[1]);
+            Session.Commit();
+            
+            //receives the first message
+            ArrayList messages = new ArrayList();
+            Console.WriteLine("About to consume message 1");
+            IMessage message = consumer.Receive(TimeSpan.FromMilliseconds(1000));
+            messages.Add(message);
+            Console.WriteLine("Received: " + message);
+            
+            //receives the second message
+            Console.WriteLine("About to consume message 2");
+            message = consumer.Receive(TimeSpan.FromMilliseconds(4000));
+            messages.Add(message);
+            Console.WriteLine("Received: " + message);
+            
+            //validates that the rollbacked was not consumed
+            Session.Commit();
+            IMessage[] inbound = new IMessage[messages.Count];
+            messages.CopyTo(inbound);
+            AssertTextMessagesEqual("Rollback did not work.", outbound, inbound);
+        }
+        
+        [Test]
+        public void TestReceiveRollback()
+        {
+            IMessage[] outbound = new IMessage[]{
+                Session.CreateTextMessage("First Message"),
+                Session.CreateTextMessage("Second Message")
+            };
+            
+            //sent both messages
+            producer.Send(outbound[0]);
+            producer.Send(outbound[1]);
+            Session.Commit();
+            
+            Console.WriteLine("Sent 0: " + outbound[0]);
+            Console.WriteLine("Sent 1: " + outbound[1]);
+            
+            ArrayList messages = new ArrayList();
+            IMessage message = consumer.Receive(TimeSpan.FromMilliseconds(1000));
+            messages.Add(message);
+            Assert.AreEqual(outbound[0], message);
+            Session.Commit();
+            
+            // rollback so we can get that last message again.
+            message = consumer.Receive(TimeSpan.FromMilliseconds(1000));
+            Assert.IsNotNull(message);
+            Assert.AreEqual(outbound[1], message);
+            Session.Rollback();
+            
+            // Consume again.. the previous message should
+            // get redelivered.
+            message = consumer.Receive(TimeSpan.FromMilliseconds(5000));
+            Assert.IsNotNull(message, "Should have re-received the message again!");
+            messages.Add(message);
+            Session.Commit();
+            
+            IMessage[] inbound = new IMessage[messages.Count];
+            messages.CopyTo(inbound);
+            AssertTextMessagesEqual("Rollback did not work", outbound, inbound);
+        }
+        
+        
+        [Test]
+        public void TestReceiveTwoThenRollback()
+        {
+            IMessage[] outbound = new IMessage[]{
+                Session.CreateTextMessage("First Message"),
+                Session.CreateTextMessage("Second Message")
+            };
+            
+            producer.Send(outbound[0]);
+            producer.Send(outbound[1]);
+            Session.Commit();
+            
+            Console.WriteLine("Sent 0: " + outbound[0]);
+            Console.WriteLine("Sent 1: " + outbound[1]);
+            
+            ArrayList messages = new ArrayList();
+            IMessage message = consumer.Receive(TimeSpan.FromMilliseconds(1000));
+            AssertTextMessageEqual("first mesage received before rollback", outbound[0], message);
+            
+            message = consumer.Receive(TimeSpan.FromMilliseconds(1000));
+            Assert.IsNotNull(message);
+            AssertTextMessageEqual("second message received before rollback", outbound[1], message);
+            Session.Rollback();
+            
+            // Consume again.. the previous message should
+            // get redelivered.
+            message = consumer.Receive(TimeSpan.FromMilliseconds(5000));
+            Assert.IsNotNull(message, "Should have re-received the first message again!");
+            messages.Add(message);
+            AssertTextMessageEqual("first message received after rollback", outbound[0], message);
+            
+            message = consumer.Receive(TimeSpan.FromMilliseconds(5000));
+            Assert.IsNotNull(message, "Should have re-received the second message again!");
+            messages.Add(message);
+            AssertTextMessageEqual("second message received after rollback", outbound[1], message);
+            
+            Assert.IsNull(consumer.ReceiveNoWait());
+            Session.Commit();
+            
+            IMessage[] inbound = new IMessage[messages.Count];
+            messages.CopyTo(inbound);
+            AssertTextMessagesEqual("Rollback did not work", outbound, inbound);
+        }
+        
+        protected override string CreateDestinationName()
+        {
+            // TODO - how can we get the test name?
+            return base.CreateDestinationName() + (++destinationCounter);
+        }
+        
+        protected void AssertTextMessagesEqual(String message, IMessage[] expected, IMessage[] actual)
+        {
+            Assert.AreEqual(expected.Length, actual.Length, "Incorrect number of messages received");
+            
+            for (int i = 0; i < expected.Length; i++)
+            {
+                AssertTextMessageEqual(message + ". Index: " + i, expected[i], actual[i]);
+            }
+        }
+        
+        protected void AssertTextMessageEqual(String message, IMessage expected, IMessage actual)
+        {
+            Assert.IsTrue(expected is ITextMessage, "expected object not a text message");
+            Assert.IsTrue(actual is ITextMessage, "actual object not a text message");
+            
+            String expectedText = ((ITextMessage) expected).Text;
+            String actualText = ((ITextMessage) actual).Text;
+            
+            Assert.AreEqual(expectedText, actualText, message);
+        }
+		
+		/// <summary>
+		/// Method Reconnect
+		/// </summary>
+		protected override void Reconnect()
+		{
+			base.Reconnect();
+            consumer = Session.CreateConsumer(Destination);
+            producer = Session.CreateProducer(Destination);
+		}
+		
+    }
+}
+
+

Propchange: incubator/activemq/activemq-dotnet/trunk/src/test/csharp/NMS/Test/TransactionTest.cs
------------------------------------------------------------------------------
    svn:eol-style = native