You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ja...@apache.org on 2022/08/08 10:34:50 UTC

[camel] branch main updated: camel-grpc: Verify the result of CountDownLatch.await in tests

This is an automated email from the ASF dual-hosted git repository.

jamesnetherton pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new 69da9c0315e camel-grpc: Verify the result of CountDownLatch.await in tests
69da9c0315e is described below

commit 69da9c0315e6874e5441cf3cd1d74eede5f15813
Author: James Netherton <ja...@gmail.com>
AuthorDate: Mon Aug 8 11:34:38 2022 +0100

    camel-grpc: Verify the result of CountDownLatch.await in tests
---
 .../grpc/GrpcConsumerAggregationTest.java          |  9 +++---
 .../component/grpc/GrpcConsumerConcurrentTest.java |  9 +++---
 .../component/grpc/GrpcConsumerExceptionTest.java  |  7 ++--
 .../grpc/GrpcConsumerPropagationTest.java          |  7 ++--
 .../component/grpc/GrpcConsumerSecurityTest.java   |  7 ++--
 .../grpc/GrpcConsumerServerInterceptorTest.java    | 37 ++--------------------
 .../component/grpc/GrpcProducerAsyncTest.java      | 14 ++++----
 .../grpc/RouteControlledStreamObserverTest.java    |  8 ++---
 8 files changed, 34 insertions(+), 64 deletions(-)

