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

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

commit d7058acbd25fbc484a1ebc42307d480c51036fef
Author: Croway <[email protected]>
AuthorDate: Wed Jan 25 09:41:53 2023 +0100

    Fix flaky test
---
 .../websocket/WebsocketRouteWithInitParamTest.java | 131 ++++++++++++---------
 ...RequestReplyTempQueueMultipleConsumersTest.java |   4 +-
 2 files changed, 77 insertions(+), 58 deletions(-)

diff --git 
a/components/camel-atmosphere-websocket/src/test/java/org/apache/camel/component/atmosphere/websocket/WebsocketRouteWithInitParamTest.java
 
b/components/camel-atmosphere-websocket/src/test/java/org/apache/camel/component/atmosphere/websocket/WebsocketRouteWithInitParamTest.java
index f5c420ee0e4..72834b36fbb 100644
--- 
a/components/camel-atmosphere-websocket/src/test/java/org/apache/camel/component/atmosphere/websocket/WebsocketRouteWithInitParamTest.java
+++ 
b/components/camel-atmosphere-websocket/src/test/java/org/apache/camel/component/atmosphere/websocket/WebsocketRouteWithInitParamTest.java
@@ -22,6 +22,9 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ExecutionException;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.TimeUnit;
 
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
@@ -35,12 +38,16 @@ import static 
org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
+import org.testcontainers.shaded.org.awaitility.Awaitility;
+
 public class WebsocketRouteWithInitParamTest extends 
