public void TestConsumerTransformer(
[Values(MsgDeliveryMode.Persistent, MsgDeliveryMode.NonPersistent)]
MsgDeliveryMode deliveryMode)
{
using(IConnection connection = CreateConnection())
{
connection.Start();
using(ISession session = connection.CreateSession(AcknowledgementMode.AutoAcknowledge))
{
IDestination destination = session.CreateTemporaryTopic();
using(IMessageConsumer consumer = session.CreateConsumer(destination))
using(IMessageProducer producer = session.CreateProducer(destination))
{
producer.DeliveryMode = deliveryMode;
consumer.ConsumerTransformer = DoConsumerTransform;
IMessage message = session.CreateMessage();
message.Properties["Test"] = "Value";
producer.Send(message);
message = consumer.Receive(TimeSpan.FromMilliseconds(5000));
Assert.IsNotNull(message);
Assert.IsTrue(message.Properties.Count == 2, "Property Count should be 2");
Assert.AreEqual("Value", message.Properties["Test"], "Propert 'Value' was incorrect");
Assert.AreEqual(propertyValue, message.Properties[propertyName], "Property not inserted");
}
}
}
}