Skip to content

Commit 99f7596

Browse files
committed
Update PostgreSql tests for cancellation token support and improve port wait strategy
- Use `TestContext.Current.CancellationToken` in async operations within SSL tests. - Replace `UntilPortIsAvailable` with `UntilInternalTcpPortIsAvailable` for more accurate wait logic.
1 parent a874c75 commit 99f7596

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

tests/Testcontainers.PostgreSql.Tests/PostgreSqlSSLConfigTest.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ private async Task EnsureContainerStartedAsync()
5252
.WithPassword("testpass123")
5353
.WithSSLSettings(_caCertPath, _serverCertPath, _serverKeyPath)
5454
.WithWaitStrategy(Wait.ForUnixContainer()
55-
.UntilPortIsAvailable(PostgreSqlBuilder.PostgreSqlPort)
55+
.UntilInternalTcpPortIsAvailable(PostgreSqlBuilder.PostgreSqlPort)
5656
.UntilMessageIsLogged("database system is ready to accept connections"))
5757
.Build();
5858

@@ -107,15 +107,15 @@ public async Task PostgreSqlContainerCanConnectWithSSL()
107107

108108
// When
109109
await using var connection = new NpgsqlConnection(connectionStringBuilder.ConnectionString);
110-
await connection.OpenAsync();
110+
await connection.OpenAsync(TestContext.Current.CancellationToken);
111111

112112
// Then
113113
Assert.Equal(ConnectionState.Open, connection.State);
114114

115115
// Verify SSL is being used
116116
await using var command =
117117
new NpgsqlCommand("SELECT ssl FROM pg_stat_ssl WHERE pid = pg_backend_pid();", connection);
118-
var sslIsUsed = await command.ExecuteScalarAsync();
118+
var sslIsUsed = await command.ExecuteScalarAsync(TestContext.Current.CancellationToken);
119119
Assert.True(sslIsUsed is bool b && b, "SSL should be enabled for the connection");
120120
}
121121

@@ -134,18 +134,18 @@ public async Task PostgreSqlContainerWithSSLCanExecuteQueries()
134134

135135
// When
136136
await using var connection = new NpgsqlConnection(connectionStringBuilder.ConnectionString);
137-
await connection.OpenAsync();
137+
await connection.OpenAsync(TestContext.Current.CancellationToken);
138138

139139
await using var command =
140140
new NpgsqlCommand("CREATE TABLE test_table (id SERIAL PRIMARY KEY, name VARCHAR(100));", connection);
141-
await command.ExecuteNonQueryAsync();
141+
await command.ExecuteNonQueryAsync(TestContext.Current.CancellationToken);
142142

143143
await using var insertCommand =
144144
new NpgsqlCommand("INSERT INTO test_table (name) VALUES ('Test SSL Connection');", connection);
145-
await insertCommand.ExecuteNonQueryAsync();
145+
await insertCommand.ExecuteNonQueryAsync(TestContext.Current.CancellationToken);
146146

147147
await using var selectCommand = new NpgsqlCommand("SELECT COUNT(*) FROM test_table;", connection);
148-
var count = await selectCommand.ExecuteScalarAsync();
148+
var count = await selectCommand.ExecuteScalarAsync(TestContext.Current.CancellationToken);
149149

150150
// Then
151151
Assert.Equal(1L, count);

tests/Testcontainers.PostgreSql.Tests/PostgreSqlSslTest.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public PostgreSqlSslTest()
3838
.WithPassword("testpass123")
3939
.WithSSLSettings(_caCertPath, _serverCertPath, _serverKeyPath)
4040
.WithWaitStrategy(Wait.ForUnixContainer()
41-
.UntilPortIsAvailable(PostgreSqlBuilder.PostgreSqlPort)
41+
.UntilInternalTcpPortIsAvailable(PostgreSqlBuilder.PostgreSqlPort)
4242
.UntilMessageIsLogged("database system is ready to accept connections"))
4343
.Build();
4444
}
@@ -47,7 +47,7 @@ public PostgreSqlSslTest()
4747
public async Task PostgreSqlContainerCanConnectWithSsl()
4848
{
4949
// Given
50-
await _postgreSqlContainer.StartAsync();
50+
await _postgreSqlContainer.StartAsync(TestContext.Current.CancellationToken);
5151

5252
var connectionStringBuilder = new NpgsqlConnectionStringBuilder(_postgreSqlContainer.GetConnectionString())
5353
{
@@ -57,7 +57,7 @@ public async Task PostgreSqlContainerCanConnectWithSsl()
5757

5858
// When
5959
await using var connection = new NpgsqlConnection(connectionStringBuilder.ConnectionString);
60-
await connection.OpenAsync();
60+
await connection.OpenAsync(TestContext.Current.CancellationToken);
6161

6262
// Then
6363
Assert.Equal(ConnectionState.Open, connection.State);

0 commit comments

Comments
 (0)