@@ -19,23 +19,19 @@ public sealed class YdbConnectionTests : TestBase
1919 [ Fact ]
2020 public async Task ClearPool_WhenHasActiveConnection_CloseActiveConnectionOnClose ( )
2121 {
22- for ( var i = 0 ; i < 10 ; i ++ )
23- {
24- var connectionString = ConnectionString + ";MaxSessionPool=100" ;
25-
26- var tasks = GenerateTasks ( connectionString ) ;
27- tasks . Add ( YdbConnection . ClearPool ( new YdbConnection ( connectionString ) ) ) ;
28- tasks . AddRange ( GenerateTasks ( connectionString ) ) ;
29- await Task . WhenAll ( tasks ) ;
30- Assert . Equal ( 999000 , _counter ) ;
31-
32- tasks = GenerateTasks ( connectionString ) ;
33- tasks . Add ( YdbConnection . ClearPool ( new YdbConnection ( connectionString ) ) ) ;
34- await Task . WhenAll ( tasks ) ;
35- Assert . Equal ( 1498500 , _counter ) ;
36- await YdbConnection . ClearPool ( new YdbConnection ( connectionString ) ) ;
37- _counter = 0 ;
38- }
22+ var connectionString = ConnectionString + ";MaxSessionPool=100" ;
23+
24+ var tasks = GenerateTasks ( connectionString ) ;
25+ tasks . Add ( YdbConnection . ClearPool ( new YdbConnection ( connectionString ) ) ) ;
26+ tasks . AddRange ( GenerateTasks ( connectionString ) ) ;
27+ await Task . WhenAll ( tasks ) ;
28+ Assert . Equal ( 9900 , _counter ) ;
29+
30+ tasks = GenerateTasks ( connectionString ) ;
31+ tasks . Add ( YdbConnection . ClearPool ( new YdbConnection ( connectionString ) ) ) ;
32+ await Task . WhenAll ( tasks ) ;
33+ Assert . Equal ( 14850 , _counter ) ;
34+ await YdbConnection . ClearPool ( new YdbConnection ( connectionString ) ) ;
3935 }
4036
4137 // docker cp ydb-local:/ydb_certs/ca.pem ~/
@@ -192,19 +188,18 @@ INSERT INTO {tableName}
192188 [ Fact ]
193189 public async Task DisableDiscovery_WhenPropertyIsTrue_SimpleWorking ( )
194190 {
195- var connection = CreateConnection ( ) ;
191+ await using var connection = CreateConnection ( ) ;
196192 connection . ConnectionString += ";DisableDiscovery=true" ;
197193 await connection . OpenAsync ( ) ;
198194 Assert . True ( ( bool ) ( await new YdbCommand ( connection ) { CommandText = "SELECT TRUE;" } . ExecuteScalarAsync ( ) ) ! ) ;
199- await connection . CloseAsync ( ) ;
200195 await YdbConnection . ClearPool ( connection ) ;
201196 }
202197
203198 [ Fact ]
204199 public async Task OpenAsync_WhenCancelTokenIsCanceled_ThrowYdbException ( )
205200 {
206201 await using var connection = CreateConnection ( ) ;
207- connection . ConnectionString = ConnectionString ;
202+ connection . ConnectionString = ConnectionString + ";MinSessionPool=1" ;
208203 using var cts = new CancellationTokenSource ( ) ;
209204 cts . Cancel ( ) ;
210205 Assert . Equal ( "The connection pool has been exhausted, either raise 'MaxSessionPool' (currently 10) " +
@@ -298,8 +293,10 @@ private List<Task> GenerateTasks(string connectionString) => Enumerable.Range(0,
298293 ydbConnection . ConnectionString = connectionString ;
299294 await ydbConnection . OpenAsync ( ) ;
300295 }
301- catch ( YdbException )
296+ catch ( YdbException e )
302297 {
298+ Assert . Equal ( StatusCode . Unspecified , e . Code ) ;
299+ Assert . Equal ( "Session Source is disposed." , e . Message ) ;
303300 Interlocked . Add ( ref _counter , i ) ;
304301 return ;
305302 }
0 commit comments