Skip to content

Commit

Permalink
Add more tests
Browse files Browse the repository at this point in the history
  • Loading branch information
sywhang committed Mar 10, 2020
1 parent f6bc94a commit 6171c14
Show file tree
Hide file tree
Showing 2 changed files with 64 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,8 @@
<Reference Include="System.Threading.Tasks.Extensions" />
</ItemGroup>

<ItemGroup>
<InternalsVisibleTo Include="Microsoft.Extensions.Logging.EventSource.Tests" />
</ItemGroup>

</Project>
60 changes: 60 additions & 0 deletions src/Logging/Logging.EventSource/test/EventSourceLoggerTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -456,6 +456,66 @@ public void Logs_AsExpected_FormattedMessage_WithNullString()
}
}

[Fact]
public void Logs_AsExpected_MessageJson_WithNullString()
{
using (var testListener = new TestEventListener())
{
var listenerSettings = new TestEventListener.ListenerSettings();
listenerSettings.Keywords = LoggingEventSource.Keywords.JsonMessage;
listenerSettings.FilterSpec = null;
listenerSettings.Level = EventLevel.Verbose;
testListener.EnableEvents(listenerSettings);

// Write some MessageJson events with null string.
for (var i = 0; i < 100; i++)
{
LoggingEventSource.Instance.MessageJson(LogLevel.Trace, 1, "MyLogger", 5, null, null, "testJson");
}

bool containsNullEventName = false;
foreach (var eventJson in testListener.Events)
{
if (eventJson.Contains(@"""__EVENT_NAME"":""MessageJson""") && eventJson.Contains(@"""EventName"":"""","))
{
containsNullEventName = true;
}
}

Assert.True(containsNullEventName, "EventName and ExceptionJson is supposed to be null but it isn't.");
}
}

[Fact]
public void Logs_AsExpected_ActivityJson_WithNullString()
{
using (var testListener = new TestEventListener())
{
var listenerSettings = new TestEventListener.ListenerSettings();
listenerSettings.Keywords = LoggingEventSource.Keywords.JsonMessage;
listenerSettings.FilterSpec = null;
listenerSettings.Level = EventLevel.Verbose;
testListener.EnableEvents(listenerSettings);

// Write some MessageJson events with null string.
for (var i = 0; i < 100; i++)
{
LoggingEventSource.Instance.ActivityJsonStart(6, 1, null, "someJson");
}

bool containsNullLoggerName = false;
foreach (var eventJson in testListener.Events)
{
if (eventJson.Contains(@"""__EVENT_NAME"":""ActivityJsonStart""") && eventJson.Contains(@"""LoggerName"":"""","))
{
containsNullLoggerName = true;
}
}

Assert.True(containsNullLoggerName, "LoggerName is supposed to be null but it isn't.");
}
}

private void LogStuff(ILoggerFactory factory)
{
var logger1 = factory.CreateLogger("Logger1");
Expand Down

0 comments on commit 6171c14

Please sign in to comment.