Browse Source

Merge branch '2.0.x'

pull/12955/head
Andy Wilkinson 8 years ago
parent
commit
c9b2afbd1e
  1. 17
      spring-boot-project/spring-boot-tools/spring-boot-test-support/src/main/java/org/springframework/boot/testsupport/testcontainers/CassandraContainer.java
  2. 21
      spring-boot-project/spring-boot-tools/spring-boot-test-support/src/main/java/org/springframework/boot/testsupport/testcontainers/Neo4jContainer.java

17
spring-boot-project/spring-boot-tools/spring-boot-test-support/src/main/java/org/springframework/boot/testsupport/testcontainers/CassandraContainer.java

@ -16,6 +16,7 @@ @@ -16,6 +16,7 @@
package org.springframework.boot.testsupport.testcontainers;
import java.time.Duration;
import java.util.concurrent.Callable;
import java.util.concurrent.TimeUnit;
@ -24,7 +25,7 @@ import com.datastax.driver.core.exceptions.NoHostAvailableException; @@ -24,7 +25,7 @@ import com.datastax.driver.core.exceptions.NoHostAvailableException;
import org.rnorth.ducttape.TimeoutException;
import org.rnorth.ducttape.unreliables.Unreliables;
import org.testcontainers.containers.GenericContainer;
import org.testcontainers.containers.wait.HostPortWaitStrategy;
import org.testcontainers.containers.wait.strategy.HostPortWaitStrategy;
/**
* A {@link GenericContainer} for Cassandra.
@ -38,13 +39,20 @@ public class CassandraContainer extends Container { @@ -38,13 +39,20 @@ public class CassandraContainer extends Container {
public CassandraContainer() {
super("cassandra:3.11.1", PORT, (container) -> container
.waitingFor(new WaitStrategy()).withStartupAttempts(3));
.waitingFor(new WaitStrategy(container.getMappedPort(PORT)))
.withStartupAttempts(3).withStartupTimeout(Duration.ofSeconds(60)));
}
private static class WaitStrategy extends HostPortWaitStrategy {
private final int port;
private WaitStrategy(int port) {
this.port = port;
}
@Override
public void waitUntilReady(GenericContainer container) {
public void waitUntilReady() {
super.waitUntilReady();
try {
@ -58,8 +66,7 @@ public class CassandraContainer extends Container { @@ -58,8 +66,7 @@ public class CassandraContainer extends Container {
private Callable<Boolean> checkConnection() {
return () -> {
try (Cluster cluster = Cluster.builder()
.withPort(container.getMappedPort(PORT))
try (Cluster cluster = Cluster.builder().withPort(this.port)
.addContactPoint("localhost").build()) {
cluster.connect();
return true;

21
spring-boot-project/spring-boot-tools/spring-boot-test-support/src/main/java/org/springframework/boot/testsupport/testcontainers/Neo4jContainer.java

@ -24,7 +24,7 @@ import org.neo4j.ogm.session.SessionFactory; @@ -24,7 +24,7 @@ import org.neo4j.ogm.session.SessionFactory;
import org.rnorth.ducttape.TimeoutException;
import org.rnorth.ducttape.unreliables.Unreliables;
import org.testcontainers.containers.GenericContainer;
import org.testcontainers.containers.wait.HostPortWaitStrategy;
import org.testcontainers.containers.wait.strategy.HostPortWaitStrategy;
/**
* A {@link GenericContainer} for Neo4J.
@ -34,19 +34,28 @@ import org.testcontainers.containers.wait.HostPortWaitStrategy; @@ -34,19 +34,28 @@ import org.testcontainers.containers.wait.HostPortWaitStrategy;
*/
public class Neo4jContainer extends Container {
private static final int PORT = 7687;
public Neo4jContainer() {
super("neo4j:3.3.1", 7687, (container) -> container.waitingFor(new WaitStrategy())
.withEnv("NEO4J_AUTH", "none"));
super("neo4j:3.3.1", PORT,
(container) -> container
.waitingFor(new WaitStrategy(container.getMappedPort(PORT)))
.withEnv("NEO4J_AUTH", "none"));
}
private static class WaitStrategy extends HostPortWaitStrategy {
private final int port;
private WaitStrategy(int port) {
this.port = port;
}
@Override
public void waitUntilReady(GenericContainer container) {
public void waitUntilReady() {
super.waitUntilReady();
Configuration configuration = new Configuration.Builder()
.uri("bolt://localhost:" + container.getMappedPort(7687))
.build();
.uri("bolt://localhost:" + this.port).build();
SessionFactory sessionFactory = new SessionFactory(configuration,
"org.springframework.boot.test.autoconfigure.data.neo4j");
try {

Loading…
Cancel
Save