From 4b36f674c498d4749fc2c7ba0325f4d42e7ac73a Mon Sep 17 00:00:00 2001 From: Ales Justin Date: Tue, 19 Sep 2023 12:38:28 +0200 Subject: [PATCH] Add gRPC client test port as well -- no need to guess the test port, if explicity set --- .../grpc/runtime/config/GrpcClientConfiguration.java | 6 ++++++ .../io/quarkus/grpc/runtime/supports/Channels.java | 11 +++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/extensions/grpc/runtime/src/main/java/io/quarkus/grpc/runtime/config/GrpcClientConfiguration.java b/extensions/grpc/runtime/src/main/java/io/quarkus/grpc/runtime/config/GrpcClientConfiguration.java index 92b282f128a37..16f1a0540f409 100644 --- a/extensions/grpc/runtime/src/main/java/io/quarkus/grpc/runtime/config/GrpcClientConfiguration.java +++ b/extensions/grpc/runtime/src/main/java/io/quarkus/grpc/runtime/config/GrpcClientConfiguration.java @@ -46,6 +46,12 @@ public class GrpcClientConfiguration { @ConfigItem(defaultValue = "9000") public int port; + /** + * The gRPC service test port. + */ + @ConfigItem + public OptionalInt testPort; + /** * The host name / IP on which the service is exposed. */ diff --git a/extensions/grpc/runtime/src/main/java/io/quarkus/grpc/runtime/supports/Channels.java b/extensions/grpc/runtime/src/main/java/io/quarkus/grpc/runtime/supports/Channels.java index 6a6ebbd0c5214..4e66fd21023bb 100644 --- a/extensions/grpc/runtime/src/main/java/io/quarkus/grpc/runtime/supports/Channels.java +++ b/extensions/grpc/runtime/src/main/java/io/quarkus/grpc/runtime/supports/Channels.java @@ -102,16 +102,18 @@ public static Channel createChannel(String name, Set perClientIntercepto throw new IllegalStateException("gRPC client " + name + " is missing configuration."); } - if (LaunchMode.current() == LaunchMode.TEST) { - config.port = testPort(configProvider.getServerConfiguration()); - } - GrpcBuilderProvider provider = GrpcBuilderProvider.findChannelBuilderProvider(config); boolean vertxGrpc = config.useQuarkusGrpcClient; String host = config.host; + + // handle client port int port = config.port; + if (LaunchMode.current() == LaunchMode.TEST) { + port = config.testPort.orElse(testPort(configProvider.getServerConfiguration())); + } + String nameResolver = config.nameResolver; boolean stork = Stork.STORK.equalsIgnoreCase(nameResolver); @@ -316,6 +318,7 @@ public static Channel createChannel(String name, Set perClientIntercepto private static GrpcClientConfiguration testConfig(GrpcServerConfiguration serverConfiguration) { GrpcClientConfiguration config = new GrpcClientConfiguration(); config.port = serverConfiguration.testPort; + config.testPort = OptionalInt.empty(); config.host = serverConfiguration.host; config.plainText = Optional.of(serverConfiguration.plainText); config.compression = Optional.empty();