@@ -463,11 +463,13 @@ public async Task TestTraceMethodAsyncThrowException()
463
463
}
464
464
465
465
[ TestMethod ]
466
- public void TestSegmentMissingInTraceContext ( )
466
+ public void TestSegmentMissingInTraceContextUsingRuntimeError ( )
467
467
{
468
+ var recorder = new AWSXRayRecorder ( ) ;
469
+ recorder . ContextMissingStrategy = ContextMissingStrategy . RUNTIME_ERROR ;
468
470
try
469
471
{
470
- _recorder . EndSegment ( ) ;
472
+ recorder . EndSegment ( ) ;
471
473
Assert . Fail ( ) ;
472
474
}
473
475
catch ( EntityNotAvailableException )
@@ -477,7 +479,7 @@ public void TestSegmentMissingInTraceContext()
477
479
478
480
try
479
481
{
480
- _recorder . BeginSubsegment ( "test" ) ;
482
+ recorder . BeginSubsegment ( "test" ) ;
481
483
Assert . Fail ( ) ;
482
484
}
483
485
catch ( EntityNotAvailableException )
@@ -487,7 +489,7 @@ public void TestSegmentMissingInTraceContext()
487
489
488
490
try
489
491
{
490
- _recorder . EndSubsegment ( ) ;
492
+ recorder . EndSubsegment ( ) ;
491
493
Assert . Fail ( ) ;
492
494
}
493
495
catch ( EntityNotAvailableException )
@@ -496,6 +498,38 @@ public void TestSegmentMissingInTraceContext()
496
498
}
497
499
}
498
500
501
+ [ TestMethod ]
502
+ public void TestSegmentMissingInTraceContextUsingDefaultStrategy ( )
503
+ {
504
+ var recorder = new AWSXRayRecorder ( ) ;
505
+ try
506
+ {
507
+ recorder . EndSegment ( ) ;
508
+ }
509
+ catch ( EntityNotAvailableException )
510
+ {
511
+ Assert . Fail ( ) ;
512
+ }
513
+
514
+ try
515
+ {
516
+ recorder . BeginSubsegment ( "test" ) ;
517
+ }
518
+ catch ( EntityNotAvailableException )
519
+ {
520
+ Assert . Fail ( ) ;
521
+ }
522
+
523
+ try
524
+ {
525
+ recorder . EndSubsegment ( ) ;
526
+ }
527
+ catch ( EntityNotAvailableException )
528
+ {
529
+ Assert . Fail ( ) ;
530
+ }
531
+ }
532
+
499
533
[ TestMethod ]
500
534
public void TestStartSegmentWithNotSampledDecision ( )
501
535
{
@@ -848,28 +882,75 @@ public void TestSetDaemonAddress()
848
882
}
849
883
850
884
[ TestMethod ]
851
- [ ExpectedException ( typeof ( EntityNotAvailableException ) ) ]
852
885
public void TestEndSubsegmentWithSegment ( )
853
886
{
854
- _recorder . BeginSegment ( "segment" , TraceId ) ;
855
- _recorder . EndSubsegment ( ) ;
887
+ try
888
+ {
889
+ _recorder . BeginSegment ( "segment" , TraceId ) ;
890
+ _recorder . EndSubsegment ( ) ;
891
+ }
892
+ catch ( EntityNotAvailableException e )
893
+ {
894
+ Assert . Fail ( ) ;
895
+ }
856
896
}
857
897
858
898
[ TestMethod ]
859
- [ ExpectedException ( typeof ( EntityNotAvailableException ) ) ]
860
899
public void TestStartSubsegmentWithoutSegment ( )
861
900
{
862
- _recorder . BeginSubsegment ( "subsegment" ) ;
901
+ try
902
+ {
903
+ _recorder . BeginSubsegment ( "subsegment" ) ;
904
+ }
905
+ catch ( EntityNotAvailableException e )
906
+ {
907
+ Assert . Fail ( ) ;
908
+ }
909
+ }
910
+
911
+ [ TestMethod ]
912
+ public void TestEndSegmentWithSubsegment ( )
913
+ {
914
+ try
915
+ {
916
+ _recorder . BeginSegment ( "segment" , TraceId ) ;
917
+ _recorder . BeginSubsegment ( "subsegment" ) ;
918
+ _recorder . EndSegment ( ) ;
919
+ }
920
+ catch ( EntityNotAvailableException e )
921
+ {
922
+ Assert . Fail ( ) ;
923
+ }
924
+ }
925
+
926
+ [ TestMethod ]
927
+ [ ExpectedException ( typeof ( EntityNotAvailableException ) ) ]
928
+ public void TestEndSubsegmentWithSegmentUsingRuntimeError ( )
929
+ {
930
+ var recorder = new AWSXRayRecorder ( ) ;
931
+ recorder . ContextMissingStrategy = ContextMissingStrategy . RUNTIME_ERROR ;
932
+ recorder . BeginSegment ( "segment" , TraceId ) ;
933
+ recorder . EndSubsegment ( ) ;
863
934
}
864
935
865
936
[ TestMethod ]
866
937
[ ExpectedException ( typeof ( EntityNotAvailableException ) ) ]
938
+ public void TestStartSubsegmentWithoutSegmentUsingRuntimeError ( )
939
+ {
940
+ var recorder = new AWSXRayRecorder ( ) ;
941
+ recorder . ContextMissingStrategy = ContextMissingStrategy . RUNTIME_ERROR ;
942
+ recorder . BeginSubsegment ( "subsegment" ) ;
943
+ }
867
944
868
- public void TestEndSegmentWithSubsegment ( )
945
+ [ TestMethod ]
946
+ [ ExpectedException ( typeof ( EntityNotAvailableException ) ) ]
947
+ public void TestEndSegmentWithSubsegmentUsingRuntimeError ( )
869
948
{
870
- _recorder . BeginSegment ( "segment" , TraceId ) ;
871
- _recorder . BeginSubsegment ( "subsegment" ) ;
872
- _recorder . EndSegment ( ) ;
949
+ var recorder = new AWSXRayRecorder ( ) ;
950
+ recorder . ContextMissingStrategy = ContextMissingStrategy . RUNTIME_ERROR ;
951
+ recorder . BeginSegment ( "segment" , TraceId ) ;
952
+ recorder . BeginSubsegment ( "subsegment" ) ;
953
+ recorder . EndSegment ( ) ;
873
954
}
874
955
875
956
[ TestMethod ]
@@ -882,7 +963,7 @@ public void TestSuppressEntityNotAvailableException()
882
963
[ TestMethod ]
883
964
public void TestDefaultValueOfContextMissingStrategy ( )
884
965
{
885
- Assert . AreEqual ( ContextMissingStrategy . RUNTIME_ERROR , _recorder . ContextMissingStrategy ) ;
966
+ Assert . AreEqual ( ContextMissingStrategy . LOG_ERROR , _recorder . ContextMissingStrategy ) ;
886
967
}
887
968
888
969
[ TestMethod ]
@@ -911,8 +992,9 @@ public void TestLogErrorModeForContextMissingStrategy()
911
992
[ TestMethod ]
912
993
public void TestDefaultContextMissingStrategy ( )
913
994
{
995
+ // Environment.SetEnvironmentVariable(AWSXRayRecorder.EnvironmentVariableContextMissingStrategy, "log_error");
914
996
var recorder = AWSXRayRecorder . Instance ;
915
- Assert . AreEqual ( ContextMissingStrategy . RUNTIME_ERROR , recorder . ContextMissingStrategy ) ;
997
+ Assert . AreEqual ( ContextMissingStrategy . LOG_ERROR , recorder . ContextMissingStrategy ) ;
916
998
}
917
999
918
1000
[ TestMethod ]
0 commit comments