From 7b63c5d2228eea9ac898024713a2cde8a2bb8d2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edd=C3=BA=20Mel=C3=A9ndez?= Date: Thu, 19 Sep 2024 10:08:10 -0600 Subject: [PATCH] Use awaitility in Kafka module Remove usage of `Unreliables` from `duct-tape` lib. --- modules/kafka/build.gradle | 1 + .../org/testcontainers/AbstractKafka.java | 19 ++++++------------- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/modules/kafka/build.gradle b/modules/kafka/build.gradle index 554275a2037..176fe253375 100644 --- a/modules/kafka/build.gradle +++ b/modules/kafka/build.gradle @@ -6,4 +6,5 @@ dependencies { testImplementation 'org.apache.kafka:kafka-clients:3.8.0' testImplementation 'org.assertj:assertj-core:3.26.3' testImplementation 'com.google.guava:guava:23.0' + testImplementation 'org.awaitility:awaitility:4.2.0' } diff --git a/modules/kafka/src/test/java/org/testcontainers/AbstractKafka.java b/modules/kafka/src/test/java/org/testcontainers/AbstractKafka.java index f7e9dcedb30..7fc5bb3851e 100644 --- a/modules/kafka/src/test/java/org/testcontainers/AbstractKafka.java +++ b/modules/kafka/src/test/java/org/testcontainers/AbstractKafka.java @@ -14,7 +14,7 @@ import org.apache.kafka.common.config.SaslConfigs; import org.apache.kafka.common.serialization.StringDeserializer; import org.apache.kafka.common.serialization.StringSerializer; -import org.rnorth.ducttape.unreliables.Unreliables; +import org.awaitility.Awaitility; import java.time.Duration; import java.util.Collection; @@ -101,24 +101,17 @@ protected void testKafkaFunctionality(String bootstrapServers, boolean authentic producer.send(new ProducerRecord<>(topicName, "testcontainers", "rulezzz")).get(); - Unreliables.retryUntilTrue( - 10, - TimeUnit.SECONDS, - () -> { + Awaitility + .await() + .atMost(Duration.ofSeconds(10)) + .untilAsserted(() -> { ConsumerRecords records = consumer.poll(Duration.ofMillis(100)); - if (records.isEmpty()) { - return false; - } - assertThat(records) .hasSize(1) .extracting(ConsumerRecord::topic, ConsumerRecord::key, ConsumerRecord::value) .containsExactly(tuple(topicName, "testcontainers", "rulezzz")); - - return true; - } - ); + }); consumer.unsubscribe(); }