Skip to content

Commit e7e813f

Browse files
author
Vishwesh Bankwar
committed
unit tests
1 parent b766a8b commit e7e813f

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

test/OpenTelemetry.Instrumentation.AspNetCore.Tests/BasicTests.cs

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff 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();

0 commit comments

Comments
 (0)