summaryrefslogtreecommitdiff
path: root/trunk/qpid/wcf/test/Apache/Qpid/Test/Channel/Functional/MessagePropertiesTest.cs
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/qpid/wcf/test/Apache/Qpid/Test/Channel/Functional/MessagePropertiesTest.cs')
-rw-r--r--trunk/qpid/wcf/test/Apache/Qpid/Test/Channel/Functional/MessagePropertiesTest.cs131
1 files changed, 0 insertions, 131 deletions
diff --git a/trunk/qpid/wcf/test/Apache/Qpid/Test/Channel/Functional/MessagePropertiesTest.cs b/trunk/qpid/wcf/test/Apache/Qpid/Test/Channel/Functional/MessagePropertiesTest.cs
deleted file mode 100644
index 8e192e90f1..0000000000
--- a/trunk/qpid/wcf/test/Apache/Qpid/Test/Channel/Functional/MessagePropertiesTest.cs
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
-* 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.
-*/
-
-namespace Apache.Qpid.Test.Channel.Functional
-{
- using System;
- using System.Collections.Generic;
- using System.Reflection;
- using System.Runtime.Serialization;
- using System.ServiceModel;
- using System.ServiceModel.Channels;
- using Apache.Qpid.AmqpTypes;
- using NUnit.Framework;
-
- [TestFixture]
- public class MessagePropertiesTest
- {
- private const string RoutingKey = "routing_key";
- private const string SendToUri = "amqp:amq.direct?routingkey=" + RoutingKey;
-
- [Test]
- public void DefaultAmqpProperties()
- {
- const string TestString = "Test Message";
- AmqpProperties messageProperties = new AmqpProperties();
-
- this.SendMessage(TestString, messageProperties);
- this.ReceiveMessage<string>(TestString, messageProperties);
- }
-
- [Test]
- public void NonDefaultAmqpProperties()
- {
- const string TestString = "Test Message";
- AmqpProperties messageProperties = this.CreateMessageProperties();
-
- this.SendMessage(TestString, messageProperties);
- this.ReceiveMessage<string>(TestString, messageProperties);
- }
-
- private AmqpProperties CreateMessageProperties()
- {
- Dictionary<string, string> messageProperties = Util.GetProperties("..\\..\\MessageProperties.txt");
-
- AmqpProperties amqpProperties = new AmqpProperties();
- amqpProperties.ContentType = (string)messageProperties["ContentType"];
- amqpProperties.Durable = Convert.ToBoolean((string)messageProperties["Durable"]);
- amqpProperties.RoutingKey = (string)messageProperties["RoutingKey"];
- amqpProperties.TimeToLive = TimeSpan.Parse((string)messageProperties["TimeToLive"]);
-
- return amqpProperties;
- }
-
- private void SendMessage(object objectToSend, AmqpProperties propertiesToSend)
- {
- ChannelFactory<IOutputChannel> channelFactory =
- new ChannelFactory<IOutputChannel>(Util.GetBinding(), SendToUri);
- IOutputChannel proxy = channelFactory.CreateChannel();
- proxy.Open();
-
- Message toSend = Message.CreateMessage(MessageVersion.Default, string.Empty, objectToSend);
- toSend.Properties["AmqpProperties"] = propertiesToSend;
- proxy.Send(toSend);
-
- toSend.Close();
- proxy.Close();
- channelFactory.Close();
- }
-
- private void ReceiveMessage<TObjectType>(TObjectType objectToMatch, AmqpProperties expectedProperties)
- {
- Uri receiveFromUri = new Uri("amqp:message_queue");
- IChannelListener<IInputChannel> listener = Util.GetBinding().BuildChannelListener<IInputChannel>(receiveFromUri, new BindingParameterCollection());
- listener.Open();
- IInputChannel service = listener.AcceptChannel(TimeSpan.FromSeconds(10));
- service.Open();
- Message receivedMessage = service.Receive(TimeSpan.FromSeconds(10));
- try
- {
- TObjectType receivedObject = receivedMessage.GetBody<TObjectType>();
- Assert.True(receivedObject.Equals(objectToMatch), "Original and deserialized objects do not match");
-
- AmqpProperties receivedProperties = (AmqpProperties)receivedMessage.Properties["AmqpProperties"];
- PropertyInfo[] propInfo = typeof(AmqpProperties).GetProperties();
-
- for (int i = 0; i < propInfo.Length; i++)
- {
- string propertyName = propInfo[i].Name;
- if (propertyName.Equals("RoutingKey", StringComparison.InvariantCultureIgnoreCase))
- {
- Assert.AreEqual(RoutingKey, Convert.ToString(propInfo[i].GetValue(receivedProperties, null)));
- }
- else
- {
- Assert.AreEqual(Convert.ToString(propInfo[i].GetValue(expectedProperties, null)), Convert.ToString(propInfo[i].GetValue(receivedProperties, null)));
- }
- }
- }
- catch (NullReferenceException)
- {
- Assert.Fail("Message not received");
- }
- catch (SerializationException)
- {
- Assert.Fail("Deserialized object not of correct type");
- }
- finally
- {
- receivedMessage.Close();
- service.Close();
- listener.Close();
- }
- }
- }
-}