Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Barker <mike@middlesoft.co.uk>2009-07-14 00:59:00 +0400
committerMichael Barker <mike@middlesoft.co.uk>2009-07-14 00:59:00 +0400
commit95dc3521c07b15316c0087fb5f088e65162077e4 (patch)
tree451b8996f7f6b9c816f66c71a0ec3b91b2244210 /mcs/class/Mono.Messaging.RabbitMQ
parent972ba36bac338904d6ec443814683a5bca6352d0 (diff)
parent9e3a325d750510b55beacc23db3d79b6d247c835 (diff)
2009-07-11 Michael Barker <mike@middlesoft.co.uk>
* MessageQueueException.cs: Removed MonoTODO. * MessageBaseTest.cs: Moved from Mono.Messaging.Test * MessageEnumeratorTest.cs: Moved from Mono.Messaging.Test * MessageTest.cs: Used using aliases to prevent namespace clashes. * AdminTest.cs: Remove unused variables. * AsyncPeekTest.cs: Remove unused variables. * AsyncReceiveTest.cs: Remove unused variables. * MessageFactory.cs: Switched to DateTime.UtcNow. * RabbitMQMessageQueue.cs: Removed some unecessary references to realm. * RabbitMQMessagingProvider.cs: Removed some unecessary references to realm. Changed volatile field to use Interlocked.Increment (++i is not thread safe). * Mono.Messaging.RabbitMQ_test.dll.sources: Moved MessageEnumeratorTest.cs and MessageBaseTest.cs from Mono.Messaging.Test. * MessageBaseTest.cs: Moved to Mono.Messaging.RabbitMQ.Test * MessageEnumeratorTest.cs: Moved to Mono.Messaging.RabbitMQ.Test * MessagingProviderLocator.cs: Removed unessecary fields, made fields readonly and some formatting changes. * Mono.Messaging_test.dll.sources: Moved MessageBaseTest.cs and MessageEnumeratorTest.cs to Mono.Messaging.RabbitMQ.Test. svn path=/trunk/mcs/; revision=137816
Diffstat (limited to 'mcs/class/Mono.Messaging.RabbitMQ')
-rw-r--r--mcs/class/Mono.Messaging.RabbitMQ/Assembly/AssemblyInfo.cs2
-rw-r--r--mcs/class/Mono.Messaging.RabbitMQ/ChangeLog5
-rw-r--r--mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ/ChangeLog7
-rw-r--r--mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ/MessageFactory.cs2
-rw-r--r--mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ/RabbitMQMessageQueue.cs11
-rw-r--r--mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ/RabbitMQMessagingProvider.cs8
-rw-r--r--mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ_test.dll.sources4
-rw-r--r--mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/AdminTest.cs4
-rw-r--r--mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/AsyncPeekTest.cs2
-rw-r--r--mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/AsyncReceiveTest.cs2
-rw-r--r--mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/BasicMessagingTest.cs4
-rw-r--r--mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/ChangeLog9
-rw-r--r--mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/MessageBaseTest.cs119
-rw-r--r--mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/MessageEnumeratorExceptionTest.cs109
-rw-r--r--mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/MessageTest.cs7
-rw-r--r--mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/XmlMessageFormatterTest.cs2
16 files changed, 270 insertions, 27 deletions
diff --git a/mcs/class/Mono.Messaging.RabbitMQ/Assembly/AssemblyInfo.cs b/mcs/class/Mono.Messaging.RabbitMQ/Assembly/AssemblyInfo.cs
index 0cdccf6c4ed..ed35d9aa8d1 100644
--- a/mcs/class/Mono.Messaging.RabbitMQ/Assembly/AssemblyInfo.cs
+++ b/mcs/class/Mono.Messaging.RabbitMQ/Assembly/AssemblyInfo.cs
@@ -53,7 +53,7 @@ using System.Runtime.InteropServices;
[assembly: ComVisible (false)]
-[assembly: CLSCompliant (true)]
+[assembly: CLSCompliant (false)]
[assembly: AssemblyDelaySign (true)]
[assembly: AssemblyKeyFile("../msfinal.pub")]
diff --git a/mcs/class/Mono.Messaging.RabbitMQ/ChangeLog b/mcs/class/Mono.Messaging.RabbitMQ/ChangeLog
index 7812d3ee03d..76528499b65 100644
--- a/mcs/class/Mono.Messaging.RabbitMQ/ChangeLog
+++ b/mcs/class/Mono.Messaging.RabbitMQ/ChangeLog
@@ -1,3 +1,8 @@
+2009-07-11 Michael Barker <mike@middlesoft.co.uk>
+
+ * Mono.Messaging.RabbitMQ_test.dll.sources: Moved MessageEnumeratorTest.cs
+ and MessageBaseTest.cs from Mono.Messaging.Test.
+
2009-01-05 Michael Barker <mike@middlesoft.co.uk>
* Makefile: Added nunit.mocks to test build
diff --git a/mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ/ChangeLog b/mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ/ChangeLog
index c2caba20d62..e9c111dd57c 100644
--- a/mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ/ChangeLog
+++ b/mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ/ChangeLog
@@ -1,3 +1,10 @@
+2009-07-11 Michael Barker <mike@middlesoft.co.uk>
+
+ * MessageFactory.cs: Switched to DateTime.UtcNow.
+ * RabbitMQMessageQueue.cs: Removed some unecessary references to realm.
+ * RabbitMQMessagingProvider.cs: Removed some unecessary references to realm.
+ Changed volatile field to use Interlocked.Increment (++i is not thread safe).
+
2009-05-23 Michael Barker <mike@middlesoft.co.uk>
* MessageFactory.cs: Moved TimeSpanToInt32 method to here.
diff --git a/mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ/MessageFactory.cs b/mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ/MessageFactory.cs
index cdf57dd7d6a..fa9d44d5f4c 100644
--- a/mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ/MessageFactory.cs
+++ b/mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ/MessageFactory.cs
@@ -85,7 +85,7 @@ namespace Mono.Messaging.RabbitMQ {
if (msg.CorrelationId != null)
mb.Properties.CorrelationId = msg.CorrelationId;
// TODO: Change to DateTime.UtcNow??
- mb.Properties.Timestamp = MessageFactory.DateTimeToAmqpTimestamp (DateTime.Now);
+ mb.Properties.Timestamp = MessageFactory.DateTimeToAmqpTimestamp (DateTime.UtcNow);
Hashtable headers = new Hashtable ();
headers[SENDER_VERSION_KEY] = msg.SenderVersion;
diff --git a/mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ/RabbitMQMessageQueue.cs b/mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ/RabbitMQMessageQueue.cs
index ef2f6461df1..03069f252ad 100644
--- a/mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ/RabbitMQMessageQueue.cs
+++ b/mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ/RabbitMQMessageQueue.cs
@@ -62,7 +62,6 @@ namespace Mono.Messaging.RabbitMQ {
private QueueReference qRef = QueueReference.DEFAULT;
private readonly RabbitMQMessagingProvider provider;
private readonly MessageFactory helper;
- private readonly string realm;
private readonly bool transactional;
public RabbitMQMessageQueue (RabbitMQMessagingProvider provider,
@@ -74,17 +73,9 @@ namespace Mono.Messaging.RabbitMQ {
public RabbitMQMessageQueue (RabbitMQMessagingProvider provider,
QueueReference qRef,
bool transactional)
- : this (provider, "/data", qRef, transactional)
- {
- }
-
- public RabbitMQMessageQueue (RabbitMQMessagingProvider provider,
- string realm, QueueReference qRef,
- bool transactional)
{
this.provider = provider;
this.helper = new MessageFactory (provider);
- this.realm = realm;
this.qRef = qRef;
this.transactional = transactional;
}
@@ -203,7 +194,7 @@ namespace Mono.Messaging.RabbitMQ {
// No-op (Queue are currently stateless)
}
- public static void Delete (string realm, QueueReference qRef)
+ public static void Delete (QueueReference qRef)
{
ConnectionFactory cf = new ConnectionFactory ();
diff --git a/mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ/RabbitMQMessagingProvider.cs b/mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ/RabbitMQMessagingProvider.cs
index 45445659d0e..90aaf7101a5 100644
--- a/mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ/RabbitMQMessagingProvider.cs
+++ b/mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ/RabbitMQMessagingProvider.cs
@@ -40,9 +40,8 @@ namespace Mono.Messaging.RabbitMQ {
public class RabbitMQMessagingProvider : IMessagingProvider {
- private volatile uint txCounter = 0;
+ private int txCounter = 0;
private readonly uint localIp;
- private static readonly string DEFAULT_REALM = "/data";
public RabbitMQMessagingProvider()
{
@@ -74,13 +73,14 @@ namespace Mono.Messaging.RabbitMQ {
public IMessageQueueTransaction CreateMessageQueueTransaction ()
{
- string txId = localIp.ToString () + (++txCounter).ToString ();
+ Interlocked.Increment (ref txCounter);
+ string txId = localIp.ToString () + txCounter.ToString ();
return new RabbitMQMessageQueueTransaction (txId);
}
public void DeleteQueue (QueueReference qRef)
{
- RabbitMQMessageQueue.Delete (DEFAULT_REALM, qRef);
+ RabbitMQMessageQueue.Delete (qRef);
}
private readonly IDictionary queues = new Hashtable ();
diff --git a/mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ_test.dll.sources b/mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ_test.dll.sources
index 13e7409ef08..3ba70c17b48 100644
--- a/mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ_test.dll.sources
+++ b/mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ_test.dll.sources
@@ -12,4 +12,6 @@ Mono.Messaging.RabbitMQ/AsyncPeekTest.cs
Mono.Messaging.RabbitMQ/BinaryMessageFormatterTest.cs
Mono.Messaging.RabbitMQ/XmlMessageFormatterTest.cs
Mono.Messaging.RabbitMQ/TestUtils.cs
-Mono.Messaging.RabbitMQ/MessageTest.cs \ No newline at end of file
+Mono.Messaging.RabbitMQ/MessageTest.cs
+Mono.Messaging.RabbitMQ/MessageBaseTest.cs
+Mono.Messaging.RabbitMQ/MessageEnumeratorExceptionTest.cs
diff --git a/mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/AdminTest.cs b/mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/AdminTest.cs
index 612f401988d..954cdf4bb86 100644
--- a/mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/AdminTest.cs
+++ b/mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/AdminTest.cs
@@ -109,7 +109,7 @@ namespace MonoTests.Mono.Messaging.RabbitMQ
q.Send (m3);
q.Send (m4);
- Message received = q.Receive ();
+ q.Receive ();
q.Purge ();
q.Receive (new TimeSpan (0, 0, 2));
}
@@ -122,7 +122,7 @@ namespace MonoTests.Mono.Messaging.RabbitMQ
q.Send (m1);
- Message received = q.Receive ();
+ q.Receive ();
MessageQueue.Delete(@".\private$\delete-queue");
}
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 9663aa63ef7..ae4b2d86851 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
@@ -134,7 +134,7 @@ namespace MonoTests.Mono.Messaging.RabbitMQ
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);
+ 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 e7febea3c2a..1027a7e47f2 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
@@ -134,7 +134,7 @@ namespace MonoTests.Mono.Messaging.RabbitMQ
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);
+ q.EndReceive (result);
}
}
}
diff --git a/mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/BasicMessagingTest.cs b/mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/BasicMessagingTest.cs
index 57e02307c41..3d2e3805baa 100644
--- a/mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/BasicMessagingTest.cs
+++ b/mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/BasicMessagingTest.cs
@@ -118,7 +118,7 @@ namespace MonoTests.Mono.Messaging.RabbitMQ
Assert.IsNotNull (pi, "Property not defined: " + property);
object o = pi.GetValue (m, null);
Assert.Fail (property + ": " + o);
- } catch (InvalidOperationException e) {
+ } catch (InvalidOperationException) {
} catch (TargetInvocationException e) {
Assert.AreEqual (typeof (InvalidOperationException),
e.InnerException.GetType ());
@@ -153,7 +153,7 @@ namespace MonoTests.Mono.Messaging.RabbitMQ
Assert.IsNotNull(pi, "Property not defined: " + property);
pi.SetValue(m, null, null);
Assert.Fail(property);
- } catch (InvalidOperationException e) {
+ } catch (InvalidOperationException) {
} catch (TargetInvocationException e) {
Assert.AreEqual(exceptionType,
e.InnerException.GetType(),
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 8de774bbb81..90a48b0e0e8 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,12 @@
+2009-07-11 Michael Barker <mike@middlesoft.co.uk>
+
+ * MessageBaseTest.cs: Moved from Mono.Messaging.Test
+ * MessageEnumeratorTest.cs: Moved from Mono.Messaging.Test
+ * MessageTest.cs: Used using aliases to prevent namespace clashes.
+ * AdminTest.cs: Remove unused variables.
+ * AsyncPeekTest.cs: Remove unused variables.
+ * AsyncReceiveTest.cs: Remove unused variables.
+
2009-05-23 Michael Barker <mike@middlesoft.co.uk>
* MessageEnumeratorTest.cs: Added tests for timeout methods.
diff --git a/mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/MessageBaseTest.cs b/mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/MessageBaseTest.cs
new file mode 100644
index 00000000000..868448d88f1
--- /dev/null
+++ b/mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/MessageBaseTest.cs
@@ -0,0 +1,119 @@
+//
+// Mono.Messaging.RabbitMQ
+//
+// Authors:
+// Michael Barker (mike@middlesoft.co.uk)
+//
+// (C) 2008 Michael Barker
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Messaging;
+using System.Reflection;
+using Mono.Messaging;
+
+using SystemAcknowledgeTypes = System.Messaging.AcknowledgeTypes;
+using SystemCryptographicProviderType = System.Messaging.CryptographicProviderType;
+using SystemEncryptionAlgorithm = System.Messaging.EncryptionAlgorithm;
+using SystemHashAlgorithm = System.Messaging.HashAlgorithm;
+using SystemMessagePriority = System.Messaging.MessagePriority;
+
+using NUnit.Framework;
+
+namespace MonoTests.Mono.Messaging {
+
+ [TestFixture]
+ public class MessageBaseTest {
+
+ [Test]
+ public void CheckDefaultValues ()
+ {
+ Type[] types = {
+ typeof (IMessage), typeof (object), typeof (IMessageFormatter)
+ };
+
+ ConstructorInfo ci = typeof (Message).GetConstructor (
+ BindingFlags.NonPublic | BindingFlags.Instance,
+ Type.DefaultBinder, types, new ParameterModifier[0]);
+
+ if (ci == null)
+ throw new Exception ("ConstructorInfo is null");
+
+ Message m = (Message) ci.Invoke (new object[] { new MessageBase (), null, null });
+
+ Assert.IsNull (m.Body, "Body default should be Null");
+ Assert.IsNull (m.Formatter, "Formatter default should null");
+
+ Assert.AreEqual (SystemAcknowledgeTypes.None,
+ m.AcknowledgeType,
+ "AcknowledgeType default should be None");
+ Assert.AreEqual (null, m.AdministrationQueue,
+ "AdministrationQueue default should be null");
+ Assert.AreEqual (0, m.AppSpecific, "AppSpecific default should be 0");
+ Assert.AreEqual (true, m.AttachSenderId, "AttachSenderId default should be true");
+ Assert.AreEqual ("Microsoft Base Cryptographic Provider, Ver. 1.0", m.AuthenticationProviderName,
+ "AuthenticationProviderName should default to \"Microsoft Base Cryptographic Provider, Ver. 1.0\"");
+ Assert.AreEqual (SystemCryptographicProviderType.RsaFull,
+ m.AuthenticationProviderType,
+ "AuthenticationProviderType should default to RsaFull");
+ Assert.AreEqual (null, m.BodyStream, "BodyStream should default to null");
+ Assert.AreEqual (Guid.Empty, m.ConnectorType, "ConnectorType should default to empty");
+ Assert.AreEqual (null, m.CorrelationId, "CorrelationId should default to null");
+ Assert.AreEqual (new byte[0], m.DestinationSymmetricKey,
+ "DestinationSymmetricKey should default to an empty array");
+ Assert.AreEqual (new byte[0], m.DigitalSignature,
+ "DigitalSignature default to an empty array");
+ Assert.AreEqual (SystemEncryptionAlgorithm.Rc2,
+ m.EncryptionAlgorithm,
+ "EncryptionAlgorithm should default to Rc2");
+ Assert.AreEqual (new byte[0], m.Extension,
+ "Extension should default to an empty array");
+ Assert.AreEqual (SystemHashAlgorithm.Sha, m.HashAlgorithm,
+ "HashAlgorithm should default to Sha");
+ Assert.AreEqual (Guid.Empty.ToString () + "\\0", m.Id, "Id should default to Guid.Empty");
+ Assert.AreEqual ("", m.Label, "Label should default to \"\"");
+ Assert.AreEqual (false, m.IsFirstInTransaction, "IsFirstInTransaction should default to false");
+ Assert.AreEqual (false, m.IsLastInTransaction, "IsLastInTransaction should default to false");
+ Assert.AreEqual (SystemMessagePriority.Normal, m.Priority,
+ "Priority should default to Normal");
+ Assert.AreEqual (false, m.Recoverable, "Recoverable should default to false");
+ Assert.AreEqual (null, m.ResponseQueue, "ResponseQueue should default to null");
+ //Assert.AreEqual (null, m.SecurityContext, "SecurityContext should default to null");
+ Assert.AreEqual (new byte[0], m.SenderCertificate,
+ "SenderCertificate should default to an empty array");
+ Assert.AreEqual (Message.InfiniteTimeout, m.TimeToBeReceived,
+ "TimeToBeReceived should default to InfiniteTimeout");
+ Assert.AreEqual (Message.InfiniteTimeout, m.TimeToReachQueue,
+ "TimeToReadQueue should default to InfiniteTimeout");
+ Assert.AreEqual (false, m.UseAuthentication,
+ "UseAuthentication should default to false");
+ Assert.AreEqual (false, m.UseDeadLetterQueue,
+ "UseDeadLetterQueue should default to false");
+ Assert.AreEqual (false, m.UseEncryption, "Encryption should default to false");
+ Assert.AreEqual (false, m.UseJournalQueue,
+ "UseJournalQueue should default to false");
+ Assert.AreEqual (false, m.UseTracing, "UseTracing should default to false");
+ }
+ }
+}
diff --git a/mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/MessageEnumeratorExceptionTest.cs b/mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/MessageEnumeratorExceptionTest.cs
new file mode 100644
index 00000000000..c3507ed1865
--- /dev/null
+++ b/mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/MessageEnumeratorExceptionTest.cs
@@ -0,0 +1,109 @@
+//
+// MessageEnumeratorTest.cs -
+// NUnit Test Cases for MessageEnumerator
+//
+// Author:
+// Michael Barker <mike@middlesoft.co.uk>
+//
+// Copyright (C) 2004-2005 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+using System;
+using System.Security;
+using System.Security.Permissions;
+using System.Reflection;
+
+using Mono.Messaging;
+
+using SystemMessageEnumerator = System.Messaging.MessageEnumerator;
+using SystemMessageQueueException = System.Messaging.MessageQueueException;
+using SystemIMessageFormatter = System.Messaging.IMessageFormatter;
+
+using NUnit.Framework;
+using NUnit.Mocks;
+
+
+namespace MonoTests.Mono.Messaging {
+
+ [TestFixture]
+ public class MessageEnumeratorExceptionTest
+ {
+ private DynamicMock mockME;
+
+ [SetUp]
+ public void Init ()
+ {
+ mockME = new DynamicMock (typeof (IMessageEnumerator));
+ }
+
+ [Test]
+ [ExpectedException(typeof(SystemMessageQueueException))]
+ public void RemoveCurrentThrowsConnectionException ()
+ {
+ mockME.ExpectAndThrow ("RemoveCurrent", new ConnectionException (QueueReference.DEFAULT), null);
+ SystemMessageEnumerator me = CreateEnumerator ((IMessageEnumerator) mockME.MockInstance);
+ me.RemoveCurrent ();
+ }
+
+ [Test]
+ [ExpectedException(typeof(InvalidOperationException))]
+ public void RemoveCurrentThrowsMessageUnavailableException ()
+ {
+ mockME.ExpectAndThrow ("RemoveCurrent", new MessageUnavailableException (), null);
+ SystemMessageEnumerator me = CreateEnumerator ((IMessageEnumerator) mockME.MockInstance);
+ me.RemoveCurrent ();
+ }
+
+ [Test]
+ [ExpectedException(typeof(SystemMessageQueueException))]
+ public void RemoveCurrentThrowsMonoMessagingException ()
+ {
+ mockME.ExpectAndThrow ("RemoveCurrent", new MonoMessagingException (), null);
+ SystemMessageEnumerator me = CreateEnumerator ((IMessageEnumerator) mockME.MockInstance);
+ me.RemoveCurrent ();
+ }
+
+ [Test]
+ [ExpectedException(typeof(NotImplementedException))]
+ public void RemoveCurrentThrowsMessageNotImplemented ()
+ {
+ mockME.ExpectAndThrow ("RemoveCurrent", new NotImplementedException (), null);
+ SystemMessageEnumerator me = CreateEnumerator ((IMessageEnumerator) mockME.MockInstance);
+ me.RemoveCurrent ();
+ }
+
+ public SystemMessageEnumerator CreateEnumerator (IMessageEnumerator ime)
+ {
+ Type[] types = {
+ typeof (IMessageEnumerator), typeof (SystemIMessageFormatter)
+ };
+
+ ConstructorInfo ci = typeof (SystemMessageEnumerator).GetConstructor (
+ BindingFlags.NonPublic | BindingFlags.Instance,
+ Type.DefaultBinder, types, new ParameterModifier[0]);
+
+ if (ci == null)
+ throw new Exception ("ConstructorInfo is null");
+
+ return (SystemMessageEnumerator) ci.Invoke (new object[] { ime, null });
+ }
+ }
+}
diff --git a/mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/MessageTest.cs b/mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/MessageTest.cs
index f0407173f96..40d847a0ee1 100644
--- a/mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/MessageTest.cs
+++ b/mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/MessageTest.cs
@@ -30,10 +30,11 @@
using NUnit.Framework;
using NUnit.Mocks;
using System;
-//using System.Messaging;
using System.Security;
using System.Security.Permissions;
using System.Reflection;
+using SystemMessage = System.Messaging.Message;
+using SystemAcknowledgeTypes = System.Messaging.AcknowledgeTypes;
using Mono.Messaging;
@@ -58,8 +59,8 @@ namespace MonoTests.Mono.Messaging.RabbitMQ {
messageMock.Expect ("set_AcknowledgeType",
AcknowledgeTypes.FullReachQueue);
- System.Messaging.Message m = TestUtils.CreateMessage (iMessage);
- m.AcknowledgeType = System.Messaging.AcknowledgeTypes.FullReachQueue;
+ SystemMessage m = TestUtils.CreateMessage (iMessage);
+ m.AcknowledgeType = SystemAcknowledgeTypes.FullReachQueue;
messageMock.Verify ();
}
diff --git a/mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/XmlMessageFormatterTest.cs b/mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/XmlMessageFormatterTest.cs
index 7d65e557120..8b6b49a9617 100644
--- a/mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/XmlMessageFormatterTest.cs
+++ b/mcs/class/Mono.Messaging.RabbitMQ/Test/Mono.Messaging.RabbitMQ/XmlMessageFormatterTest.cs
@@ -119,7 +119,7 @@ namespace MonoTests.Mono.Messaging.RabbitMQ
Assert.AreEqual (t0.Iii, t1.Iii, "The int did not serialise/deserialise properly");
Assert.AreEqual (t0.Sss, t1.Sss, "The string did not serialise/deserialise properly");
- Assert.AreEqual (t0.Ttt, t1.Ttt, "The date did not serialise/deserialise properly");
+ Assert.AreEqual (t0.Ttt.ToString (), t1.Ttt.ToString (), "The date did not serialise/deserialise properly");
mock1.Verify ();
mock2.Verify ();