Skip to content

Commit c4b49de

Browse files
fix test
1 parent 1c302b0 commit c4b49de

File tree

3 files changed

+29
-35
lines changed

3 files changed

+29
-35
lines changed

src/Ydb.Sdk/src/Ado/YdbConnectionStringBuilder.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -454,10 +454,10 @@ static YdbConnectionOption()
454454
(builder, password) => builder.Password = password), "Password", "PWD", "PSW");
455455
AddOption(new YdbConnectionOption<int>(IntExtractor, (builder, maxSessionPool) =>
456456
builder.MaxSessionPool = maxSessionPool), "MaxSessionPool", "Max Session Pool", "Maximum Pool Size",
457-
"MaximumPoolSize", "Max Pool Size", "MaxPoolSize");
457+
"MaximumPoolSize", "Max Pool Size", "MaxPoolSize", "MaxSessionSize", "Max Session Size");
458458
AddOption(new YdbConnectionOption<int>(IntExtractor, (builder, minSessionSize) =>
459459
builder.MinSessionPool = minSessionSize), "MinSessionPool", "Min Session Pool", "Minimum Pool Size",
460-
"MinimumPoolSize", "Min Pool Size", "MinPoolSize");
460+
"MinimumPoolSize", "Min Pool Size", "MinPoolSize", "MinSessionSize", "Min Session Size");
461461
AddOption(new YdbConnectionOption<bool>(BoolExtractor, (builder, useTls) => builder.UseTls = useTls),
462462
"UseTls", "Use Tls");
463463
AddOption(new YdbConnectionOption<string>(StringExtractor,

src/Ydb.Sdk/test/Ydb.Sdk.Ado.Tests/TestBase.cs

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,9 @@ protected static YdbConnection CreateOpenConnection()
2020

2121
protected static async Task<YdbConnection> CreateOpenConnectionAsync()
2222
{
23-
try
24-
{
25-
var connection = CreateConnection();
26-
await connection.OpenAsync();
27-
return connection;
28-
}
29-
catch (YdbException e) when (e is { Code: StatusCode.Unspecified, Message: "Session Source is disposed." })
30-
{
31-
var connection = CreateConnection();
32-
await connection.OpenAsync();
33-
return connection;
34-
}
23+
var connection = CreateConnection();
24+
await connection.OpenAsync();
25+
return connection;
3526
}
3627

3728
public async Task InitializeAsync() => await OnInitializeAsync().ConfigureAwait(false);

src/Ydb.Sdk/test/Ydb.Sdk.Ado.Tests/YdbConnectionTests.cs

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)