From 3777c193211cfec77bad2546697e11952f6804f9 Mon Sep 17 00:00:00 2001 From: Michael Barker Date: Mon, 5 Jan 2009 04:39:22 +0000 Subject: 2009-01-03 Michael Barker * AsyncPeekTest.cs: Added test for handling exceptions aysnchronously. * AsyncReceiveTest.cs: Added test for handling exceptions aysnchronously. * MessageQueueBase.cs: Added support for handling exception asynchronously. svn path=/trunk/mcs/; revision=122408 --- .../Test/Mono.Messaging.RabbitMQ/AsyncPeekTest.cs | 19 +++++++++++++++---- .../Test/Mono.Messaging.RabbitMQ/AsyncReceiveTest.cs | 10 ++++++++++ .../Test/Mono.Messaging.RabbitMQ/ChangeLog | 5 +++++ 3 files changed, 30 insertions(+), 4 deletions(-) (limited to 'mcs/class/Mono.Messaging.RabbitMQ') diff --git a/mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/AsyncPeekTest.cs b/mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/AsyncPeekTest.cs index 40cf60855fd..9663aa63ef7 100644 --- a/mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/AsyncPeekTest.cs +++ b/mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/AsyncPeekTest.cs @@ -62,7 +62,8 @@ namespace MonoTests.Mono.Messaging.RabbitMQ Message rMsg = q.EndPeek (result); Assert.AreEqual (body, rMsg.Body, "Async Send Failed, bodies not equal"); Assert.IsTrue (eventCalled, "Handle Message not called"); - q.Purge (); + + Assert.IsNotNull (q.Receive (), "Message not peeked"); } [Test] @@ -79,7 +80,7 @@ namespace MonoTests.Mono.Messaging.RabbitMQ Message rMsg = q.EndPeek (result); Assert.AreEqual (body, rMsg.Body, "Async Send Failed, bodies not equal"); - q.Purge (); + Assert.IsNotNull (q.Receive (), "Message not peeked"); } [Test] @@ -97,7 +98,7 @@ namespace MonoTests.Mono.Messaging.RabbitMQ Assert.AreEqual (body, rMsg.Body, "Async Send Failed, bodies not equal"); Assert.AreEqual ("foo", result.AsyncState, "State not passed properly"); - q.Purge (); + Assert.IsNotNull (q.Receive (), "Message not peeked"); } private bool success = false; @@ -123,7 +124,17 @@ namespace MonoTests.Mono.Messaging.RabbitMQ Assert.AreEqual ("foo", result.AsyncState, "State not passed properly"); Assert.IsTrue (success, "Callback not run"); - q.Purge (); + Assert.IsNotNull (q.Receive (), "Message not peeked"); } + + [Test] + [ExpectedException (typeof (MessageQueueException))] + public void BeginPeekWithException() + { + MessageQueue q = MQUtil.GetQueue (@".\private$\async-peek-5"); + IAsyncResult result = q.BeginPeek (new TimeSpan (0, 0, 2)); + result.AsyncWaitHandle.WaitOne (); + Message rMsg = q.EndPeek (result); + } } } diff --git a/mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/AsyncReceiveTest.cs b/mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/AsyncReceiveTest.cs index 53c3a2b50b6..e7febea3c2a 100644 --- a/mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/AsyncReceiveTest.cs +++ b/mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/AsyncReceiveTest.cs @@ -126,5 +126,15 @@ namespace MonoTests.Mono.Messaging.RabbitMQ Assert.AreEqual ("foo", result.AsyncState, "State not passed properly"); Assert.IsTrue (success, "Callback not run"); } + + [Test] + [ExpectedException (typeof (MessageQueueException))] + public void BeginReceiveWithException() + { + MessageQueue q = MQUtil.GetQueue (@".\private$\async-peek-5"); + IAsyncResult result = q.BeginReceive (new TimeSpan (0, 0, 2)); + result.AsyncWaitHandle.WaitOne (); + Message rMsg = q.EndReceive (result); + } } } diff --git a/mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/ChangeLog b/mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/ChangeLog index 289039fbbdf..c0c90ee8e15 100644 --- a/mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/ChangeLog +++ b/mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/ChangeLog @@ -1,3 +1,8 @@ +2009-01-03 Michael Barker + + * AsyncPeekTest.cs: Added test for handling exceptions aysnchronously. + * AsyncReceiveTest.cs: Added test for handling exceptions aysnchronously. + 2008-12-20 Michael Barker * AsyncReceiveTest.cs: New, tests for Asynchronous Receive methods. -- cgit v1.2.3