Commit 20b6656b authored by Andy Wilkinson's avatar Andy Wilkinson

Protect autoconfigure module against slow starting test containers

parent 3a417eec
...@@ -16,6 +16,8 @@ ...@@ -16,6 +16,8 @@
package org.springframework.boot.autoconfigure.data.cassandra; package org.springframework.boot.autoconfigure.data.cassandra;
import java.time.Duration;
import com.datastax.driver.core.Cluster; import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.Session; import com.datastax.driver.core.Session;
import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.AfterEach;
...@@ -45,7 +47,8 @@ import static org.assertj.core.api.Assertions.assertThat; ...@@ -45,7 +47,8 @@ import static org.assertj.core.api.Assertions.assertThat;
class CassandraDataAutoConfigurationIntegrationTests { class CassandraDataAutoConfigurationIntegrationTests {
@Container @Container
static final CassandraContainer<?> cassandra = new CassandraContainer<>(); static final CassandraContainer<?> cassandra = new CassandraContainer<>().withStartupAttempts(5)
.withStartupTimeout(Duration.ofMinutes(2));
private AnnotationConfigApplicationContext context; private AnnotationConfigApplicationContext context;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*/ */
package org.springframework.boot.autoconfigure.data.elasticsearch; package org.springframework.boot.autoconfigure.data.elasticsearch;
import java.time.Duration;
import java.util.List; import java.util.List;
import org.elasticsearch.client.Client; import org.elasticsearch.client.Client;
...@@ -46,7 +47,8 @@ import static org.mockito.Mockito.mock; ...@@ -46,7 +47,8 @@ import static org.mockito.Mockito.mock;
class ElasticsearchAutoConfigurationTests { class ElasticsearchAutoConfigurationTests {
@Container @Container
public static ElasticsearchContainer elasticsearch = new ElasticsearchContainer(); public static ElasticsearchContainer elasticsearch = new ElasticsearchContainer().withStartupAttempts(5)
.withStartupTimeout(Duration.ofMinutes(2));
private AnnotationConfigApplicationContext context; private AnnotationConfigApplicationContext context;
......
...@@ -16,6 +16,8 @@ ...@@ -16,6 +16,8 @@
package org.springframework.boot.autoconfigure.data.elasticsearch; package org.springframework.boot.autoconfigure.data.elasticsearch;
import java.time.Duration;
import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
...@@ -51,7 +53,8 @@ import static org.mockito.Mockito.mock; ...@@ -51,7 +53,8 @@ import static org.mockito.Mockito.mock;
class ElasticsearchDataAutoConfigurationTests { class ElasticsearchDataAutoConfigurationTests {
@Container @Container
static final ElasticsearchContainer elasticsearch = new ElasticsearchContainer(); static ElasticsearchContainer elasticsearch = new ElasticsearchContainer().withStartupAttempts(5)
.withStartupTimeout(Duration.ofMinutes(2));
private ApplicationContextRunner contextRunner = new ApplicationContextRunner().withConfiguration( private ApplicationContextRunner contextRunner = new ApplicationContextRunner().withConfiguration(
AutoConfigurations.of(ElasticsearchAutoConfiguration.class, RestClientAutoConfiguration.class, AutoConfigurations.of(ElasticsearchAutoConfiguration.class, RestClientAutoConfiguration.class,
......
...@@ -16,6 +16,8 @@ ...@@ -16,6 +16,8 @@
package org.springframework.boot.autoconfigure.data.elasticsearch; package org.springframework.boot.autoconfigure.data.elasticsearch;
import java.time.Duration;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.testcontainers.elasticsearch.ElasticsearchContainer; import org.testcontainers.elasticsearch.ElasticsearchContainer;
import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Container;
...@@ -46,7 +48,8 @@ import static org.assertj.core.api.Assertions.assertThat; ...@@ -46,7 +48,8 @@ import static org.assertj.core.api.Assertions.assertThat;
class ElasticsearchRepositoriesAutoConfigurationTests { class ElasticsearchRepositoriesAutoConfigurationTests {
@Container @Container
static final ElasticsearchContainer elasticsearch = new ElasticsearchContainer(); static final ElasticsearchContainer elasticsearch = new ElasticsearchContainer().withStartupAttempts(5)
.withStartupTimeout(Duration.ofMinutes(2));
private ApplicationContextRunner contextRunner = new ApplicationContextRunner() private ApplicationContextRunner contextRunner = new ApplicationContextRunner()
.withConfiguration( .withConfiguration(
......
...@@ -16,6 +16,8 @@ ...@@ -16,6 +16,8 @@
package org.springframework.boot.autoconfigure.data.elasticsearch; package org.springframework.boot.autoconfigure.data.elasticsearch;
import java.time.Duration;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.testcontainers.elasticsearch.ElasticsearchContainer; import org.testcontainers.elasticsearch.ElasticsearchContainer;
import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Container;
...@@ -45,7 +47,8 @@ import static org.assertj.core.api.Assertions.assertThat; ...@@ -45,7 +47,8 @@ import static org.assertj.core.api.Assertions.assertThat;
public class ReactiveElasticsearchRepositoriesAutoConfigurationTests { public class ReactiveElasticsearchRepositoriesAutoConfigurationTests {
@Container @Container
static ElasticsearchContainer elasticsearch = new ElasticsearchContainer(); static ElasticsearchContainer elasticsearch = new ElasticsearchContainer().withStartupAttempts(5)
.withStartupTimeout(Duration.ofMinutes(2));
private ApplicationContextRunner contextRunner = new ApplicationContextRunner() private ApplicationContextRunner contextRunner = new ApplicationContextRunner()
.withConfiguration(AutoConfigurations.of(ReactiveRestClientAutoConfiguration.class, .withConfiguration(AutoConfigurations.of(ReactiveRestClientAutoConfiguration.class,
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
package org.springframework.boot.autoconfigure.data.elasticsearch; package org.springframework.boot.autoconfigure.data.elasticsearch;
import java.time.Duration;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
...@@ -46,7 +47,8 @@ import static org.mockito.Mockito.mock; ...@@ -46,7 +47,8 @@ import static org.mockito.Mockito.mock;
public class ReactiveRestClientAutoConfigurationTests { public class ReactiveRestClientAutoConfigurationTests {
@Container @Container
static ElasticsearchContainer elasticsearch = new ElasticsearchContainer(); static ElasticsearchContainer elasticsearch = new ElasticsearchContainer().withStartupAttempts(5)
.withStartupTimeout(Duration.ofMinutes(2));
private ApplicationContextRunner contextRunner = new ApplicationContextRunner() private ApplicationContextRunner contextRunner = new ApplicationContextRunner()
.withConfiguration(AutoConfigurations.of(ReactiveRestClientAutoConfiguration.class)); .withConfiguration(AutoConfigurations.of(ReactiveRestClientAutoConfiguration.class));
......
...@@ -16,6 +16,8 @@ ...@@ -16,6 +16,8 @@
package org.springframework.boot.autoconfigure.data.redis; package org.springframework.boot.autoconfigure.data.redis;
import java.time.Duration;
import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
...@@ -45,7 +47,8 @@ import static org.assertj.core.api.Assertions.assertThat; ...@@ -45,7 +47,8 @@ import static org.assertj.core.api.Assertions.assertThat;
class RedisRepositoriesAutoConfigurationTests { class RedisRepositoriesAutoConfigurationTests {
@Container @Container
public static RedisContainer redis = new RedisContainer(); public static RedisContainer redis = new RedisContainer().withStartupAttempts(5)
.withStartupTimeout(Duration.ofMinutes(2));
private AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); private AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
package org.springframework.boot.autoconfigure.elasticsearch.jest; package org.springframework.boot.autoconfigure.elasticsearch.jest;
import java.io.IOException; import java.io.IOException;
import java.time.Duration;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
...@@ -54,7 +55,8 @@ import static org.mockito.Mockito.mock; ...@@ -54,7 +55,8 @@ import static org.mockito.Mockito.mock;
class JestAutoConfigurationTests { class JestAutoConfigurationTests {
@Container @Container
static final ElasticsearchContainer elasticsearch = new ElasticsearchContainer(); static final ElasticsearchContainer elasticsearch = new ElasticsearchContainer().withStartupAttempts(5)
.withStartupTimeout(Duration.ofMinutes(2));
private ApplicationContextRunner contextRunner = new ApplicationContextRunner() private ApplicationContextRunner contextRunner = new ApplicationContextRunner()
.withConfiguration(AutoConfigurations.of(GsonAutoConfiguration.class, JestAutoConfiguration.class)); .withConfiguration(AutoConfigurations.of(GsonAutoConfiguration.class, JestAutoConfiguration.class));
......
...@@ -50,7 +50,8 @@ import static org.mockito.Mockito.mock; ...@@ -50,7 +50,8 @@ import static org.mockito.Mockito.mock;
class RestClientAutoConfigurationTests { class RestClientAutoConfigurationTests {
@Container @Container
static final ElasticsearchContainer elasticsearch = new ElasticsearchContainer(); static final ElasticsearchContainer elasticsearch = new ElasticsearchContainer().withStartupAttempts(5)
.withStartupTimeout(Duration.ofMinutes(2));
private ApplicationContextRunner contextRunner = new ApplicationContextRunner() private ApplicationContextRunner contextRunner = new ApplicationContextRunner()
.withConfiguration(AutoConfigurations.of(RestClientAutoConfiguration.class)); .withConfiguration(AutoConfigurations.of(RestClientAutoConfiguration.class));
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
package org.springframework.boot.autoconfigure.session; package org.springframework.boot.autoconfigure.session;
import java.time.Duration;
import java.util.Map; import java.util.Map;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
...@@ -54,7 +55,8 @@ import static org.assertj.core.api.Assertions.entry; ...@@ -54,7 +55,8 @@ import static org.assertj.core.api.Assertions.entry;
class SessionAutoConfigurationRedisTests extends AbstractSessionAutoConfigurationTests { class SessionAutoConfigurationRedisTests extends AbstractSessionAutoConfigurationTests {
@Container @Container
public static RedisContainer redis = new RedisContainer(); public static RedisContainer redis = new RedisContainer().withStartupAttempts(5)
.withStartupTimeout(Duration.ofMinutes(2));
protected final WebApplicationContextRunner contextRunner = new WebApplicationContextRunner() protected final WebApplicationContextRunner contextRunner = new WebApplicationContextRunner()
.withConfiguration(AutoConfigurations.of(SessionAutoConfiguration.class)); .withConfiguration(AutoConfigurations.of(SessionAutoConfiguration.class));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment