From 4cd79074f8edd1503723bbd74b379e71c0d06354 Mon Sep 17 00:00:00 2001 From: Sung Yoon Whang Date: Tue, 10 Mar 2020 14:14:52 -0700 Subject: [PATCH] Add more tests Commit migrated from https://github.com/dotnet/Extensions/commit/6171c146edcd6a119291faee6f90de904e0fe8d1 --- ...Microsoft.Extensions.Logging.EventSource.csproj | 4 + .../tests/EventSourceLoggerTest.cs | 89 ++++++++++++++++++++++ 2 files changed, 93 insertions(+) diff --git a/src/libraries/Microsoft.Extensions.Logging.EventSource/src/Microsoft.Extensions.Logging.EventSource.csproj b/src/libraries/Microsoft.Extensions.Logging.EventSource/src/Microsoft.Extensions.Logging.EventSource.csproj index 9458321..dcaeb7d 100644 --- a/src/libraries/Microsoft.Extensions.Logging.EventSource/src/Microsoft.Extensions.Logging.EventSource.csproj +++ b/src/libraries/Microsoft.Extensions.Logging.EventSource/src/Microsoft.Extensions.Logging.EventSource.csproj @@ -37,4 +37,8 @@ + + + + diff --git a/src/libraries/Microsoft.Extensions.Logging.EventSource/tests/EventSourceLoggerTest.cs b/src/libraries/Microsoft.Extensions.Logging.EventSource/tests/EventSourceLoggerTest.cs index 23981f4..a74d7f1 100644 --- a/src/libraries/Microsoft.Extensions.Logging.EventSource/tests/EventSourceLoggerTest.cs +++ b/src/libraries/Microsoft.Extensions.Logging.EventSource/tests/EventSourceLoggerTest.cs @@ -428,6 +428,95 @@ namespace Microsoft.Extensions.Logging.Test } } + [Fact] + public void Logs_AsExpected_FormattedMessage_WithNullString() + { + using (var testListener = new TestEventListener()) + { + var factory = CreateLoggerFactory(); + + var listenerSettings = new TestEventListener.ListenerSettings(); + listenerSettings.Keywords = LoggingEventSource.Keywords.FormattedMessage; + listenerSettings.FilterSpec = null; + listenerSettings.Level = EventLevel.Verbose; + testListener.EnableEvents(listenerSettings); + + LogStuff(factory); + + var containsNullEventName = false; + + foreach (var eventJson in testListener.Events) + { + if (eventJson.Contains(@"""__EVENT_NAME"":""FormattedMessage""") && eventJson.Contains(@"""EventName"":"""",")) + { + containsNullEventName = true; + } + } + + Assert.True(containsNullEventName, "EventName is supposed to be null but it isn't."); + } + } + + [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"); -- 2.7.4