From cde2456ccff6bbbda812bce0d0b8124ff764e4e7 Mon Sep 17 00:00:00 2001 From: Allan Targino <13934447+allantargino@users.noreply.github.com> Date: Tue, 17 Aug 2021 14:31:09 -0300 Subject: [PATCH] Missing test for ScopeDisposed in DI tracing event fix #56313 --- .../DependencyInjectionEventSourceTests.cs | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/libraries/Microsoft.Extensions.DependencyInjection/tests/DI.Tests/DependencyInjectionEventSourceTests.cs b/src/libraries/Microsoft.Extensions.DependencyInjection/tests/DI.Tests/DependencyInjectionEventSourceTests.cs index 11d8ae91570ecc..edc1f1be681dac 100644 --- a/src/libraries/Microsoft.Extensions.DependencyInjection/tests/DI.Tests/DependencyInjectionEventSourceTests.cs +++ b/src/libraries/Microsoft.Extensions.DependencyInjection/tests/DI.Tests/DependencyInjectionEventSourceTests.cs @@ -215,6 +215,26 @@ public void EmitsDynamicMethodBuiltEvent() Assert.Equal(4, expressionTreeGeneratedEvent.EventId); } + [Fact] + public void EmitsScopeDisposedEvent() + { + var serviceCollection = new ServiceCollection(); + serviceCollection.AddScoped(); + + var serviceProvider = serviceCollection.BuildServiceProvider(); + + using (var scope = serviceProvider.CreateScope()) + { + scope.ServiceProvider.GetService(); + } + + var scopeDisposedEvent = _listener.EventData.Single(e => e.EventName == "ScopeDisposed"); + + Assert.Equal(1, GetProperty(scopeDisposedEvent, "scopedServicesResolved")); + Assert.Equal(1, GetProperty(scopeDisposedEvent, "disposableServices")); + Assert.Equal(5, scopeDisposedEvent.EventId); + } + [Fact] public void EmitsServiceRealizationFailedEvent() {