diff --git a/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/GrpcConsumerAggregationTest.java b/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/GrpcConsumerAggregationTest.java
index e822d1076f6..8f430fbc8ef 100644
--- a/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/GrpcConsumerAggregationTest.java
+++ b/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/GrpcConsumerAggregationTest.java
@@ -35,6 +35,7 @@ import org.slf4j.LoggerFactory;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class GrpcConsumerAggregationTest extends CamelTestSupport {
 
@@ -107,7 +108,7 @@ public class GrpcConsumerAggregationTest extends CamelTestSupport {
         PongResponseStreamObserver responseObserver = new PongResponseStreamObserver(latch);
 
         nonBlockingStub.pingSyncSync(pingRequest, responseObserver);
-        latch.await(5, TimeUnit.SECONDS);
+        assertTrue(latch.await(5, TimeUnit.SECONDS));
 
         PongResponse pongResponse = responseObserver.getPongResponse();
 
@@ -125,7 +126,7 @@ public class GrpcConsumerAggregationTest extends CamelTestSupport {
         PongResponseStreamObserver responseObserver = new PongResponseStreamObserver(latch);
 
         nonBlockingStub.pingSyncAsync(pingRequest, responseObserver);
-        latch.await(5, TimeUnit.SECONDS);
+        assertTrue(latch.await(5, TimeUnit.SECONDS));
 
         PongResponse pongResponse = responseObserver.getPongResponse();
 
@@ -146,7 +147,7 @@ public class GrpcConsumerAggregationTest extends CamelTestSupport {
         requestObserver.onNext(pingRequest);
         requestObserver.onNext(pingRequest);
         requestObserver.onCompleted();
-        latch.await(5, TimeUnit.SECONDS);
+        assertTrue(latch.await(5, TimeUnit.SECONDS));
 
         PongResponse pongResponse = responseObserver.getPongResponse();
 
@@ -167,7 +168,7 @@ public class GrpcConsumerAggregationTest extends CamelTestSupport {
         requestObserver.onNext(pingRequest);
         requestObserver.onNext(pingRequest);
         requestObserver.onCompleted();
-        latch.await(5, TimeUnit.SECONDS);
+        assertTrue(latch.await(5, TimeUnit.SECONDS));
 
         PongResponse pongResponse = responseObserver.getPongResponse();
 
diff --git a/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/GrpcConsumerConcurrentTest.java b/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/GrpcConsumerConcurrentTest.java
index 47d989b7063..87a34a50f24 100644
--- a/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/GrpcConsumerConcurrentTest.java
+++ b/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/GrpcConsumerConcurrentTest.java
@@ -37,6 +37,7 @@ import org.slf4j.LoggerFactory;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class GrpcConsumerConcurrentTest extends CamelTestSupport {
     private static final Logger LOG = LoggerFactory.getLogger(GrpcConsumerConcurrentTest.class);
@@ -79,7 +80,7 @@ public class GrpcConsumerConcurrentTest extends CamelTestSupport {
                 requestObserver.onNext(pingRequest);
                 requestObserver.onCompleted();
                 try {
-                    latch.await(5, TimeUnit.SECONDS);
+                    assertTrue(latch.await(5, TimeUnit.SECONDS));
                 } catch (InterruptedException e) {
                     LOG.debug("Unhandled exception (probably safe to ignore): {}", e.getMessage(), e);
                 }
@@ -120,7 +121,7 @@ public class GrpcConsumerConcurrentTest extends CamelTestSupport {
                 requestObserver.onNext(pingRequest);
                 requestObserver.onCompleted();
                 try {
-                    latch.await(5, TimeUnit.SECONDS);
+                    assertTrue(latch.await(5, TimeUnit.SECONDS));
                 } catch (InterruptedException e) {
                     LOG.debug("Interrupted while waiting for the response", e);
                 }
@@ -184,14 +185,14 @@ public class GrpcConsumerConcurrentTest extends CamelTestSupport {
         }
     }
 
-    public class GrpcMessageBuilder {
+    static class GrpcMessageBuilder {
         public PongResponse buildAsyncPongResponse(List<PingRequest> pingRequests) {
             return PongResponse.newBuilder().setPongName(pingRequests.get(0).getPingName() + GRPC_TEST_PONG_VALUE)
                     .setPongId(pingRequests.get(0).getPingId()).build();
         }
     }
 
-    public class HeaderExchangeProcessor implements Processor {
+    static class HeaderExchangeProcessor implements Processor {
 
         @Override
         @SuppressWarnings("unchecked")
diff --git a/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/GrpcConsumerExceptionTest.java b/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/GrpcConsumerExceptionTest.java
index d5cdd0ac31b..21675227e50 100644
--- a/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/GrpcConsumerExceptionTest.java
+++ b/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/GrpcConsumerExceptionTest.java
@@ -36,6 +36,7 @@ import org.slf4j.LoggerFactory;
 import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class GrpcConsumerExceptionTest extends CamelTestSupport {
 
@@ -74,7 +75,7 @@ public class GrpcConsumerExceptionTest extends CamelTestSupport {
     @Test
     public void testExchangeExceptionHandling() {
         LOG.info("gRPC exchange exception handling test start");
-        assertDoesNotThrow(() -> runExchangeExceptionHandlingTest());
+        assertDoesNotThrow(this::runExchangeExceptionHandlingTest);
     }
 
     private void runExchangeExceptionHandlingTest() throws InterruptedException {
@@ -84,7 +85,7 @@ public class GrpcConsumerExceptionTest extends CamelTestSupport {
         PongResponseStreamObserver responseObserver = new PongResponseStreamObserver(latch);
 
         nonBlockingStub.pingSyncSync(pingRequest, responseObserver);
-        latch.await(5, TimeUnit.SECONDS);
+        assertTrue(latch.await(5, TimeUnit.SECONDS));
     }
 
     @Override
@@ -100,7 +101,7 @@ public class GrpcConsumerExceptionTest extends CamelTestSupport {
         };
     }
 
-    public class PongResponseStreamObserver implements StreamObserver<PongResponse> {
+    static class PongResponseStreamObserver implements StreamObserver<PongResponse> {
         private PongResponse pongResponse;
         private final CountDownLatch latch;
 
diff --git a/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/GrpcConsumerPropagationTest.java b/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/GrpcConsumerPropagationTest.java
index c275ffe1e27..9c4ac7903a4 100644
--- a/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/GrpcConsumerPropagationTest.java
+++ b/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/GrpcConsumerPropagationTest.java
@@ -34,6 +34,7 @@ import org.slf4j.LoggerFactory;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class GrpcConsumerPropagationTest extends CamelTestSupport {
 
@@ -82,7 +83,7 @@ public class GrpcConsumerPropagationTest extends CamelTestSupport {
         StreamObserver<PingRequest> requestObserver = asyncOnNextStub.pingAsyncSync(responseObserver);
         requestObserver.onNext(pingRequest);
         requestObserver.onCompleted();
-        latch.await(5, TimeUnit.SECONDS);
+        assertTrue(latch.await(5, TimeUnit.SECONDS));
 
         MockEndpoint mockEndpoint = getMockEndpoint("mock:async-on-next-propagation");
         mockEndpoint.expectedMessageCount(1);
@@ -101,13 +102,11 @@ public class GrpcConsumerPropagationTest extends CamelTestSupport {
     public void testOnCompletedPropagation() throws Exception {
         LOG.info("gRPC pingAsyncAsync method async test start");
         final CountDownLatch latch = new CountDownLatch(1);
-        PingRequest pingRequest
-                = PingRequest.newBuilder().setPingName(GRPC_TEST_PING_VALUE).setPingId(GRPC_TEST_PING_ID).build();
         PongResponseStreamObserver responseObserver = new PongResponseStreamObserver(latch);
 
         StreamObserver<PingRequest> requestObserver = asyncOnCompletedStub.pingAsyncAsync(responseObserver);
         requestObserver.onCompleted();
-        latch.await(5, TimeUnit.SECONDS);
+        assertTrue(latch.await(5, TimeUnit.SECONDS));
 
         MockEndpoint mockEndpoint = getMockEndpoint("mock:async-on-completed-propagation");
         mockEndpoint.expectedMessageCount(1);
diff --git a/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/GrpcConsumerSecurityTest.java b/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/GrpcConsumerSecurityTest.java
index 001c3df033c..12f7be96228 100644
--- a/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/GrpcConsumerSecurityTest.java
+++ b/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/GrpcConsumerSecurityTest.java
@@ -45,6 +45,7 @@ import org.slf4j.LoggerFactory;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class GrpcConsumerSecurityTest extends CamelTestSupport {
 
@@ -120,7 +121,7 @@ public class GrpcConsumerSecurityTest extends CamelTestSupport {
         StreamObserver<PingRequest> requestObserver = tlsAsyncStub.pingAsyncSync(responseObserver);
         requestObserver.onNext(pingRequest);
         requestObserver.onCompleted();
-        latch.await(5, TimeUnit.SECONDS);
+        assertTrue(latch.await(5, TimeUnit.SECONDS));
 
         MockEndpoint mockEndpoint = getMockEndpoint("mock:tls-enable");
         mockEndpoint.expectedMessageCount(1);
@@ -147,7 +148,7 @@ public class GrpcConsumerSecurityTest extends CamelTestSupport {
         StreamObserver<PingRequest> requestObserver = jwtCorrectAsyncStub.pingAsyncSync(responseObserver);
         requestObserver.onNext(pingRequest);
         requestObserver.onCompleted();
-        latch.await(5, TimeUnit.SECONDS);
+        assertTrue(latch.await(5, TimeUnit.SECONDS));
 
         MockEndpoint mockEndpoint = getMockEndpoint("mock:jwt-correct-secret");
         mockEndpoint.expectedMessageCount(1);
@@ -173,7 +174,7 @@ public class GrpcConsumerSecurityTest extends CamelTestSupport {
 
         StreamObserver<PingRequest> requestObserver = jwtIncorrectAsyncStub.pingAsyncSync(responseObserver);
         requestObserver.onNext(pingRequest);
-        latch.await(5, TimeUnit.SECONDS);
+        assertTrue(latch.await(5, TimeUnit.SECONDS));
 
         MockEndpoint mockEndpoint = getMockEndpoint("mock:jwt-incorrect-secret");
         mockEndpoint.expectedMessageCount(0);
diff --git a/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/GrpcConsumerServerInterceptorTest.java b/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/GrpcConsumerServerInterceptorTest.java
index e2b271ee539..694a09d6d86 100644
--- a/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/GrpcConsumerServerInterceptorTest.java
+++ b/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/GrpcConsumerServerInterceptorTest.java
@@ -17,12 +17,10 @@
 package org.apache.camel.component.grpc;
 
 import java.util.List;
-import java.util.concurrent.CountDownLatch;
 
 import io.grpc.ManagedChannel;
 import io.grpc.ManagedChannelBuilder;
 import io.grpc.Server;
-import io.grpc.stub.StreamObserver;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit5.CamelTestSupport;
@@ -116,46 +114,17 @@ public class GrpcConsumerServerInterceptorTest extends CamelTestSupport {
             public void configure() {
                 from("grpc://localhost:" + GRPC_REQUEST_INTERCEPT_TEST_PORT
                      + "/org.apache.camel.component.grpc.PingPong?synchronous=true&consumerStrategy=AGGREGATION")
-                             .bean(new GrpcConsumerServerInterceptorTest.GrpcMessageBuilder(), "buildPongResponse");
+                             .bean(new GrpcMessageBuilder(), "buildPongResponse");
 
                 from("grpc://localhost:" + GRPC_REQUEST_NO_INTERCEPT_TEST_PORT
                      + "/org.apache.camel.component.grpc.PingPong?synchronous=true&consumerStrategy=AGGREGATION"
                      + "&autoDiscoverServerInterceptors=false")
-                             .bean(new GrpcConsumerServerInterceptorTest.GrpcMessageBuilder(), "buildPongResponse");
+                             .bean(new GrpcMessageBuilder(), "buildPongResponse");
             }
         };
     }
 
-    public class PongResponseStreamObserver implements StreamObserver<PongResponse> {
-        private PongResponse pongResponse;
-        private final CountDownLatch latch;
-
-        public PongResponseStreamObserver(CountDownLatch latch) {
-            this.latch = latch;
-        }
-
-        public PongResponse getPongResponse() {
-            return pongResponse;
-        }
-
-        @Override
-        public void onNext(PongResponse value) {
-            pongResponse = value;
-        }
-
-        @Override
-        public void onError(Throwable t) {
-            LOG.info("Exception", t);
-            latch.countDown();
-        }
-
-        @Override
-        public void onCompleted() {
-            latch.countDown();
-        }
-    }
-
-    public class GrpcMessageBuilder {
+    static class GrpcMessageBuilder {
         public PongResponse buildPongResponse(PingRequest pingRequest) {
             return PongResponse.newBuilder().setPongName(pingRequest.getPingName() + GRPC_TEST_PONG_VALUE)
                     .setPongId(pingRequest.getPingId()).build();
diff --git a/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/GrpcProducerAsyncTest.java b/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/GrpcProducerAsyncTest.java
index c01dddaaed9..2a813014fda 100644
--- a/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/GrpcProducerAsyncTest.java
+++ b/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/GrpcProducerAsyncTest.java
@@ -82,7 +82,7 @@ public class GrpcProducerAsyncTest extends CamelTestSupport {
                 latch.countDown();
             }
         });
-        latch.await(1, TimeUnit.SECONDS);
+        assertTrue(latch.await(1, TimeUnit.SECONDS));
 
         assertNotNull(asyncPongResponse);
         assertTrue(asyncPongResponse instanceof List);
@@ -110,7 +110,7 @@ public class GrpcProducerAsyncTest extends CamelTestSupport {
                 latch.countDown();
             }
         });
-        latch.await(1, TimeUnit.SECONDS);
+        assertTrue(latch.await(1, TimeUnit.SECONDS));
 
         assertNotNull(asyncPongResponse);
         assertTrue(asyncPongResponse instanceof List);
@@ -139,7 +139,7 @@ public class GrpcProducerAsyncTest extends CamelTestSupport {
                 latch.countDown();
             }
         });
-        latch.await(1, TimeUnit.SECONDS);
+        assertTrue(latch.await(1, TimeUnit.SECONDS));
 
         assertNotNull(asyncPongResponse);
         assertTrue(asyncPongResponse instanceof List);
@@ -167,7 +167,7 @@ public class GrpcProducerAsyncTest extends CamelTestSupport {
                 latch.countDown();
             }
         });
-        latch.await(1, TimeUnit.SECONDS);
+        assertTrue(latch.await(1, TimeUnit.SECONDS));
 
         assertNotNull(asyncPongResponse);
         assertTrue(asyncPongResponse instanceof List);
@@ -225,7 +225,7 @@ public class GrpcProducerAsyncTest extends CamelTestSupport {
 
         @Override
         public StreamObserver<PingRequest> pingAsyncSync(StreamObserver<PongResponse> responseObserver) {
-            StreamObserver<PingRequest> requestObserver = new StreamObserver<PingRequest>() {
+            return new StreamObserver<>() {
 
                 @Override
                 public void onNext(PingRequest request) {
@@ -244,12 +244,11 @@ public class GrpcProducerAsyncTest extends CamelTestSupport {
                     responseObserver.onCompleted();
                 }
             };
-            return requestObserver;
         }
 
         @Override
         public StreamObserver<PingRequest> pingAsyncAsync(StreamObserver<PongResponse> responseObserver) {
-            StreamObserver<PingRequest> requestObserver = new StreamObserver<PingRequest>() {
+            return new StreamObserver<>() {
 
                 @Override
                 public void onNext(PingRequest request) {
@@ -268,7 +267,6 @@ public class GrpcProducerAsyncTest extends CamelTestSupport {
                     responseObserver.onCompleted();
                 }
             };
-            return requestObserver;
         }
     }
 }
diff --git a/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/RouteControlledStreamObserverTest.java b/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/RouteControlledStreamObserverTest.java
index c1366a5c18c..9f5f6275428 100644
--- a/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/RouteControlledStreamObserverTest.java
+++ b/components/camel-grpc/src/test/java/org/apache/camel/component/grpc/RouteControlledStreamObserverTest.java
@@ -110,7 +110,7 @@ public class RouteControlledStreamObserverTest extends CamelTestSupport {
         PongResponseStreamObserver responseObserver = new PongResponseStreamObserver(latch);
 
         nonBlockingStub.pingSyncSync(pingRequest, responseObserver);
-        latch.await(5, TimeUnit.SECONDS);
+        assertTrue(latch.await(5, TimeUnit.SECONDS));
 
         PongResponse pongResponse = responseObserver.getPongResponse();
 
@@ -128,7 +128,7 @@ public class RouteControlledStreamObserverTest extends CamelTestSupport {
         PongResponseStreamObserver responseObserver = new PongResponseStreamObserver(latch);
 
         nonBlockingStub.pingSyncAsync(pingRequest, responseObserver);
-        latch.await(5, TimeUnit.SECONDS);
+        assertTrue(latch.await(5, TimeUnit.SECONDS));
 
         PongResponse pongResponse = responseObserver.getPongResponse();
 
@@ -149,7 +149,7 @@ public class RouteControlledStreamObserverTest extends CamelTestSupport {
         requestObserver.onNext(pingRequest);
         requestObserver.onNext(pingRequest);
         requestObserver.onCompleted();
-        latch.await(5, TimeUnit.SECONDS);
+        assertTrue(latch.await(5, TimeUnit.SECONDS));
 
         PongResponse pongResponse = responseObserver.getPongResponse();
 
@@ -170,7 +170,7 @@ public class RouteControlledStreamObserverTest extends CamelTestSupport {
         requestObserver.onNext(pingRequest);
         requestObserver.onNext(pingRequest);
         requestObserver.onCompleted();
-        latch.await(5, TimeUnit.SECONDS);
+        assertTrue(latch.await(5, TimeUnit.SECONDS));
 
         PongResponse pongResponse = responseObserver.getPongResponse();