This is an automated email from the ASF dual-hosted git repository.
apupier 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 71722a5af97 CAMEL-19544 - remove Thread.sleep in sql component test
71722a5af97 is described below
commit 71722a5af97cde7cd4d0da88c8d8004f92dba0ff
Author: Aurélien Pupier <[email protected]>
AuthorDate: Fri Jun 14 14:17:28 2024 +0200
CAMEL-19544 - remove Thread.sleep in sql component test
Gain 800ms locally but easier to read code
It remains several Thread.sleep but that are testing timeouts of the sql
component or trying to simulate a little delay so I guess we need to
keep them.
Signed-off-by: Aurélien Pupier <[email protected]>
---
.../sql/SqlConsumerDeleteBatchCompleteTest.java | 18 ++++++------------
.../component/sql/SqlConsumerDeleteFailedTest.java | 8 +++-----
.../camel/component/sql/SqlConsumerDeleteTest.java | 14 +++-----------
.../component/sql/SqlConsumerDeleteTransformTest.java | 15 +++------------
4 files changed, 15 insertions(+), 40 deletions(-)
diff --git
a/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlConsumerDeleteBatchCompleteTest.java
b/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlConsumerDeleteBatchCompleteTest.java
index 935357d5915..dc0715f43e7 100644
---
a/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlConsumerDeleteBatchCompleteTest.java
+++
b/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlConsumerDeleteBatchCompleteTest.java
@@ -16,6 +16,8 @@
*/
package org.apache.camel.component.sql;
+import java.util.concurrent.TimeUnit;
+
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.test.junit5.CamelTestSupport;
@@ -27,7 +29,7 @@ import
org.springframework.jdbc.datasource.embedded.EmbeddedDatabase;
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder;
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType;
-import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.awaitility.Awaitility.await;
/**
*
@@ -67,17 +69,9 @@ public class SqlConsumerDeleteBatchCompleteTest extends
CamelTestSupport {
MockEndpoint.assertIsSatisfied(context);
- // some servers may be a bit slow for this
- for (int i = 0; i < 5; i++) {
- // give it a little time to delete
- Thread.sleep(200);
- int rows = jdbcTemplate.queryForObject("select count(*) from
projects", Integer.class);
- if (rows == 0) {
- break;
- }
- }
- assertEquals(Integer.valueOf(0), jdbcTemplate.queryForObject("select
count(*) from projects", Integer.class),
- "Should have deleted all 3 rows");
+ await("Should have deleted all 3 rows")
+ .timeout(1, TimeUnit.SECONDS)
+ .until(() -> jdbcTemplate.queryForObject("select count(*) from
projects", Integer.class) == 0);
}
@Override
diff --git
a/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlConsumerDeleteFailedTest.java
b/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlConsumerDeleteFailedTest.java
index e31f41b4f2a..3a20073614a 100644
---
a/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlConsumerDeleteFailedTest.java
+++
b/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlConsumerDeleteFailedTest.java
@@ -32,6 +32,7 @@ import
org.springframework.jdbc.datasource.embedded.EmbeddedDatabase;
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder;
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType;
+import static org.awaitility.Awaitility.await;
import static org.junit.jupiter.api.Assertions.assertEquals;
/**
@@ -80,11 +81,8 @@ public class SqlConsumerDeleteFailedTest extends
CamelTestSupport {
assertEquals(3, exchanges.get(1).getIn().getBody(Map.class).get("ID"));
assertEquals("Linux",
exchanges.get(1).getIn().getBody(Map.class).get("PROJECT"));
- // give it a little tine to delete
- Thread.sleep(500);
-
- assertEquals(Integer.valueOf(1), jdbcTemplate.queryForObject("select
count(*) from projects", Integer.class),
- "Should have deleted 2 rows");
+ await("Should have deleted 2 rows, keeping 1")
+ .until(() -> jdbcTemplate.queryForObject("select count(*) from
projects", Integer.class) == 1);
assertEquals("AMQ", jdbcTemplate.queryForObject("select PROJECT from
projects where license = 'BAD'", String.class),
"Should be AMQ project that is BAD");
}
diff --git
a/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlConsumerDeleteTest.java
b/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlConsumerDeleteTest.java
index d807966aef3..4b9516b1447 100644
---
a/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlConsumerDeleteTest.java
+++
b/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlConsumerDeleteTest.java
@@ -31,6 +31,7 @@ import
org.springframework.jdbc.datasource.embedded.EmbeddedDatabase;
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder;
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType;
+import static org.awaitility.Awaitility.await;
import static org.junit.jupiter.api.Assertions.assertEquals;
/**
@@ -81,17 +82,8 @@ public class SqlConsumerDeleteTest extends CamelTestSupport {
assertEquals(3, exchanges.get(2).getIn().getBody(Map.class).get("ID"));
assertEquals("Linux",
exchanges.get(2).getIn().getBody(Map.class).get("PROJECT"));
- // some servers may be a bit slow for this
- for (int i = 0; i < 5; i++) {
- // give it a little time to delete
- Thread.sleep(200);
- int rows = jdbcTemplate.queryForObject("select count(*) from
projects", Integer.class);
- if (rows == 0) {
- break;
- }
- }
- assertEquals(Integer.valueOf(0), jdbcTemplate.queryForObject("select
count(*) from projects", Integer.class),
- "Should have deleted all 3 rows");
+ await("Should have deleted all 3 rows")
+ .until(() -> jdbcTemplate.queryForObject("select count(*) from
projects", Integer.class) == 0);
}
@Override
diff --git
a/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlConsumerDeleteTransformTest.java
b/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlConsumerDeleteTransformTest.java
index 794caae6a58..e6c2e9fae7c 100644
---
a/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlConsumerDeleteTransformTest.java
+++
b/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlConsumerDeleteTransformTest.java
@@ -27,7 +27,7 @@ import
org.springframework.jdbc.datasource.embedded.EmbeddedDatabase;
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder;
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType;
-import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.awaitility.Awaitility.await;
/**
*
@@ -67,17 +67,8 @@ public class SqlConsumerDeleteTransformTest extends
CamelTestSupport {
MockEndpoint.assertIsSatisfied(context);
- // some servers may be a bit slow for this
- for (int i = 0; i < 5; i++) {
- // give it a little time to delete
- Thread.sleep(200);
- int rows = jdbcTemplate.queryForObject("select count(*) from
projects", Integer.class);
- if (rows == 0) {
- break;
- }
- }
- assertEquals(Integer.valueOf(0), jdbcTemplate.queryForObject("select
count(*) from projects", Integer.class),
- "Should have deleted all 3 rows");
+ await("Should have deleted all 3 rows")
+ .until(() -> jdbcTemplate.queryForObject("select count(*) from
projects", Integer.class) == 0);
}
@Override