68 lines
2.5 KiB
Java
68 lines
2.5 KiB
Java
package com.baeldung;
|
|
|
|
import java.io.IOException;
|
|
import java.util.HashMap;
|
|
|
|
import org.apache.cassandra.exceptions.ConfigurationException;
|
|
import org.apache.thrift.transport.TTransportException;
|
|
import com.baeldung.spring.data.cassandra.config.CassandraConfig;
|
|
import com.baeldung.spring.data.cassandra.model.Book;
|
|
import org.cassandraunit.utils.EmbeddedCassandraServerHelper;
|
|
import org.junit.After;
|
|
import org.junit.AfterClass;
|
|
import org.junit.Before;
|
|
import org.junit.BeforeClass;
|
|
import org.junit.Test;
|
|
import org.junit.runner.RunWith;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.cassandra.core.cql.CqlIdentifier;
|
|
import org.springframework.data.cassandra.core.CassandraAdminOperations;
|
|
import org.springframework.test.context.ContextConfiguration;
|
|
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
|
|
|
import com.datastax.driver.core.Cluster;
|
|
import com.datastax.driver.core.Session;
|
|
|
|
@RunWith(SpringJUnit4ClassRunner.class)
|
|
@ContextConfiguration(classes = CassandraConfig.class)
|
|
public class SpringContextTest {
|
|
|
|
public static final String KEYSPACE_CREATION_QUERY = "CREATE KEYSPACE IF NOT EXISTS testKeySpace " + "WITH replication = { 'class': 'SimpleStrategy', 'replication_factor': '3' };";
|
|
|
|
public static final String KEYSPACE_ACTIVATE_QUERY = "USE testKeySpace;";
|
|
|
|
public static final String DATA_TABLE_NAME = "book";
|
|
|
|
@Autowired
|
|
private CassandraAdminOperations adminTemplate;
|
|
|
|
@BeforeClass
|
|
public static void startCassandraEmbedded() throws InterruptedException, TTransportException, ConfigurationException, IOException {
|
|
EmbeddedCassandraServerHelper.startEmbeddedCassandra();
|
|
final Cluster cluster = Cluster.builder().addContactPoints("127.0.0.1").withPort(9142).build();
|
|
final Session session = cluster.connect();
|
|
session.execute(KEYSPACE_CREATION_QUERY);
|
|
session.execute(KEYSPACE_ACTIVATE_QUERY);
|
|
Thread.sleep(5000);
|
|
}
|
|
|
|
@Before
|
|
public void createTable() throws InterruptedException, TTransportException, ConfigurationException, IOException {
|
|
adminTemplate.createTable(true, CqlIdentifier.cqlId(DATA_TABLE_NAME), Book.class, new HashMap<String, Object>());
|
|
}
|
|
|
|
@Test
|
|
public void whenSpringContextIsBootstrapped_thenNoExceptions() {
|
|
}
|
|
|
|
@After
|
|
public void dropTable() {
|
|
adminTemplate.dropTable(CqlIdentifier.cqlId(DATA_TABLE_NAME));
|
|
}
|
|
|
|
@AfterClass
|
|
public static void stopCassandraEmbedded() {
|
|
EmbeddedCassandraServerHelper.cleanEmbeddedCassandra();
|
|
}
|
|
}
|