Apache.NMS.Test.NMSPropertyTest.SendReceiveNMSProperties C# (CSharp) Method

SendReceiveNMSProperties() private method

private SendReceiveNMSProperties ( [ deliveryMode ) : void
deliveryMode [
return void
        public void SendReceiveNMSProperties(
			[Values(MsgDeliveryMode.Persistent, MsgDeliveryMode.NonPersistent)]
			MsgDeliveryMode deliveryMode)
        {
            using(IConnection connection = CreateConnection(GetTestClientId()))
            {
                connection.Start();
                using(ISession session = connection.CreateSession(AcknowledgementMode.AutoAcknowledge))
                {
                    IDestination destination = SessionUtil.GetDestination(session, DESTINATION_NAME);
                    using(IMessageConsumer consumer = session.CreateConsumer(destination))
                    using(IMessageProducer producer = session.CreateProducer(destination))
                    {
                        producer.Priority = priority;
                        producer.DeliveryMode = deliveryMode;
                        ITextMessage request = session.CreateTextMessage(expectedText);

                        // Set the headers
                        request.NMSCorrelationID = correlationID;
                        request.NMSType = type;
                        request.Properties["NMSXGroupID"] = groupID;
                        request.Properties["NMSXGroupSeq"] = groupSeq;

                        producer.Send(request);

                        ITextMessage message = consumer.Receive(receiveTimeout) as ITextMessage;

                        Assert.IsNotNull(message, "Did not receive an ITextMessage!");
                        Assert.AreEqual(expectedText, message.Text, "Message text does not match.");

                        // compare standard NMS headers
                        Assert.AreEqual(correlationID, message.NMSCorrelationID, "NMSCorrelationID does not match");
                        Assert.AreEqual(deliveryMode, message.NMSDeliveryMode, "NMSDeliveryMode does not match");
                        Assert.AreEqual(priority, message.NMSPriority, "NMSPriority does not match");
                        Assert.AreEqual(type, message.NMSType, "NMSType does not match");
                        Assert.AreEqual(groupID, message.Properties["NMSXGroupID"], "NMSXGroupID does not match");
                        Assert.AreEqual(groupSeq, message.Properties["NMSXGroupSeq"], "NMSXGroupSeq does not match");
                    }
                }
            }
        }