diff --git a/spring/src/test/java/io/kubernetes/client/spring/extended/controller/KubernetesReconcilerCreatorTest.java b/spring/src/test/java/io/kubernetes/client/spring/extended/controller/KubernetesReconcilerCreatorTest.java index 15f6991da3..42eb82470e 100644 --- a/spring/src/test/java/io/kubernetes/client/spring/extended/controller/KubernetesReconcilerCreatorTest.java +++ b/spring/src/test/java/io/kubernetes/client/spring/extended/controller/KubernetesReconcilerCreatorTest.java @@ -13,6 +13,7 @@ package io.kubernetes.client.spring.extended.controller; import static org.assertj.core.api.Assertions.assertThat; +import static org.awaitility.Awaitility.await; import com.github.tomakehurst.wiremock.core.WireMockConfiguration; import com.github.tomakehurst.wiremock.junit5.WireMockExtension; @@ -47,6 +48,7 @@ import io.kubernetes.client.spring.extended.controller.factory.KubernetesControllerFactory; import io.kubernetes.client.util.ClientBuilder; import java.util.LinkedList; +import java.util.concurrent.TimeUnit; import java.util.function.Function; import jakarta.annotation.Resource; import org.apache.commons.lang3.tuple.MutablePair; @@ -61,6 +63,7 @@ @SpringBootTest(classes = {KubernetesReconcilerCreatorTest.App.class}) class KubernetesReconcilerCreatorTest { + private static final long TIMEOUT_SECONDS = 10; @RegisterExtension static WireMockExtension apiServer = WireMockExtension.newInstance().options(WireMockConfiguration.options().port(8189)).build(); @@ -194,9 +197,10 @@ void simplePodController() throws InterruptedException { } }); - Thread.sleep(500); - WorkQueue workQueue = ((DefaultController) testController).getWorkQueue(); + await() + .atMost(TIMEOUT_SECONDS, TimeUnit.SECONDS) + .untilAsserted(() -> assertThat(workQueue.length()).isEqualTo(1)); assertThat(workQueue.length()).isEqualTo(1); assertThat(workQueue.get().getName()).isEqualTo("foo"); sharedInformerFactory.stopAllRegisteredInformers();