Пример #1
0
        public async Task UserSettledPropertySetCorrectly()
        {
            var msg  = new ServiceBusReceivedMessage();
            var args = new ProcessMessageEventArgs(
                msg,
                new Mock <ServiceBusReceiver>().Object,
                CancellationToken.None);

            Assert.IsFalse(args.IsMessageSettled);

            args.IsMessageSettled = false;
            await args.AbandonAsync(msg);

            Assert.IsTrue(args.IsMessageSettled);

            await args.CompleteAsync(msg);

            Assert.IsTrue(args.IsMessageSettled);

            args.IsMessageSettled = false;
            await args.DeadLetterAsync(msg);

            Assert.IsTrue(args.IsMessageSettled);

            args.IsMessageSettled = false;
            await args.DeadLetterAsync(msg, "reason");

            Assert.IsTrue(args.IsMessageSettled);

            args.IsMessageSettled = false;
            await args.DeferAsync(msg);

            Assert.IsTrue(args.IsMessageSettled);
        }
Пример #2
0
        public void UserSettledPropertySetCorrectlyOnException()
        {
            var msg          = new ServiceBusReceivedMessage();
            var mockReceiver = new Mock <ServiceBusReceiver>();

            mockReceiver
            .Setup(receiver => receiver.AbandonAsync(
                       It.IsAny <ServiceBusReceivedMessage>(),
                       It.IsAny <IDictionary <string, object> >(),
                       It.IsAny <CancellationToken>()))
            .Throws(new Exception());

            mockReceiver
            .Setup(receiver => receiver.DeferAsync(
                       It.IsAny <ServiceBusReceivedMessage>(),
                       It.IsAny <IDictionary <string, object> >(),
                       It.IsAny <CancellationToken>()))
            .Throws(new Exception());

            mockReceiver
            .Setup(receiver => receiver.CompleteAsync(
                       It.IsAny <ServiceBusReceivedMessage>(),
                       It.IsAny <CancellationToken>()))
            .Throws(new Exception());

            mockReceiver
            .Setup(receiver => receiver.DeadLetterAsync(
                       It.IsAny <ServiceBusReceivedMessage>(),
                       It.IsAny <IDictionary <string, object> >(),
                       It.IsAny <CancellationToken>()))
            .Throws(new Exception());

            mockReceiver
            .Setup(receiver => receiver.DeadLetterAsync(
                       It.IsAny <ServiceBusReceivedMessage>(),
                       It.IsAny <string>(),
                       It.IsAny <string>(),
                       It.IsAny <CancellationToken>()))
            .Throws(new Exception());

            var args = new ProcessMessageEventArgs(
                msg,
                mockReceiver.Object,
                CancellationToken.None);

            Assert.IsFalse(args.IsMessageSettled);

            args.IsMessageSettled = false;
            Assert.That(async() => await args.AbandonAsync(msg),
                        Throws.InstanceOf <Exception>());
            Assert.IsFalse(args.IsMessageSettled);

            Assert.That(async() => await args.CompleteAsync(msg),
                        Throws.InstanceOf <Exception>());
            Assert.IsFalse(args.IsMessageSettled);

            args.IsMessageSettled = false;
            Assert.That(async() => await args.DeadLetterAsync(msg),
                        Throws.InstanceOf <Exception>());
            Assert.IsFalse(args.IsMessageSettled);

            args.IsMessageSettled = false;
            Assert.That(async() => await args.DeadLetterAsync(msg, "reason"),
                        Throws.InstanceOf <Exception>());
            Assert.IsFalse(args.IsMessageSettled);

            args.IsMessageSettled = false;
            Assert.That(async() => await args.DeferAsync(msg),
                        Throws.InstanceOf <Exception>());
            Assert.IsFalse(args.IsMessageSettled);
        }