Open Xu-Gavin opened 7 months ago
// UserRepositoryTest.java package com.syncstream_dev.syncstream.repositorytest; import com.datastax.driver.core.Cluster; import com.datastax.driver.core.Session; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import org.testcontainers.containers.CassandraContainer; import org.testcontainers.containers.wait.strategy.Wait; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import static org.junit.jupiter.api.Assertions.assertTrue; @SpringBootTest @Testcontainers public class UserRepositoryTest { private static final String KEYSPACE_NAME = "TestKeyspace"; private static final int PORT = 9042; @Container public static final CassandraContainer<?> cassandra = new CassandraContainer<>("cassandra:3.11.2").withExposedPorts(PORT).waitingFor(Wait.forLogMessage(".*Starting listening for CQL clients.*\\n", 1));; private static void createKeyspace(Cluster cluster) { try (Session session = cluster.connect()) { session.execute("CREATE KEYSPACE IF NOT EXISTS " + KEYSPACE_NAME + " WITH replication = \n" + "{'class':'SimpleStrategy','replication_factor':'1'};"); } } @BeforeAll static void setupCassandraConnectionProperties() { System.setProperty("spring.data.cassandra.keyspace-name", KEYSPACE_NAME); System.setProperty("spring.data.cassandra.contact-points", cassandra.getHost()); System.setProperty("spring.data.cassandra.port", String.valueOf(cassandra.getMappedPort(PORT))); createKeyspace(cassandra.getCluster()); } @Test void givenCassandraContainer_whenSpringContextIsBootstrapped_thenContainerIsRunningWithNoExceptions() { assertTrue(cassandra.isRunning()); } }
I couldn't get this to work. Leaving this in the backlog.
I couldn't get this to work. Leaving this in the backlog.