public async Task ThrowsHandlerExceptionIfNoMessageHandlerFound()
        {
            var mockTestHandler       = new Mock <ITestHandler>();
            var subscription          = nameof(CallsCorrectMessageHandlerUsingConnectionString);
            var aircraftTakenOffEvent = await CreateSubscriptionAndSendAircraftTakenOffEventAsync(subscription);

            _azureServiceBusClient = new AzureServiceBusClient(_connectionString, _topic, subscription);
            _azureServiceBusClient.AddErrorMessageHandler(mockTestHandler.Object.ErrorMessageHandler);
            await _azureServiceBusClient.StartAsync();

            await Task.Delay(TimeSpan.FromSeconds(10));

            mockTestHandler.Verify(m => m.ErrorMessageHandler(It.Is <MessageErrorReceivedEventArgs>(m =>
                                                                                                    m.Exception.GetType() == typeof(MessageHandlerNotFoundException))), Times.Exactly(10));
        }
        public async Task CallsCorrectMessageHandlerUsingManagedIdentity()
        {
            var mockTestHandler     = new Mock <ITestHandler>();
            var subscription        = nameof(CallsCorrectMessageHandlerUsingManagedIdentity);
            var aircraftlandedEvent = await CreateSubscriptionAndSendAircraftLandedEventAsync(subscription);

            _azureServiceBusClient = new AzureServiceBusClient(_hostname, _topic, subscription, _tenantId);
            AddHandlers(mockTestHandler, _azureServiceBusClient);
            await _azureServiceBusClient.StartAsync();

            await Task.Delay(TimeSpan.FromSeconds(5));

            mockTestHandler.Verify(m => m.MessageHandler(It.Is <MessageReceivedEventArgs>(m =>
                                                                                          GetAircraftIdFromMessage(m.Message) == aircraftlandedEvent.AircraftId)),
                                   Times.Once);
        }