This is an automated email from the ASF dual-hosted git repository.
hgruszecki pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iggy.git
The following commit(s) were added to refs/heads/master by this push:
new 54c60a827 fix(test): replace log-based container readiness checks with
HTTP healthcheck endpoints (#3093)
54c60a827 is described below
commit 54c60a827fc208ed6708a6f19c39d47125cc77e7
Author: Krishna Vishal <[email protected]>
AuthorDate: Tue Apr 14 13:21:03 2026 +0530
fix(test): replace log-based container readiness checks with HTTP
healthcheck endpoints (#3093)
---
core/integration/tests/connectors/fixtures/iceberg/container.rs | 6 +++++-
core/integration/tests/connectors/fixtures/influxdb/container.rs | 9 ++++++---
core/integration/tests/connectors/fixtures/quickwit/container.rs | 8 ++++++--
3 files changed, 17 insertions(+), 6 deletions(-)
diff --git a/core/integration/tests/connectors/fixtures/iceberg/container.rs
b/core/integration/tests/connectors/fixtures/iceberg/container.rs
index 4c0f4088b..c0bcc5c13 100644
--- a/core/integration/tests/connectors/fixtures/iceberg/container.rs
+++ b/core/integration/tests/connectors/fixtures/iceberg/container.rs
@@ -67,7 +67,11 @@ impl MinioContainer {
let container = GenericImage::new(MINIO_IMAGE, MINIO_TAG)
.with_exposed_port(MINIO_PORT.tcp())
.with_exposed_port(MINIO_CONSOLE_PORT.tcp())
- .with_wait_for(WaitFor::message_on_stderr("API:"))
+ .with_wait_for(WaitFor::http(
+ HttpWaitStrategy::new("/minio/health/live")
+ .with_port(MINIO_PORT.tcp())
+ .with_expected_status_code(200u16),
+ ))
.with_network(network)
.with_container_name(container_name)
.with_env_var("MINIO_ROOT_USER", MINIO_ACCESS_KEY)
diff --git a/core/integration/tests/connectors/fixtures/influxdb/container.rs
b/core/integration/tests/connectors/fixtures/influxdb/container.rs
index 0e39650ee..e77ae7f11 100644
--- a/core/integration/tests/connectors/fixtures/influxdb/container.rs
+++ b/core/integration/tests/connectors/fixtures/influxdb/container.rs
@@ -21,6 +21,7 @@ use integration::harness::TestBinaryError;
use reqwest_middleware::ClientWithMiddleware as HttpClient;
use reqwest_retry::RetryTransientMiddleware;
use reqwest_retry::policies::ExponentialBackoff;
+use testcontainers_modules::testcontainers::core::wait::HttpWaitStrategy;
use testcontainers_modules::testcontainers::core::{IntoContainerPort, WaitFor};
use testcontainers_modules::testcontainers::runners::AsyncRunner;
use testcontainers_modules::testcontainers::{ContainerAsync, GenericImage,
ImageExt};
@@ -101,9 +102,11 @@ impl InfluxDbContainer {
let container: ContainerAsync<GenericImage> =
GenericImage::new(INFLUXDB_IMAGE, INFLUXDB_TAG)
.with_exposed_port(INFLUXDB_PORT.tcp())
- // "Listening" appears in stdout before the HTTP API is ready
on
- // aarch64/Apple Silicon; we add a real /ping probe below.
- .with_wait_for(WaitFor::message_on_stdout("Listening"))
+ .with_wait_for(WaitFor::http(
+ HttpWaitStrategy::new("/ping")
+ .with_port(INFLUXDB_PORT.tcp())
+ .with_expected_status_code(204u16),
+ ))
.with_mapped_port(0, INFLUXDB_PORT.tcp())
.with_env_var("DOCKER_INFLUXDB_INIT_MODE", "setup")
.with_env_var("DOCKER_INFLUXDB_INIT_USERNAME",
INFLUXDB_USERNAME)
diff --git a/core/integration/tests/connectors/fixtures/quickwit/container.rs
b/core/integration/tests/connectors/fixtures/quickwit/container.rs
index 5c79b9bc6..9d062937c 100644
--- a/core/integration/tests/connectors/fixtures/quickwit/container.rs
+++ b/core/integration/tests/connectors/fixtures/quickwit/container.rs
@@ -25,6 +25,7 @@ use reqwest_retry::policies::ExponentialBackoff;
use serde::Deserialize;
use std::collections::HashMap;
use std::time::Duration;
+use testcontainers_modules::testcontainers::core::wait::HttpWaitStrategy;
use testcontainers_modules::testcontainers::core::{IntoContainerPort, WaitFor};
use testcontainers_modules::testcontainers::runners::AsyncRunner;
use testcontainers_modules::testcontainers::{ContainerAsync, GenericImage,
ImageExt};
@@ -38,7 +39,6 @@ const DEFAULT_POLL_INTERVAL_MS: u64 = 50;
const QUICKWIT_IMAGE: &str = "quickwit/quickwit";
const QUICKWIT_TAG: &str = "0.8.2";
const QUICKWIT_PORT: u16 = 7280;
-const QUICKWIT_READY_MSG: &str = "REST server is ready";
const QUICKWIT_LISTEN_ADDRESS: &str = "0.0.0.0";
const ENV_PLUGIN_URL: &str = "IGGY_CONNECTORS_SINK_QUICKWIT_PLUGIN_CONFIG_URL";
@@ -69,7 +69,11 @@ impl QuickwitContainer {
let container = GenericImage::new(QUICKWIT_IMAGE, QUICKWIT_TAG)
.with_exposed_port(0.tcp())
- .with_wait_for(WaitFor::message_on_stdout(QUICKWIT_READY_MSG))
+ .with_wait_for(WaitFor::http(
+ HttpWaitStrategy::new("/health/readyz")
+ .with_port(QUICKWIT_PORT.tcp())
+ .with_expected_status_code(200u16),
+ ))
.with_network(unique_network)
.with_cmd(["run"])
.with_env_var("QW_LISTEN_ADDRESS", QUICKWIT_LISTEN_ADDRESS)