@@ -356,18 +356,34 @@ public async Task ExportsSpansCreatedForRetries()
356
356
}
357
357
358
358
[ Theory ]
359
- [ InlineData ( "CONNECT" , "CONNECT" ) ]
360
- [ InlineData ( "DELETE" , "DELETE" ) ]
361
- [ InlineData ( "GET" , "GET" ) ]
362
- [ InlineData ( "PUT" , "PUT" ) ]
363
- [ InlineData ( "HEAD" , "HEAD" ) ]
364
- [ InlineData ( "OPTIONS" , "OPTIONS" ) ]
365
- [ InlineData ( "PATCH" , "PATCH" ) ]
366
- [ InlineData ( "Get" , "GET" ) ]
367
- [ InlineData ( "POST" , "POST" ) ]
368
- [ InlineData ( "TRACE" , "TRACE" ) ]
369
- [ InlineData ( "CUSTOM" , "_OTHER" ) ]
370
- public async Task HttpRequestMethodIsSetOnActivityAsPerSpec ( string originalMethod , string expectedMethod )
359
+ [ InlineData ( "CONNECT" , "CONNECT" , null ) ]
360
+ [ InlineData ( "DELETE" , "DELETE" , null ) ]
361
+ [ InlineData ( "GET" , "GET" , null ) ]
362
+ [ InlineData ( "PUT" , "PUT" , null ) ]
363
+ [ InlineData ( "HEAD" , "HEAD" , null ) ]
364
+ [ InlineData ( "OPTIONS" , "OPTIONS" , null ) ]
365
+ [ InlineData ( "PATCH" , "PATCH" , null ) ]
366
+ [ InlineData ( "POST" , "POST" , null ) ]
367
+ [ InlineData ( "TRACE" , "TRACE" , null ) ]
368
+ [ InlineData ( "Delete" , "DELETE" , "Delete" ) ]
369
+ #if NETFRAMEWORK
370
+ [ InlineData ( "Connect" , "CONNECT" , null ) ] // HTTP Client converts Connect to its canonical form (Connect). Expected original method is null.
371
+ [ InlineData ( "Get" , "GET" , null ) ] // HTTP Client converts Get to its canonical form (GET). Expected original method is null.
372
+ [ InlineData ( "Put" , "PUT" , null ) ] // HTTP Client converts Put to its canonical form (PUT). Expected original method is null.
373
+ [ InlineData ( "Head" , "HEAD" , null ) ] // HTTP Client converts Head to its canonical form (HEAD). Expected original method is null.
374
+ [ InlineData ( "Post" , "POST" , null ) ] // HTTP Client converts Post to its canonical form (POST). Expected original method is null.
375
+ #else
376
+ [ InlineData ( "Connect" , "CONNECT" , "Connect" ) ]
377
+ [ InlineData ( "Get" , "GET" , "Get" ) ]
378
+ [ InlineData ( "Put" , "PUT" , "Put" ) ]
379
+ [ InlineData ( "Head" , "HEAD" , "Head" ) ]
380
+ [ InlineData ( "Post" , "POST" , "Post" ) ]
381
+ #endif
382
+ [ InlineData ( "Options" , "OPTIONS" , "Options" ) ]
383
+ [ InlineData ( "Patch" , "PATCH" , "Patch" ) ]
384
+ [ InlineData ( "Trace" , "TRACE" , "Trace" ) ]
385
+ [ InlineData ( "CUSTOM" , "_OTHER" , "CUSTOM" ) ]
386
+ public async Task HttpRequestMethodIsSetOnActivityAsPerSpec ( string originalMethod , string expectedMethod , string expectedOriginalMethod )
371
387
{
372
388
var exportedItems = new List < Activity > ( ) ;
373
389
using var request = new HttpRequestMessage
@@ -396,20 +412,17 @@ public async Task HttpRequestMethodIsSetOnActivityAsPerSpec(string originalMetho
396
412
397
413
var activity = exportedItems [ 0 ] ;
398
414
399
- Assert . Contains ( activity . TagObjects , t => t . Key == SemanticConventions . AttributeHttpRequestMethod ) ;
400
-
401
415
if ( originalMethod . Equals ( expectedMethod , StringComparison . OrdinalIgnoreCase ) )
402
416
{
403
417
Assert . Equal ( expectedMethod , activity . DisplayName ) ;
404
- Assert . DoesNotContain ( activity . TagObjects , t => t . Key == SemanticConventions . AttributeHttpRequestMethodOriginal ) ;
405
418
}
406
419
else
407
420
{
408
421
Assert . Equal ( "HTTP" , activity . DisplayName ) ;
409
- Assert . Equal ( originalMethod , activity . GetTagValue ( SemanticConventions . AttributeHttpRequestMethodOriginal ) as string ) ;
410
422
}
411
423
412
- Assert . Equal ( expectedMethod , activity . GetTagValue ( SemanticConventions . AttributeHttpRequestMethod ) as string ) ;
424
+ Assert . Equal ( expectedMethod , activity . GetTagValue ( SemanticConventions . AttributeHttpRequestMethod ) ) ;
425
+ Assert . Equal ( expectedOriginalMethod , activity . GetTagValue ( SemanticConventions . AttributeHttpRequestMethodOriginal ) ) ;
413
426
}
414
427
415
428
[ Theory ]
@@ -423,6 +436,7 @@ public async Task HttpRequestMethodIsSetOnActivityAsPerSpec(string originalMetho
423
436
[ InlineData ( "Get" , "GET" ) ]
424
437
[ InlineData ( "POST" , "POST" ) ]
425
438
[ InlineData ( "TRACE" , "TRACE" ) ]
439
+ [ InlineData ( "Trace" , "TRACE" ) ]
426
440
[ InlineData ( "CUSTOM" , "_OTHER" ) ]
427
441
public async Task HttpRequestMethodIsSetonRequestDurationMetricAsPerSpec ( string originalMethod , string expectedMethod )
428
442
{
0 commit comments