Further refine test containers

This commit is contained in:
Phillip Webb
2018-01-08 16:28:32 -08:00
parent 2c52b9e87a
commit 201da97774
11 changed files with 161 additions and 106 deletions

View File

@@ -22,14 +22,12 @@ import org.junit.After;
import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Test;
import org.testcontainers.containers.GenericContainer;
import org.springframework.boot.autoconfigure.AutoConfigurationPackages;
import org.springframework.boot.autoconfigure.cassandra.CassandraAutoConfiguration;
import org.springframework.boot.autoconfigure.data.cassandra.city.City;
import org.springframework.boot.test.util.TestPropertyValues;
import org.springframework.boot.testsupport.testcontainers.DockerTestContainer;
import org.springframework.boot.testsupport.testcontainers.TestContainers;
import org.springframework.boot.testsupport.testcontainers.CassandraContainer;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.data.cassandra.config.CassandraSessionFactoryBean;
import org.springframework.data.cassandra.config.SchemaAction;
@@ -45,16 +43,14 @@ import static org.assertj.core.api.Assertions.assertThat;
public class CassandraDataAutoConfigurationIntegrationTests {
@ClassRule
public static DockerTestContainer<GenericContainer<?>> cassandra = new DockerTestContainer<>(
TestContainers::cassandra);
public static CassandraContainer cassandra = new CassandraContainer();
private AnnotationConfigApplicationContext context;
@Before
public void setUp() {
this.context = new AnnotationConfigApplicationContext();
TestPropertyValues
.of("spring.data.cassandra.port=" + cassandra.getMappedPort(9042))
TestPropertyValues.of("spring.data.cassandra.port=" + cassandra.getMappedPort())
.applyTo(this.context.getEnvironment());
}
@@ -96,7 +92,7 @@ public class CassandraDataAutoConfigurationIntegrationTests {
}
private void createTestKeyspaceIfNotExists() {
Cluster cluster = Cluster.builder().withPort(cassandra.getMappedPort(9042))
Cluster cluster = Cluster.builder().withPort(cassandra.getMappedPort())
.addContactPoint("localhost").build();
try (Session session = cluster.connect()) {
session.execute("CREATE KEYSPACE IF NOT EXISTS boot_test"

View File

@@ -20,7 +20,6 @@ import org.junit.After;
import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Test;
import org.testcontainers.containers.GenericContainer;
import org.springframework.boot.autoconfigure.TestAutoConfigurationPackage;
import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration;
@@ -29,8 +28,7 @@ import org.springframework.boot.autoconfigure.data.empty.EmptyDataPackage;
import org.springframework.boot.autoconfigure.data.redis.city.City;
import org.springframework.boot.autoconfigure.data.redis.city.CityRepository;
import org.springframework.boot.test.util.TestPropertyValues;
import org.springframework.boot.testsupport.testcontainers.DockerTestContainer;
import org.springframework.boot.testsupport.testcontainers.TestContainers;
import org.springframework.boot.testsupport.testcontainers.RedisContainer;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.repository.configuration.EnableRedisRepositories;
@@ -45,15 +43,13 @@ import static org.assertj.core.api.Assertions.assertThat;
public class RedisRepositoriesAutoConfigurationTests {
@ClassRule
public static DockerTestContainer<GenericContainer<?>> redis = new DockerTestContainer<>(
TestContainers::redis);
public static RedisContainer redis = new RedisContainer();
private AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
@Before
public void setUp() {
TestPropertyValues
.of("spring.redis.port=" + redis.getMappedPort(6379))
TestPropertyValues.of("spring.redis.port=" + redis.getMappedPort())
.applyTo(this.context.getEnvironment());
}

View File

@@ -18,7 +18,6 @@ package org.springframework.boot.autoconfigure.session;
import org.junit.ClassRule;
import org.junit.Test;
import org.testcontainers.containers.GenericContainer;
import org.springframework.beans.DirectFieldAccessor;
import org.springframework.boot.autoconfigure.AutoConfigurations;
@@ -48,7 +47,7 @@ public class SessionAutoConfigurationRedisTests
extends AbstractSessionAutoConfigurationTests {
@ClassRule
public static DockerTestContainer<GenericContainer<?>> redis = new DockerTestContainer<>(
public static DockerTestContainer redis = new DockerTestContainer(
TestContainers::redis);
protected final WebApplicationContextRunner contextRunner = new WebApplicationContextRunner()