Beispiel #1
0
        public async Task PeekSingleMessageLogsEvents(bool specifySeqNumber)
        {
            var mockLogger            = new Mock <ServiceBusEventSource>();
            var mockTransportReceiver = new Mock <TransportReceiver>();
            var mockConnection        = GetMockConnection(mockTransportReceiver);

            mockTransportReceiver.Setup(
                transportReceiver => transportReceiver.PeekBatchAtAsync(
                    It.IsAny <long?>(),
                    It.IsAny <int>(),
                    It.IsAny <CancellationToken>()))
            .Returns(
                Task.FromResult((IList <ServiceBusReceivedMessage>)
                                new List <ServiceBusReceivedMessage> {
                new ServiceBusReceivedMessage()
            }));
            var receiver = new ServiceBusReceiver(mockConnection.Object, "queueName", false, new ServiceBusReceiverOptions())
            {
                Logger = mockLogger.Object
            };
            var seqNumber = 5;

            if (specifySeqNumber)
            {
                await receiver.PeekAtAsync(seqNumber);
            }
            else
            {
                await receiver.PeekAsync();
            }

            mockLogger
            .Verify(
                log => log.PeekMessageStart(
                    receiver.Identifier,
                    specifySeqNumber ? (long?)seqNumber : null,
                    1),
                Times.Once);
            mockLogger
            .Verify(
                log => log.PeekMessageComplete(
                    receiver.Identifier,
                    1),
                Times.Once);
        }