diff --git a/test/OpenTelemetry.Extensions.Hosting.Tests/OpenTelemetryServicesExtensionsTests.cs b/test/OpenTelemetry.Extensions.Hosting.Tests/OpenTelemetryServicesExtensionsTests.cs index f863ceb8739..a0d1265799c 100644 --- a/test/OpenTelemetry.Extensions.Hosting.Tests/OpenTelemetryServicesExtensionsTests.cs +++ b/test/OpenTelemetry.Extensions.Hosting.Tests/OpenTelemetryServicesExtensionsTests.cs @@ -179,6 +179,30 @@ public async Task AddOpenTelemetry_WithTracing_HostConfigurationHonoredTest() host.Dispose(); } + [Fact] + public void AddOpenTelemetry_WithTracing_NestedResolutionUsingConfigureTest() + { + bool innerTestExecuted = false; + + var services = new ServiceCollection(); + + services.AddOpenTelemetry().WithTracing(builder => + { + if (builder is IDeferredTracerProviderBuilder deferredTracerProviderBuilder) + { + deferredTracerProviderBuilder.Configure((sp, builder) => + { + innerTestExecuted = true; + Assert.Throws(() => sp.GetService()); + }); + } + }); + + using var serviceProvider = services.BuildServiceProvider(); + var resolvedProvider = serviceProvider.GetRequiredService(); + Assert.True(innerTestExecuted); + } + [Fact] public void AddOpenTelemetry_WithMetrics_SingleProviderForServiceCollectionTest() { @@ -278,6 +302,30 @@ public async Task AddOpenTelemetry_WithMetrics_HostConfigurationHonoredTest() host.Dispose(); } + [Fact] + public void AddOpenTelemetry_WithMetrics_NestedResolutionUsingConfigureTest() + { + bool innerTestExecuted = false; + + var services = new ServiceCollection(); + + services.AddOpenTelemetry().WithMetrics(builder => + { + if (builder is IDeferredMeterProviderBuilder deferredMeterProviderBuilder) + { + deferredMeterProviderBuilder.Configure((sp, builder) => + { + innerTestExecuted = true; + Assert.Throws(() => sp.GetService()); + }); + } + }); + + using var serviceProvider = services.BuildServiceProvider(); + var resolvedProvider = serviceProvider.GetRequiredService(); + Assert.True(innerTestExecuted); + } + private sealed class MySampler : Sampler { public override SamplingResult ShouldSample(in SamplingParameters samplingParameters) diff --git a/test/OpenTelemetry.Tests/Metrics/MeterProviderBuilderExtensionsTests.cs b/test/OpenTelemetry.Tests/Metrics/MeterProviderBuilderExtensionsTests.cs index cbd89733f71..f4012b52d11 100644 --- a/test/OpenTelemetry.Tests/Metrics/MeterProviderBuilderExtensionsTests.cs +++ b/test/OpenTelemetry.Tests/Metrics/MeterProviderBuilderExtensionsTests.cs @@ -208,29 +208,6 @@ public void MeterProviderNestedResolutionUsingBuilderTest(bool callNestedConfigu Assert.Throws(() => provider.GetServiceProvider()?.GetService()); } - [Fact] - public void MeterProviderNestedResolutionUsingConfigureTest() - { - bool innerTestExecuted = false; - - var services = new ServiceCollection(); - - services.ConfigureOpenTelemetryMeterProvider((sp, builder) => - { - builder.ConfigureBuilder((sp, builder) => - { - innerTestExecuted = true; - Assert.Throws(() => sp.GetService()); - }); - }); - - using var serviceProvider = services.BuildServiceProvider(); - - var resolvedProvider = serviceProvider.GetRequiredService(); - - Assert.True(innerTestExecuted); - } - [Fact] public void MeterProviderAddReaderFactoryTest() { diff --git a/test/OpenTelemetry.Tests/Trace/TracerProviderBuilderExtensionsTest.cs b/test/OpenTelemetry.Tests/Trace/TracerProviderBuilderExtensionsTest.cs index 2af025734ac..8b042d488ae 100644 --- a/test/OpenTelemetry.Tests/Trace/TracerProviderBuilderExtensionsTest.cs +++ b/test/OpenTelemetry.Tests/Trace/TracerProviderBuilderExtensionsTest.cs @@ -296,29 +296,6 @@ public void TracerProviderNestedResolutionUsingBuilderTest(bool callNestedConfig Assert.Throws(() => provider.GetServiceProvider()?.GetService()); } - [Fact] - public void TracerProviderNestedResolutionUsingConfigureTest() - { - bool innerTestExecuted = false; - - var services = new ServiceCollection(); - - services.ConfigureOpenTelemetryTracerProvider((sp, builder) => - { - builder.ConfigureBuilder((sp, builder) => - { - innerTestExecuted = true; - Assert.Throws(() => sp.GetService()); - }); - }); - - using var serviceProvider = services.BuildServiceProvider(); - - var resolvedProvider = serviceProvider.GetRequiredService(); - - Assert.True(innerTestExecuted); - } - [Fact] public void TracerProviderSetSamplerFactoryTest() {