コード例 #1
0
        public void Enrich_ShouldHandleNoSourceContext()
        {
            // Arrange
            var logProperties = new List <LogEventProperty>();
            var logEvent      = new LogEvent(new System.DateTimeOffset(), LogEventLevel.Information, null, new MessageTemplate(new List <MessageTemplateToken>()), logProperties);

            var subject = new ShortTypeNameEnricher();

            var propertyFactory = Substitute.For <ILogEventPropertyFactory>();

            // Act
            subject.Enrich(logEvent, propertyFactory);

            // Assert
            propertyFactory.Received(0).CreateProperty(Arg.Any <string>(), Arg.Any <object>());
        }
コード例 #2
0
        public void Enrich_ShouldHandleBrokenNameWithoutCrashing(string longName)
        {
            // Arrange
            var logProperties = new List <LogEventProperty>()
            {
                new LogEventProperty("SourceContext", new ScalarValue(longName))
            };
            var logEvent = new LogEvent(new System.DateTimeOffset(), LogEventLevel.Information, null, new MessageTemplate(new List <MessageTemplateToken>()), logProperties);

            var subject = new ShortTypeNameEnricher();

            var propertyFactory = Substitute.For <ILogEventPropertyFactory>();

            propertyFactory.CreateProperty(Arg.Is("ShortTypeName"), Arg.Any <string>()).Returns(new LogEventProperty("ShortTypeName", new ScalarValue("MyType")));

            // Act
            subject.Enrich(logEvent, propertyFactory);

            // Assert
            propertyFactory.Received(1).CreateProperty(Arg.Any <string>(), Arg.Any <object>());
        }
コード例 #3
0
        public void Enrich_ShouldShortenName(string longName)
        {
            // Arrange
            var logProperties = new List <LogEventProperty>()
            {
                new LogEventProperty("SourceContext", new ScalarValue(longName))
            };
            var logEvent = new LogEvent(new System.DateTimeOffset(), LogEventLevel.Information, null, new MessageTemplate(new List <MessageTemplateToken>()), logProperties);

            var subject = new ShortTypeNameEnricher();

            var propertyFactory = Substitute.For <ILogEventPropertyFactory>();

            propertyFactory.CreateProperty(Arg.Is("ShortTypeName"), Arg.Is("MyType")).Returns(new LogEventProperty("ShortTypeName", new ScalarValue("MyType")));

            // Act
            subject.Enrich(logEvent, propertyFactory);

            // Assert
            Assert.AreEqual("MyType", ((ScalarValue)logEvent.Properties["ShortTypeName"]).Value);
        }