| File: Buffering\PerRequestLogBufferManagerTests.cs | Web Access |
| Project: src\test\Libraries\Microsoft.AspNetCore.Diagnostics.Middleware.Tests\Microsoft.AspNetCore.Diagnostics.Middleware.Tests.csproj (Microsoft.AspNetCore.Diagnostics.Middleware.Tests) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. #if NET9_0_OR_GREATER using System; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Diagnostics.Buffering; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Testing; using Xunit; namespace Microsoft.AspNetCore.Diagnostics.Buffering.Test; public class PerRequestLogBufferManagerTests { [Fact] public void WhenRequestServicesIsNull_GlobalBufferIsUsed() { using ServiceProvider services = new ServiceCollection() .AddLogging(builder => builder .AddFakeLogging() .AddPerIncomingRequestBuffer(LogLevel.Information)) .BuildServiceProvider(); services.GetRequiredService<IHttpContextAccessor>().HttpContext = new DefaultHttpContext(); ILogger logger = services.GetRequiredService<ILogger<PerRequestLogBufferManagerTests>>(); PerRequestLogBuffer buffer = services.GetRequiredService<PerRequestLogBuffer>(); FakeLogCollector logCollector = services.GetFakeLogCollector(); Assert.Null(Record.Exception(() => logger.LogInformation("test"))); Assert.Empty(logCollector.GetSnapshot()); Assert.Null(Record.Exception(buffer.Flush)); Assert.Equal("test", Assert.Single(logCollector.GetSnapshot()).Message); } } #endif