React to breaking changes in RouteBuilder
This commit is contained in:
parent
a2393f21be
commit
1126d47b3e
|
|
@ -79,10 +79,9 @@ namespace Microsoft.AspNet.Builder
|
||||||
// We use the MvcMarkerService to make sure if all the services were added.
|
// We use the MvcMarkerService to make sure if all the services were added.
|
||||||
MvcServicesHelper.ThrowIfMvcNotRegistered(app.ApplicationServices);
|
MvcServicesHelper.ThrowIfMvcNotRegistered(app.ApplicationServices);
|
||||||
|
|
||||||
var routes = new RouteBuilder
|
var routes = new RouteBuilder(app)
|
||||||
{
|
{
|
||||||
DefaultHandler = new MvcRouteHandler(),
|
DefaultHandler = new MvcRouteHandler(),
|
||||||
ServiceProvider = app.ApplicationServices
|
|
||||||
};
|
};
|
||||||
|
|
||||||
configureRoutes(routes);
|
configureRoutes(routes);
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Microsoft.AspNet.Routing;
|
using Microsoft.AspNet.Routing;
|
||||||
using Microsoft.AspNet.Routing.Constraints;
|
using Microsoft.AspNet.Routing.Constraints;
|
||||||
|
|
@ -17,11 +18,7 @@ namespace Microsoft.AspNet.Builder
|
||||||
public void MapAreaRoute_Simple()
|
public void MapAreaRoute_Simple()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var builder = new RouteBuilder()
|
var builder = CreateRouteBuilder();
|
||||||
{
|
|
||||||
DefaultHandler = Mock.Of<IRouter>(),
|
|
||||||
ServiceProvider = CreateServices(),
|
|
||||||
};
|
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
builder.MapAreaRoute(name: null, areaName: "admin", template: "site/Admin/");
|
builder.MapAreaRoute(name: null, areaName: "admin", template: "site/Admin/");
|
||||||
|
|
@ -52,11 +49,7 @@ namespace Microsoft.AspNet.Builder
|
||||||
public void MapAreaRoute_Defaults()
|
public void MapAreaRoute_Defaults()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var builder = new RouteBuilder()
|
var builder = CreateRouteBuilder();
|
||||||
{
|
|
||||||
DefaultHandler = Mock.Of<IRouter>(),
|
|
||||||
ServiceProvider = CreateServices(),
|
|
||||||
};
|
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
builder.MapAreaRoute(
|
builder.MapAreaRoute(
|
||||||
|
|
@ -96,11 +89,7 @@ namespace Microsoft.AspNet.Builder
|
||||||
public void MapAreaRoute_DefaultsAndConstraints()
|
public void MapAreaRoute_DefaultsAndConstraints()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var builder = new RouteBuilder()
|
var builder = CreateRouteBuilder();
|
||||||
{
|
|
||||||
DefaultHandler = Mock.Of<IRouter>(),
|
|
||||||
ServiceProvider = CreateServices(),
|
|
||||||
};
|
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
builder.MapAreaRoute(
|
builder.MapAreaRoute(
|
||||||
|
|
@ -146,11 +135,7 @@ namespace Microsoft.AspNet.Builder
|
||||||
public void MapAreaRoute_DefaultsConstraintsAndDataTokens()
|
public void MapAreaRoute_DefaultsConstraintsAndDataTokens()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var builder = new RouteBuilder()
|
var builder = CreateRouteBuilder();
|
||||||
{
|
|
||||||
DefaultHandler = Mock.Of<IRouter>(),
|
|
||||||
ServiceProvider = CreateServices(),
|
|
||||||
};
|
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
builder.MapAreaRoute(
|
builder.MapAreaRoute(
|
||||||
|
|
@ -203,11 +188,7 @@ namespace Microsoft.AspNet.Builder
|
||||||
public void MapAreaRoute_ReplacesValuesForArea()
|
public void MapAreaRoute_ReplacesValuesForArea()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var builder = new RouteBuilder()
|
var builder = CreateRouteBuilder();
|
||||||
{
|
|
||||||
DefaultHandler = Mock.Of<IRouter>(),
|
|
||||||
ServiceProvider = CreateServices(),
|
|
||||||
};
|
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
builder.MapAreaRoute(
|
builder.MapAreaRoute(
|
||||||
|
|
@ -252,5 +233,21 @@ namespace Microsoft.AspNet.Builder
|
||||||
services.AddRouting();
|
services.AddRouting();
|
||||||
return services.BuildServiceProvider();
|
return services.BuildServiceProvider();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private IRouteBuilder CreateRouteBuilder()
|
||||||
|
{
|
||||||
|
var builder = new Mock<IRouteBuilder>();
|
||||||
|
builder
|
||||||
|
.SetupGet(b => b.ServiceProvider)
|
||||||
|
.Returns(CreateServices());
|
||||||
|
builder
|
||||||
|
.SetupGet(b => b.Routes)
|
||||||
|
.Returns(new List<IRouter>());
|
||||||
|
builder
|
||||||
|
.SetupGet(b => b.DefaultHandler)
|
||||||
|
.Returns(Mock.Of<IRouter>());
|
||||||
|
|
||||||
|
return builder.Object;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ using Microsoft.AspNet.Http.Internal;
|
||||||
using Microsoft.AspNet.Mvc.Abstractions;
|
using Microsoft.AspNet.Mvc.Abstractions;
|
||||||
using Microsoft.AspNet.Mvc.Infrastructure;
|
using Microsoft.AspNet.Mvc.Infrastructure;
|
||||||
using Microsoft.AspNet.Routing;
|
using Microsoft.AspNet.Routing;
|
||||||
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
using Microsoft.Extensions.Logging.Testing;
|
using Microsoft.Extensions.Logging.Testing;
|
||||||
using Microsoft.Extensions.OptionsModel;
|
using Microsoft.Extensions.OptionsModel;
|
||||||
|
|
@ -31,7 +32,7 @@ namespace Microsoft.AspNet.Mvc.Routing
|
||||||
string expectedPath)
|
string expectedPath)
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var httpContext = CreateHttpContext(GetServices(), appRoot);
|
var httpContext = CreateHttpContext(CreateServices(), appRoot);
|
||||||
var actionContext = CreateActionContext(httpContext);
|
var actionContext = CreateActionContext(httpContext);
|
||||||
var urlHelper = CreateUrlHelper(actionContext);
|
var urlHelper = CreateUrlHelper(actionContext);
|
||||||
|
|
||||||
|
|
@ -56,7 +57,7 @@ namespace Microsoft.AspNet.Mvc.Routing
|
||||||
string expectedPath)
|
string expectedPath)
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var httpContext = CreateHttpContext(GetServices(), appRoot);
|
var httpContext = CreateHttpContext(CreateServices(), appRoot);
|
||||||
var actionContext = CreateActionContext(httpContext);
|
var actionContext = CreateActionContext(httpContext);
|
||||||
var urlHelper = CreateUrlHelper(actionContext);
|
var urlHelper = CreateUrlHelper(actionContext);
|
||||||
|
|
||||||
|
|
@ -266,7 +267,7 @@ namespace Microsoft.AspNet.Mvc.Routing
|
||||||
public void RouteUrlWithDictionary()
|
public void RouteUrlWithDictionary()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var services = GetServices();
|
var services = CreateServices();
|
||||||
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
|
|
@ -286,7 +287,7 @@ namespace Microsoft.AspNet.Mvc.Routing
|
||||||
public void RouteUrlWithEmptyHostName()
|
public void RouteUrlWithEmptyHostName()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var services = GetServices();
|
var services = CreateServices();
|
||||||
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
|
|
@ -309,7 +310,7 @@ namespace Microsoft.AspNet.Mvc.Routing
|
||||||
public void RouteUrlWithEmptyProtocol()
|
public void RouteUrlWithEmptyProtocol()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var services = GetServices();
|
var services = CreateServices();
|
||||||
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
|
|
@ -332,7 +333,7 @@ namespace Microsoft.AspNet.Mvc.Routing
|
||||||
public void RouteUrlWithNullProtocol()
|
public void RouteUrlWithNullProtocol()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var services = GetServices();
|
var services = CreateServices();
|
||||||
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
|
|
@ -355,7 +356,7 @@ namespace Microsoft.AspNet.Mvc.Routing
|
||||||
public void RouteUrlWithNullProtocolAndNullHostName()
|
public void RouteUrlWithNullProtocolAndNullHostName()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var services = GetServices();
|
var services = CreateServices();
|
||||||
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
|
|
@ -378,7 +379,7 @@ namespace Microsoft.AspNet.Mvc.Routing
|
||||||
public void RouteUrlWithObjectProperties()
|
public void RouteUrlWithObjectProperties()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var services = GetServices();
|
var services = CreateServices();
|
||||||
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
|
|
@ -392,7 +393,7 @@ namespace Microsoft.AspNet.Mvc.Routing
|
||||||
public void RouteUrlWithProtocol()
|
public void RouteUrlWithProtocol()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var services = GetServices();
|
var services = CreateServices();
|
||||||
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
|
|
@ -413,7 +414,7 @@ namespace Microsoft.AspNet.Mvc.Routing
|
||||||
public void RouteUrl_WithUnicodeHost_DoesNotPunyEncodeTheHost()
|
public void RouteUrl_WithUnicodeHost_DoesNotPunyEncodeTheHost()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var services = GetServices();
|
var services = CreateServices();
|
||||||
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
|
|
@ -435,7 +436,7 @@ namespace Microsoft.AspNet.Mvc.Routing
|
||||||
public void RouteUrlWithRouteNameAndDefaults()
|
public void RouteUrlWithRouteNameAndDefaults()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var services = GetServices();
|
var services = CreateServices();
|
||||||
var routeCollection = GetRouter(services, "MyRouteName", "any/url");
|
var routeCollection = GetRouter(services, "MyRouteName", "any/url");
|
||||||
var urlHelper = CreateUrlHelper("/app", routeCollection);
|
var urlHelper = CreateUrlHelper("/app", routeCollection);
|
||||||
|
|
||||||
|
|
@ -450,7 +451,7 @@ namespace Microsoft.AspNet.Mvc.Routing
|
||||||
public void RouteUrlWithRouteNameAndDictionary()
|
public void RouteUrlWithRouteNameAndDictionary()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var services = GetServices();
|
var services = CreateServices();
|
||||||
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
|
|
@ -471,7 +472,7 @@ namespace Microsoft.AspNet.Mvc.Routing
|
||||||
public void RouteUrlWithRouteNameAndObjectProperties()
|
public void RouteUrlWithRouteNameAndObjectProperties()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var services = GetServices();
|
var services = CreateServices();
|
||||||
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
|
|
@ -491,7 +492,7 @@ namespace Microsoft.AspNet.Mvc.Routing
|
||||||
public void RouteUrlWithUrlRouteContext_ReturnsExpectedResult()
|
public void RouteUrlWithUrlRouteContext_ReturnsExpectedResult()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var services = GetServices();
|
var services = CreateServices();
|
||||||
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
||||||
|
|
||||||
var routeContext = new UrlRouteContext()
|
var routeContext = new UrlRouteContext()
|
||||||
|
|
@ -519,7 +520,7 @@ namespace Microsoft.AspNet.Mvc.Routing
|
||||||
public void RouteUrlWithAllParameters_ReturnsExpectedResult()
|
public void RouteUrlWithAllParameters_ReturnsExpectedResult()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var services = GetServices();
|
var services = CreateServices();
|
||||||
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
|
|
@ -543,7 +544,7 @@ namespace Microsoft.AspNet.Mvc.Routing
|
||||||
public void UrlAction_RouteValuesAsDictionary_CaseSensitive()
|
public void UrlAction_RouteValuesAsDictionary_CaseSensitive()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var services = GetServices();
|
var services = CreateServices();
|
||||||
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
||||||
|
|
||||||
// We're using a dictionary with a case-sensitive comparer and loading it with data
|
// We're using a dictionary with a case-sensitive comparer and loading it with data
|
||||||
|
|
@ -571,7 +572,7 @@ namespace Microsoft.AspNet.Mvc.Routing
|
||||||
public void UrlAction_WithUnicodeHost_DoesNotPunyEncodeTheHost()
|
public void UrlAction_WithUnicodeHost_DoesNotPunyEncodeTheHost()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var services = GetServices();
|
var services = CreateServices();
|
||||||
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
|
|
@ -590,7 +591,7 @@ namespace Microsoft.AspNet.Mvc.Routing
|
||||||
public void UrlRouteUrl_RouteValuesAsDictionary_CaseSensitive()
|
public void UrlRouteUrl_RouteValuesAsDictionary_CaseSensitive()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var services = GetServices();
|
var services = CreateServices();
|
||||||
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
||||||
|
|
||||||
// We're using a dictionary with a case-sensitive comparer and loading it with data
|
// We're using a dictionary with a case-sensitive comparer and loading it with data
|
||||||
|
|
@ -619,7 +620,7 @@ namespace Microsoft.AspNet.Mvc.Routing
|
||||||
public void UrlActionWithUrlActionContext_ReturnsExpectedResult()
|
public void UrlActionWithUrlActionContext_ReturnsExpectedResult()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var services = GetServices();
|
var services = CreateServices();
|
||||||
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
||||||
|
|
||||||
var actionContext = new UrlActionContext()
|
var actionContext = new UrlActionContext()
|
||||||
|
|
@ -643,7 +644,7 @@ namespace Microsoft.AspNet.Mvc.Routing
|
||||||
public void UrlActionWithAllParameters_ReturnsExpectedResult()
|
public void UrlActionWithAllParameters_ReturnsExpectedResult()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var services = GetServices();
|
var services = CreateServices();
|
||||||
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
|
|
@ -664,7 +665,7 @@ namespace Microsoft.AspNet.Mvc.Routing
|
||||||
public void LinkWithAllParameters_ReturnsExpectedResult()
|
public void LinkWithAllParameters_ReturnsExpectedResult()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var services = GetServices();
|
var services = CreateServices();
|
||||||
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
|
|
@ -684,7 +685,7 @@ namespace Microsoft.AspNet.Mvc.Routing
|
||||||
public void LinkWithNullRouteName_ReturnsExpectedResult()
|
public void LinkWithNullRouteName_ReturnsExpectedResult()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var services = GetServices();
|
var services = CreateServices();
|
||||||
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
var urlHelper = CreateUrlHelperWithRouteCollection(services, "/app");
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
|
|
@ -704,7 +705,7 @@ namespace Microsoft.AspNet.Mvc.Routing
|
||||||
public void LinkWithDefaultsAndNullRouteValues_ReturnsExpectedResult()
|
public void LinkWithDefaultsAndNullRouteValues_ReturnsExpectedResult()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var services = GetServices();
|
var services = CreateServices();
|
||||||
var routeCollection = GetRouter(services, "MyRouteName", "any/url");
|
var routeCollection = GetRouter(services, "MyRouteName", "any/url");
|
||||||
var urlHelper = CreateUrlHelper("/app", routeCollection);
|
var urlHelper = CreateUrlHelper("/app", routeCollection);
|
||||||
|
|
||||||
|
|
@ -719,7 +720,7 @@ namespace Microsoft.AspNet.Mvc.Routing
|
||||||
public void LinkWithCustomHostAndProtocol_ReturnsExpectedResult()
|
public void LinkWithCustomHostAndProtocol_ReturnsExpectedResult()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var services = GetServices();
|
var services = CreateServices();
|
||||||
var routeCollection = GetRouter(services, "MyRouteName", "any/url");
|
var routeCollection = GetRouter(services, "MyRouteName", "any/url");
|
||||||
var urlHelper = CreateUrlHelper("myhost", "https", routeCollection);
|
var urlHelper = CreateUrlHelper("myhost", "https", routeCollection);
|
||||||
|
|
||||||
|
|
@ -741,12 +742,8 @@ namespace Microsoft.AspNet.Mvc.Routing
|
||||||
public void Action_RouteValueInvalidation_DoesNotAffectActionAndController()
|
public void Action_RouteValueInvalidation_DoesNotAffectActionAndController()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var services = GetServices();
|
var services = CreateServices();
|
||||||
var routeBuilder = new RouteBuilder()
|
var routeBuilder = CreateRouteBuilder(services);
|
||||||
{
|
|
||||||
DefaultHandler = new PassThroughRouter(),
|
|
||||||
ServiceProvider = services,
|
|
||||||
};
|
|
||||||
|
|
||||||
routeBuilder.MapRoute(
|
routeBuilder.MapRoute(
|
||||||
"default",
|
"default",
|
||||||
|
|
@ -786,12 +783,8 @@ namespace Microsoft.AspNet.Mvc.Routing
|
||||||
public void Action_RouteValueInvalidation_AffectsOtherRouteValues()
|
public void Action_RouteValueInvalidation_AffectsOtherRouteValues()
|
||||||
{
|
{
|
||||||
// Arrage
|
// Arrage
|
||||||
var services = GetServices();
|
var services = CreateServices();
|
||||||
var routeBuilder = new RouteBuilder()
|
var routeBuilder = CreateRouteBuilder(services);
|
||||||
{
|
|
||||||
DefaultHandler = new PassThroughRouter(),
|
|
||||||
ServiceProvider = services,
|
|
||||||
};
|
|
||||||
|
|
||||||
routeBuilder.MapRoute(
|
routeBuilder.MapRoute(
|
||||||
"default",
|
"default",
|
||||||
|
|
@ -834,12 +827,8 @@ namespace Microsoft.AspNet.Mvc.Routing
|
||||||
public void Action_RouteValueInvalidation_DoesNotAffectActionAndController_ActionPassedInRouteValues()
|
public void Action_RouteValueInvalidation_DoesNotAffectActionAndController_ActionPassedInRouteValues()
|
||||||
{
|
{
|
||||||
// Arrage
|
// Arrage
|
||||||
var services = GetServices();
|
var services = CreateServices();
|
||||||
var routeBuilder = new RouteBuilder()
|
var routeBuilder = CreateRouteBuilder(services);
|
||||||
{
|
|
||||||
DefaultHandler = new PassThroughRouter(),
|
|
||||||
ServiceProvider = services,
|
|
||||||
};
|
|
||||||
|
|
||||||
routeBuilder.MapRoute(
|
routeBuilder.MapRoute(
|
||||||
"default",
|
"default",
|
||||||
|
|
@ -902,7 +891,7 @@ namespace Microsoft.AspNet.Mvc.Routing
|
||||||
|
|
||||||
private static UrlHelper CreateUrlHelper()
|
private static UrlHelper CreateUrlHelper()
|
||||||
{
|
{
|
||||||
var services = GetServices();
|
var services = CreateServices();
|
||||||
var context = CreateHttpContext(services, string.Empty);
|
var context = CreateHttpContext(services, string.Empty);
|
||||||
var actionContext = CreateActionContext(context);
|
var actionContext = CreateActionContext(context);
|
||||||
|
|
||||||
|
|
@ -916,7 +905,7 @@ namespace Microsoft.AspNet.Mvc.Routing
|
||||||
|
|
||||||
private static UrlHelper CreateUrlHelper(string host)
|
private static UrlHelper CreateUrlHelper(string host)
|
||||||
{
|
{
|
||||||
var services = GetServices();
|
var services = CreateServices();
|
||||||
var context = CreateHttpContext(services, string.Empty);
|
var context = CreateHttpContext(services, string.Empty);
|
||||||
context.Request.Host = new HostString(host);
|
context.Request.Host = new HostString(host);
|
||||||
|
|
||||||
|
|
@ -927,7 +916,7 @@ namespace Microsoft.AspNet.Mvc.Routing
|
||||||
|
|
||||||
private static UrlHelper CreateUrlHelper(string host, string protocol, IRouter router)
|
private static UrlHelper CreateUrlHelper(string host, string protocol, IRouter router)
|
||||||
{
|
{
|
||||||
var services = GetServices();
|
var services = CreateServices();
|
||||||
var context = CreateHttpContext(services, string.Empty);
|
var context = CreateHttpContext(services, string.Empty);
|
||||||
context.Request.Host = new HostString(host);
|
context.Request.Host = new HostString(host);
|
||||||
context.Request.Scheme = protocol;
|
context.Request.Scheme = protocol;
|
||||||
|
|
@ -939,7 +928,7 @@ namespace Microsoft.AspNet.Mvc.Routing
|
||||||
|
|
||||||
private static UrlHelper CreateUrlHelper(string appBase, IRouter router)
|
private static UrlHelper CreateUrlHelper(string appBase, IRouter router)
|
||||||
{
|
{
|
||||||
var services = GetServices();
|
var services = CreateServices();
|
||||||
var context = CreateHttpContext(services, appBase);
|
var context = CreateHttpContext(services, appBase);
|
||||||
var actionContext = CreateActionContext(context, router);
|
var actionContext = CreateActionContext(context, router);
|
||||||
|
|
||||||
|
|
@ -957,27 +946,25 @@ namespace Microsoft.AspNet.Mvc.Routing
|
||||||
return GetRouter(services, "mockRoute", "/mockTemplate");
|
return GetRouter(services, "mockRoute", "/mockTemplate");
|
||||||
}
|
}
|
||||||
|
|
||||||
private static IServiceProvider GetServices()
|
private static IServiceProvider CreateServices()
|
||||||
{
|
{
|
||||||
var services = new Mock<IServiceProvider>();
|
var services = new ServiceCollection();
|
||||||
|
services.AddLogging();
|
||||||
|
services.AddRouting();
|
||||||
|
return services.BuildServiceProvider();
|
||||||
|
}
|
||||||
|
|
||||||
var optionsAccessor = new Mock<IOptions<RouteOptions>>();
|
private static IRouteBuilder CreateRouteBuilder(IServiceProvider services)
|
||||||
optionsAccessor
|
{
|
||||||
.SetupGet(o => o.Value)
|
var app = new Mock<IApplicationBuilder>();
|
||||||
.Returns(new RouteOptions());
|
app
|
||||||
services
|
.SetupGet(a => a.ApplicationServices)
|
||||||
.Setup(s => s.GetService(typeof(IOptions<RouteOptions>)))
|
.Returns(services);
|
||||||
.Returns(optionsAccessor.Object);
|
|
||||||
|
|
||||||
services
|
return new RouteBuilder(app.Object)
|
||||||
.Setup(s => s.GetService(typeof(IInlineConstraintResolver)))
|
{
|
||||||
.Returns(new DefaultInlineConstraintResolver(optionsAccessor.Object));
|
DefaultHandler = new PassThroughRouter(),
|
||||||
|
};
|
||||||
services
|
|
||||||
.Setup(s => s.GetService(typeof(ILoggerFactory)))
|
|
||||||
.Returns(NullLoggerFactory.Instance);
|
|
||||||
|
|
||||||
return services.Object;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static IRouter GetRouter(
|
private static IRouter GetRouter(
|
||||||
|
|
@ -985,8 +972,7 @@ namespace Microsoft.AspNet.Mvc.Routing
|
||||||
string mockRouteName,
|
string mockRouteName,
|
||||||
string mockTemplateValue)
|
string mockTemplateValue)
|
||||||
{
|
{
|
||||||
var routeBuilder = new RouteBuilder();
|
var routeBuilder = CreateRouteBuilder(services);
|
||||||
routeBuilder.ServiceProvider = services;
|
|
||||||
|
|
||||||
var target = new Mock<IRouter>(MockBehavior.Strict);
|
var target = new Mock<IRouter>(MockBehavior.Strict);
|
||||||
target
|
target
|
||||||
|
|
|
||||||
|
|
@ -516,10 +516,12 @@ namespace Microsoft.AspNet.Mvc
|
||||||
|
|
||||||
private static RouteBuilder GetRouteBuilder(IServiceProvider serviceProvider)
|
private static RouteBuilder GetRouteBuilder(IServiceProvider serviceProvider)
|
||||||
{
|
{
|
||||||
var builder = new RouteBuilder
|
var app = new Mock<IApplicationBuilder>();
|
||||||
{
|
app
|
||||||
ServiceProvider = serviceProvider,
|
.SetupGet(a => a.ApplicationServices)
|
||||||
};
|
.Returns(serviceProvider);
|
||||||
|
|
||||||
|
var builder = new RouteBuilder(app.Object);
|
||||||
|
|
||||||
var handler = new Mock<IRouter>(MockBehavior.Strict);
|
var handler = new Mock<IRouter>(MockBehavior.Strict);
|
||||||
handler
|
handler
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue