11// Copyright (c) Microsoft Corporation.
22// Licensed under the MIT License.
33
4+ using System . Collections ;
5+ using System . Collections . Concurrent ;
46using System . Diagnostics ;
57using FluentAssertions ;
68using Microsoft . DurableTask . Client ;
@@ -16,7 +18,7 @@ public TracingIntegrationTests(ITestOutputHelper output, GrpcSidecarFixture side
1618 {
1719 }
1820
19- static ActivityListener CreateListener ( string [ ] sources , ICollection < Activity > activities )
21+ static ActivityListener CreateListener ( string [ ] sources , ConcurrentBag < Activity > activities )
2022 {
2123 ActivityListener listener = new ( ) ;
2224
@@ -39,7 +41,7 @@ static ActivityListener CreateListener(string[] sources, ICollection<Activity> a
3941 [ Fact ]
4042 public async Task MultiTaskOrchestration ( )
4143 {
42- var activities = new List < Activity > ( ) ;
44+ var activities = new ConcurrentBag < Activity > ( ) ;
4345
4446 using var listener = CreateListener ( ActivitySourceNames , activities ) ;
4547
@@ -70,6 +72,9 @@ public async Task MultiTaskOrchestration()
7072 OrchestrationMetadata metadata = await server . Client . WaitForInstanceCompletionAsync ( instanceId , getInputsAndOutputs : true , this . TimeoutToken ) ;
7173 }
7274
75+ await server . DisposeAsync ( ) ;
76+ listener . Dispose ( ) ;
77+
7378 var testActivity = activities . Single ( a => a . Source == TestActivitySource && a . OperationName == "Test" ) ;
7479 var createActivity = activities . Single ( a => a . Source . Name == CoreActivitySourceName && a . OperationName == $ "create_orchestration:{ orchestratorName } ") ;
7580
@@ -148,7 +153,7 @@ public async Task MultiTaskOrchestration()
148153 [ Fact ]
149154 public async Task TaskOrchestrationWithActivityFailure ( )
150155 {
151- var activities = new List < Activity > ( ) ;
156+ var activities = new ConcurrentBag < Activity > ( ) ;
152157
153158 using var listener = CreateListener ( ActivitySourceNames , activities ) ;
154159
@@ -178,6 +183,9 @@ public async Task TaskOrchestrationWithActivityFailure()
178183 OrchestrationMetadata metadata = await server . Client . WaitForInstanceCompletionAsync ( instanceId , getInputsAndOutputs : true , this . TimeoutToken ) ;
179184 }
180185
186+ await server . DisposeAsync ( ) ;
187+ listener . Dispose ( ) ;
188+
181189 var testActivity = activities . Single ( a => a . Source == TestActivitySource && a . OperationName == "Test" ) ;
182190 var createActivity = activities . Single ( a => a . Source . Name == CoreActivitySourceName && a . OperationName == $ "create_orchestration:{ orchestratorName } ") ;
183191
@@ -248,7 +256,7 @@ public async Task TaskOrchestrationWithActivityFailure()
248256 [ Fact ]
249257 public async Task TaskWithSuborchestration ( )
250258 {
251- var activities = new List < Activity > ( ) ;
259+ var activities = new ConcurrentBag < Activity > ( ) ;
252260
253261 using var listener = CreateListener ( ActivitySourceNames , activities ) ;
254262
@@ -287,6 +295,9 @@ public async Task TaskWithSuborchestration()
287295 OrchestrationMetadata metadata = await server . Client . WaitForInstanceCompletionAsync ( instanceId , getInputsAndOutputs : true , this . TimeoutToken ) ;
288296 }
289297
298+ await server . DisposeAsync ( ) ;
299+ listener . Dispose ( ) ;
300+
290301 var testActivity = activities . Single ( a => a . Source == TestActivitySource && a . OperationName == "Test" ) ;
291302 var createActivity = activities . Single ( a => a . Source . Name == CoreActivitySourceName && a . OperationName == $ "create_orchestration:{ orchestratorName } ") ;
292303
@@ -356,7 +367,7 @@ public async Task TaskWithSuborchestration()
356367 [ Fact ]
357368 public async Task TaskWithSuborchestrationFailure ( )
358369 {
359- var activities = new List < Activity > ( ) ;
370+ var activities = new ConcurrentBag < Activity > ( ) ;
360371
361372 using var listener = CreateListener ( ActivitySourceNames , activities ) ;
362373
@@ -395,6 +406,9 @@ public async Task TaskWithSuborchestrationFailure()
395406 OrchestrationMetadata metadata = await server . Client . WaitForInstanceCompletionAsync ( instanceId , getInputsAndOutputs : true , this . TimeoutToken ) ;
396407 }
397408
409+ await server . DisposeAsync ( ) ;
410+ listener . Dispose ( ) ;
411+
398412 var testActivity = activities . Single ( a => a . Source == TestActivitySource && a . OperationName == "Test" ) ;
399413 var createActivity = activities . Single ( a => a . Source . Name == CoreActivitySourceName && a . OperationName == $ "create_orchestration:{ orchestratorName } ") ;
400414
@@ -467,7 +481,7 @@ public async Task TaskWithSuborchestrationFailure()
467481 [ Fact ]
468482 public async Task TaskOrchestrationWithSentEvent ( )
469483 {
470- var activities = new List < Activity > ( ) ;
484+ var activities = new ConcurrentBag < Activity > ( ) ;
471485
472486 using var listener = CreateListener ( ActivitySourceNames , activities ) ;
473487
@@ -499,6 +513,9 @@ public async Task TaskOrchestrationWithSentEvent()
499513 OrchestrationMetadata metadata = await server . Client . WaitForInstanceCompletionAsync ( instanceId , getInputsAndOutputs : true , this . TimeoutToken ) ;
500514 }
501515
516+ await server . DisposeAsync ( ) ;
517+ listener . Dispose ( ) ;
518+
502519 var testActivity = activities . Single ( a => a . Source == TestActivitySource && a . OperationName == "Test" ) ;
503520 var createActivity = activities . Single ( a => a . Source . Name == CoreActivitySourceName && a . OperationName == $ "create_orchestration:{ orchestratorName } ") ;
504521
@@ -547,7 +564,7 @@ public async Task TaskOrchestrationWithSentEvent()
547564 [ Fact ]
548565 public async Task TaskOrchestrationWithTimer ( )
549566 {
550- var activities = new List < Activity > ( ) ;
567+ var activities = new ConcurrentBag < Activity > ( ) ;
551568
552569 using var listener = CreateListener ( ActivitySourceNames , activities ) ;
553570
@@ -581,6 +598,9 @@ public async Task TaskOrchestrationWithTimer()
581598 OrchestrationMetadata metadata = await server . Client . WaitForInstanceCompletionAsync ( instanceId , getInputsAndOutputs : true , this . TimeoutToken ) ;
582599 }
583600
601+ await server . DisposeAsync ( ) ;
602+ listener . Dispose ( ) ;
603+
584604 fireAt . Should ( ) . NotBe ( default ) ;
585605
586606 var testActivity = activities . Single ( a => a . Source == TestActivitySource && a . OperationName == "Test" ) ;
@@ -632,7 +652,7 @@ public async Task TaskOrchestrationWithTimer()
632652 [ Fact ]
633653 public async Task ClientRaiseEvent ( )
634654 {
635- var activities = new List < Activity > ( ) ;
655+ var activities = new ConcurrentBag < Activity > ( ) ;
636656
637657 using var listener = CreateListener ( ActivitySourceNames , activities ) ;
638658
@@ -664,6 +684,9 @@ await server.Client.WaitForInstanceCompletionAsync(instanceId, getInputsAndOutpu
664684 this . TimeoutToken ) ;
665685 }
666686
687+ await server . DisposeAsync ( ) ;
688+ listener . Dispose ( ) ;
689+
667690 var testActivity = activities . Single ( a => a . Source == TestActivitySource && a . OperationName == "Test" ) ;
668691
669692 var raiseEventActivity = activities . Single ( a =>
0 commit comments