You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2023/01/28 08:44:07 UTC
[camel] 03/03: CAMEL-18957: converted camel-cassandra to camel-test-infra-core
This is an automated email from the ASF dual-hosted git repository.
orpiske pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 25101fe5e92bfbe2e30cfb6440ad71eb174e6761
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Fri Jan 27 17:35:51 2023 +0100
CAMEL-18957: converted camel-cassandra to camel-test-infra-core
---
components/camel-cassandraql/pom.xml | 8 ++++
.../cassandra/integration/BaseCassandra.java | 48 +++++++++++++++++-----
.../integration/CassandraComponentBeanRefIT.java | 12 ++----
.../cassandra/CassandraAggregationIT.java | 12 +++---
.../CassandraAggregationRepositoryIT.java | 11 +++--
.../CassandraAggregationSerializedHeadersIT.java | 13 +++---
.../NamedCassandraAggregationRepositoryIT.java | 16 ++++----
.../cassandra/CassandraIdempotentIT.java | 17 ++++----
.../cassandra/CassandraIdempotentRepositoryIT.java | 24 +++++------
.../NamedCassandraIdempotentRepositoryIT.java | 25 ++++++-----
10 files changed, 108 insertions(+), 78 deletions(-)
diff --git a/components/camel-cassandraql/pom.xml b/components/camel-cassandraql/pom.xml
index e64e0bfe27c..1c02cd508bf 100644
--- a/components/camel-cassandraql/pom.xml
+++ b/components/camel-cassandraql/pom.xml
@@ -69,6 +69,14 @@
</dependency>
<!-- test infra -->
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-test-infra-core</artifactId>
+ <version>${project.version}</version>
+ <type>test-jar</type>
+ <scope>test</scope>
+ </dependency>
+
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-test-infra-cassandra</artifactId>
diff --git a/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/integration/BaseCassandra.java b/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/integration/BaseCassandra.java
index 5ab31d71668..ec8f76b9e4c 100644
--- a/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/integration/BaseCassandra.java
+++ b/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/integration/BaseCassandra.java
@@ -23,20 +23,35 @@ import java.time.Duration;
import com.datastax.oss.driver.api.core.CqlSession;
import com.datastax.oss.driver.api.core.config.DefaultDriverOption;
import com.datastax.oss.driver.api.core.config.DriverConfigLoader;
+import org.apache.camel.CamelContext;
+import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.test.infra.cassandra.services.CassandraLocalContainerService;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.extension.ExtensionContext;
+import org.apache.camel.test.infra.core.CamelContextExtension;
+import org.apache.camel.test.infra.core.DefaultCamelContextExtension;
+import org.apache.camel.test.infra.core.annotations.RouteFixture;
+import org.apache.camel.test.infra.core.api.CamelTestSupportHelper;
+import org.apache.camel.test.infra.core.api.ConfigurableRoute;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.extension.RegisterExtension;
import org.testcontainers.shaded.org.apache.commons.io.IOUtils;
-public abstract class BaseCassandra extends CamelTestSupport {
+public abstract class BaseCassandra implements ConfigurableRoute, CamelTestSupportHelper {
+ @Order(1)
@RegisterExtension
public static CassandraLocalContainerService service;
+ @Order(2)
+ @RegisterExtension
+ public static CamelContextExtension camelContextExtension = new DefaultCamelContextExtension();
+
public static final String KEYSPACE_NAME = "camel_ks";
public static final String DATACENTER_NAME = "datacenter1";
+ protected CamelContext context = camelContextExtension.getContext();
+
private CqlSession session;
static {
@@ -47,10 +62,8 @@ public abstract class BaseCassandra extends CamelTestSupport {
.withNetworkAliases("cassandra");
}
- @Override
- public void beforeEach(ExtensionContext context) throws Exception {
- super.beforeEach(context);
-
+ @BeforeEach
+ public void executeScript() throws Exception {
executeScript("BasicDataSet.cql");
}
@@ -68,10 +81,8 @@ public abstract class BaseCassandra extends CamelTestSupport {
getSession().execute(cql);
}
- @Override
+ @AfterEach
protected void doPostTearDown() throws Exception {
- super.doPostTearDown();
-
try {
if (session != null) {
session.close();
@@ -100,4 +111,21 @@ public abstract class BaseCassandra extends CamelTestSupport {
public String getUrl() {
return service.getCQL3Endpoint();
}
+
+ protected abstract RouteBuilder createRouteBuilder();
+
+ @Override
+ @RouteFixture
+ public void createRouteBuilder(CamelContext context) throws Exception {
+ final RouteBuilder routeBuilder = createRouteBuilder();
+
+ if (routeBuilder != null) {
+ context.addRoutes(routeBuilder);
+ }
+ }
+
+ @Override
+ public CamelContextExtension getCamelContextExtension() {
+ return camelContextExtension;
+ }
}
diff --git a/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/integration/CassandraComponentBeanRefIT.java b/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/integration/CassandraComponentBeanRefIT.java
index dfad578f354..8163290ae00 100644
--- a/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/integration/CassandraComponentBeanRefIT.java
+++ b/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/integration/CassandraComponentBeanRefIT.java
@@ -16,10 +16,10 @@
*/
package org.apache.camel.component.cassandra.integration;
+import com.datastax.oss.driver.api.core.CqlSession;
+import org.apache.camel.BindToRegistry;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.cassandra.CassandraEndpoint;
-import org.apache.camel.spi.Registry;
-import org.apache.camel.support.SimpleRegistry;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -29,12 +29,8 @@ public class CassandraComponentBeanRefIT extends BaseCassandra {
public static final String CQL = "insert into camel_user(login, first_name, last_name) values (?, ?, ?)";
public static final String SESSION_URI = "cql:bean:cassandraSession?cql=" + CQL;
- @Override
- protected Registry createCamelRegistry() {
- SimpleRegistry registry = new SimpleRegistry();
- registry.bind("cassandraSession", getSession());
- return registry;
- }
+ @BindToRegistry("cassandraSession")
+ private CqlSession session = getSession();
@Override
protected RouteBuilder createRouteBuilder() {
diff --git a/components/camel-cassandraql/src/test/java/org/apache/camel/processor/aggregate/cassandra/CassandraAggregationIT.java b/components/camel-cassandraql/src/test/java/org/apache/camel/processor/aggregate/cassandra/CassandraAggregationIT.java
index 82701ea2b53..002341ebcaf 100644
--- a/components/camel-cassandraql/src/test/java/org/apache/camel/processor/aggregate/cassandra/CassandraAggregationIT.java
+++ b/components/camel-cassandraql/src/test/java/org/apache/camel/processor/aggregate/cassandra/CassandraAggregationIT.java
@@ -22,6 +22,7 @@ import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.cassandra.integration.BaseCassandra;
import org.apache.camel.component.mock.MockEndpoint;
import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
/**
@@ -31,18 +32,15 @@ public class CassandraAggregationIT extends BaseCassandra {
private CassandraAggregationRepository aggregationRepository;
- @Override
- protected void doPreSetup() throws Exception {
+ @BeforeEach
+ protected void doPreSetup() {
aggregationRepository = new NamedCassandraAggregationRepository(getSession(), "ID");
aggregationRepository.setTable("NAMED_CAMEL_AGGREGATION");
aggregationRepository.start();
- super.doPreSetup();
}
- @Override
@AfterEach
- public void tearDown() throws Exception {
- super.tearDown();
+ public void tearDown() {
aggregationRepository.stop();
}
@@ -71,7 +69,7 @@ public class CassandraAggregationIT extends BaseCassandra {
}
private void send(String aggregationId, String body) {
- super.template.sendBodyAndHeader("direct:input", body, "aggregationId", aggregationId);
+ camelContextExtension.getProducerTemplate().sendBodyAndHeader("direct:input", body, "aggregationId", aggregationId);
}
@Test
diff --git a/components/camel-cassandraql/src/test/java/org/apache/camel/processor/aggregate/cassandra/CassandraAggregationRepositoryIT.java b/components/camel-cassandraql/src/test/java/org/apache/camel/processor/aggregate/cassandra/CassandraAggregationRepositoryIT.java
index 09a2fab4f83..ce9999c07ba 100644
--- a/components/camel-cassandraql/src/test/java/org/apache/camel/processor/aggregate/cassandra/CassandraAggregationRepositoryIT.java
+++ b/components/camel-cassandraql/src/test/java/org/apache/camel/processor/aggregate/cassandra/CassandraAggregationRepositoryIT.java
@@ -19,9 +19,11 @@ package org.apache.camel.processor.aggregate.cassandra;
import java.util.Set;
import org.apache.camel.Exchange;
+import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.cassandra.integration.BaseCassandra;
import org.apache.camel.support.DefaultExchange;
import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.DisabledOnOs;
import org.junit.jupiter.api.condition.OS;
@@ -39,17 +41,14 @@ public class CassandraAggregationRepositoryIT extends BaseCassandra {
private CassandraAggregationRepository aggregationRepository;
- @Override
+ @BeforeEach
protected void doPreSetup() throws Exception {
aggregationRepository = new CassandraAggregationRepository(getSession());
aggregationRepository.start();
- super.doPreSetup();
}
- @Override
@AfterEach
public void tearDown() throws Exception {
- super.tearDown();
aggregationRepository.stop();
}
@@ -204,4 +203,8 @@ public class CassandraAggregationRepositoryIT extends BaseCassandra {
assertNull(exchange3);
}
+ @Override
+ protected RouteBuilder createRouteBuilder() {
+ return null;
+ }
}
diff --git a/components/camel-cassandraql/src/test/java/org/apache/camel/processor/aggregate/cassandra/CassandraAggregationSerializedHeadersIT.java b/components/camel-cassandraql/src/test/java/org/apache/camel/processor/aggregate/cassandra/CassandraAggregationSerializedHeadersIT.java
index 0f845ad306b..fa50d7c35a8 100644
--- a/components/camel-cassandraql/src/test/java/org/apache/camel/processor/aggregate/cassandra/CassandraAggregationSerializedHeadersIT.java
+++ b/components/camel-cassandraql/src/test/java/org/apache/camel/processor/aggregate/cassandra/CassandraAggregationSerializedHeadersIT.java
@@ -23,6 +23,7 @@ import org.apache.camel.component.cassandra.integration.BaseCassandra;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.processor.aggregate.util.HeaderDto;
import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
/**
@@ -32,19 +33,16 @@ public class CassandraAggregationSerializedHeadersIT extends BaseCassandra {
private CassandraAggregationRepository aggregationRepository;
- @Override
- protected void doPreSetup() throws Exception {
+ @BeforeEach
+ protected void doPreSetup() {
aggregationRepository = new NamedCassandraAggregationRepository(getSession(), "ID");
aggregationRepository.setTable("NAMED_CAMEL_AGGREGATION");
aggregationRepository.setAllowSerializedHeaders(true);
aggregationRepository.start();
- super.doPreSetup();
}
- @Override
@AfterEach
- public void tearDown() throws Exception {
- super.tearDown();
+ public void tearDown() {
aggregationRepository.stop();
}
@@ -73,7 +71,8 @@ public class CassandraAggregationSerializedHeadersIT extends BaseCassandra {
}
private void send(HeaderDto aggregationId, String body) {
- super.template.sendBodyAndHeader("direct:input", body, "aggregationId", aggregationId);
+ camelContextExtension.getProducerTemplate()
+ .sendBodyAndHeader("direct:input", body, "aggregationId", aggregationId);
}
@Test
diff --git a/components/camel-cassandraql/src/test/java/org/apache/camel/processor/aggregate/cassandra/NamedCassandraAggregationRepositoryIT.java b/components/camel-cassandraql/src/test/java/org/apache/camel/processor/aggregate/cassandra/NamedCassandraAggregationRepositoryIT.java
index a09b7696ae0..f8088cf2711 100644
--- a/components/camel-cassandraql/src/test/java/org/apache/camel/processor/aggregate/cassandra/NamedCassandraAggregationRepositoryIT.java
+++ b/components/camel-cassandraql/src/test/java/org/apache/camel/processor/aggregate/cassandra/NamedCassandraAggregationRepositoryIT.java
@@ -19,9 +19,11 @@ package org.apache.camel.processor.aggregate.cassandra;
import java.util.Set;
import org.apache.camel.Exchange;
+import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.cassandra.integration.BaseCassandra;
import org.apache.camel.support.DefaultExchange;
import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.DisabledOnOs;
import org.junit.jupiter.api.condition.OS;
@@ -39,19 +41,15 @@ public class NamedCassandraAggregationRepositoryIT extends BaseCassandra {
private CassandraAggregationRepository aggregationRepository;
- @Override
- protected void doPreSetup() throws Exception {
+ @BeforeEach
+ protected void doPreSetup() {
aggregationRepository = new NamedCassandraAggregationRepository(getSession(), "ID");
aggregationRepository.setTable("NAMED_CAMEL_AGGREGATION");
aggregationRepository.start();
-
- super.doPreSetup();
}
- @Override
@AfterEach
- public void tearDown() throws Exception {
- super.tearDown();
+ public void tearDown() {
aggregationRepository.stop();
}
@@ -206,4 +204,8 @@ public class NamedCassandraAggregationRepositoryIT extends BaseCassandra {
assertNull(exchange3);
}
+ @Override
+ protected RouteBuilder createRouteBuilder() {
+ return null;
+ }
}
diff --git a/components/camel-cassandraql/src/test/java/org/apache/camel/processor/idempotent/cassandra/CassandraIdempotentIT.java b/components/camel-cassandraql/src/test/java/org/apache/camel/processor/idempotent/cassandra/CassandraIdempotentIT.java
index 1f5ca44e802..7502f382b70 100644
--- a/components/camel-cassandraql/src/test/java/org/apache/camel/processor/idempotent/cassandra/CassandraIdempotentIT.java
+++ b/components/camel-cassandraql/src/test/java/org/apache/camel/processor/idempotent/cassandra/CassandraIdempotentIT.java
@@ -27,20 +27,18 @@ import org.junit.jupiter.api.Test;
*/
public class CassandraIdempotentIT extends BaseCassandra {
- private CassandraIdempotentRepository idempotentRepository;
+ private CassandraIdempotentRepository idempotentRepository = createRepo();
- @Override
- protected void doPreSetup() throws Exception {
- idempotentRepository = new NamedCassandraIdempotentRepository(getSession(), "ID");
+ protected CassandraIdempotentRepository createRepo() {
+ CassandraIdempotentRepository idempotentRepository = new NamedCassandraIdempotentRepository(getSession(), "ID");
idempotentRepository.setTable("NAMED_CAMEL_IDEMPOTENT");
idempotentRepository.start();
- super.doPreSetup();
+
+ return idempotentRepository;
}
- @Override
@AfterEach
- public void tearDown() throws Exception {
- super.tearDown();
+ public void tearDown() {
idempotentRepository.stop();
}
@@ -55,7 +53,8 @@ public class CassandraIdempotentIT extends BaseCassandra {
}
private void send(String idempotentId, String body) {
- super.template.sendBodyAndHeader("direct:input", body, "idempotentId", idempotentId);
+ camelContextExtension.getProducerTemplate()
+ .sendBodyAndHeader("direct:input", body, "idempotentId", idempotentId);
}
@Test
diff --git a/components/camel-cassandraql/src/test/java/org/apache/camel/processor/idempotent/cassandra/CassandraIdempotentRepositoryIT.java b/components/camel-cassandraql/src/test/java/org/apache/camel/processor/idempotent/cassandra/CassandraIdempotentRepositoryIT.java
index b7525dedb28..c5b5c033fda 100644
--- a/components/camel-cassandraql/src/test/java/org/apache/camel/processor/idempotent/cassandra/CassandraIdempotentRepositoryIT.java
+++ b/components/camel-cassandraql/src/test/java/org/apache/camel/processor/idempotent/cassandra/CassandraIdempotentRepositoryIT.java
@@ -16,10 +16,13 @@
*/
package org.apache.camel.processor.idempotent.cassandra;
+import java.io.IOException;
+
+import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.cassandra.integration.BaseCassandra;
import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtensionContext;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -31,25 +34,16 @@ public class CassandraIdempotentRepositoryIT extends BaseCassandra {
private CassandraIdempotentRepository idempotentRepository;
- @Override
- protected void doPreSetup() throws Exception {
+ @BeforeEach
+ protected void doPreSetup() throws IOException {
idempotentRepository = new CassandraIdempotentRepository(getSession());
idempotentRepository.start();
- super.doPreSetup();
- }
-
- @Override
- public void beforeEach(ExtensionContext context) throws Exception {
- super.beforeEach(context);
-
executeScript("IdempotentDataSet.cql");
}
- @Override
@AfterEach
- public void tearDown() throws Exception {
- super.tearDown();
+ public void tearDown() {
idempotentRepository.stop();
}
@@ -136,4 +130,8 @@ public class CassandraIdempotentRepositoryIT extends BaseCassandra {
assertFalse(idempotentRepository.contains(key));
}
+ @Override
+ protected RouteBuilder createRouteBuilder() {
+ return null;
+ }
}
diff --git a/components/camel-cassandraql/src/test/java/org/apache/camel/processor/idempotent/cassandra/NamedCassandraIdempotentRepositoryIT.java b/components/camel-cassandraql/src/test/java/org/apache/camel/processor/idempotent/cassandra/NamedCassandraIdempotentRepositoryIT.java
index c43db0c0c23..ab6f221b303 100644
--- a/components/camel-cassandraql/src/test/java/org/apache/camel/processor/idempotent/cassandra/NamedCassandraIdempotentRepositoryIT.java
+++ b/components/camel-cassandraql/src/test/java/org/apache/camel/processor/idempotent/cassandra/NamedCassandraIdempotentRepositoryIT.java
@@ -16,10 +16,13 @@
*/
package org.apache.camel.processor.idempotent.cassandra;
+import java.io.IOException;
+
+import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.cassandra.integration.BaseCassandra;
import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtensionContext;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -31,27 +34,18 @@ public class NamedCassandraIdempotentRepositoryIT extends BaseCassandra {
private CassandraIdempotentRepository idempotentRepository;
- @Override
- protected void doPreSetup() throws Exception {
+ @BeforeEach
+ protected void doPreSetup() throws IOException {
idempotentRepository = new NamedCassandraIdempotentRepository(getSession(), "ID");
idempotentRepository.setTable("NAMED_CAMEL_IDEMPOTENT");
idempotentRepository.start();
- super.doPreSetup();
- }
-
- @Override
- public void beforeEach(ExtensionContext context) throws Exception {
- super.beforeEach(context);
-
executeScript("NamedIdempotentDataSet.cql");
}
- @Override
@AfterEach
- public void tearDown() throws Exception {
+ public void tearDown() {
idempotentRepository.stop();
- super.tearDown();
}
private boolean exists(String key) {
@@ -136,4 +130,9 @@ public class NamedCassandraIdempotentRepositoryIT extends BaseCassandra {
// Then
assertFalse(idempotentRepository.contains(key));
}
+
+ @Override
+ protected RouteBuilder createRouteBuilder() {
+ return null;
+ }
}