public void ProcessMessageAsync_LogsWarning_Stopped_Session() { try { _listener.Started = false; var message = ServiceBusModelFactory.ServiceBusReceivedMessage( messageId: Guid.NewGuid().ToString(), sessionId: Guid.NewGuid().ToString(), sequenceNumber: 1, deliveryCount: 55, enqueuedTime: DateTimeOffset.Now, lockedUntil: DateTimeOffset.Now); var receiver = new Mock <ServiceBusSessionReceiver>().Object; var args = new ProcessSessionMessageEventArgs(message, receiver, CancellationToken.None); Assert.That( async() => await _listener.ProcessSessionMessageAsync(args), Throws.InstanceOf <InvalidOperationException>()); Assert.NotNull(_loggerProvider.GetAllLogMessages() .SingleOrDefault( x => x.FormattedMessage.StartsWith("Message received for a listener that is not in a running state. The message will not be delivered to the function, " + "and instead will be abandoned. (Listener started = False, Listener disposed = False") && x.Level == LogLevel.Warning)); } finally { _listener.Started = true; _loggerProvider.ClearAllLogMessages(); } }