コード例 #1
0
        public async Task CancelScheduleMessageLogsEvents()
        {
            var mockLogger          = new Mock <ServiceBusEventSource>();
            var mockTransportSender = new Mock <TransportSender>();
            var mockConnection      = GetMockConnection(mockTransportSender);
            var sender = new ServiceBusSender(
                "queueName",
                new ServiceBusSenderOptions(),
                mockConnection.Object,
                new ServiceBusPlugin[] { })
            {
                Logger = mockLogger.Object
            };

            long[] sequenceNumbers = new long[] { 1 };
            await sender.CancelScheduledMessagesAsync(sequenceNumbers : sequenceNumbers);

            mockLogger
            .Verify(
                log => log.CancelScheduledMessagesStart(
                    sender.Identifier,
                    sequenceNumbers),
                Times.Once);
            mockLogger
            .Verify(
                log => log.CancelScheduledMessagesComplete(
                    sender.Identifier),
                Times.Once);
        }
コード例 #2
0
        public void CancelScheduleMessageExceptionLogsEvents()
        {
            var mockLogger          = new Mock <ServiceBusEventSource>();
            var mockTransportSender = new Mock <TransportSender>();
            var mockConnection      = GetMockConnection(mockTransportSender);

            var sender = new ServiceBusSender(
                "queueName",
                new ServiceBusSenderOptions(),
                mockConnection.Object,
                new ServiceBusPlugin[] { })
            {
                Logger = mockLogger.Object
            };

            long[] sequenceNumbers = new long[] { 1 };

            mockTransportSender.Setup(
                sender => sender.CancelScheduledMessagesAsync(
                    It.IsAny <long[]>(),
                    It.IsAny <CancellationToken>()))
            .Throws(new Exception());

            Assert.That(
                async() => await sender.CancelScheduledMessagesAsync(sequenceNumbers: sequenceNumbers),
                Throws.InstanceOf <Exception>());

            mockLogger
            .Verify(
                log => log.CancelScheduledMessagesStart(
                    sender.Identifier,
                    sequenceNumbers),
                Times.Once);
            mockLogger
            .Verify(
                log => log.CancelScheduledMessagesException(
                    sender.Identifier,
                    It.IsAny <string>()),
                Times.Once);
        }