You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by bv...@apache.org on 2022/12/18 08:32:11 UTC

[camel] 02/03: polish tests

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

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

commit c7e09490a86b4af39f1165eb1601528d9dfec835
Author: Babak Vahdat <bv...@apache.org>
AuthorDate: Sun Dec 18 08:58:16 2022 +0100

    polish tests
---
 .../sql/FromJmsToJdbcIdempotentConsumerToJmsTest.java  | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/tests/camel-itest/src/test/java/org/apache/camel/itest/sql/FromJmsToJdbcIdempotentConsumerToJmsTest.java b/tests/camel-itest/src/test/java/org/apache/camel/itest/sql/FromJmsToJdbcIdempotentConsumerToJmsTest.java
index 7d87cacee30..00fffc66f12 100644
--- a/tests/camel-itest/src/test/java/org/apache/camel/itest/sql/FromJmsToJdbcIdempotentConsumerToJmsTest.java
+++ b/tests/camel-itest/src/test/java/org/apache/camel/itest/sql/FromJmsToJdbcIdempotentConsumerToJmsTest.java
@@ -31,6 +31,8 @@ import org.apache.camel.spi.IdempotentRepository;
 import org.apache.camel.test.spring.junit5.CamelSpringTestSupport;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.context.support.AbstractApplicationContext;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
 import org.springframework.jdbc.core.JdbcTemplate;
@@ -44,6 +46,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
  */
 public class FromJmsToJdbcIdempotentConsumerToJmsTest extends CamelSpringTestSupport {
 
+    private static final Logger LOG = LoggerFactory.getLogger(FromJmsToJdbcIdempotentConsumerToJmsTest.class);
+
     private JdbcTemplate jdbcTemplate;
 
     @EndpointInject("mock:a")
@@ -98,10 +102,10 @@ public class FromJmsToJdbcIdempotentConsumerToJmsTest extends CamelSpringTestSup
         checkInitialState();
 
         mockA.expectedMessageCount(7);
-        mockB.expectedMessageCount(0);
-        mockB.whenAnyExchangeReceived(exchange -> {
+        mockA.whenAnyExchangeReceived(exchange -> {
             throw new ConnectException("Forced cannot connect to database");
         });
+        mockB.expectedMessageCount(0);
 
         // use NotifyBuilder to know that after 1+6 (1 original + 6 redelivery) attempts from ActiveMQ
         NotifyBuilder notify
@@ -109,7 +113,7 @@ public class FromJmsToJdbcIdempotentConsumerToJmsTest extends CamelSpringTestSup
 
         template.sendBodyAndHeader("activemq2:queue:inbox", "A", "uid", 123);
 
-        assertTrue(notify.matchesWaitTime(), "Should complete 7 message");
+        assertTrue(notify.matchesWaitTime(), "Should complete 7 messages");
 
         // check that there is no message in the database and JMS queue
         assertEquals(0, jdbcTemplate.queryForObject("select count(*) from CAMEL_MESSAGEPROCESSED", Integer.class));
@@ -175,13 +179,15 @@ public class FromJmsToJdbcIdempotentConsumerToJmsTest extends CamelSpringTestSup
         mockA.expectedMessageCount(4);
         mockB.expectedMessageCount(4);
         mockB.whenAnyExchangeReceived(new Processor() {
-            private boolean errorThrown;
+            private boolean alreadyErrorThrown;
 
             @Override
             public void process(Exchange exchange) throws Exception {
-                if (!errorThrown) {
-                    errorThrown = true;
+                if (!alreadyErrorThrown) {
+                    alreadyErrorThrown = true;
                     throw new ConnectException("Forced cannot send to AMQ queue");
+                } else {
+                    LOG.info("Now successfully recovered from the error and can connect to AMQ queue");
                 }
             }
         });