From 3f99424d93722020a52f55fa8ef80b16d1bbb9da Mon Sep 17 00:00:00 2001 From: abilan Date: Wed, 22 Feb 2023 14:16:16 -0500 Subject: [PATCH] Fix connection race condition in MQTT test It looks like `isConnected` flag in the MQTT Client is reset when we already have subscribed --- .../mqtt/ResubscribeAfterAutomaticReconnectTests.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spring-integration-mqtt/src/test/java/org/springframework/integration/mqtt/ResubscribeAfterAutomaticReconnectTests.java b/spring-integration-mqtt/src/test/java/org/springframework/integration/mqtt/ResubscribeAfterAutomaticReconnectTests.java index 2a337327b8..e6a21ff609 100644 --- a/spring-integration-mqtt/src/test/java/org/springframework/integration/mqtt/ResubscribeAfterAutomaticReconnectTests.java +++ b/spring-integration-mqtt/src/test/java/org/springframework/integration/mqtt/ResubscribeAfterAutomaticReconnectTests.java @@ -40,6 +40,7 @@ import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; +import static org.awaitility.Awaitility.await; /** * @author Artem Bilan @@ -81,7 +82,7 @@ public class ResubscribeAfterAutomaticReconnectTests implements MosquittoContain assertThat(this.config.subscribeSecondLatch.await(10, TimeUnit.SECONDS)).isTrue(); - this.mqttOutFlowInput.send(testMessage); + await().untilAsserted(() -> this.mqttOutFlowInput.send(testMessage)); assertThat(this.fromMqttChannel.receive(10_000)).isNotNull(); // Re-subscription on channel adapter restart with cleanStart