File tree Expand file tree Collapse file tree 1 file changed +23
-0
lines changed
projects/Test/Integration Expand file tree Collapse file tree 1 file changed +23
-0
lines changed Original file line number Diff line number Diff line change @@ -162,6 +162,29 @@ public async Task TestShutdownSignalPropagationToChannels()
162
162
await WaitAsync ( tcs , TimeSpan . FromSeconds ( 3 ) , "channel shutdown" ) ;
163
163
}
164
164
165
+ [ Fact ]
166
+ public async Task TestShutdownCancellation ( )
167
+ {
168
+ using var cts = new CancellationTokenSource ( TimeSpan . FromSeconds ( 1 ) ) ;
169
+ var tcs = new TaskCompletionSource < bool > ( TaskCreationOptions . RunContinuationsAsynchronously ) ;
170
+
171
+ _conn . ConnectionShutdownAsync += async ( channel , args ) =>
172
+ {
173
+ try
174
+ {
175
+ await Task . Delay ( TimeSpan . FromMinutes ( 1 ) , args . CancellationToken ) ;
176
+ }
177
+ catch ( OperationCanceledException )
178
+ {
179
+ tcs . SetResult ( true ) ;
180
+ }
181
+ } ;
182
+
183
+ await _conn . CloseAsync ( cancellationToken : cts . Token ) ;
184
+
185
+ await WaitAsync ( tcs , TimeSpan . FromSeconds ( 3 ) , "connection shutdown" ) ;
186
+ }
187
+
165
188
[ Fact ]
166
189
public async Task TestShutdownSignalPropagationWithCancellationToChannels ( )
167
190
{
You can’t perform that action at this time.
0 commit comments