Ejemplo n.º 1
0
        public void TestExplicitProducerThrowsMFEWhenNullMessageProvided()
        {
            IDestination     dest     = new NmsQueue("destination");
            IMessageProducer producer = session.CreateProducer(dest);

            Assert.Catch <MessageFormatException>(() => producer.Send(null));
            Assert.Catch <MessageFormatException>(() => producer.Send(null, NMSConstants.defaultDeliveryMode, NMSConstants.defaultPriority, NMSConstants.defaultTimeToLive));
        }
Ejemplo n.º 2
0
        public void TestTwoQueuesWithDifferentNamesAreNotEqual()
        {
            NmsQueue nmsQueue1 = new NmsQueue("myQueue");
            NmsQueue nmsQueue2 = new NmsQueue("myQueue2");

            Assert.AreNotEqual(nmsQueue1, nmsQueue2);
            Assert.AreNotEqual(nmsQueue1.GetHashCode(), nmsQueue2.GetHashCode());
        }
Ejemplo n.º 3
0
        public void TestTwoQueuesWithTheSameNamesAreEqual()
        {
            NmsQueue nmsQueue1 = new NmsQueue("myQueue");
            NmsQueue nmsQueue2 = new NmsQueue("myQueue");

            Assert.AreEqual(nmsQueue1, nmsQueue2);
            Assert.AreNotSame(nmsQueue1, nmsQueue2);
            Assert.AreEqual(nmsQueue1.GetHashCode(), nmsQueue2.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();
        }
Ejemplo n.º 5
0
 protected bool Equals(NmsQueue other)
 {
     return(DestinationType == other.DestinationType && IsTopic == other.IsTopic && IsQueue == other.IsQueue && IsTemporary == other.IsTemporary && QueueName == other.QueueName);
 }
Ejemplo n.º 6
0
        public void TestIsTemporary()
        {
            NmsQueue queue = new NmsQueue("myQueue");

            Assert.False(queue.IsTemporary, "should not be temporary");
        }
Ejemplo n.º 7
0
        public void TestIsTopic()
        {
            NmsQueue queue = new NmsQueue("myQueue");

            Assert.False(queue.IsTopic, "should not be a topic");
        }
Ejemplo n.º 8
0
        public void TestIsQueue()
        {
            NmsQueue queue = new NmsQueue("myQueue");

            Assert.True(queue.IsQueue, "should be a queue");
        }