@@ -19,31 +19,19 @@ public sealed class YdbConnectionTests : TestBase
1919 [ Fact ]
2020 public async Task ClearPool_WhenHasActiveConnection_CloseActiveConnectionOnClose ( )
2121 {
22- var tasks = GenerateTasks ( ) ;
23- tasks . Add ( YdbConnection . ClearPool ( CreateConnection ( ) ) ) ;
24- tasks . AddRange ( GenerateTasks ( ) ) ;
25- await Task . WhenAll ( tasks ) ;
26- Assert . Equal ( 9900 , _counter ) ;
22+ var connectionString = ConnectionString + ";MaxSessionPool=100" ;
2723
28- tasks = GenerateTasks ( ) ;
29- tasks . Add ( YdbConnection . ClearPool ( CreateConnection ( ) ) ) ;
30- await Task . WhenAll ( tasks ) ;
31- Assert . Equal ( 14850 , _counter ) ;
32- }
33-
34- [ Fact ]
35- public async Task ClearPoolAllPools_WhenHasActiveConnection_CloseActiveConnectionOnClose ( )
36- {
37- var tasks = GenerateTasks ( ) ;
38- tasks . Add ( YdbConnection . ClearAllPools ( ) ) ;
39- tasks . AddRange ( GenerateTasks ( ) ) ;
24+ var tasks = GenerateTasks ( connectionString ) ;
25+ tasks . Add ( YdbConnection . ClearPool ( new YdbConnection ( connectionString ) ) ) ;
26+ tasks . AddRange ( GenerateTasks ( connectionString ) ) ;
4027 await Task . WhenAll ( tasks ) ;
4128 Assert . Equal ( 9900 , _counter ) ;
4229
43- tasks = GenerateTasks ( ) ;
44- tasks . Add ( YdbConnection . ClearAllPools ( ) ) ;
30+ tasks = GenerateTasks ( connectionString ) ;
31+ tasks . Add ( YdbConnection . ClearPool ( new YdbConnection ( connectionString ) ) ) ;
4532 await Task . WhenAll ( tasks ) ;
4633 Assert . Equal ( 14850 , _counter ) ;
34+ await YdbConnection . ClearPool ( new YdbConnection ( connectionString ) ) ;
4735 }
4836
4937 // docker cp ydb-local:/ydb_certs/ca.pem ~/
@@ -296,9 +284,24 @@ public async Task ExecuteReaderAsync_WhenExecutedYdbDataReaderThenCancelTokenIsC
296284 Assert . False ( await ydbDataReader . NextResultAsync ( ) ) ;
297285 }
298286
299- private List < Task > GenerateTasks ( ) => Enumerable . Range ( 0 , 100 ) . Select ( async i =>
287+ private List < Task > GenerateTasks ( string connectionString ) => Enumerable . Range ( 0 , 1000 ) . Select ( async i =>
300288 {
301- await using var connection = await CreateOpenConnectionAsync ( ) ;
289+ YdbConnection ydbConnection ;
290+ try
291+ {
292+ ydbConnection = CreateConnection ( ) ;
293+ ydbConnection . ConnectionString = connectionString ;
294+ await ydbConnection . OpenAsync ( ) ;
295+ }
296+ catch ( YdbException e )
297+ {
298+ Assert . Equal ( StatusCode . Unspecified , e . Code ) ;
299+ Assert . Equal ( "Session Source is disposed." , e . Message ) ;
300+ Interlocked . Add ( ref _counter , i ) ;
301+ return ;
302+ }
303+
304+ await using var connection = ydbConnection ;
302305 var command = connection . CreateCommand ( ) ;
303306 command . CommandText = "SELECT " + i ;
304307 var scalar = ( int ) ( await command . ExecuteScalarAsync ( ) ) ! ;
0 commit comments