@@ -682,8 +682,10 @@ public async Task InvokeAsync_InstrumenterOpenTelemetry_SavesScope()
682682 }
683683 }
684684
685- [ Fact ]
686- public async Task InvokeAsync_RequestContainsSentryHeaders_ContinuesTrace ( )
685+ [ Theory ]
686+ [ InlineData ( "Sentry-Trace" , "4b4d2878507b43d3af7dd8c4ab7a96d9-3cc6fd1337d243de" , "4b4d2878507b43d3af7dd8c4ab7a96d9" ) ]
687+ [ InlineData ( "traceparent" , "00-4b4d2878507b43d3af7dd8c4ab7a96d8-3cc6fd1337d243de-00" , "4b4d2878507b43d3af7dd8c4ab7a96d8" ) ]
688+ public async Task InvokeAsync_RequestContainsSentryHeaders_ContinuesTrace ( string headerName , string headerValue , string expectedTraceId )
687689 {
688690 SentryTraceHeader capturedTraceHeader = null ;
689691 BaggageHeader capturedBaggageHeader = null ;
@@ -698,7 +700,7 @@ public async Task InvokeAsync_RequestContainsSentryHeaders_ContinuesTrace()
698700 var request = Substitute . For < HttpRequest > ( ) ;
699701 var fakeHeaders = new HeaderDictionary
700702 {
701- { "Sentry-Trace" , "4b4d2878507b43d3af7dd8c4ab7a96d9-3cc6fd1337d243de" } ,
703+ { headerName , headerValue } ,
702704 { "Baggage" , "sentry-trace_id=4b4d2878507b43d3af7dd8c4ab7a96d9, sentry-public_key=eb18e953812b41c3aeb042e666fd3b5c" } ,
703705 } ;
704706 _ = request . Headers . Returns ( fakeHeaders ) ;
@@ -710,19 +712,21 @@ public async Task InvokeAsync_RequestContainsSentryHeaders_ContinuesTrace()
710712 _fixture . Hub . Received ( ) . ContinueTrace ( Arg . Any < SentryTraceHeader > ( ) , Arg . Any < BaggageHeader > ( ) ) ;
711713
712714 Assert . NotNull ( capturedTraceHeader ) ;
713- Assert . Equal ( "4b4d2878507b43d3af7dd8c4ab7a96d9" , capturedTraceHeader . TraceId . ToString ( ) ) ;
715+ Assert . Equal ( expectedTraceId , capturedTraceHeader . TraceId . ToString ( ) ) ;
714716 Assert . NotNull ( capturedBaggageHeader ) ;
715717 Assert . Equal ( "sentry-trace_id=4b4d2878507b43d3af7dd8c4ab7a96d9, sentry-public_key=eb18e953812b41c3aeb042e666fd3b5c" , capturedBaggageHeader . ToString ( ) ) ;
716718 }
717719
718- [ Fact ]
719- public async Task InvokeAsync_RequestContainsSentryHeaders_AddsHeadersAndTransactionContextToItems ( )
720+ [ Theory ]
721+ [ InlineData ( "Sentry-Trace" , "4b4d2878507b43d3af7dd8c4ab7a96d9-3cc6fd1337d243de" , "4b4d2878507b43d3af7dd8c4ab7a96d9" ) ]
722+ [ InlineData ( "traceparent" , "00-4b4d2878507b43d3af7dd8c4ab7a96d8-3cc6fd1337d243de-00" , "4b4d2878507b43d3af7dd8c4ab7a96d8" ) ]
723+ public async Task InvokeAsync_RequestContainsSentryHeaders_AddsHeadersAndTransactionContextToItems ( string headerName , string headerValue , string expectedTraceId )
720724 {
721725 var sut = _fixture . GetSut ( ) ;
722726 var request = Substitute . For < HttpRequest > ( ) ;
723727 var fakeHeaders = new HeaderDictionary
724728 {
725- { "Sentry-Trace" , "4b4d2878507b43d3af7dd8c4ab7a96d9-3cc6fd1337d243de" } ,
729+ { headerName , headerValue } ,
726730 { "Baggage" , "sentry-trace_id=4b4d2878507b43d3af7dd8c4ab7a96d9, sentry-public_key=eb18e953812b41c3aeb042e666fd3b5c" } ,
727731 } ;
728732 var contextItems = new Dictionary < object , object > ( ) ;
@@ -741,22 +745,24 @@ public async Task InvokeAsync_RequestContainsSentryHeaders_AddsHeadersAndTransac
741745
742746 var traceHeader = contextItems [ SentryMiddleware . TraceHeaderItemKey ] as SentryTraceHeader ;
743747 Assert . NotNull ( traceHeader ) ;
744- Assert . Equal ( "4b4d2878507b43d3af7dd8c4ab7a96d9" , traceHeader . TraceId . ToString ( ) ) ;
748+ Assert . Equal ( expectedTraceId , traceHeader . TraceId . ToString ( ) ) ;
745749 var baggageHeader = contextItems [ SentryMiddleware . BaggageHeaderItemKey ] as BaggageHeader ;
746750 Assert . NotNull ( baggageHeader ) ;
747751 Assert . Equal ( "sentry-trace_id=4b4d2878507b43d3af7dd8c4ab7a96d9, sentry-public_key=eb18e953812b41c3aeb042e666fd3b5c" , baggageHeader . ToString ( ) ) ;
748752 var transactionContext = contextItems [ SentryMiddleware . BaggageHeaderItemKey ] as BaggageHeader ;
749753 Assert . NotNull ( transactionContext ) ;
750754 }
751755
752- [ Fact ]
753- public async Task InvokeAsync_InvokingWithTheSameContextTwice_DoesNotThrow ( )
756+ [ Theory ]
757+ [ InlineData ( "Sentry-Trace" , "4b4d2878507b43d3af7dd8c4ab7a96d9-3cc6fd1337d243de" ) ]
758+ [ InlineData ( "traceparent" , "00-4b4d2878507b43d3af7dd8c4ab7a96d8-3cc6fd1337d243de-01" ) ]
759+ public async Task InvokeAsync_InvokingWithTheSameContextTwice_DoesNotThrow ( string headerName , string headerValue )
754760 {
755761 var sut = _fixture . GetSut ( ) ;
756762 var request = Substitute . For < HttpRequest > ( ) ;
757763 var fakeHeaders = new HeaderDictionary
758764 {
759- { "Sentry-Trace" , "4b4d2878507b43d3af7dd8c4ab7a96d9-3cc6fd1337d243de" } ,
765+ { headerName , headerValue } ,
760766 { "Baggage" , "sentry-trace_id=4b4d2878507b43d3af7dd8c4ab7a96d9, sentry-public_key=eb18e953812b41c3aeb042e666fd3b5c" } ,
761767 } ;
762768 var contextItems = new Dictionary < object , object > ( ) ;
0 commit comments