3
3
4
4
namespace Ydb . Sdk . Ado . Tests ;
5
5
6
- [ Collection ( "PoolManagerTests" ) ]
7
- [ CollectionDefinition ( "PoolManagerTests" , DisableParallelization = true ) ]
6
+ [ Collection ( "DisableParallelization" ) ]
8
7
public class PoolManagerTests
9
8
{
10
9
[ Theory ]
@@ -25,6 +24,17 @@ public class PoolManagerTests
25
24
"MinSessionSize=1;ConnectTimeout=8" , "MinSessionSize=1;ConnectTimeout=9"
26
25
} , 5 , 5 ) ] // 5 transport, 5 five pools
27
26
[ 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
28
38
public async Task PoolManager_CachingAndCleanup ( string [ ] connectionStrings , int expectedDrivers , int expectedPools )
29
39
{
30
40
await YdbConnection . ClearAllPools ( ) ;
@@ -35,23 +45,19 @@ public async Task PoolManager_CachingAndCleanup(string[] connectionStrings, int
35
45
var connections = connectionStrings
36
46
. Select ( connectionString => new YdbConnection ( connectionString ) )
37
47
. ToImmutableArray ( ) ;
38
- var parallelTasks = connections . Select ( connection => connection . OpenAsync ( ) ) . ToList ( ) ;
39
- await Task . WhenAll ( parallelTasks ) ;
48
+ await Task . WhenAll ( connections . Select ( connection => connection . OpenAsync ( ) ) ) ;
40
49
41
50
Assert . Equal ( expectedDrivers , PoolManager . Drivers . Count ) ;
42
51
Assert . Equal ( expectedPools , PoolManager . Pools . Count ) ;
43
52
44
53
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 ( ) ) ) ;
48
55
49
56
foreach ( var ( _, driver ) in PoolManager . Drivers )
50
57
Assert . False ( driver . IsDisposed ) ;
51
58
52
59
Assert . Equal ( expectedDrivers , PoolManager . Drivers . Count ) ;
53
60
Assert . Equal ( expectedPools , PoolManager . Pools . Count ) ;
54
-
55
61
await ClearAllConnections ( connections ) ;
56
62
}
57
63
0 commit comments