File tree Expand file tree Collapse file tree 1 file changed +41
-0
lines changed
test/OpenTelemetry.Instrumentation.AspNetCore.Tests Expand file tree Collapse file tree 1 file changed +41
-0
lines changed Original file line number Diff line number Diff line change @@ -553,6 +553,47 @@ void ConfigureTestServices(IServiceCollection services)
553553 Assert . Equal ( shouldEnrichBeCalled , enrichCalled ) ;
554554 }
555555
556+ #if NET7_0_OR_GREATER
557+ [ Fact ]
558+ public async Task UserRegisteredActivitySourceIsUsedForActivityCreationByAspNetCore ( )
559+ {
560+ var exportedItems = new List < Activity > ( ) ;
561+ void ConfigureTestServices ( IServiceCollection services )
562+ {
563+ services . AddOpenTelemetryTracing ( options =>
564+ {
565+ options . AddAspNetCoreInstrumentation ( )
566+ . AddInMemoryExporter ( exportedItems ) ;
567+ } ) ;
568+
569+ // Register ActivitySource here so that it will be used
570+ // by ASP.NET Core to create activities
571+ // https://github.com/dotnet/aspnetcore/blob/0e5cbf447d329a1e7d69932c3decd1c70a00fbba/src/Hosting/Hosting/src/Internal/WebHost.cs#L152
572+ services . AddSingleton ( sp => new ActivitySource ( "UserRegisteredActivitySource" ) ) ;
573+ }
574+
575+ // Arrange
576+ using ( var client = this . factory
577+ . WithWebHostBuilder ( builder =>
578+ builder . ConfigureTestServices ( ConfigureTestServices ) )
579+ . CreateClient ( ) )
580+ {
581+ // Act
582+ var response = await client . GetAsync ( "/api/values" ) ;
583+
584+ // Assert
585+ response . EnsureSuccessStatusCode ( ) ; // Status Code 200-299
586+
587+ WaitForActivityExport ( exportedItems , 1 ) ;
588+ }
589+
590+ Assert . Single ( exportedItems ) ;
591+ var activity = exportedItems [ 0 ] ;
592+
593+ Assert . Equal ( "UserRegisteredActivitySource" , activity . Source . Name ) ;
594+ }
595+ #endif
596+
556597 public void Dispose ( )
557598 {
558599 this . tracerProvider ? . Dispose ( ) ;
You can’t perform that action at this time.
0 commit comments