public void SendAsync_CallsDefaultHandlerWhenCustomASPNETRoute()
        {
            // Arrange
            var mockHandler = new Mock <HttpMessageHandler>();
            var config      = new HttpConfiguration();
            var request     = new HttpRequestMessage(
                HttpMethod.Get,
                "http://localhost/api/controllerName"
                );

            request.SetConfiguration(config);
            HttpDomainRoute domainRoute = new HttpDomainRoute(
                "test",
                new { controller = "Values", action = "GetTenant" }
                );

            request.SetRouteData(new HostedHttpRouteData(domainRoute.GetRouteData(null)));
            var dispatcher = new HttpRoutingDispatcher(config, defaultHandler: mockHandler.Object);
            var invoker    = new HttpMessageInvoker(dispatcher);

            // Act
            invoker.SendAsync(request, CancellationToken.None);

            // Assert
            mockHandler
            .Protected()
            .Verify("SendAsync", Times.Once(), request, CancellationToken.None);
        }
        public void SendAsync_CallsDefaultHandlerWhenCustomASPNETRoute()
        {
            // Arrange
            var mockHandler = new Mock<HttpMessageHandler>();
            var config = new HttpConfiguration();
            var request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/api/controllerName");
            request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
            HttpDomainRoute domainRoute = new HttpDomainRoute("test", new { controller = "Values", action = "GetTenant" });
            request.Properties[HttpPropertyKeys.HttpRouteDataKey] = new HostedHttpRouteData(domainRoute.GetRouteData(null));
            var dispatcher = new HttpRoutingDispatcher(config, defaultHandler: mockHandler.Object);
            var invoker = new HttpMessageInvoker(dispatcher);

            // Act
            invoker.SendAsync(request, CancellationToken.None);

            // Assert
            mockHandler.Protected().Verify("SendAsync", Times.Once(), request, CancellationToken.None);
        }