From bef0beb6294a8287e9ad15684a8597a3e28ee6e6 Mon Sep 17 00:00:00 2001 From: Clement Escoffier Date: Thu, 17 Nov 2022 15:30:01 +0100 Subject: [PATCH] Add tests verifying the fix for https://github.com/quarkusio/quarkus/issues/9987. --- .../quarkus/grpc/client/BlockingStubInjectionTest.java | 8 ++++++++ .../io/quarkus/grpc/client/ChannelInjectionTest.java | 9 +++++++++ .../grpc/client/ClientWithoutConfigInjectionTest.java | 7 +++++++ .../io/quarkus/grpc/client/deadline/HelloService.java | 5 +++++ .../interceptors/GlobalAndServiceInterceptorsTest.java | 10 ++++++++++ .../server/interceptors/MyInterceptedGreeting.java | 6 ++++++ .../interceptors/ServerInterceptorProducerTest.java | 5 +++++ .../server/services/BlockingMutinyHelloService.java | 6 ++++++ .../io/quarkus/grpc/server/services/HelloService.java | 5 +++++ .../grpc/server/services/MutinyHelloService.java | 5 +++++ .../grpc/deployment/src/test/proto/helloworld.proto | 2 ++ .../grpc/deployment/src/test/proto/helloworld3.proto | 3 +++ 12 files changed, 71 insertions(+) diff --git a/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/client/BlockingStubInjectionTest.java b/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/client/BlockingStubInjectionTest.java index 322b3b9bc39e4..a2e0938f68152 100644 --- a/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/client/BlockingStubInjectionTest.java +++ b/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/client/BlockingStubInjectionTest.java @@ -36,6 +36,9 @@ public class BlockingStubInjectionTest { public void test() { String neo = service.invoke("neo"); assertThat(neo).isEqualTo("Hello neo"); + + neo = service.invokeWeird("neo"); + assertThat(neo).isEqualTo("Hello neo"); } @ApplicationScoped @@ -49,5 +52,10 @@ public String invoke(String s) { .getMessage(); } + public String invokeWeird(String s) { + return service.wEIRD(HelloRequest.newBuilder().setName(s).build()) + .getMessage(); + } + } } diff --git a/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/client/ChannelInjectionTest.java b/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/client/ChannelInjectionTest.java index 8bc3739e01296..98b485108193d 100644 --- a/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/client/ChannelInjectionTest.java +++ b/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/client/ChannelInjectionTest.java @@ -37,6 +37,9 @@ public class ChannelInjectionTest { public void test() { String neo = service.invoke("neo-channel"); assertThat(neo).isEqualTo("Hello neo-channel"); + + neo = service.invokeWeird("neo-weird"); + assertThat(neo).isEqualTo("Hello neo-weird"); } @ApplicationScoped @@ -51,5 +54,11 @@ public String invoke(String s) { .getMessage(); } + public String invokeWeird(String s) { + return GreeterGrpc.newBlockingStub(channel) + .wEIRD(HelloRequest.newBuilder().setName(s).build()) + .getMessage(); + } + } } diff --git a/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/client/ClientWithoutConfigInjectionTest.java b/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/client/ClientWithoutConfigInjectionTest.java index b8efadff75d67..d18a2d6f8496c 100644 --- a/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/client/ClientWithoutConfigInjectionTest.java +++ b/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/client/ClientWithoutConfigInjectionTest.java @@ -41,6 +41,9 @@ public class ClientWithoutConfigInjectionTest { public void testHelloWithBlockingClient() { HelloReply reply = client.sayHello(HelloRequest.newBuilder().setName("neo").build()); assertThat(reply.getMessage()).isEqualTo("Hello neo"); + + reply = client.wEIRD(HelloRequest.newBuilder().setName("neo").build()); + assertThat(reply.getMessage()).isEqualTo("Hello neo"); } @Test @@ -48,5 +51,9 @@ public void testHelloWithMutinyClient() { Uni reply = mutinyClient .sayHello(HelloRequest.newBuilder().setName("neo").build()); assertThat(reply.await().atMost(TIMEOUT).getMessage()).isEqualTo("Hello neo"); + + reply = mutinyClient + .wEIRD(HelloRequest.newBuilder().setName("neo").build()); + assertThat(reply.await().atMost(TIMEOUT).getMessage()).isEqualTo("Hello neo"); } } diff --git a/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/client/deadline/HelloService.java b/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/client/deadline/HelloService.java index aad73883b059b..2d2f018cbcf18 100644 --- a/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/client/deadline/HelloService.java +++ b/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/client/deadline/HelloService.java @@ -17,4 +17,9 @@ public Uni sayHello(HelloRequest request) { .by(Duration.ofMillis(400)); } + @Override + public Uni wEIRD(HelloRequest request) { + return sayHello(request); + } + } diff --git a/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/server/interceptors/GlobalAndServiceInterceptorsTest.java b/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/server/interceptors/GlobalAndServiceInterceptorsTest.java index af0ded2c31333..111dde25faf40 100644 --- a/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/server/interceptors/GlobalAndServiceInterceptorsTest.java +++ b/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/server/interceptors/GlobalAndServiceInterceptorsTest.java @@ -107,6 +107,11 @@ public static class ServiceA implements Greeter { public Uni sayHello(HelloRequest request) { return Uni.createFrom().item(HelloReply.newBuilder().setMessage("Hello, " + request.getName()).build()); } + + @Override + public Uni wEIRD(HelloRequest request) { + return sayHello(request); + } } @GrpcService @@ -117,6 +122,11 @@ public static class ServiceB implements Greeter3 { public Uni sayHello(HelloRequest3 request) { return Uni.createFrom().item(HelloReply3.newBuilder().setMessage("Hello3, " + request.getName()).build()); } + + @Override + public Uni wEIRD(HelloRequest3 request) { + return sayHello(request); + } } @io.quarkus.grpc.GlobalInterceptor diff --git a/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/server/interceptors/MyInterceptedGreeting.java b/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/server/interceptors/MyInterceptedGreeting.java index 1929da8abd640..9e5055ee0d9df 100644 --- a/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/server/interceptors/MyInterceptedGreeting.java +++ b/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/server/interceptors/MyInterceptedGreeting.java @@ -15,4 +15,10 @@ public Uni sayHello(HelloRequest request) { return Uni.createFrom().item(() -> HelloReply.newBuilder() .setMessage("hello " + MyFirstInterceptor.KEY_1.get() + " - " + MyFirstInterceptor.KEY_2.get()).build()); } + + @Override + @Blocking + public Uni wEIRD(HelloRequest request) { + return sayHello(request); + } } diff --git a/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/server/interceptors/ServerInterceptorProducerTest.java b/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/server/interceptors/ServerInterceptorProducerTest.java index 1878a18987c3d..01d0d0a129177 100644 --- a/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/server/interceptors/ServerInterceptorProducerTest.java +++ b/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/server/interceptors/ServerInterceptorProducerTest.java @@ -77,6 +77,11 @@ public static class MyService implements Greeter { public Uni sayHello(HelloRequest request) { return Uni.createFrom().item(HelloReply.newBuilder().setMessage("Hello, " + request.getName()).build()); } + + @Override + public Uni wEIRD(HelloRequest request) { + return sayHello(request); + } } @Singleton diff --git a/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/server/services/BlockingMutinyHelloService.java b/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/server/services/BlockingMutinyHelloService.java index 122ad4f5aff36..03132730abda3 100644 --- a/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/server/services/BlockingMutinyHelloService.java +++ b/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/server/services/BlockingMutinyHelloService.java @@ -18,4 +18,10 @@ public Uni sayHello(HelloRequest request) { .map(s -> Thread.currentThread().getName() + " " + s) .map(s -> HelloReply.newBuilder().setMessage(s).build()); } + + @Override + @Blocking + public Uni wEIRD(HelloRequest request) { + return sayHello(request); + } } diff --git a/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/server/services/HelloService.java b/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/server/services/HelloService.java index 42b4fab4fa9c1..d61da595e52f3 100644 --- a/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/server/services/HelloService.java +++ b/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/server/services/HelloService.java @@ -14,4 +14,9 @@ public void sayHello(HelloRequest request, StreamObserver responseOb responseObserver.onNext(HelloReply.newBuilder().setMessage("Hello " + request.getName()).build()); responseObserver.onCompleted(); } + + @Override + public void wEIRD(HelloRequest request, StreamObserver responseObserver) { + sayHello(request, responseObserver); + } } diff --git a/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/server/services/MutinyHelloService.java b/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/server/services/MutinyHelloService.java index 5959f5ba2d4ba..fcd1b19ae93f0 100644 --- a/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/server/services/MutinyHelloService.java +++ b/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/server/services/MutinyHelloService.java @@ -15,4 +15,9 @@ public Uni sayHello(HelloRequest request) { .map(s -> "Hello " + s) .map(s -> HelloReply.newBuilder().setMessage(s).build()); } + + @Override + public Uni wEIRD(HelloRequest request) { + return sayHello(request); + } } diff --git a/extensions/grpc/deployment/src/test/proto/helloworld.proto b/extensions/grpc/deployment/src/test/proto/helloworld.proto index fe9dd59955f1b..f9be6776e1c2d 100644 --- a/extensions/grpc/deployment/src/test/proto/helloworld.proto +++ b/extensions/grpc/deployment/src/test/proto/helloworld.proto @@ -11,6 +11,8 @@ package helloworld; service Greeter { // Sends a greeting rpc SayHello (HelloRequest) returns (HelloReply) {} + rpc WEI_RD (HelloRequest) returns (HelloReply) {} + } // The request message containing the user's name. diff --git a/extensions/grpc/deployment/src/test/proto/helloworld3.proto b/extensions/grpc/deployment/src/test/proto/helloworld3.proto index 9a5827fb3c090..8e059142d5fc7 100644 --- a/extensions/grpc/deployment/src/test/proto/helloworld3.proto +++ b/extensions/grpc/deployment/src/test/proto/helloworld3.proto @@ -11,6 +11,9 @@ package helloworld; service Greeter3 { // Sends a greeting rpc SayHello (HelloRequest3) returns (HelloReply3) {} + + rpc WEI_RD (HelloRequest3) returns (HelloReply3) {} + } // The request message containing the user's name.