public void ScheduleMessageExceptionLogsEvents() { 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 }; mockTransportSender.Setup( sender => sender.ScheduleMessagesAsync( It.IsAny <IReadOnlyList <ServiceBusMessage> >(), It.IsAny <CancellationToken>())) .Throws(new Exception()); var scheduleTime = DateTimeOffset.UtcNow.AddMinutes(1); Assert.That( async() => await sender.ScheduleMessageAsync(GetMessage(), scheduleTime), Throws.InstanceOf <Exception>()); mockLogger .Verify( log => log.ScheduleMessagesStart( sender.Identifier, 1, It.IsAny <string>()), Times.Once); mockLogger .Verify( log => log.ScheduleMessagesException( sender.Identifier, It.IsAny <string>()), Times.Once); }
public async Task ScheduleMessageLogsEvents() { 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 }; mockTransportSender.Setup( sender => sender.ScheduleMessagesAsync( It.IsAny <IReadOnlyList <ServiceBusMessage> >(), It.IsAny <CancellationToken>())) .Returns(Task.FromResult((IReadOnlyList <long>) new List <long> { 1 })); var scheduleTime = DateTimeOffset.UtcNow.AddMinutes(1); await sender.ScheduleMessageAsync(GetMessage(), scheduleTime); mockLogger .Verify( log => log.ScheduleMessagesStart( sender.Identifier, 1, It.IsAny <string>()), Times.Once); mockLogger .Verify( log => log.ScheduleMessagesComplete( sender.Identifier), Times.Once); }