From 5b061fa9f741bf66e28a3c6bbd172f914b1e23d9 Mon Sep 17 00:00:00 2001 From: Fedor Dudinskiy Date: Wed, 14 Dec 2022 14:11:20 +0100 Subject: [PATCH] Cache the uri of service This is a port of the fix[1] for occasional failures in 2.7 Interop tests [1] https://github.com/quarkus-qe/quarkus-test-framework/pull/623 --- ...hiftQuarkusApplicationManagedResource.java | 36 +++++++++++-------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/quarkus-test-openshift/src/main/java/io/quarkus/test/services/quarkus/OpenShiftQuarkusApplicationManagedResource.java b/quarkus-test-openshift/src/main/java/io/quarkus/test/services/quarkus/OpenShiftQuarkusApplicationManagedResource.java index c71cda371..a2d6f92f9 100644 --- a/quarkus-test-openshift/src/main/java/io/quarkus/test/services/quarkus/OpenShiftQuarkusApplicationManagedResource.java +++ b/quarkus-test-openshift/src/main/java/io/quarkus/test/services/quarkus/OpenShiftQuarkusApplicationManagedResource.java @@ -1,20 +1,20 @@ package io.quarkus.test.services.quarkus; -import static io.quarkus.test.utils.AwaitilityUtils.AwaitilitySettings; -import static io.quarkus.test.utils.AwaitilityUtils.untilIsNotNull; -import static io.restassured.RestAssured.given; -import static org.junit.jupiter.api.Assertions.fail; - -import java.util.List; - -import org.apache.http.HttpStatus; - import io.quarkus.test.bootstrap.OpenShiftExtensionBootstrap; import io.quarkus.test.bootstrap.Protocol; +import io.quarkus.test.bootstrap.ServiceContext; import io.quarkus.test.bootstrap.inject.OpenShiftClient; import io.quarkus.test.logging.LoggingHandler; import io.quarkus.test.logging.OpenShiftLoggingHandler; import io.quarkus.test.services.URILike; +import org.apache.http.HttpStatus; + +import java.util.List; + +import static io.quarkus.test.utils.AwaitilityUtils.AwaitilitySettings; +import static io.quarkus.test.utils.AwaitilityUtils.untilIsNotNull; +import static io.restassured.RestAssured.given; +import static org.junit.jupiter.api.Assertions.fail; public abstract class OpenShiftQuarkusApplicationManagedResource extends QuarkusManagedResource { @@ -29,6 +29,8 @@ public abstract class OpenShiftQuarkusApplicationManagedResource { - return client.url(model.getContext().getOwner()).withPort(port); - }, - AwaitilitySettings.defaults().withService(getContext().getOwner())); + if (this.uri == null) { + final int port = isServerless ? EXTERNAL_SSL_PORT : EXTERNAL_PORT; + this.uri = untilIsNotNull( + () -> client.url(context.getOwner()).withPort(port), + AwaitilitySettings.defaults().withService(getContext().getOwner())); + } + return uri; } public boolean isRunning() {