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

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


The following commit(s) were added to refs/heads/master by this push:
     new 30e9946  CAMEL-15331 Cassandraql: refactor tests to use testcontainers 
(#4052)
30e9946 is described below

commit 30e9946aa6d0929b06225fb76bc189cf0fbc2836
Author: JiriOndrusek <ondrusek.j...@gmail.com>
AuthorDate: Tue Jul 28 16:03:11 2020 +0200

    CAMEL-15331 Cassandraql: refactor tests to use testcontainers (#4052)
---
 components/camel-cassandraql/pom.xml               | 11 +--
 .../component/cassandra/BaseCassandraTest.java     | 91 ++++++++++++++++++++--
 .../component/cassandra/CassandraCQLUnit.java      | 74 ------------------
 .../cassandra/CassandraComponentBeanRefTest.java   |  8 +-
 .../cassandra/CassandraComponentConsumerTest.java  | 10 +--
 .../cassandra/CassandraComponentProducerTest.java  | 42 +++-------
 .../CassandraComponentProducerUnpreparedTest.java  | 22 ++----
 .../component/cassandra/CassandraUnitUtils.java    | 76 ------------------
 .../CassandraAggregationRepositoryTest.java        | 65 +++++++---------
 .../CassandraAggregationSerializedHeadersTest.java |  7 +-
 .../cassandra/CassandraAggregationTest.java        |  8 +-
 .../NamedCassandraAggregationRepositoryTest.java   | 72 ++++++++---------
 .../CassandraIdempotentRepositoryTest.java         | 28 +++----
 .../cassandra/CassandraIdempotentTest.java         |  8 +-
 .../NamedCassandraIdempotentRepositoryTest.java    | 25 +++---
 .../src/test/resources/AggregationDataSet.cql      |  6 --
 .../src/test/resources/BasicDataSet.cql            |  9 +--
 .../src/test/resources/IdempotentDataSet.cql       | 12 ++-
 .../src/test/resources/NamedAggregationDataSet.cql |  7 --
 .../src/test/resources/NamedIdempotentDataSet.cql  |  9 +--
 .../src/test/resources/driver.conf                 |  8 ++
 .../src/test/resources/initScript.cql              | 33 ++++++++
 22 files changed, 252 insertions(+), 379 deletions(-)

diff --git a/components/camel-cassandraql/pom.xml 
b/components/camel-cassandraql/pom.xml
index dfe7bf0..bcc0b4e 100644
--- a/components/camel-cassandraql/pom.xml
+++ b/components/camel-cassandraql/pom.xml
@@ -67,11 +67,6 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.cassandraunit</groupId>
-            <artifactId>cassandra-unit</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>org.apache.cassandra</groupId>
             <artifactId>cassandra-all</artifactId>
             <version>${cassandra-version}</version>
@@ -102,6 +97,12 @@
             <version>${snakeyaml-version}</version>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.testcontainers</groupId>
+            <artifactId>cassandra</artifactId>
+            <version>${testcontainers-version}</version>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 
     <build>
diff --git 
a/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/BaseCassandraTest.java
 
b/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/BaseCassandraTest.java
index a0880e3..b5b3783 100644
--- 
a/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/BaseCassandraTest.java
+++ 
b/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/BaseCassandraTest.java
@@ -16,23 +16,98 @@
  */
 package org.apache.camel.component.cassandra;
 
+import java.io.IOException;
+import java.net.InetSocketAddress;
+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.test.junit5.CamelTestSupport;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.extension.ExtensionContext;
+import org.testcontainers.containers.CassandraContainer;
+import org.testcontainers.containers.GenericContainer;
+import org.testcontainers.shaded.org.apache.commons.io.IOUtils;
 
 public abstract class BaseCassandraTest extends CamelTestSupport {
 
-    public static boolean canTest() {
-        // we cannot test on CI
-        return System.getenv("BUILD_ID") == null;
+    public static final String KEYSPACE_NAME = "camel_ks";
+    public static final String DATACENTER_NAME = "datacenter1";
+    private static final int ORIGINAL_PORT = 9042;
+
+    private static GenericContainer<?>  container;
+    private CqlSession session;
+
+
+    @BeforeAll
+    public static void beforeAll() {
+        container = new 
CassandraContainer().withInitScript("initScript.cql").withNetworkAliases("cassandra").withExposedPorts(ORIGINAL_PORT);
+        container.start();
+    }
+
+    @AfterAll
+    public static void afterAll() {
+        try {
+            if (container != null) {
+                container.stop();
+            }
+        } catch (Exception e) {
+            // ignored
+        }
     }
 
     @Override
-    public void afterAll(ExtensionContext context) {
-        super.afterAll(context);
+    public void beforeEach(ExtensionContext context) throws Exception {
+        super.beforeEach(context);
+
+        executeScript("BasicDataSet.cql");
+    }
+
+    public void executeScript(String pathToScript) throws IOException {
+        String s = IOUtils.toString(getClass().getResourceAsStream("/" + 
pathToScript), "UTF-8");
+        String[] statements = s.split(";");
+        for (int i = 0; i < statements.length; i++) {
+            if (!statements[i].isEmpty()) {
+                executeCql(statements[i]);
+            }
+        }
+    }
+
+    public void executeCql(String cql) {
+        getSession().execute(cql);
+    }
+
+    @Override
+    protected void doPostTearDown() throws Exception {
+        super.doPostTearDown();
+
         try {
-            CassandraUnitUtils.cleanEmbeddedCassandra();
-        } catch (Throwable e) {
-            // ignore shutdown errors
+            if (session != null) {
+                session.close();
+                session = null;
+            }
+        } catch (Exception e) {
+            // ignored
         }
     }
+
+    public CqlSession getSession() {
+        if (session == null) {
+            InetSocketAddress endpoint = new 
InetSocketAddress(container.getContainerIpAddress(),  
container.getMappedPort(ORIGINAL_PORT));
+            //create a new session
+            session = CqlSession.builder()
+                    .withLocalDatacenter(DATACENTER_NAME)
+                    .withKeyspace(KEYSPACE_NAME)
+                    .withConfigLoader(DriverConfigLoader.programmaticBuilder()
+                                     
.withDuration(DefaultDriverOption.REQUEST_TIMEOUT, 
Duration.ofSeconds(5)).build())
+                    .addContactPoint(endpoint).build();
+        }
+        return session;
+    }
+
+    public String getUrl() {
+        return container.getContainerIpAddress() + ":" + 
container.getMappedPort(ORIGINAL_PORT);
+    }
 }
diff --git 
a/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/CassandraCQLUnit.java
 
b/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/CassandraCQLUnit.java
deleted file mode 100644
index 30558b9..0000000
--- 
a/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/CassandraCQLUnit.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.cassandra;
-
-import com.datastax.oss.driver.api.core.CqlIdentifier;
-import com.datastax.oss.driver.api.core.CqlSession;
-import com.datastax.oss.driver.internal.core.session.DefaultSession;
-import org.cassandraunit.CQLDataLoader;
-import org.cassandraunit.dataset.CQLDataSet;
-import org.cassandraunit.utils.EmbeddedCassandraServerHelper;
-import org.junit.jupiter.api.extension.AfterAllCallback;
-import org.junit.jupiter.api.extension.AfterEachCallback;
-import org.junit.jupiter.api.extension.BeforeAllCallback;
-import org.junit.jupiter.api.extension.BeforeEachCallback;
-import org.junit.jupiter.api.extension.ExtensionContext;
-
-import static org.junit.jupiter.api.Assumptions.assumeTrue;
-
-public class CassandraCQLUnit implements BeforeAllCallback, 
BeforeEachCallback, AfterEachCallback {
-
-    public CqlSession session;
-    protected CQLDataSet dataSet;
-    protected String configurationFileName;
-    protected long startupTimeoutMillis = 
EmbeddedCassandraServerHelper.DEFAULT_STARTUP_TIMEOUT;
-
-    public CassandraCQLUnit(CQLDataSet dataSet, String configurationFileName) {
-        this.dataSet = dataSet;
-        this.configurationFileName = configurationFileName;
-    }
-
-    @Override
-    public void beforeAll(ExtensionContext context) throws Exception {
-        assumeTrue(BaseCassandraTest.canTest(),
-                "Skipping test running in CI server - Fails sometimes on CI 
server with address already in use");
-
-        /* start an embedded Cassandra */
-        if (configurationFileName != null) {
-            
EmbeddedCassandraServerHelper.startEmbeddedCassandra(configurationFileName, 
startupTimeoutMillis);
-        } else {
-            
EmbeddedCassandraServerHelper.startEmbeddedCassandra(startupTimeoutMillis);
-        }
-    }
-
-    @Override
-    public void beforeEach(ExtensionContext context) throws Exception {
-        /* create structure and load data */
-        session = CqlSession.builder().build();
-        CQLDataLoader dataLoader = new CQLDataLoader(session);
-        dataLoader.load(dataSet);
-    }
-
-    @Override
-    public void afterEach(ExtensionContext extensionContext) throws Exception {
-        try {
-            session.close();
-        } catch (Throwable e) {
-            // ignore close errors
-        }
-    }
-}
diff --git 
a/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/CassandraComponentBeanRefTest.java
 
b/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/CassandraComponentBeanRefTest.java
index 5929318..44af092 100644
--- 
a/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/CassandraComponentBeanRefTest.java
+++ 
b/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/CassandraComponentBeanRefTest.java
@@ -20,7 +20,6 @@ import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.spi.Registry;
 import org.apache.camel.support.SimpleRegistry;
 import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
@@ -29,13 +28,10 @@ public class CassandraComponentBeanRefTest extends 
BaseCassandraTest {
     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;
 
-    @RegisterExtension
-    static CassandraCQLUnit cassandra = CassandraUnitUtils.cassandraCQLUnit();
-
     @Override
     protected Registry createCamelRegistry() throws Exception {
         SimpleRegistry registry = new SimpleRegistry();
-        registry.bind("cassandraSession", cassandra.session);
+        registry.bind("cassandraSession", getSession());
         return registry;
     }
 
@@ -52,7 +48,7 @@ public class CassandraComponentBeanRefTest extends 
BaseCassandraTest {
     public void testSession() throws Exception {
         CassandraEndpoint endpoint = getMandatoryEndpoint(SESSION_URI, 
CassandraEndpoint.class);
 
-        assertEquals(CassandraUnitUtils.KEYSPACE, endpoint.getKeyspace());
+        assertEquals(KEYSPACE_NAME, endpoint.getKeyspace());
         assertEquals(CQL, endpoint.getCql());
     }
 }
diff --git 
a/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/CassandraComponentConsumerTest.java
 
b/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/CassandraComponentConsumerTest.java
index 11bc1e8..f95f36c 100644
--- 
a/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/CassandraComponentConsumerTest.java
+++ 
b/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/CassandraComponentConsumerTest.java
@@ -25,7 +25,6 @@ import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
@@ -33,9 +32,6 @@ public class CassandraComponentConsumerTest extends 
BaseCassandraTest {
 
     static final String CQL = "select login, first_name, last_name from 
camel_user";
 
-    @RegisterExtension
-    static CassandraCQLUnit cassandra = CassandraUnitUtils.cassandraCQLUnit();
-
     @Test
     public void testConsumeAll() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:resultAll");
@@ -86,9 +82,9 @@ public class CassandraComponentConsumerTest extends 
BaseCassandraTest {
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() {
-                from("cql://localhost/camel_ks?cql=" + 
CQL).to("mock:resultAll");
-                from("cql://localhost/camel_ks?cql=" + CQL + 
"&prepareStatements=false").to("mock:resultUnprepared");
-                from("cql://localhost/camel_ks?cql=" + CQL + 
"&resultSetConversionStrategy=ONE").to("mock:resultOne");
+                from(String.format("cql://%s/%s?cql=%s", getUrl(), 
KEYSPACE_NAME, CQL)).to("mock:resultAll");
+                
from(String.format("cql://%s/%s?cql=%s&prepareStatements=false", getUrl(), 
KEYSPACE_NAME, CQL)).to("mock:resultUnprepared");
+                
from(String.format("cql://%s/%s?cql=%s&resultSetConversionStrategy=ONE", 
getUrl(), KEYSPACE_NAME, CQL)).to("mock:resultOne");
             }
         };
     }
diff --git 
a/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/CassandraComponentProducerTest.java
 
b/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/CassandraComponentProducerTest.java
index 9dfade5..b0c23b7 100644
--- 
a/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/CassandraComponentProducerTest.java
+++ 
b/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/CassandraComponentProducerTest.java
@@ -21,7 +21,6 @@ import java.util.Collections;
 import java.util.List;
 
 import com.datastax.oss.driver.api.core.ConsistencyLevel;
-import com.datastax.oss.driver.api.core.CqlSession;
 import com.datastax.oss.driver.api.core.cql.ResultSet;
 import com.datastax.oss.driver.api.core.cql.Row;
 import com.datastax.oss.driver.api.querybuilder.QueryBuilder;
@@ -30,7 +29,6 @@ import org.apache.camel.Produce;
 import org.apache.camel.ProducerTemplate;
 import org.apache.camel.builder.RouteBuilder;
 import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.apache.camel.test.junit5.TestSupport.assertIsInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -42,10 +40,6 @@ public class CassandraComponentProducerTest extends 
BaseCassandraTest {
 
     static final String CQL = "insert into camel_user(login, first_name, 
last_name) values (?, ?, ?)";
     static final String NO_PARAMETER_CQL = "select login, first_name, 
last_name from camel_user";
-    static final String NOT_CONSISTENT_URI = "cql://localhost/camel_ks?cql=" + 
CQL + "&consistencyLevel=ANY";
-
-    @RegisterExtension
-    static CassandraCQLUnit cassandra = CassandraUnitUtils.cassandraCQLUnit();
 
     @Produce("direct:input")
     ProducerTemplate producerTemplate;
@@ -67,11 +61,11 @@ public class CassandraComponentProducerTest extends 
BaseCassandraTest {
         return new RouteBuilder() {
             public void configure() {
 
-                from("direct:input").to("cql://localhost/camel_ks?cql=" + CQL);
-                
from("direct:inputNoParameter").to("cql://localhost/camel_ks?cql=" + 
NO_PARAMETER_CQL);
-                
from("direct:loadBalancingPolicy").to("cql://localhost/camel_ks?cql=" + 
NO_PARAMETER_CQL + 
"&loadBalancingPolicyClass=org.apache.camel.component.cassandra.MockLoadBalancingPolicy");
-                from("direct:inputNotConsistent").to(NOT_CONSISTENT_URI);
-                
from("direct:inputNoEndpointCql").to("cql://localhost/camel_ks");
+                from("direct:input").to(String.format("cql://%s/%s?cql=%s", 
getUrl(), KEYSPACE_NAME, CQL));
+                
from("direct:inputNoParameter").to(String.format("cql://%s/%s?cql=%s", 
getUrl(), KEYSPACE_NAME, NO_PARAMETER_CQL));
+                
from("direct:loadBalancingPolicy").to(String.format("cql://%s/%s?cql=%s&loadBalancingPolicyClass=org.apache.camel.component.cassandra.MockLoadBalancingPolicy",
 getUrl(), KEYSPACE_NAME, NO_PARAMETER_CQL));
+                
from("direct:inputNotConsistent").to(String.format("cql://%s/%s?cql=%s&consistencyLevel=ANY",
 getUrl(), KEYSPACE_NAME, CQL));
+                
from("direct:inputNoEndpointCql").to(String.format("cql://%s/%s", getUrl(), 
KEYSPACE_NAME));
             }
         };
     }
@@ -80,13 +74,11 @@ public class CassandraComponentProducerTest extends 
BaseCassandraTest {
     public void testRequestUriCql() throws Exception {
         producerTemplate.requestBody(Arrays.asList("w_jiang", "Willem", 
"Jiang"));
 
-        CqlSession session = CassandraUnitUtils.cassandraSession();
-        ResultSet resultSet = session.execute(String.format("select login, 
first_name, last_name from camel_user where login = '%s'", "w_jiang"));
+        ResultSet resultSet = getSession().execute(String.format("select 
login, first_name, last_name from camel_user where login = '%s'", "w_jiang"));
         Row row = resultSet.one();
         assertNotNull(row);
         assertEquals("Willem", row.getString("first_name"));
         assertEquals("Jiang", row.getString("last_name"));
-        session.close();
     }
 
     @Test
@@ -110,13 +102,11 @@ public class CassandraComponentProducerTest extends 
BaseCassandraTest {
         producerTemplate.requestBodyAndHeader(new Object[] {"Claus 2", "Ibsen 
2", "c_ibsen"}, CassandraConstants.CQL_QUERY,
                                               "update camel_user set 
first_name=?, last_name=? where login=?");
 
-        CqlSession session = CassandraUnitUtils.cassandraSession();
-        ResultSet resultSet = session.execute(String.format("select login, 
first_name, last_name from camel_user where login = '%s'", "c_ibsen"));
+        ResultSet resultSet = getSession().execute(String.format("select 
login, first_name, last_name from camel_user where login = '%s'", "c_ibsen"));
         Row row = resultSet.one();
         assertNotNull(row);
         assertEquals("Claus 2", row.getString("first_name"));
         assertEquals("Ibsen 2", row.getString("last_name"));
-        session.close();
     }
 
     @Test
@@ -125,14 +115,11 @@ public class CassandraComponentProducerTest extends 
BaseCassandraTest {
                 "update camel_user set first_name=?, last_name=? where 
login=?");
 
 
-        CqlSession session = CassandraUnitUtils.cassandraSession();
-        ResultSet resultSet = session.execute(String.format("select login, 
first_name, last_name from camel_user where login = '%s'", "c_ibsen"));
+        ResultSet resultSet = getSession().execute(String.format("select 
login, first_name, last_name from camel_user where login = '%s'", "c_ibsen"));
         Row row = resultSet.one();
         assertNotNull(row);
         assertEquals("Claus 2", row.getString("first_name"));
         assertEquals("Ibsen 2", row.getString("last_name"));
-        session.close();
-
 
         assertTrue(MockLoadBalancingPolicy.used);
     }
@@ -149,13 +136,11 @@ public class CassandraComponentProducerTest extends 
BaseCassandraTest {
                 .whereColumn("login").isEqualTo(bindMarker());
         producerTemplate.requestBodyAndHeader(new Object[] {"Claus 2", "Ibsen 
2", "c_ibsen"}, CassandraConstants.CQL_QUERY, update.build());
 
-        CqlSession session = CassandraUnitUtils.cassandraSession();
-        ResultSet resultSet = session.execute(String.format("select login, 
first_name, last_name from camel_user where login = '%s'", "c_ibsen"));
+        ResultSet resultSet = getSession().execute(String.format("select 
login, first_name, last_name from camel_user where login = '%s'", "c_ibsen"));
         Row row = resultSet.one();
         assertNotNull(row);
         assertEquals("Claus 2", row.getString("first_name"));
         assertEquals("Ibsen 2", row.getString("last_name"));
-        session.close();
     }
 
     /**
@@ -170,8 +155,7 @@ public class CassandraComponentProducerTest extends 
BaseCassandraTest {
                 .whereColumn("login").isEqualTo(bindMarker());
         producerTemplateNoEndpointCql.sendBodyAndHeader(new Object[] {"Claus 
2", "c_ibsen"}, CassandraConstants.CQL_QUERY, update.build());
 
-        CqlSession session = CassandraUnitUtils.cassandraSession();
-        ResultSet resultSet1 = session.execute(String.format("select login, 
first_name, last_name from camel_user where login = '%s'", "c_ibsen"));
+        ResultSet resultSet1 = getSession().execute(String.format("select 
login, first_name, last_name from camel_user where login = '%s'", "c_ibsen"));
         Row row1 = resultSet1.one();
         assertNotNull(row1);
         assertEquals("Claus 2", row1.getString("first_name"));
@@ -182,18 +166,16 @@ public class CassandraComponentProducerTest extends 
BaseCassandraTest {
                 .whereColumn("login").isEqualTo(bindMarker());
         producerTemplateNoEndpointCql.sendBodyAndHeader(new Object[] {"Ibsen 
2", "c_ibsen"}, CassandraConstants.CQL_QUERY, update.build());
 
-        ResultSet resultSet2 = session.execute(String.format("select login, 
first_name, last_name from camel_user where login = '%s'", "c_ibsen"));
+        ResultSet resultSet2 = getSession().execute(String.format("select 
login, first_name, last_name from camel_user where login = '%s'", "c_ibsen"));
         Row row2 = resultSet2.one();
         assertNotNull(row2);
         assertEquals("Claus 2", row2.getString("first_name"));
         assertEquals("Ibsen 2", row2.getString("last_name"));
-
-        session.close();
     }
 
     @Test
     public void testRequestNotConsistent() throws Exception {
-        CassandraEndpoint endpoint = getMandatoryEndpoint(NOT_CONSISTENT_URI, 
CassandraEndpoint.class);
+        CassandraEndpoint endpoint = 
getMandatoryEndpoint(String.format("cql://%s/%s?cql=%s&consistencyLevel=ANY", 
getUrl(), KEYSPACE_NAME, CQL), CassandraEndpoint.class);
         assertEquals(ConsistencyLevel.ANY, endpoint.getConsistencyLevel());
 
         notConsistentProducerTemplate.requestBody(Arrays.asList("j_anstey", 
"Jonathan", "Anstey"));
diff --git 
a/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/CassandraComponentProducerUnpreparedTest.java
 
b/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/CassandraComponentProducerUnpreparedTest.java
index c6a16fae..0242569 100644
--- 
a/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/CassandraComponentProducerUnpreparedTest.java
+++ 
b/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/CassandraComponentProducerUnpreparedTest.java
@@ -19,7 +19,6 @@ package org.apache.camel.component.cassandra;
 import java.util.Arrays;
 import java.util.List;
 
-import com.datastax.oss.driver.api.core.CqlSession;
 import com.datastax.oss.driver.api.core.cql.ResultSet;
 import com.datastax.oss.driver.api.core.cql.Row;
 import com.datastax.oss.driver.api.querybuilder.QueryBuilder;
@@ -28,9 +27,7 @@ import org.apache.camel.Produce;
 import org.apache.camel.ProducerTemplate;
 import org.apache.camel.builder.RouteBuilder;
 import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.RegisterExtension;
 
-import static com.datastax.oss.driver.api.querybuilder.QueryBuilder.bindMarker;
 import static com.datastax.oss.driver.api.querybuilder.QueryBuilder.literal;
 import static org.apache.camel.test.junit5.TestSupport.assertIsInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -41,9 +38,6 @@ public class CassandraComponentProducerUnpreparedTest extends 
BaseCassandraTest
     static final String CQL = "insert into camel_user(login, first_name, 
last_name) values (?, ?, ?)";
     static final String NO_PARAMETER_CQL = "select login, first_name, 
last_name from camel_user";
 
-    @RegisterExtension
-    static CassandraCQLUnit cassandra = CassandraUnitUtils.cassandraCQLUnit();
-
     @Produce("direct:input")
     ProducerTemplate producerTemplate;
 
@@ -55,8 +49,8 @@ public class CassandraComponentProducerUnpreparedTest extends 
BaseCassandraTest
         return new RouteBuilder() {
             public void configure() {
 
-                from("direct:input").to("cql://localhost/camel_ks?cql=" + CQL 
+ "&prepareStatements=false");
-                
from("direct:inputNoParameter").to("cql://localhost/camel_ks?cql=" + 
NO_PARAMETER_CQL + "&prepareStatements=false");
+                
from("direct:input").to(String.format("cql://%s/%s?cql=%s&prepareStatements=false",
 getUrl(), KEYSPACE_NAME, CQL));
+                
from("direct:inputNoParameter").to(String.format("cql://%s/%s?cql=%s&prepareStatements=false",
 getUrl(), KEYSPACE_NAME, NO_PARAMETER_CQL));
             }
         };
     }
@@ -65,13 +59,11 @@ public class CassandraComponentProducerUnpreparedTest 
extends BaseCassandraTest
     public void testRequestUriCql() throws Exception {
         producerTemplate.requestBody(Arrays.asList("w_jiang", "Willem", 
"Jiang"));
 
-        CqlSession session = CassandraUnitUtils.cassandraSession();
-        ResultSet resultSet = session.execute(String.format("select login, 
first_name, last_name from camel_user where login = '%s'", "w_jiang"));
+        ResultSet resultSet = getSession().execute(String.format("select 
login, first_name, last_name from camel_user where login = '%s'", "w_jiang"));
         Row row = resultSet.one();
         assertNotNull(row);
         assertEquals("Willem", row.getString("first_name"));
         assertEquals("Jiang", row.getString("last_name"));
-        session.close();
     }
 
     @Test
@@ -95,13 +87,11 @@ public class CassandraComponentProducerUnpreparedTest 
extends BaseCassandraTest
         producerTemplate.requestBodyAndHeader(new Object[] {"Claus 2", "Ibsen 
2", "c_ibsen"}, CassandraConstants.CQL_QUERY,
                                               "update camel_user set 
first_name=?, last_name=? where login=?");
 
-        CqlSession session = CassandraUnitUtils.cassandraSession();
-        ResultSet resultSet = session.execute(String.format("select login, 
first_name, last_name from camel_user where login = '%s'", "c_ibsen"));
+        ResultSet resultSet = getSession().execute(String.format("select 
login, first_name, last_name from camel_user where login = '%s'", "c_ibsen"));
         Row row = resultSet.one();
         assertNotNull(row);
         assertEquals("Claus 2", row.getString("first_name"));
         assertEquals("Ibsen 2", row.getString("last_name"));
-        session.close();
     }
 
     /**
@@ -115,13 +105,11 @@ public class CassandraComponentProducerUnpreparedTest 
extends BaseCassandraTest
                 .whereColumn("login").isEqualTo(literal("c_ibsen"));
         producerTemplate.requestBodyAndHeader(null, 
CassandraConstants.CQL_QUERY, update.build());
 
-        CqlSession session = CassandraUnitUtils.cassandraSession();
-        ResultSet resultSet = session.execute(String.format("select login, 
first_name, last_name from camel_user where login = '%s'", "c_ibsen"));
+        ResultSet resultSet = getSession().execute(String.format("select 
login, first_name, last_name from camel_user where login = '%s'", "c_ibsen"));
         Row row = resultSet.one();
         assertNotNull(row);
         assertEquals("Claus 2", row.getString("first_name"));
         assertEquals("Ibsen 2", row.getString("last_name"));
-        session.close();
     }
 
 }
diff --git 
a/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/CassandraUnitUtils.java
 
b/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/CassandraUnitUtils.java
deleted file mode 100644
index fd85f54..0000000
--- 
a/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/CassandraUnitUtils.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.cassandra;
-
-import java.net.InetSocketAddress;
-
-import com.datastax.oss.driver.api.core.CqlSession;
-import org.cassandraunit.dataset.CQLDataSet;
-import org.cassandraunit.dataset.cql.ClassPathCQLDataSet;
-import org.cassandraunit.utils.EmbeddedCassandraServerHelper;
-
-/**
- * Util methods to manage Cassandra in Unit tests
- */
-public final class CassandraUnitUtils {
-    public static final String HOST = "127.0.0.1";
-    public static final String KEYSPACE = "camel_ks";
-
-    private CassandraUnitUtils() {
-    }
-
-    /**
-     * Create Cassandra JUnit Rule.
-     */
-    public static CassandraCQLUnit cassandraCQLUnit() {
-        return cassandraCQLUnit("BasicDataSet.cql");
-    }
-
-    public static CassandraCQLUnit cassandraCQLUnit(String dataSetCql) {
-        return cassandraCQLUnit(cqlDataSet(dataSetCql));
-    }
-
-    public static CQLDataSet cqlDataSet(String dataSetCql) {
-        return new ClassPathCQLDataSet(dataSetCql, KEYSPACE);
-    }
-
-    public static CassandraCQLUnit cassandraCQLUnit(CQLDataSet dataset) {
-        return cassandraCQLUnit(dataset, "/camel-cassandra.yaml");
-    }
-
-    public static CassandraCQLUnit cassandraCQLUnit(CQLDataSet dataset, String 
configurationFileName) {
-        return new CassandraCQLUnit(dataset, "/camel-cassandra.yaml");
-    }
-
-    /**
-     * Start embedded Cassandra.
-     */
-    public static void startEmbeddedCassandra() throws Exception {
-        
EmbeddedCassandraServerHelper.startEmbeddedCassandra("/camel-cassandra.yaml", 
"target/camel-cassandra", 30000);
-    }
-
-    /**
-     * Clean embedded Cassandra.
-     */
-    public static void cleanEmbeddedCassandra() throws Exception {
-        EmbeddedCassandraServerHelper.cleanEmbeddedCassandra();
-    }
-
-    public static CqlSession cassandraSession() {
-        return CqlSession.builder().addContactPoint(new 
InetSocketAddress(HOST, 
9042)).withKeyspace(KEYSPACE).withLocalDatacenter("datacenter1").build();
-    }
-}
diff --git 
a/components/camel-cassandraql/src/test/java/org/apache/camel/processor/aggregate/cassandra/CassandraAggregationRepositoryTest.java
 
b/components/camel-cassandraql/src/test/java/org/apache/camel/processor/aggregate/cassandra/CassandraAggregationRepositoryTest.java
index 09f7221..e28a7c6 100644
--- 
a/components/camel-cassandraql/src/test/java/org/apache/camel/processor/aggregate/cassandra/CassandraAggregationRepositoryTest.java
+++ 
b/components/camel-cassandraql/src/test/java/org/apache/camel/processor/aggregate/cassandra/CassandraAggregationRepositoryTest.java
@@ -18,16 +18,11 @@ package org.apache.camel.processor.aggregate.cassandra;
 
 import java.util.Set;
 
-import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.component.cassandra.BaseCassandraTest;
-import org.apache.camel.component.cassandra.CassandraCQLUnit;
-import org.apache.camel.component.cassandra.CassandraUnitUtils;
-import org.apache.camel.impl.DefaultCamelContext;
 import org.apache.camel.support.DefaultExchange;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -40,28 +35,24 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
  */
 public class CassandraAggregationRepositoryTest extends BaseCassandraTest {
 
-    @RegisterExtension
-    static CassandraCQLUnit cassandra = 
CassandraUnitUtils.cassandraCQLUnit("AggregationDataSet.cql");
-
     private CassandraAggregationRepository aggregationRepository;
-    private CamelContext camelContext;
 
     @Override
     protected void doPreSetup() throws Exception {
-        camelContext = new DefaultCamelContext();
-        aggregationRepository = new 
CassandraAggregationRepository(cassandra.session);
+        aggregationRepository = new 
CassandraAggregationRepository(getSession());
         aggregationRepository.start();
         super.doPreSetup();
     }
 
-//    @Override
-//    @AfterEach
-//    public void tearDown() throws Exception {
-//        aggregationRepository.stop();
-//    }
+    @Override
+    @AfterEach
+    public void tearDown() throws Exception {
+        super.tearDown();
+        aggregationRepository.stop();
+    }
 
     private boolean exists(String key) {
-        return cassandra.session.execute(String.format("select KEY from 
CAMEL_AGGREGATION where KEY='%s'", key)).one() != null;
+        return getSession().execute(String.format("select KEY from 
CAMEL_AGGREGATION where KEY='%s'", key)).one() != null;
     }
 
     @Test
@@ -69,9 +60,9 @@ public class CassandraAggregationRepositoryTest extends 
BaseCassandraTest {
         // Given
         String key = "Add";
         assertFalse(exists(key));
-        Exchange exchange = new DefaultExchange(camelContext);
+        Exchange exchange = new DefaultExchange(context);
         // When
-        aggregationRepository.add(camelContext, key, exchange);
+        aggregationRepository.add(context, key, exchange);
         // Then
         assertTrue(exists(key));
     }
@@ -80,11 +71,11 @@ public class CassandraAggregationRepositoryTest extends 
BaseCassandraTest {
     public void testGetExists() {
         // Given
         String key = "Get_Exists";
-        Exchange exchange = new DefaultExchange(camelContext);
-        aggregationRepository.add(camelContext, key, exchange);
+        Exchange exchange = new DefaultExchange(context);
+        aggregationRepository.add(context, key, exchange);
         assertTrue(exists(key));
         // When
-        Exchange exchange2 = aggregationRepository.get(camelContext, key);
+        Exchange exchange2 = aggregationRepository.get(context, key);
         // Then
         assertNotNull(exchange2);
         assertEquals(exchange.getExchangeId(), exchange2.getExchangeId());
@@ -96,7 +87,7 @@ public class CassandraAggregationRepositoryTest extends 
BaseCassandraTest {
         String key = "Get_NotExists";
         assertFalse(exists(key));
         // When
-        Exchange exchange2 = aggregationRepository.get(camelContext, key);
+        Exchange exchange2 = aggregationRepository.get(context, key);
         // Then
         assertNull(exchange2);
     }
@@ -105,11 +96,11 @@ public class CassandraAggregationRepositoryTest extends 
BaseCassandraTest {
     public void testRemoveExists() {
         // Given
         String key = "Remove_Exists";
-        Exchange exchange = new DefaultExchange(camelContext);
-        aggregationRepository.add(camelContext, key, exchange);
+        Exchange exchange = new DefaultExchange(context);
+        aggregationRepository.add(context, key, exchange);
         assertTrue(exists(key));
         // When
-        aggregationRepository.remove(camelContext, key, exchange);
+        aggregationRepository.remove(context, key, exchange);
         // Then
         assertFalse(exists(key));
     }
@@ -118,10 +109,10 @@ public class CassandraAggregationRepositoryTest extends 
BaseCassandraTest {
     public void testRemoveNotExists() {
         // Given
         String key = "RemoveNotExists";
-        Exchange exchange = new DefaultExchange(camelContext);
+        Exchange exchange = new DefaultExchange(context);
         assertFalse(exists(key));
         // When
-        aggregationRepository.remove(camelContext, key, exchange);
+        aggregationRepository.remove(context, key, exchange);
         // Then
         assertFalse(exists(key));
     }
@@ -144,13 +135,13 @@ public class CassandraAggregationRepositoryTest extends 
BaseCassandraTest {
         // Given
         for (int i = 1; i < 4; i++) {
             String key = "Confirm_" + i;
-            Exchange exchange = new DefaultExchange(camelContext);
+            Exchange exchange = new DefaultExchange(context);
             exchange.setExchangeId("Exchange_" + i);
-            aggregationRepository.add(camelContext, key, exchange);
+            aggregationRepository.add(context, key, exchange);
             assertTrue(exists(key));
         }
         // When
-        aggregationRepository.confirm(camelContext, "Exchange_2");
+        aggregationRepository.confirm(context, "Exchange_2");
         // Then
         assertTrue(exists("Confirm_1"));
         assertFalse(exists("Confirm_2"));
@@ -169,7 +160,7 @@ public class CassandraAggregationRepositoryTest extends 
BaseCassandraTest {
             assertTrue(exists(key));
         }
         // When
-        aggregationRepository.confirm(camelContext, "Exchange-Confirm5");
+        aggregationRepository.confirm(context, "Exchange-Confirm5");
         // Then
         for (String key : keys) {
             assertTrue(exists(key));
@@ -178,9 +169,9 @@ public class CassandraAggregationRepositoryTest extends 
BaseCassandraTest {
 
     private void addExchanges(String... keys) {
         for (String key : keys) {
-            Exchange exchange = new DefaultExchange(camelContext);
+            Exchange exchange = new DefaultExchange(context);
             exchange.setExchangeId("Exchange-" + key);
-            aggregationRepository.add(camelContext, key, exchange);
+            aggregationRepository.add(context, key, exchange);
         }
     }
 
@@ -190,7 +181,7 @@ public class CassandraAggregationRepositoryTest extends 
BaseCassandraTest {
         String[] keys = {"Scan1", "Scan2"};
         addExchanges(keys);
         // When
-        Set<String> exchangeIdSet = aggregationRepository.scan(camelContext);
+        Set<String> exchangeIdSet = aggregationRepository.scan(context);
         // Then
         for (String key : keys) {
             assertTrue(exchangeIdSet.contains("Exchange-" + key));
@@ -203,8 +194,8 @@ public class CassandraAggregationRepositoryTest extends 
BaseCassandraTest {
         String[] keys = {"Recover1", "Recover2"};
         addExchanges(keys);
         // When
-        Exchange exchange2 = aggregationRepository.recover(camelContext, 
"Exchange-Recover2");
-        Exchange exchange3 = aggregationRepository.recover(camelContext, 
"Exchange-Recover3");
+        Exchange exchange2 = aggregationRepository.recover(context, 
"Exchange-Recover2");
+        Exchange exchange3 = aggregationRepository.recover(context, 
"Exchange-Recover3");
         // Then
         assertNotNull(exchange2);
         assertNull(exchange3);
diff --git 
a/components/camel-cassandraql/src/test/java/org/apache/camel/processor/aggregate/cassandra/CassandraAggregationSerializedHeadersTest.java
 
b/components/camel-cassandraql/src/test/java/org/apache/camel/processor/aggregate/cassandra/CassandraAggregationSerializedHeadersTest.java
index f2f8697..76a92a4 100644
--- 
a/components/camel-cassandraql/src/test/java/org/apache/camel/processor/aggregate/cassandra/CassandraAggregationSerializedHeadersTest.java
+++ 
b/components/camel-cassandraql/src/test/java/org/apache/camel/processor/aggregate/cassandra/CassandraAggregationSerializedHeadersTest.java
@@ -20,27 +20,22 @@ import org.apache.camel.AggregationStrategy;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.cassandra.BaseCassandraTest;
-import org.apache.camel.component.cassandra.CassandraCQLUnit;
-import org.apache.camel.component.cassandra.CassandraUnitUtils;
 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.Test;
-import org.junit.jupiter.api.extension.RegisterExtension;
 
 /**
  * Unite test for {@link CassandraAggregationRepository}
  */
 public class CassandraAggregationSerializedHeadersTest extends 
BaseCassandraTest {
 
-    @RegisterExtension
-    static CassandraCQLUnit cassandra = 
CassandraUnitUtils.cassandraCQLUnit("NamedAggregationDataSet.cql");
 
     private CassandraAggregationRepository aggregationRepository;
 
     @Override
     protected void doPreSetup() throws Exception {
-        aggregationRepository = new 
NamedCassandraAggregationRepository(cassandra.session, "ID");
+        aggregationRepository = new 
NamedCassandraAggregationRepository(getSession(), "ID");
         aggregationRepository.setTable("NAMED_CAMEL_AGGREGATION");
         aggregationRepository.setAllowSerializedHeaders(true);
         aggregationRepository.start();
diff --git 
a/components/camel-cassandraql/src/test/java/org/apache/camel/processor/aggregate/cassandra/CassandraAggregationTest.java
 
b/components/camel-cassandraql/src/test/java/org/apache/camel/processor/aggregate/cassandra/CassandraAggregationTest.java
index 059a7ef..3965f70 100644
--- 
a/components/camel-cassandraql/src/test/java/org/apache/camel/processor/aggregate/cassandra/CassandraAggregationTest.java
+++ 
b/components/camel-cassandraql/src/test/java/org/apache/camel/processor/aggregate/cassandra/CassandraAggregationTest.java
@@ -20,26 +20,20 @@ import org.apache.camel.AggregationStrategy;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.cassandra.BaseCassandraTest;
-import org.apache.camel.component.cassandra.CassandraCQLUnit;
-import org.apache.camel.component.cassandra.CassandraUnitUtils;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.RegisterExtension;
 
 /**
  * Unite test for {@link CassandraAggregationRepository}
  */
 public class CassandraAggregationTest extends BaseCassandraTest {
 
-    @RegisterExtension
-    static CassandraCQLUnit cassandra = 
CassandraUnitUtils.cassandraCQLUnit("NamedAggregationDataSet.cql");
-
     private CassandraAggregationRepository aggregationRepository;
 
     @Override
     protected void doPreSetup() throws Exception {
-        aggregationRepository = new 
NamedCassandraAggregationRepository(cassandra.session, "ID");
+        aggregationRepository = new 
NamedCassandraAggregationRepository(getSession(), "ID");
         aggregationRepository.setTable("NAMED_CAMEL_AGGREGATION");
         aggregationRepository.start();
         super.doPreSetup();
diff --git 
a/components/camel-cassandraql/src/test/java/org/apache/camel/processor/aggregate/cassandra/NamedCassandraAggregationRepositoryTest.java
 
b/components/camel-cassandraql/src/test/java/org/apache/camel/processor/aggregate/cassandra/NamedCassandraAggregationRepositoryTest.java
index 17efe20..c3e9266 100644
--- 
a/components/camel-cassandraql/src/test/java/org/apache/camel/processor/aggregate/cassandra/NamedCassandraAggregationRepositoryTest.java
+++ 
b/components/camel-cassandraql/src/test/java/org/apache/camel/processor/aggregate/cassandra/NamedCassandraAggregationRepositoryTest.java
@@ -18,17 +18,11 @@ package org.apache.camel.processor.aggregate.cassandra;
 
 import java.util.Set;
 
-import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.component.cassandra.BaseCassandraTest;
-import org.apache.camel.component.cassandra.CassandraCQLUnit;
-import org.apache.camel.component.cassandra.CassandraUnitUtils;
-import org.apache.camel.impl.DefaultCamelContext;
 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.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -41,30 +35,26 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
  */
 public class NamedCassandraAggregationRepositoryTest extends BaseCassandraTest 
{
 
-    @RegisterExtension
-
-    static CassandraCQLUnit cassandra = 
CassandraUnitUtils.cassandraCQLUnit("NamedAggregationDataSet.cql");
-
     private CassandraAggregationRepository aggregationRepository;
-    private CamelContext camelContext;
 
     @Override
-    @BeforeEach
-    public void setUp() throws Exception {
-        camelContext = new DefaultCamelContext();
-        aggregationRepository = new 
NamedCassandraAggregationRepository(cassandra.session, "ID");
+    protected void doPreSetup() throws Exception {
+        aggregationRepository = new 
NamedCassandraAggregationRepository(getSession(), "ID");
         aggregationRepository.setTable("NAMED_CAMEL_AGGREGATION");
         aggregationRepository.start();
+
+        super.doPreSetup();
     }
 
-//    @Override
-//    @AfterEach
-//    public void tearDown() throws Exception {
-//        aggregationRepository.stop();
-//    }
+    @Override
+    @AfterEach
+    public void tearDown() throws Exception {
+        super.tearDown();
+        aggregationRepository.stop();
+    }
 
     private boolean exists(String key) {
-        return cassandra.session.execute(String.format("select KEY from 
NAMED_CAMEL_AGGREGATION where NAME='ID' and KEY='%s'", key)).one() != null;
+        return getSession().execute(String.format("select KEY from 
NAMED_CAMEL_AGGREGATION where NAME='ID' and KEY='%s'", key)).one() != null;
     }
 
     @Test
@@ -72,9 +62,9 @@ public class NamedCassandraAggregationRepositoryTest extends 
BaseCassandraTest {
         // Given
         String key = "Add";
         assertFalse(exists(key));
-        Exchange exchange = new DefaultExchange(camelContext);
+        Exchange exchange = new DefaultExchange(context);
         // When
-        aggregationRepository.add(camelContext, key, exchange);
+        aggregationRepository.add(context, key, exchange);
         // Then
         assertTrue(exists(key));
     }
@@ -83,11 +73,11 @@ public class NamedCassandraAggregationRepositoryTest 
extends BaseCassandraTest {
     public void testGetExists() {
         // Given
         String key = "Get_Exists";
-        Exchange exchange = new DefaultExchange(camelContext);
-        aggregationRepository.add(camelContext, key, exchange);
+        Exchange exchange = new DefaultExchange(context);
+        aggregationRepository.add(context, key, exchange);
         assertTrue(exists(key));
         // When
-        Exchange exchange2 = aggregationRepository.get(camelContext, key);
+        Exchange exchange2 = aggregationRepository.get(context, key);
         // Then
         assertNotNull(exchange2);
         assertEquals(exchange.getExchangeId(), exchange2.getExchangeId());
@@ -99,7 +89,7 @@ public class NamedCassandraAggregationRepositoryTest extends 
BaseCassandraTest {
         String key = "Get_NotExists";
         assertFalse(exists(key));
         // When
-        Exchange exchange2 = aggregationRepository.get(camelContext, key);
+        Exchange exchange2 = aggregationRepository.get(context, key);
         // Then
         assertNull(exchange2);
     }
@@ -108,11 +98,11 @@ public class NamedCassandraAggregationRepositoryTest 
extends BaseCassandraTest {
     public void testRemoveExists() {
         // Given
         String key = "Remove_Exists";
-        Exchange exchange = new DefaultExchange(camelContext);
-        aggregationRepository.add(camelContext, key, exchange);
+        Exchange exchange = new DefaultExchange(context);
+        aggregationRepository.add(context, key, exchange);
         assertTrue(exists(key));
         // When
-        aggregationRepository.remove(camelContext, key, exchange);
+        aggregationRepository.remove(context, key, exchange);
         // Then
         assertFalse(exists(key));
     }
@@ -121,10 +111,10 @@ public class NamedCassandraAggregationRepositoryTest 
extends BaseCassandraTest {
     public void testRemoveNotExists() {
         // Given
         String key = "RemoveNotExists";
-        Exchange exchange = new DefaultExchange(camelContext);
+        Exchange exchange = new DefaultExchange(context);
         assertFalse(exists(key));
         // When
-        aggregationRepository.remove(camelContext, key, exchange);
+        aggregationRepository.remove(context, key, exchange);
         // Then
         assertFalse(exists(key));
     }
@@ -147,13 +137,13 @@ public class NamedCassandraAggregationRepositoryTest 
extends BaseCassandraTest {
         // Given
         for (int i = 1; i < 4; i++) {
             String key = "Confirm_" + i;
-            Exchange exchange = new DefaultExchange(camelContext);
+            Exchange exchange = new DefaultExchange(context);
             exchange.setExchangeId("Exchange_" + i);
-            aggregationRepository.add(camelContext, key, exchange);
+            aggregationRepository.add(context, key, exchange);
             assertTrue(exists(key));
         }
         // When
-        aggregationRepository.confirm(camelContext, "Exchange_2");
+        aggregationRepository.confirm(context, "Exchange_2");
         // Then
         assertTrue(exists("Confirm_1"));
         assertFalse(exists("Confirm_2"));
@@ -172,7 +162,7 @@ public class NamedCassandraAggregationRepositoryTest 
extends BaseCassandraTest {
             assertTrue(exists(key));
         }
         // When
-        aggregationRepository.confirm(camelContext, "Exchange-Confirm5");
+        aggregationRepository.confirm(context, "Exchange-Confirm5");
         // Then
         for (String key : keys) {
             assertTrue(exists(key));
@@ -181,9 +171,9 @@ public class NamedCassandraAggregationRepositoryTest 
extends BaseCassandraTest {
 
     private void addExchanges(String... keys) {
         for (String key : keys) {
-            Exchange exchange = new DefaultExchange(camelContext);
+            Exchange exchange = new DefaultExchange(context);
             exchange.setExchangeId("Exchange-" + key);
-            aggregationRepository.add(camelContext, key, exchange);
+            aggregationRepository.add(context, key, exchange);
         }
     }
 
@@ -193,7 +183,7 @@ public class NamedCassandraAggregationRepositoryTest 
extends BaseCassandraTest {
         String[] keys = {"Scan1", "Scan2"};
         addExchanges(keys);
         // When
-        Set<String> exchangeIdSet = aggregationRepository.scan(camelContext);
+        Set<String> exchangeIdSet = aggregationRepository.scan(context);
         // Then
         for (String key : keys) {
             assertTrue(exchangeIdSet.contains("Exchange-" + key));
@@ -206,8 +196,8 @@ public class NamedCassandraAggregationRepositoryTest 
extends BaseCassandraTest {
         String[] keys = {"Recover1", "Recover2"};
         addExchanges(keys);
         // When
-        Exchange exchange2 = aggregationRepository.recover(camelContext, 
"Exchange-Recover2");
-        Exchange exchange3 = aggregationRepository.recover(camelContext, 
"Exchange-Recover3");
+        Exchange exchange2 = aggregationRepository.recover(context, 
"Exchange-Recover2");
+        Exchange exchange3 = aggregationRepository.recover(context, 
"Exchange-Recover3");
         // Then
         assertNotNull(exchange2);
         assertNull(exchange3);
diff --git 
a/components/camel-cassandraql/src/test/java/org/apache/camel/processor/idempotent/cassandra/CassandraIdempotentRepositoryTest.java
 
b/components/camel-cassandraql/src/test/java/org/apache/camel/processor/idempotent/cassandra/CassandraIdempotentRepositoryTest.java
index 6524386..ca3c479 100644
--- 
a/components/camel-cassandraql/src/test/java/org/apache/camel/processor/idempotent/cassandra/CassandraIdempotentRepositoryTest.java
+++ 
b/components/camel-cassandraql/src/test/java/org/apache/camel/processor/idempotent/cassandra/CassandraIdempotentRepositoryTest.java
@@ -17,12 +17,9 @@
 package org.apache.camel.processor.idempotent.cassandra;
 
 import org.apache.camel.component.cassandra.BaseCassandraTest;
-import org.apache.camel.component.cassandra.CassandraCQLUnit;
-import org.apache.camel.component.cassandra.CassandraUnitUtils;
 import org.junit.jupiter.api.AfterEach;
-import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.RegisterExtension;
+import org.junit.jupiter.api.extension.ExtensionContext;
 
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -32,29 +29,32 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
  */
 public class CassandraIdempotentRepositoryTest extends BaseCassandraTest {
 
-    @RegisterExtension
-    static CassandraCQLUnit cassandra = 
CassandraUnitUtils.cassandraCQLUnit("IdempotentDataSet.cql");
-
     private CassandraIdempotentRepository idempotentRepository;
 
     @Override
-    @BeforeEach
-    public void setUp() throws Exception {
-        idempotentRepository = new 
CassandraIdempotentRepository(cassandra.session);
-
+    protected void doPreSetup() throws Exception {
+        idempotentRepository = new CassandraIdempotentRepository(getSession());
         idempotentRepository.start();
-        super.setUp();
+
+        super.doPreSetup();
+    }
+
+    @Override
+    public void beforeEach(ExtensionContext context) throws Exception {
+        super.beforeEach(context);
+
+        executeScript("IdempotentDataSet.cql");
     }
 
     @Override
     @AfterEach
     public void tearDown() throws Exception {
-        idempotentRepository.stop();
         super.tearDown();
+        idempotentRepository.stop();
     }
 
     private boolean exists(String key) {
-        return cassandra.session.execute(String.format("select KEY from 
CAMEL_IDEMPOTENT where KEY='%s'", key)).one() != null;
+        return getSession().execute(String.format("select KEY from 
CAMEL_IDEMPOTENT where KEY='%s'", key)).one() != null;
     }
 
     @Test
diff --git 
a/components/camel-cassandraql/src/test/java/org/apache/camel/processor/idempotent/cassandra/CassandraIdempotentTest.java
 
b/components/camel-cassandraql/src/test/java/org/apache/camel/processor/idempotent/cassandra/CassandraIdempotentTest.java
index 2559dee..3a9333d 100644
--- 
a/components/camel-cassandraql/src/test/java/org/apache/camel/processor/idempotent/cassandra/CassandraIdempotentTest.java
+++ 
b/components/camel-cassandraql/src/test/java/org/apache/camel/processor/idempotent/cassandra/CassandraIdempotentTest.java
@@ -18,26 +18,20 @@ package org.apache.camel.processor.idempotent.cassandra;
 
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.cassandra.BaseCassandraTest;
-import org.apache.camel.component.cassandra.CassandraCQLUnit;
-import org.apache.camel.component.cassandra.CassandraUnitUtils;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.RegisterExtension;
 
 /**
  * Unite test for {@link CassandraIdempotentRepository}
  */
 public class CassandraIdempotentTest extends BaseCassandraTest {
 
-    @RegisterExtension
-    static CassandraCQLUnit cassandra = 
CassandraUnitUtils.cassandraCQLUnit("NamedIdempotentDataSet.cql");
-
     private CassandraIdempotentRepository idempotentRepository;
 
     @Override
     protected void doPreSetup() throws Exception {
-        idempotentRepository = new 
NamedCassandraIdempotentRepository(cassandra.session, "ID");
+        idempotentRepository = new 
NamedCassandraIdempotentRepository(getSession(), "ID");
         idempotentRepository.setTable("NAMED_CAMEL_IDEMPOTENT");
         idempotentRepository.start();
         super.doPreSetup();
diff --git 
a/components/camel-cassandraql/src/test/java/org/apache/camel/processor/idempotent/cassandra/NamedCassandraIdempotentRepositoryTest.java
 
b/components/camel-cassandraql/src/test/java/org/apache/camel/processor/idempotent/cassandra/NamedCassandraIdempotentRepositoryTest.java
index 09bc08c..d67e661 100644
--- 
a/components/camel-cassandraql/src/test/java/org/apache/camel/processor/idempotent/cassandra/NamedCassandraIdempotentRepositoryTest.java
+++ 
b/components/camel-cassandraql/src/test/java/org/apache/camel/processor/idempotent/cassandra/NamedCassandraIdempotentRepositoryTest.java
@@ -17,12 +17,9 @@
 package org.apache.camel.processor.idempotent.cassandra;
 
 import org.apache.camel.component.cassandra.BaseCassandraTest;
-import org.apache.camel.component.cassandra.CassandraCQLUnit;
-import org.apache.camel.component.cassandra.CassandraUnitUtils;
 import org.junit.jupiter.api.AfterEach;
-import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.RegisterExtension;
+import org.junit.jupiter.api.extension.ExtensionContext;
 
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -32,18 +29,22 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
  */
 public class NamedCassandraIdempotentRepositoryTest extends BaseCassandraTest {
 
-    @RegisterExtension
-    static CassandraCQLUnit cassandra = 
CassandraUnitUtils.cassandraCQLUnit("NamedIdempotentDataSet.cql");
-
     private CassandraIdempotentRepository idempotentRepository;
 
     @Override
-    @BeforeEach
-    public void setUp() throws Exception {
-        idempotentRepository = new 
NamedCassandraIdempotentRepository(cassandra.session, "ID");
+    protected void doPreSetup() throws Exception {
+        idempotentRepository = new 
NamedCassandraIdempotentRepository(getSession(), "ID");
         idempotentRepository.setTable("NAMED_CAMEL_IDEMPOTENT");
         idempotentRepository.start();
-        super.setUp();
+
+        super.doPreSetup();
+    }
+
+    @Override
+    public void beforeEach(ExtensionContext context) throws Exception {
+        super.beforeEach(context);
+
+        executeScript("NamedIdempotentDataSet.cql");
     }
 
     @Override
@@ -54,7 +55,7 @@ public class NamedCassandraIdempotentRepositoryTest extends 
BaseCassandraTest {
     }
 
     private boolean exists(String key) {
-        return cassandra.session.execute(String.format("select KEY from 
NAMED_CAMEL_IDEMPOTENT where NAME='ID' and KEY='%s'", key)).one() != null;
+        return getSession().execute(String.format("select KEY from 
NAMED_CAMEL_IDEMPOTENT where NAME='ID' and KEY='%s'", key)).one() != null;
     }
 
     @Test
diff --git 
a/components/camel-cassandraql/src/test/resources/AggregationDataSet.cql 
b/components/camel-cassandraql/src/test/resources/AggregationDataSet.cql
deleted file mode 100644
index 0ff543a..0000000
--- a/components/camel-cassandraql/src/test/resources/AggregationDataSet.cql
+++ /dev/null
@@ -1,6 +0,0 @@
-CREATE TABLE CAMEL_AGGREGATION (
-  KEY varchar,
-  EXCHANGE_ID varchar,
-  EXCHANGE blob,
-  PRIMARY KEY (KEY)
-);
diff --git a/components/camel-cassandraql/src/test/resources/BasicDataSet.cql 
b/components/camel-cassandraql/src/test/resources/BasicDataSet.cql
index a47d42d..9054e40 100644
--- a/components/camel-cassandraql/src/test/resources/BasicDataSet.cql
+++ b/components/camel-cassandraql/src/test/resources/BasicDataSet.cql
@@ -1,9 +1,6 @@
-CREATE TABLE camel_user (
-  login varchar PRIMARY KEY,
-  first_name varchar,
-  last_name varchar
-);
+TRUNCATE camel_user;
+
 INSERT INTO camel_user(login, first_name, last_name)
     VALUES('j_strachan','James','Strachan');
 INSERT INTO camel_user(login, first_name, last_name)
-    VALUES('c_ibsen','Claus','Ibsen');
+    VALUES('c_ibsen','Claus','Ibsen');
\ No newline at end of file
diff --git 
a/components/camel-cassandraql/src/test/resources/IdempotentDataSet.cql 
b/components/camel-cassandraql/src/test/resources/IdempotentDataSet.cql
index 50a09a7..2d4b974 100644
--- a/components/camel-cassandraql/src/test/resources/IdempotentDataSet.cql
+++ b/components/camel-cassandraql/src/test/resources/IdempotentDataSet.cql
@@ -1,10 +1,8 @@
-CREATE TABLE CAMEL_IDEMPOTENT (
-  KEY varchar,
-  PRIMARY KEY (KEY)
-);
+TRUNCATE CAMEL_IDEMPOTENT;
+
 INSERT INTO CAMEL_IDEMPOTENT(KEY)
     VALUES('Add_Exists');
-INSERT INTO CAMEL_IDEMPOTENT(KEY)
+INSERT INTO camel_ks.CAMEL_IDEMPOTENT(KEY)
     VALUES('Contains_Exists');
-INSERT INTO CAMEL_IDEMPOTENT(KEY)
-    VALUES('Remove_Exists');
+INSERT INTO camel_ks.CAMEL_IDEMPOTENT(KEY)
+    VALUES('Remove_Exists');
\ No newline at end of file
diff --git 
a/components/camel-cassandraql/src/test/resources/NamedAggregationDataSet.cql 
b/components/camel-cassandraql/src/test/resources/NamedAggregationDataSet.cql
deleted file mode 100644
index 2b53326..0000000
--- 
a/components/camel-cassandraql/src/test/resources/NamedAggregationDataSet.cql
+++ /dev/null
@@ -1,7 +0,0 @@
-CREATE TABLE NAMED_CAMEL_AGGREGATION (
-  NAME varchar,
-  KEY varchar,
-  EXCHANGE_ID varchar,
-  EXCHANGE blob,
-  PRIMARY KEY (NAME, KEY)
-);
diff --git 
a/components/camel-cassandraql/src/test/resources/NamedIdempotentDataSet.cql 
b/components/camel-cassandraql/src/test/resources/NamedIdempotentDataSet.cql
index 14a8e52..a8adebd 100644
--- a/components/camel-cassandraql/src/test/resources/NamedIdempotentDataSet.cql
+++ b/components/camel-cassandraql/src/test/resources/NamedIdempotentDataSet.cql
@@ -1,11 +1,8 @@
-CREATE TABLE NAMED_CAMEL_IDEMPOTENT (
-  NAME varchar,
-  KEY varchar,
-  PRIMARY KEY (NAME, KEY)
-);
+TRUNCATE NAMED_CAMEL_IDEMPOTENT;
+
 INSERT INTO NAMED_CAMEL_IDEMPOTENT(NAME, KEY)
     VALUES('ID','Add_Exists');
 INSERT INTO NAMED_CAMEL_IDEMPOTENT(NAME, KEY)
     VALUES('ID','Contains_Exists');
 INSERT INTO NAMED_CAMEL_IDEMPOTENT(NAME, KEY)
-    VALUES('ID','Remove_Exists');
+    VALUES('ID','Remove_Exists');
\ No newline at end of file
diff --git a/components/camel-cassandraql/src/test/resources/driver.conf 
b/components/camel-cassandraql/src/test/resources/driver.conf
new file mode 100644
index 0000000..9d47707
--- /dev/null
+++ b/components/camel-cassandraql/src/test/resources/driver.conf
@@ -0,0 +1,8 @@
+datastax-java-driver {
+  advanced.protocol.version = V4
+  profiles {
+    slow {
+      basic.request.timeout = 10 seconds
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/camel-cassandraql/src/test/resources/initScript.cql 
b/components/camel-cassandraql/src/test/resources/initScript.cql
new file mode 100644
index 0000000..0253f9b
--- /dev/null
+++ b/components/camel-cassandraql/src/test/resources/initScript.cql
@@ -0,0 +1,33 @@
+CREATE KEYSPACE IF NOT EXISTS camel_ks WITH replication = 
{'class':'SimpleStrategy', 'replication_factor':1};
+
+CREATE TABLE camel_ks.camel_user (
+  login varchar PRIMARY KEY,
+  first_name varchar,
+  last_name varchar
+);
+
+CREATE TABLE camel_ks.NAMED_CAMEL_AGGREGATION (
+  NAME varchar,
+  KEY varchar,
+  EXCHANGE_ID varchar,
+  EXCHANGE blob,
+  PRIMARY KEY (NAME, KEY)
+);
+
+CREATE TABLE camel_ks.NAMED_CAMEL_IDEMPOTENT (
+  NAME varchar,
+  KEY varchar,
+  PRIMARY KEY (NAME, KEY)
+);
+
+CREATE TABLE camel_ks.CAMEL_IDEMPOTENT (
+  KEY varchar,
+  PRIMARY KEY (KEY)
+);
+
+CREATE TABLE camel_ks.CAMEL_AGGREGATION (
+  KEY varchar,
+  EXCHANGE_ID varchar,
+  EXCHANGE blob,
+  PRIMARY KEY (KEY)
+);

Reply via email to