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 <[email protected]>
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)
+);