11using System . Collections . Immutable ;
22using Xunit ;
3+ using Xunit . Abstractions ;
34
45namespace Ydb . Sdk . Ado . Tests ;
56
@@ -25,6 +26,17 @@ public class PoolManagerTests
2526 "MinSessionSize=1;ConnectTimeout=8" , "MinSessionSize=1;ConnectTimeout=9"
2627 } , 5 , 5 ) ] // 5 transport, 5 five pools
2728 [ InlineData ( new [ ] { "MinSessionSize=1" } , 1 , 1 ) ] // simple case
29+ [ InlineData ( new [ ]
30+ {
31+ "MinSessionSize=1" , "MinSessionSize=1" , "MinSessionSize=1" , "MinSessionSize=1" , "MinSessionSize=1" ,
32+ "MinSessionSize=1" , "MinSessionSize=1" , "MinSessionSize=1" , "MinSessionSize=1" , "MinSessionSize=1" ,
33+ "MinSessionSize=1" , "MinSessionSize=1" , "MinSessionSize=1" , "MinSessionSize=1" , "MinSessionSize=1" ,
34+ "MinSessionSize=1" , "MinSessionSize=1" , "MinSessionSize=1" , "MinSessionSize=1" , "MinSessionSize=1" ,
35+ "MinSessionSize=2" , "MinSessionSize=2" , "MinSessionSize=2" , "MinSessionSize=2" , "MinSessionSize=2" ,
36+ "MinSessionSize=2" , "MinSessionSize=2" , "MinSessionSize=2" , "MinSessionSize=2" , "MinSessionSize=2" ,
37+ "MinSessionSize=2" , "MinSessionSize=2" , "MinSessionSize=2" , "MinSessionSize=2" , "MinSessionSize=3" ,
38+ "MinSessionSize=3" , "MinSessionSize=3" , "MinSessionSize=3" , "MinSessionSize=3" , "MinSessionSize=3"
39+ } , 1 , 3 ) ] // duplicate rows — we expect 1 transport, 3 pools, stress test
2840 public async Task PoolManager_CachingAndCleanup ( string [ ] connectionStrings , int expectedDrivers , int expectedPools )
2941 {
3042 await YdbConnection . ClearAllPools ( ) ;
@@ -35,23 +47,19 @@ public async Task PoolManager_CachingAndCleanup(string[] connectionStrings, int
3547 var connections = connectionStrings
3648 . Select ( connectionString => new YdbConnection ( connectionString ) )
3749 . ToImmutableArray ( ) ;
38- var parallelTasks = connections . Select ( connection => connection . OpenAsync ( ) ) . ToList ( ) ;
39- await Task . WhenAll ( parallelTasks ) ;
50+ await Task . WhenAll ( connections . Select ( connection => connection . OpenAsync ( ) ) ) ;
4051
4152 Assert . Equal ( expectedDrivers , PoolManager . Drivers . Count ) ;
4253 Assert . Equal ( expectedPools , PoolManager . Pools . Count ) ;
4354
4455 await ClearAllConnections ( connections ) ;
45-
46- parallelTasks = connections . Select ( connection => connection . OpenAsync ( ) ) . ToList ( ) ;
47- await Task . WhenAll ( parallelTasks ) ;
56+ await Task . WhenAll ( connections . Select ( connection => connection . OpenAsync ( ) ) ) ;
4857
4958 foreach ( var ( _, driver ) in PoolManager . Drivers )
5059 Assert . False ( driver . IsDisposed ) ;
5160
5261 Assert . Equal ( expectedDrivers , PoolManager . Drivers . Count ) ;
5362 Assert . Equal ( expectedPools , PoolManager . Pools . Count ) ;
54-
5563 await ClearAllConnections ( connections ) ;
5664 }
5765
0 commit comments