@@ -21,7 +21,7 @@ public ObservabilityTests(ITestOutputHelper output)
21
21
[ Fact ]
22
22
public void It_creates_activity_spans_for_parsing ( )
23
23
{
24
- List < Activity > activities = SetupListener ( ) ;
24
+ var ( listener , activities ) = SetupListener ( ) ;
25
25
26
26
var command = new Command ( "the-command" )
27
27
{
@@ -31,7 +31,7 @@ public void It_creates_activity_spans_for_parsing()
31
31
var args = new [ ] { "--option" , "the-argument" } ;
32
32
33
33
var result = command . Parse ( args ) ;
34
-
34
+ listener . Dispose ( ) ;
35
35
activities
36
36
. Should ( )
37
37
. ContainSingle (
@@ -43,7 +43,7 @@ public void It_creates_activity_spans_for_parsing()
43
43
[ Fact ]
44
44
public void It_creates_activity_spans_for_parsing_errors ( )
45
45
{
46
- List < Activity > activities = SetupListener ( ) ;
46
+ var ( listener , activities ) = SetupListener ( ) ;
47
47
48
48
var command = new Command ( "the-command" )
49
49
{
@@ -52,7 +52,7 @@ public void It_creates_activity_spans_for_parsing_errors()
52
52
53
53
var args = new [ ] { "--opt" , "the-argument" } ;
54
54
var result = command . Parse ( args ) ;
55
-
55
+ listener . Dispose ( ) ;
56
56
activities
57
57
. Should ( )
58
58
. ContainSingle (
@@ -65,12 +65,14 @@ public void It_creates_activity_spans_for_parsing_errors()
65
65
[ Fact ]
66
66
public async Task It_creates_activity_spans_for_invocations ( )
67
67
{
68
- List < Activity > activities = SetupListener ( ) ;
68
+ var ( listener , activities ) = SetupListener ( ) ;
69
69
70
70
var command = new Command ( "the-command" ) ;
71
71
command . SetAction ( async ( pr , ctok ) => await Task . FromResult ( 0 ) ) ;
72
72
73
73
var result = await command . Parse ( Array . Empty < string > ( ) ) . InvokeAsync ( ) ;
74
+ listener . Dispose ( ) ;
75
+
74
76
activities
75
77
. Should ( )
76
78
. ContainSingle (
@@ -85,7 +87,7 @@ public async Task It_creates_activity_spans_for_invocations()
85
87
[ Fact ]
86
88
public async Task It_creates_activity_spans_for_invocation_errors ( )
87
89
{
88
- List < Activity > activities = SetupListener ( ) ;
90
+ var ( listener , activities ) = SetupListener ( ) ;
89
91
90
92
var command = new Command ( "the-command" ) ;
91
93
#pragma warning disable CS1998 // Async method lacks 'await' operators and will run synchronously
@@ -96,10 +98,13 @@ public async Task It_creates_activity_spans_for_invocation_errors()
96
98
#pragma warning restore CS1998 // Async method lacks 'await' operators and will run synchronously
97
99
98
100
var result = await command . Parse ( Array . Empty < string > ( ) ) . InvokeAsync ( ) ;
101
+ listener . Dispose ( ) ;
102
+
99
103
foreach ( var x in activities )
100
104
{
101
105
log . WriteLine ( $ "{ x . DisplayName } ({ x . OperationName } )/{ x . Status } ({ x . Duration } ) - { x . TagObjects } - { string . Join ( "," , x . Events . Select ( ( k ) => $ "{ k . Name } ,{ k . Tags } ") ) } ") ;
102
106
}
107
+
103
108
activities
104
109
. Should ( )
105
110
. ContainSingle (
@@ -112,15 +117,15 @@ public async Task It_creates_activity_spans_for_invocation_errors()
112
117
&& a . Events . Any ( t => t . Name == "exception" ) ) ;
113
118
}
114
119
115
- private static List < Activity > SetupListener ( )
120
+ private static ( ActivityListener , List < Activity > ) SetupListener ( )
116
121
{
117
122
List < Activity > activities = new ( ) ;
118
123
var listener = new ActivityListener ( ) ;
119
124
listener . ShouldListenTo = s => true ;
120
125
listener . Sample = ( ref ActivityCreationOptions < ActivityContext > options ) => ActivitySamplingResult . AllData ;
121
126
listener . ActivityStopped = a => activities . Add ( a ) ;
122
127
ActivitySource . AddActivityListener ( listener ) ;
123
- return activities ;
128
+ return new ( listener , activities ) ;
124
129
}
125
130
}
126
131
}
0 commit comments