Skip to content
This repository was archived by the owner on Dec 18, 2018. It is now read-only.

Commit

Permalink
Fix typo + tests
Browse files Browse the repository at this point in the history
  • Loading branch information
halter73 committed Jan 18, 2018
1 parent 4c634c9 commit e54095c
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 4 deletions.
3 changes: 2 additions & 1 deletion src/Kestrel/WebHostBuilderKestrelExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
using Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.Internal;
using Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Microsoft.Extensions.Options;

namespace Microsoft.AspNetCore.Hosting
Expand All @@ -28,7 +29,7 @@ public static IWebHostBuilder UseKestrel(this IWebHostBuilder hostBuilder)
return hostBuilder.ConfigureServices(services =>
{
// Don't override an already-configured transport
services.AddSingleton<ITransportFactory, LibuvTransportFactory>();
services.TryAddSingleton<ITransportFactory, LibuvTransportFactory>();

services.AddTransient<IConfigureOptions<KestrelServerOptions>, KestrelServerOptionsSetup>();
services.AddSingleton<IServer, KestrelServer>();
Expand Down
19 changes: 16 additions & 3 deletions test/Kestrel.Tests/WebHostBuilderKestrelExtensionsTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -61,26 +61,39 @@ public void LibuvIsTheDefaultTransport()
}

[Fact]
public void LibuvTransportCanBeManuallySelected()
public void LibuvTransportCanBeManuallySelectedIndependentOfOrder()
{
var hostBuilder = new WebHostBuilder()
.UseKestrel()
.UseLibuv()
.Configure(app => { });

Assert.IsType<LibuvTransportFactory>(hostBuilder.Build().Services.GetService<ITransportFactory>());
}

var hostBuilderReversed = new WebHostBuilder()
.UseLibuv()
.UseKestrel()
.Configure(app => { });

Assert.IsType<LibuvTransportFactory>(hostBuilderReversed.Build().Services.GetService<ITransportFactory>());
}

[Fact]
public void SocketsTransportCanBeManuallySelected()
public void SocketsTransportCanBeManuallySelectedIndependentOfOrder()
{
var hostBuilder = new WebHostBuilder()
.UseKestrel()
.UseSockets()
.Configure(app => { });

Assert.IsType<SocketTransportFactory>(hostBuilder.Build().Services.GetService<ITransportFactory>());

var hostBuilderReversed = new WebHostBuilder()
.UseSockets()
.UseKestrel()
.Configure(app => { });

Assert.IsType<SocketTransportFactory>(hostBuilderReversed.Build().Services.GetService<ITransportFactory>());
}
}
}

0 comments on commit e54095c

Please sign in to comment.