Exemplo n.º 1
0
        public void TestNMSMessageHeadersAreCopied()
        {
            string destinationName = "Test-Destination-Name";

            NmsMessage source = new NmsMessage(new NmsTestMessageFacade());

            NmsTopic destination = new NmsTopic(destinationName);
            NmsTopic replyTo     = new NmsTopic("ReplyTo: " + destinationName);

            source.NMSMessageId     = "ID:TEST";
            source.NMSCorrelationID = "ID:CORRELATION";
            source.NMSDestination   = destination;
            source.NMSReplyTo       = replyTo;
            source.NMSDeliveryMode  = MsgDeliveryMode.NonPersistent;
            source.NMSRedelivered   = true;
            source.NMSType          = "test-type";
            source.NMSPriority      = MsgPriority.Highest;
            source.NMSTimestamp     = DateTime.UtcNow;

            NmsMessage transformed = NmsMessageTransformation.TransformMessage(factory, source);

            Assert.AreEqual(source.NMSMessageId, transformed.NMSMessageId);
            Assert.AreEqual(source.NMSCorrelationID, transformed.NMSCorrelationID);
            Assert.AreEqual(source.NMSDestination, transformed.NMSDestination);
            Assert.AreEqual(source.NMSReplyTo, transformed.NMSReplyTo);
            Assert.AreEqual(source.NMSDeliveryMode, transformed.NMSDeliveryMode);
            Assert.AreEqual(source.NMSRedelivered, transformed.NMSRedelivered);
            Assert.AreEqual(source.NMSType, transformed.NMSType);
            Assert.AreEqual(source.NMSPriority, transformed.NMSPriority);
            Assert.AreEqual(source.NMSTimestamp, transformed.NMSTimestamp);
        }
Exemplo n.º 2
0
        public void TestTwoTopicsWithDifferentNamesNotAreEqual()
        {
            NmsTopic nmsTopic1 = new NmsTopic("myTopic");
            NmsTopic nmsTopic2 = new NmsTopic("myTopic2");

            Assert.AreNotEqual(nmsTopic1, nmsTopic2);
            Assert.AreNotEqual(nmsTopic1.GetHashCode(), nmsTopic2.GetHashCode());
        }
Exemplo n.º 3
0
        public void TestTwoTopicsWithTheSameNamesAreEqual()
        {
            NmsTopic nmsTopic1 = new NmsTopic("myTopic");
            NmsTopic nmsTopic2 = new NmsTopic("myTopic");

            Assert.AreEqual(nmsTopic1, nmsTopic2);
            Assert.AreNotSame(nmsTopic1, nmsTopic2);
            Assert.AreEqual(nmsTopic1.GetHashCode(), nmsTopic2.GetHashCode());
        }
        private void DoRollbackSentMessagesThenConsumeTestImpl(bool topic)
        {
            Connection = CreateAmqpConnection();
            Connection.Start();

            ISession     session     = Connection.CreateSession(AcknowledgementMode.Transactional);
            IDestination destination = null;

            if (topic)
            {
                destination = new NmsTopic(nameof(DoRollbackSentMessagesThenConsumeTestImpl));
            }
            else
            {
                destination = new NmsQueue(nameof(DoRollbackSentMessagesThenConsumeTestImpl));
            }

            IMessageProducer producer = session.CreateProducer(destination);
            IMessageConsumer consumer = session.CreateConsumer(destination);

            ITextMessage message      = null;
            int          messageCount = 3;

            for (int i = 1; i <= messageCount; i++)
            {
                message = session.CreateTextMessage("Message " + i);
                producer.Send(message);
            }

            session.Rollback();

            // Should not consume any messages since rollback() was called
            message = consumer.Receive(TimeSpan.FromMilliseconds(300)) as ITextMessage;
            Assert.IsNull(message, "Received unexpected message");

            // Send messages and call commit
            for (int i = 1; i <= messageCount; i++)
            {
                message = session.CreateTextMessage("Message " + i);
                producer.Send(message);
            }

            session.Commit();

            // consume all messages
            for (int i = 1; i <= messageCount; i++)
            {
                message = consumer.Receive(TimeSpan.FromSeconds(3)) as ITextMessage;
                Assert.IsTrue(message.Text.EndsWith(i.ToString()));
                Assert.IsNotNull(message, "Receive() returned null, message " + i + " was not received");
            }

            session.Commit();
        }
Exemplo n.º 5
0
 protected bool Equals(NmsTopic other)
 {
     return(DestinationType == other.DestinationType && IsTopic == other.IsTopic && IsQueue == other.IsQueue && IsTemporary == other.IsTemporary && TopicName == other.TopicName);
 }
Exemplo n.º 6
0
        public void TestIsTemporary()
        {
            NmsTopic topic = new NmsTopic("myTopic");

            Assert.False(topic.IsTemporary, "should not be temporary");
        }
Exemplo n.º 7
0
        public void TestIsTopic()
        {
            NmsTopic topic = new NmsTopic("myTopic");

            Assert.True(topic.IsTopic, "should be a topic");
        }
Exemplo n.º 8
0
        public void TestIsQueue()
        {
            NmsTopic topic = new NmsTopic("myTopic");

            Assert.False(topic.IsQueue, "should not be a queue");
        }