Skip to content

Commit 057c4bc

Browse files
committed
Add tests for #142 fixed in previous commit
1 parent d2ccdf7 commit 057c4bc

File tree

4 files changed

+56
-7
lines changed

4 files changed

+56
-7
lines changed

test/Serilog.Settings.Configuration.Tests/ConfigurationSettingsTests.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -425,7 +425,7 @@ public void SinkWithIConfigurationArguments()
425425
""Serilog"": {
426426
""Using"": [""TestDummies""],
427427
""WriteTo"": [{
428-
""Name"": ""DummyRollingFile"",
428+
""Name"": ""DummyWithConfiguration"",
429429
""Args"": {""pathFormat"" : ""C:\\"",
430430
""configurationSection"" : { ""foo"" : ""bar"" } }
431431
}]
@@ -435,14 +435,17 @@ public void SinkWithIConfigurationArguments()
435435
// IConfiguration and IConfigurationSection arguments do not have
436436
// default values so they will throw if they are not populated
437437

438+
439+
DummyConfigurationSink.Reset();
438440
var log = ConfigFromJson(json)
439441
.CreateLogger();
440442

441-
DummyRollingFileSink.Reset();
442443

443444
log.Write(Some.InformationEvent());
444445

445-
Assert.Equal(1, DummyRollingFileSink.Emitted.Count);
446+
Assert.NotNull(DummyConfigurationSink.Configuration);
447+
Assert.NotNull(DummyConfigurationSink.ConfigSection);
448+
Assert.Equal("bar", DummyConfigurationSink.ConfigSection["foo"]);
446449
}
447450

448451
[Fact]

test/Serilog.Settings.Configuration.Tests/LoggerConfigurationExtensionsTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public void ReadFromConfigurationSectionThrowsWhenTryingToCallConfigurationMetho
5656
""NotSerilog"": {
5757
""Using"": [""TestDummies""],
5858
""WriteTo"": [{
59-
""Name"": ""DummyRollingFile"",
59+
""Name"": ""DummyWithConfiguration"",
6060
""Args"": {""pathFormat"" : ""C:\\"",
6161
""configurationSection"" : { ""foo"" : ""bar"" } }
6262
}]
@@ -74,7 +74,7 @@ public void ReadFromConfigurationSectionThrowsWhenTryingToCallConfigurationMetho
7474

7575
Assert.Equal("Trying to invoke a configuration method accepting a `IConfiguration` argument. " +
7676
"This is not supported when only a `IConfigSection` has been provided. " +
77-
"(method 'Serilog.LoggerConfiguration DummyRollingFile(Serilog.Configuration.LoggerSinkConfiguration, Microsoft.Extensions.Configuration.IConfiguration, Microsoft.Extensions.Configuration.IConfigurationSection, System.String, Serilog.Events.LogEventLevel)')",
77+
"(method 'Serilog.LoggerConfiguration DummyWithConfiguration(Serilog.Configuration.LoggerSinkConfiguration, Microsoft.Extensions.Configuration.IConfiguration, Microsoft.Extensions.Configuration.IConfigurationSection, System.String, Serilog.Events.LogEventLevel)')",
7878
exception.Message);
7979

8080
}
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using Microsoft.Extensions.Configuration;
4+
using Serilog.Core;
5+
using Serilog.Events;
6+
7+
namespace TestDummies
8+
{
9+
public class DummyConfigurationSink : ILogEventSink
10+
{
11+
[ThreadStatic]
12+
static List<LogEvent> _emitted;
13+
14+
[ThreadStatic]
15+
static IConfiguration _configuration;
16+
17+
[ThreadStatic]
18+
static IConfigurationSection _configSection;
19+
20+
public static List<LogEvent> Emitted => _emitted ?? (_emitted = new List<LogEvent>());
21+
22+
public static IConfiguration Configuration => _configuration;
23+
24+
public static IConfigurationSection ConfigSection => _configSection;
25+
26+
27+
public DummyConfigurationSink(IConfiguration configuration, IConfigurationSection configSection)
28+
{
29+
_configuration = configuration;
30+
_configSection = configSection;
31+
}
32+
33+
public void Emit(LogEvent logEvent)
34+
{
35+
Emitted.Add(logEvent);
36+
}
37+
38+
public static void Reset()
39+
{
40+
_emitted = null;
41+
_configuration = null;
42+
_configSection = null;
43+
}
44+
45+
}
46+
}

test/TestDummies/DummyLoggerConfigurationExtensions.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,14 @@ public static LoggerConfiguration DummyRollingFile(
3737
return loggerSinkConfiguration.Sink(new DummyRollingFileSink(), restrictedToMinimumLevel);
3838
}
3939

40-
public static LoggerConfiguration DummyRollingFile(
40+
public static LoggerConfiguration DummyWithConfiguration(
4141
this LoggerSinkConfiguration loggerSinkConfiguration,
4242
IConfiguration appConfiguration,
4343
IConfigurationSection configurationSection,
4444
string pathFormat,
4545
LogEventLevel restrictedToMinimumLevel = LevelAlias.Minimum)
4646
{
47-
return loggerSinkConfiguration.Sink(new DummyRollingFileSink(), restrictedToMinimumLevel);
47+
return loggerSinkConfiguration.Sink(new DummyConfigurationSink(appConfiguration, configurationSection), restrictedToMinimumLevel);
4848
}
4949

5050
public static LoggerConfiguration DummyRollingFile(

0 commit comments

Comments
 (0)