Skip to content

Commit 4f3305a

Browse files
committed
Add functional tests of AddSerilog() extension method.
1 parent 7fc50b0 commit 4f3305a

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
using Microsoft.Extensions.DependencyInjection;
2+
using Microsoft.Extensions.Logging;
3+
using Serilog.Extensions.Logging.Tests.Support;
4+
using Xunit;
5+
6+
namespace Serilog.Extensions.Logging.Tests;
7+
8+
public class SerilogLoggingBuilderExtensionsTests
9+
{
10+
[Fact]
11+
public void AddSerilog_must_register_a_ILoggerProvider()
12+
{
13+
var services = new ServiceCollection()
14+
.AddLogging(builder => { builder.AddSerilog(); })
15+
.BuildServiceProvider();
16+
17+
var loggerProviders = services.GetServices<ILoggerProvider>();
18+
Assert.Contains(loggerProviders, provider => provider is SerilogLoggerProvider);
19+
}
20+
21+
[Fact]
22+
public void AddSerilog_must_register_a_ILoggerProvider_that_forwards_logs_to_static_Serilog_Logger()
23+
{
24+
var sink = new SerilogSink();
25+
Log.Logger = new LoggerConfiguration()
26+
.WriteTo.Sink(sink)
27+
.CreateLogger();
28+
29+
var services = new ServiceCollection()
30+
.AddLogging(builder => { builder.AddSerilog(); })
31+
.BuildServiceProvider();
32+
33+
var logger = services.GetRequiredService<ILogger<SerilogLoggingBuilderExtensionsTests>>();
34+
logger.LogInformation("Hello, world!");
35+
36+
Assert.Single(sink.Writes);
37+
}
38+
39+
[Fact]
40+
public void AddSerilog_must_register_a_ILoggerProvider_that_forwards_logs_to_provided_logger()
41+
{
42+
var sink = new SerilogSink();
43+
var serilogLogger = new LoggerConfiguration()
44+
.WriteTo.Sink(sink)
45+
.CreateLogger();
46+
47+
var services = new ServiceCollection()
48+
.AddLogging(builder => { builder.AddSerilog(logger: serilogLogger); })
49+
.BuildServiceProvider();
50+
51+
var logger = services.GetRequiredService<ILogger<SerilogLoggingBuilderExtensionsTests>>();
52+
logger.LogInformation("Hello, world!");
53+
54+
Assert.Single(sink.Writes);
55+
}
56+
}

0 commit comments

Comments
 (0)