WebsocketCamelRouterWithInitParamTestSupport {
 
     private static final String[] EXISTED_USERS = { "Kim", "Pavlo", "Peter" };
     private static String[] broadcastMessageTo = {};
     private static Map<String, String> connectionKeyUserMap = new HashMap<>();
 
+       private ExecutorService executor = Executors.newSingleThreadExecutor();
+
     private void runtTest(String s) throws InterruptedException, 
ExecutionException, IOException {
         WebsocketTestClient wsclient = new 
WebsocketTestClient("ws://localhost:" + PORT + s);
         wsclient.connect();
@@ -63,46 +70,52 @@ public class WebsocketRouteWithInitParamTest extends 
WebsocketCamelRouterWithIni
         final int awaitTime = 5;
         connectionKeyUserMap.clear();
 
-        WebsocketTestClient wsclient1 = new 
WebsocketTestClient("ws://localhost:" + PORT + "/hola2", 2);
-        WebsocketTestClient wsclient2 = new 
WebsocketTestClient("ws://localhost:" + PORT + "/hola2", 2);
-        WebsocketTestClient wsclient3 = new 
WebsocketTestClient("ws://localhost:" + PORT + "/hola2", 2);
+        executor.submit(()  -> {
+            try {
+                WebsocketTestClient wsclient1 = new 
WebsocketTestClient("ws://localhost:" + PORT + "/hola2", 2);
+                WebsocketTestClient wsclient2 = new 
WebsocketTestClient("ws://localhost:" + PORT + "/hola2", 2);
+                WebsocketTestClient wsclient3 = new 
WebsocketTestClient("ws://localhost:" + PORT + "/hola2", 2);
 
-        wsclient1.connect();
-        wsclient1.await(awaitTime);
+                wsclient1.connect();
+                wsclient1.await(awaitTime);
 
-        wsclient2.connect();
-        wsclient2.await(awaitTime);
+                wsclient2.connect();
+                wsclient2.await(awaitTime);
 
-        wsclient3.connect();
-        wsclient3.await(awaitTime);
+                wsclient3.connect();
+                wsclient3.await(awaitTime);
 
-        //all connections were registered in external store
-        assertEquals(EXISTED_USERS.length, connectionKeyUserMap.size());
+                //all connections were registered in external store
+                assertEquals(EXISTED_USERS.length, 
connectionKeyUserMap.size());
 
-        broadcastMessageTo = new String[] { EXISTED_USERS[0], EXISTED_USERS[1] 
};
+                broadcastMessageTo = new String[] {EXISTED_USERS[0], 
EXISTED_USERS[1]};
 
-        wsclient1.sendTextMessage("Gambas");
-        wsclient1.await(awaitTime);
+                wsclient1.sendTextMessage("Gambas");
+                wsclient1.await(awaitTime);
 
-        List<String> received1 = wsclient1.getReceived(String.class);
-        assertEquals(1, received1.size());
+                List<String> received1 = wsclient1.getReceived(String.class);
+                assertEquals(1, received1.size());
 
-        for (String element : broadcastMessageTo) {
-            assertTrue(received1.get(0).contains(element));
-        }
+                for (String element : broadcastMessageTo) {
+                    assertTrue(received1.get(0).contains(element));
+                }
 
-        List<String> received2 = wsclient2.getReceived(String.class);
-        assertEquals(1, received2.size());
-        for (String element : broadcastMessageTo) {
-            assertTrue(received2.get(0).contains(element));
-        }
+                List<String> received2 = wsclient2.getReceived(String.class);
+                assertEquals(1, received2.size());
+                for (String element : broadcastMessageTo) {
+                    assertTrue(received2.get(0).contains(element));
+                }
 
-        List<String> received3 = wsclient3.getReceived(String.class);
-        assertEquals(0, received3.size());
+                List<String> received3 = wsclient3.getReceived(String.class);
+                assertEquals(0, received3.size());
 
-        wsclient1.close();
-        wsclient2.close();
-        wsclient3.close();
+                wsclient1.close();
+                wsclient2.close();
+                wsclient3.close();
+            } catch (InterruptedException e) {
+                throw new RuntimeException("Interrupted thread", e);
+            }
+        }).get();
     }
 
     @Test
@@ -110,45 +123,51 @@ public class WebsocketRouteWithInitParamTest extends 
WebsocketCamelRouterWithIni
         final int awaitTime = 5;
         connectionKeyUserMap.clear();
 
-        WebsocketTestClient wsclient1 = new 
WebsocketTestClient("ws://localhost:" + PORT + "/hola3", 2);
-        WebsocketTestClient wsclient2 = new 
WebsocketTestClient("ws://localhost:" + PORT + "/hola3", 2);
-        WebsocketTestClient wsclient3 = new 
WebsocketTestClient("ws://localhost:" + PORT + "/hola3", 2);
+        executor.submit(()  -> {
+            try {
+                               WebsocketTestClient wsclient1 = new 
WebsocketTestClient("ws://localhost:" + PORT + "/hola3", 2);
+                               WebsocketTestClient wsclient2 = new 
WebsocketTestClient("ws://localhost:" + PORT + "/hola3", 2);
+                               WebsocketTestClient wsclient3 = new 
WebsocketTestClient("ws://localhost:" + PORT + "/hola3", 2);
 
-        wsclient1.connect();
-        wsclient1.await(awaitTime);
+                               wsclient1.connect();
+                wsclient1.await(awaitTime);
 
-        wsclient2.connect();
-        wsclient2.await(awaitTime);
+                               wsclient2.connect();
+                               wsclient2.await(awaitTime);
 
-        wsclient3.connect();
-        wsclient3.await(awaitTime);
+                               wsclient3.connect();
+                               wsclient3.await(awaitTime);
 
-        //all connections were registered in external store
-        assertEquals(EXISTED_USERS.length, connectionKeyUserMap.size());
+                               //all connections were registered in external 
store
+                               assertEquals(EXISTED_USERS.length, 
connectionKeyUserMap.size());
 
-        wsclient2.close();
-        wsclient2.await(awaitTime);
+                               wsclient2.close();
+                               wsclient2.await(awaitTime);
 
-        broadcastMessageTo = new String[] { EXISTED_USERS[0], EXISTED_USERS[1] 
};
+                               broadcastMessageTo = new String[] { 
EXISTED_USERS[0], EXISTED_USERS[1] };
 
-        wsclient1.sendTextMessage("Gambas");
-        wsclient1.await(awaitTime);
+                               wsclient1.sendTextMessage("Gambas");
+                               wsclient1.await(awaitTime);
 
-        List<String> received1 = wsclient1.getReceived(String.class);
-        assertEquals(1, received1.size());
+                               List<String> received1 = 
wsclient1.getReceived(String.class);
+                               assertEquals(1, received1.size());
 
-        for (String element : broadcastMessageTo) {
-            assertTrue(received1.get(0).contains(element));
-        }
+                               for (String element : broadcastMessageTo) {
+                                       
assertTrue(received1.get(0).contains(element));
+                               }
 
-        List<String> received2 = wsclient2.getReceived(String.class);
-        assertEquals(0, received2.size());
+                               List<String> received2 = 
wsclient2.getReceived(String.class);
+                               assertEquals(0, received2.size());
 
-        List<String> received3 = wsclient3.getReceived(String.class);
-        assertEquals(0, received3.size());
+                               List<String> received3 = 
wsclient3.getReceived(String.class);
+                               assertEquals(0, received3.size());
 
-        wsclient1.close();
-        wsclient3.close();
+                               wsclient1.close();
+                               wsclient3.close();
+                               } catch (InterruptedException e) {
+                throw new RuntimeException("Interrupted thread", e);
+                               }
+               }).get();
     }
 
     // START SNIPPET: payload
diff --git 
a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyTempQueueMultipleConsumersTest.java
 
b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyTempQueueMultipleConsumersTest.java
index 0581cd36f67..c9df3c6b575 100644
--- 
a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyTempQueueMultipleConsumersTest.java
+++ 
b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyTempQueueMultipleConsumersTest.java
@@ -45,7 +45,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 public class JmsRequestReplyTempQueueMultipleConsumersTest extends 
CamelTestSupport {
 
     @RegisterExtension
-    public ArtemisService service = 
ArtemisServiceFactory.createPersistentVMService();
+    public ArtemisService service = ArtemisServiceFactory.createVMService();
 
     private final Map<String, AtomicInteger> msgsPerThread = new 
ConcurrentHashMap<>();
     private JmsPoolConnectionFactory connectionFactory;
@@ -88,7 +88,7 @@ public class JmsRequestReplyTempQueueMultipleConsumersTest 
extends CamelTestSupp
             });
         }
 
-        MockEndpoint.assertIsSatisfied(context, 20, TimeUnit.SECONDS);
+        MockEndpoint.assertIsSatisfied(context, 40, TimeUnit.SECONDS);
     }
 
     @Override

Reply via email to