diff --git a/src/Microsoft.AspNetCore.Routing/RouteBuilder.cs b/src/Microsoft.AspNetCore.Routing/RouteBuilder.cs index 0be4c51bfa..b492bfb59e 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteBuilder.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteBuilder.cs @@ -32,6 +32,7 @@ namespace Microsoft.AspNetCore.Routing } ApplicationBuilder = applicationBuilder; + DefaultHandler = defaultHandler; ServiceProvider = applicationBuilder.ApplicationServices; Routes = new List(); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteBuilderTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/RouteBuilderTest.cs index 06dc31f5a2..edd3e09cba 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/RouteBuilderTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/RouteBuilderTest.cs @@ -3,6 +3,8 @@ using System; using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Routing.Internal; +using Microsoft.Extensions.DependencyInjection; using Moq; using Xunit; @@ -10,6 +12,27 @@ namespace Microsoft.AspNetCore.Routing { public class RouteBuilderTest { + [Fact] + public void Ctor_SetsPropertyValues() + { + // Arrange + var services = new ServiceCollection(); + services.AddSingleton(typeof(RoutingMarkerService)); + var applicationServices = services.BuildServiceProvider(); + var applicationBuilderMock = new Mock(); + applicationBuilderMock.Setup(a => a.ApplicationServices).Returns(applicationServices); + var applicationBuilder = applicationBuilderMock.Object; + var defaultHandler = Mock.Of(); + + // Act + var builder = new RouteBuilder(applicationBuilder, defaultHandler); + + // Assert + Assert.Same(applicationBuilder, builder.ApplicationBuilder); + Assert.Same(defaultHandler, builder.DefaultHandler); + Assert.Same(applicationServices, builder.ServiceProvider); + } + [Fact] public void Ctor_ThrowsInvalidOperationException_IfRoutingMarkerServiceIsNotRegistered() {