From ae37ad49e776240593b7fe0baa9af41475838e93 Mon Sep 17 00:00:00 2001
From: Shir Avneri <48449580+ShirAvneri@users.noreply.github.com>
Date: Mon, 4 Dec 2023 19:57:40 +0200
Subject: [PATCH] chore: Replace custom wait strategy with default strategies
(#1059)
---
src/Testcontainers.K3s/K3sBuilder.cs | 15 +--------------
src/Testcontainers.Oracle/OracleBuilder.cs | 15 +--------------
src/Testcontainers.RabbitMq/RabbitMqBuilder.cs | 15 +--------------
src/Testcontainers.RavenDb/RavenDbBuilder.cs | 15 +--------------
src/Testcontainers.Redis/RedisBuilder.cs | 17 +----------------
src/Testcontainers.SqlEdge/SqlEdgeBuilder.cs | 15 +--------------
6 files changed, 6 insertions(+), 86 deletions(-)
diff --git a/src/Testcontainers.K3s/K3sBuilder.cs b/src/Testcontainers.K3s/K3sBuilder.cs
index d2c549d61..abe3ea8b0 100644
--- a/src/Testcontainers.K3s/K3sBuilder.cs
+++ b/src/Testcontainers.K3s/K3sBuilder.cs
@@ -52,7 +52,7 @@ protected override K3sBuilder Init()
.WithTmpfsMount("/var/run")
.WithCommand("server", "--disable=traefik")
.WithCreateParameterModifier(parameterModifier => parameterModifier.HostConfig.CgroupnsMode = "host")
- .WithWaitStrategy(Wait.ForUnixContainer().AddCustomWaitStrategy(new WaitUntil()));
+ .WithWaitStrategy(Wait.ForUnixContainer().UntilMessageIsLogged("Node controller sync successful"));
}
///
@@ -72,17 +72,4 @@ protected override K3sBuilder Merge(K3sConfiguration oldValue, K3sConfiguration
{
return new K3sBuilder(new K3sConfiguration(oldValue, newValue));
}
-
- ///
- private sealed class WaitUntil : IWaitUntil
- {
- ///
- public async Task UntilAsync(IContainer container)
- {
- var (_, stderr) = await container.GetLogsAsync(timestampsEnabled: false)
- .ConfigureAwait(false);
-
- return stderr.Contains("Node controller sync successful");
- }
- }
}
\ No newline at end of file
diff --git a/src/Testcontainers.Oracle/OracleBuilder.cs b/src/Testcontainers.Oracle/OracleBuilder.cs
index 986f18573..584bad01b 100644
--- a/src/Testcontainers.Oracle/OracleBuilder.cs
+++ b/src/Testcontainers.Oracle/OracleBuilder.cs
@@ -75,7 +75,7 @@ protected override OracleBuilder Init()
.WithDatabase(DefaultDatabase)
.WithUsername(DefaultUsername)
.WithPassword(DefaultPassword)
- .WithWaitStrategy(Wait.ForUnixContainer().AddCustomWaitStrategy(new WaitUntil()));
+ .WithWaitStrategy(Wait.ForUnixContainer().UntilMessageIsLogged("DATABASE IS READY TO USE!"));
}
///
@@ -118,17 +118,4 @@ private OracleBuilder WithDatabase(string database)
{
return Merge(DockerResourceConfiguration, new OracleConfiguration(database: database));
}
-
- ///
- private sealed class WaitUntil : IWaitUntil
- {
- ///
- public async Task UntilAsync(IContainer container)
- {
- var (stdout, _) = await container.GetLogsAsync(timestampsEnabled: false)
- .ConfigureAwait(false);
-
- return stdout.Contains("DATABASE IS READY TO USE!");
- }
- }
}
\ No newline at end of file
diff --git a/src/Testcontainers.RabbitMq/RabbitMqBuilder.cs b/src/Testcontainers.RabbitMq/RabbitMqBuilder.cs
index 156366070..6ea51ddfb 100644
--- a/src/Testcontainers.RabbitMq/RabbitMqBuilder.cs
+++ b/src/Testcontainers.RabbitMq/RabbitMqBuilder.cs
@@ -71,7 +71,7 @@ protected override RabbitMqBuilder Init()
.WithPortBinding(RabbitMqPort, true)
.WithUsername(DefaultUsername)
.WithPassword(DefaultPassword)
- .WithWaitStrategy(Wait.ForUnixContainer().AddCustomWaitStrategy(new WaitUntil()));
+ .WithWaitStrategy(Wait.ForUnixContainer().UntilMessageIsLogged("Server startup complete"));
}
///
@@ -105,17 +105,4 @@ protected override RabbitMqBuilder Merge(RabbitMqConfiguration oldValue, RabbitM
{
return new RabbitMqBuilder(new RabbitMqConfiguration(oldValue, newValue));
}
-
- ///
- private sealed class WaitUntil : IWaitUntil
- {
- ///
- public async Task UntilAsync(IContainer container)
- {
- var (stdout, _) = await container.GetLogsAsync(timestampsEnabled: false)
- .ConfigureAwait(false);
-
- return stdout.Contains("Server startup complete");
- }
- }
}
\ No newline at end of file
diff --git a/src/Testcontainers.RavenDb/RavenDbBuilder.cs b/src/Testcontainers.RavenDb/RavenDbBuilder.cs
index ae8df6193..4c5dfbf98 100644
--- a/src/Testcontainers.RavenDb/RavenDbBuilder.cs
+++ b/src/Testcontainers.RavenDb/RavenDbBuilder.cs
@@ -43,7 +43,7 @@ protected override RavenDbBuilder Init()
return base.Init()
.WithImage(RavenDbImage)
.WithPortBinding(RavenDbPort, true)
- .WithWaitStrategy(Wait.ForUnixContainer().AddCustomWaitStrategy(new WaitUntil()));
+ .WithWaitStrategy(Wait.ForUnixContainer().UntilMessageIsLogged("Server started"));
}
///
@@ -63,17 +63,4 @@ protected override RavenDbBuilder Merge(RavenDbConfiguration oldValue, RavenDbCo
{
return new RavenDbBuilder(new RavenDbConfiguration(oldValue, newValue));
}
-
- ///
- private sealed class WaitUntil : IWaitUntil
- {
- ///
- public async Task UntilAsync(IContainer container)
- {
- var (stdout, _) = await container.GetLogsAsync(timestampsEnabled: false)
- .ConfigureAwait(false);
-
- return stdout.Contains("Server started");
- }
- }
}
\ No newline at end of file
diff --git a/src/Testcontainers.Redis/RedisBuilder.cs b/src/Testcontainers.Redis/RedisBuilder.cs
index 76b24afe7..41d56b6c1 100644
--- a/src/Testcontainers.Redis/RedisBuilder.cs
+++ b/src/Testcontainers.Redis/RedisBuilder.cs
@@ -43,7 +43,7 @@ protected override RedisBuilder Init()
return base.Init()
.WithImage(RedisImage)
.WithPortBinding(RedisPort, true)
- .WithWaitStrategy(Wait.ForUnixContainer().AddCustomWaitStrategy(new WaitUntil()));
+ .WithWaitStrategy(Wait.ForUnixContainer().UntilCommandIsCompleted("redis-cli", "ping"));
}
///
@@ -63,19 +63,4 @@ protected override RedisBuilder Merge(RedisConfiguration oldValue, RedisConfigur
{
return new RedisBuilder(new RedisConfiguration(oldValue, newValue));
}
-
- ///
- private sealed class WaitUntil : IWaitUntil
- {
- private readonly string[] _command = { "redis-cli", "ping" };
-
- ///
- public async Task UntilAsync(IContainer container)
- {
- var execResult = await container.ExecAsync(_command)
- .ConfigureAwait(false);
-
- return 0L.Equals(execResult.ExitCode);
- }
- }
}
\ No newline at end of file
diff --git a/src/Testcontainers.SqlEdge/SqlEdgeBuilder.cs b/src/Testcontainers.SqlEdge/SqlEdgeBuilder.cs
index cb4521ba0..01bacc4e1 100644
--- a/src/Testcontainers.SqlEdge/SqlEdgeBuilder.cs
+++ b/src/Testcontainers.SqlEdge/SqlEdgeBuilder.cs
@@ -64,7 +64,7 @@ protected override SqlEdgeBuilder Init()
.WithDatabase(DefaultDatabase)
.WithUsername(DefaultUsername)
.WithPassword(DefaultPassword)
- .WithWaitStrategy(Wait.ForUnixContainer().AddCustomWaitStrategy(new WaitUntil()));
+ .WithWaitStrategy(Wait.ForUnixContainer().UntilMessageIsLogged("Recovery is complete."));
}
///
@@ -120,17 +120,4 @@ private SqlEdgeBuilder WithUsername(string username)
{
return Merge(DockerResourceConfiguration, new SqlEdgeConfiguration(username: username));
}
-
- ///
- private sealed class WaitUntil : IWaitUntil
- {
- ///
- public async Task UntilAsync(IContainer container)
- {
- var (stdout, _) = await container.GetLogsAsync(timestampsEnabled: false)
- .ConfigureAwait(false);
-
- return stdout.Contains("Recovery is complete.");
- }
- }
}
\ No newline at end of file