Beispiel #1
0
        public void When_setting_truncate_settings_body_should_respect_that_content_length()
        {
            var endsWith       = "#truncated#";
            var appendedLength = "  ".Length + endsWith.Length;

            //Arrange
            var longBody = string.Join("", "password".Select(x => "p@ssword" + x));

            var logFactory = Substitute.For <LogFactory>();
            var loggingEventDataBuilder = Substitute.For <LoggingEventDataBuilder>();
            var logger = new Logger(logFactory, loggingEventDataBuilder);


            var requestBase = CreatePostHttpRequestBaseWithFakeContext(longBody);

            var responseBase = Substitute.For <HttpResponseBase>();

            responseBase.StatusCode.Returns(201);
            responseBase.Headers.Returns(new NameValueCollection {
                { "X-Test", "value" }
            });
            responseBase.OutputStream.Returns(longBody.ToStream());

            //Act
            var fluentLoggerOptions = new FluentLoggerOptions
            {
                TruncateRequestBodyCharactersTo  = 13,
                TruncateResponseBodyCharactersTo = 21
            };

            logger.Message("Truncate testing")
            .AdvancedOptions(fluentLoggerOptions)
            .Request(requestBase)
            .Response(responseBase)
            .Write();

            var properties = GetPropertiesDictionary(loggingEventDataBuilder);

            //Assert
            var requestBody  = properties["RequestBody"].ToString();
            var responseBody = properties["ResponseBody"].ToString();

            requestBody.Should().EndWithEquivalent(endsWith);
            requestBody.Length.Should().Be(fluentLoggerOptions.TruncateRequestBodyCharactersTo + appendedLength);
            responseBody.Should().EndWithEquivalent(endsWith);
            responseBody.Length.Should().Be(fluentLoggerOptions.TruncateResponseBodyCharactersTo + appendedLength);
        }
Beispiel #2
0
 internal void Merge(FluentLoggerOptions newOptions)
 {
     TruncateRequestBodyCharactersTo  = newOptions.TruncateRequestBodyCharactersTo;
     TruncateResponseBodyCharactersTo = newOptions.TruncateResponseBodyCharactersTo;
 }