diff --git a/spring-cassandra/src/test/java/org/springframework/cassandra/test/integration/AbstractEmbeddedCassandraIntegrationTest.java b/spring-cassandra/src/test/java/org/springframework/cassandra/test/integration/AbstractEmbeddedCassandraIntegrationTest.java
index 4b5127af6..d7f62cffe 100644
--- a/spring-cassandra/src/test/java/org/springframework/cassandra/test/integration/AbstractEmbeddedCassandraIntegrationTest.java
+++ b/spring-cassandra/src/test/java/org/springframework/cassandra/test/integration/AbstractEmbeddedCassandraIntegrationTest.java
@@ -7,6 +7,9 @@ import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.thrift.transport.TTransportException;
import org.cassandraunit.utils.EmbeddedCassandraServerHelper;
import org.junit.After;
+import org.junit.BeforeClass;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.KeyspaceMetadata;
@@ -14,22 +17,30 @@ import com.datastax.driver.core.Session;
public abstract class AbstractEmbeddedCassandraIntegrationTest {
+ private static Logger log = LoggerFactory.getLogger(AbstractEmbeddedCassandraIntegrationTest.class);
+
protected final static String CASSANDRA_CONFIG = "spring-cassandra.yaml";
protected final static String CASSANDRA_HOST = "localhost";
protected final static int CASSANDRA_NATIVE_PORT = 9042;
+ @BeforeClass
public static void startCassandra() throws ConfigurationException, TTransportException, IOException,
InterruptedException {
+ log.info("Starting Cassandra Embedded Server");
EmbeddedCassandraServerHelper.startEmbeddedCassandra(CASSANDRA_CONFIG);
}
public AbstractEmbeddedCassandraIntegrationTest() {
- try {
- startCassandra();
- } catch (Exception e) {
- throw new RuntimeException(e);
+ if (session == null) {
+ connect();
+ }
+ }
+
+ public AbstractEmbeddedCassandraIntegrationTest(String keyspace) {
+ this.keyspace = keyspace;
+ if (session == null) {
+ connect();
}
- connect();
}
/**
@@ -48,10 +59,11 @@ public abstract class AbstractEmbeddedCassandraIntegrationTest {
* If not null, get a {@link Session} for the from the {@link #cluster}.
*/
protected String keyspace = "ks" + UUID.randomUUID().toString().replace("-", "");
+
/**
* The {@link Session} for the {@link #keyspace} from the {@link #cluster}.
*/
- protected Session session;
+ protected static Session session;
protected String keyspace() {
return keyspace;
@@ -91,8 +103,11 @@ public abstract class AbstractEmbeddedCassandraIntegrationTest {
@After
public void after() {
+ log.info("After: clear -> " + clear + ", connected -> " + connected());
if (clear && connected()) {
+ log.info("Cleaning Cassandra");
EmbeddedCassandraServerHelper.cleanEmbeddedCassandra();
}
}
+
}
diff --git a/spring-cassandra/src/test/java/org/springframework/cassandra/test/integration/core/template/CassandraOperationsTest.java b/spring-cassandra/src/test/java/org/springframework/cassandra/test/integration/core/template/CassandraOperationsTest.java
index 82340180f..da5a4f636 100644
--- a/spring-cassandra/src/test/java/org/springframework/cassandra/test/integration/core/template/CassandraOperationsTest.java
+++ b/spring-cassandra/src/test/java/org/springframework/cassandra/test/integration/core/template/CassandraOperationsTest.java
@@ -67,7 +67,7 @@ import com.datastax.driver.core.exceptions.DriverException;
*/
public class CassandraOperationsTest extends AbstractEmbeddedCassandraIntegrationTest {
- private CassandraOperations cassandraTemplate;
+ private static CassandraOperations cassandraTemplate;
private static Logger log = LoggerFactory.getLogger(CassandraOperationsTest.class);
@@ -88,9 +88,26 @@ public class CassandraOperationsTest extends AbstractEmbeddedCassandraIntegratio
"cassandraOperationsTest-cql-dataload.cql", this.keyspace), CASSANDRA_CONFIG, CASSANDRA_HOST,
CASSANDRA_NATIVE_PORT);
+ public CassandraOperationsTest() {
+ super("sdctest");
+ clear = true;
+ }
+
@Before
public void setupTemplate() {
- cassandraTemplate = new CassandraTemplate(session);
+
+ log.info("Running setupTemplate()");
+
+ if (cassandraTemplate == null) {
+
+ log.info("null Template ... Initialzing DB test CQL");
+
+ // CassandraCQLUnit cassandraCQLUnit = new CassandraCQLUnit(new ClassPathCQLDataSet(
+ // "cassandraOperationsTest-cql-dataload.cql", keyspace), CASSANDRA_CONFIG, CASSANDRA_HOST,
+ // CASSANDRA_NATIVE_PORT);
+
+ cassandraTemplate = new CassandraTemplate(session);
+ }
}
@Test
@@ -140,9 +157,11 @@ public class CassandraOperationsTest extends AbstractEmbeddedCassandraIntegratio
}
@Test
- @SuppressWarnings( "unchecked" )
+ @SuppressWarnings("unchecked")
public void ingestionTestListOfList() {
+ log.info("Keyspace => " + keyspace);
+
String cql = "insert into book (isbn, title, author, pages) values (?, ?, ?, ?)";
List> values = new LinkedList>();
@@ -166,6 +185,8 @@ public class CassandraOperationsTest extends AbstractEmbeddedCassandraIntegratio
@Test
public void ingestionTestObjectArray() {
+ log.info("Keyspace => " + keyspace);
+
String cql = "insert into book (isbn, title, author, pages) values (?, ?, ?, ?)";
Object[][] values = new Object[3][];
@@ -508,7 +529,7 @@ public class CassandraOperationsTest extends AbstractEmbeddedCassandraIntegratio
// Insert our 3 test books.
ingestionTestObjectArray();
- @SuppressWarnings( "unused" )
+ @SuppressWarnings("unused")
Book book = cassandraTemplate.queryForObject("select * from book where isbn in ('1234','2345','3456')",
new RowMapper() {
@Override
@@ -563,7 +584,7 @@ public class CassandraOperationsTest extends AbstractEmbeddedCassandraIntegratio
@Test(expected = ClassCastException.class)
public void queryForObjectTestCqlStringRequiredTypeInvalid() {
- @SuppressWarnings( "unused" )
+ @SuppressWarnings("unused")
Float title = cassandraTemplate.queryForObject("select title from book where isbn in ('" + ISBN_NINES + "')",
Float.class);