33
44namespace Ydb . Sdk . Ado . Tests ;
55
6- [ Collection ( "PoolManagerTests" ) ]
7- [ CollectionDefinition ( "PoolManagerTests" , DisableParallelization = true ) ]
6+ [ Collection ( "DisableParallelization" ) ]
87public class PoolManagerTests
98{
109 [ Theory ]
@@ -25,6 +24,17 @@ public class PoolManagerTests
2524 "MinSessionSize=1;ConnectTimeout=8" , "MinSessionSize=1;ConnectTimeout=9"
2625 } , 5 , 5 ) ] // 5 transport, 5 five pools
2726 [ InlineData ( new [ ] { "MinSessionSize=1" } , 1 , 1 ) ] // simple case
27+ [ InlineData ( new [ ]
28+ {
29+ "MinSessionSize=1" , "MinSessionSize=1" , "MinSessionSize=1" , "MinSessionSize=1" , "MinSessionSize=1" ,
30+ "MinSessionSize=1" , "MinSessionSize=1" , "MinSessionSize=1" , "MinSessionSize=1" , "MinSessionSize=1" ,
31+ "MinSessionSize=1" , "MinSessionSize=1" , "MinSessionSize=1" , "MinSessionSize=1" , "MinSessionSize=1" ,
32+ "MinSessionSize=1" , "MinSessionSize=1" , "MinSessionSize=1" , "MinSessionSize=1" , "MinSessionSize=1" ,
33+ "MinSessionSize=2" , "MinSessionSize=2" , "MinSessionSize=2" , "MinSessionSize=2" , "MinSessionSize=2" ,
34+ "MinSessionSize=2" , "MinSessionSize=2" , "MinSessionSize=2" , "MinSessionSize=2" , "MinSessionSize=2" ,
35+ "MinSessionSize=2" , "MinSessionSize=2" , "MinSessionSize=2" , "MinSessionSize=2" , "MinSessionSize=3" ,
36+ "MinSessionSize=3" , "MinSessionSize=3" , "MinSessionSize=3" , "MinSessionSize=3" , "MinSessionSize=3"
37+ } , 1 , 3 ) ] // duplicate rows — we expect 1 transport, 3 pools, stress test
2838 public async Task PoolManager_CachingAndCleanup ( string [ ] connectionStrings , int expectedDrivers , int expectedPools )
2939 {
3040 await YdbConnection . ClearAllPools ( ) ;
@@ -35,23 +45,19 @@ public async Task PoolManager_CachingAndCleanup(string[] connectionStrings, int
3545 var connections = connectionStrings
3646 . Select ( connectionString => new YdbConnection ( connectionString ) )
3747 . ToImmutableArray ( ) ;
38- var parallelTasks = connections . Select ( connection => connection . OpenAsync ( ) ) . ToList ( ) ;
39- await Task . WhenAll ( parallelTasks ) ;
48+ await Task . WhenAll ( connections . Select ( connection => connection . OpenAsync ( ) ) ) ;
4049
4150 Assert . Equal ( expectedDrivers , PoolManager . Drivers . Count ) ;
4251 Assert . Equal ( expectedPools , PoolManager . Pools . Count ) ;
4352
4453 await ClearAllConnections ( connections ) ;
45-
46- parallelTasks = connections . Select ( connection => connection . OpenAsync ( ) ) . ToList ( ) ;
47- await Task . WhenAll ( parallelTasks ) ;
54+ await Task . WhenAll ( connections . Select ( connection => connection . OpenAsync ( ) ) ) ;
4855
4956 foreach ( var ( _, driver ) in PoolManager . Drivers )
5057 Assert . False ( driver . IsDisposed ) ;
5158
5259 Assert . Equal ( expectedDrivers , PoolManager . Drivers . Count ) ;
5360 Assert . Equal ( expectedPools , PoolManager . Pools . Count ) ;
54-
5561 await ClearAllConnections ( connections ) ;
5662 }
5763
0 commit comments