Upgrade to Testcontainers 1.20.2

Closes gh-42670
This commit is contained in:
Stéphane Nicoll 2024-10-14 15:03:12 +02:00
parent c9d0362aee
commit a40ae49a76
14 changed files with 38 additions and 38 deletions

View File

@ -19,7 +19,7 @@ package org.springframework.boot.autoconfigure.cassandra;
import com.datastax.oss.driver.api.core.CqlSession;
import com.datastax.oss.driver.api.core.config.DriverConfigLoader;
import org.junit.jupiter.api.Test;
import org.testcontainers.containers.CassandraContainer;
import org.testcontainers.cassandra.CassandraContainer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
@ -44,7 +44,7 @@ import static org.mockito.Mockito.spy;
class CassandraAutoConfigurationIntegrationTests {
@Container
static final CassandraContainer<?> cassandra = TestImage.container(CassandraContainer.class);
static final CassandraContainer cassandra = TestImage.container(CassandraContainer.class);
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
.withConfiguration(AutoConfigurations.of(CassandraAutoConfiguration.class))

View File

@ -27,7 +27,7 @@ import com.datastax.oss.driver.api.core.cql.SimpleStatement;
import org.junit.jupiter.api.Test;
import org.rnorth.ducttape.TimeoutException;
import org.rnorth.ducttape.unreliables.Unreliables;
import org.testcontainers.containers.CassandraContainer;
import org.testcontainers.cassandra.CassandraContainer;
import org.testcontainers.containers.ContainerLaunchException;
import org.testcontainers.containers.wait.strategy.AbstractWaitStrategy;
import org.testcontainers.images.builder.Transferable;
@ -53,8 +53,7 @@ import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
class CassandraAutoConfigurationWithPasswordAuthenticationIntegrationTests {
@Container
static final PasswordAuthenticatorCassandraContainer cassandra = TestImage
.container(PasswordAuthenticatorCassandraContainer.class)
static final CassandraContainer cassandra = TestImage.container(PasswordAuthenticatorCassandraContainer.class)
.withStartupAttempts(5)
.waitingFor(new CassandraWaitStrategy());
@ -85,8 +84,7 @@ class CassandraAutoConfigurationWithPasswordAuthenticationIntegrationTests {
.withMessageContaining("Authentication error"));
}
static final class PasswordAuthenticatorCassandraContainer
extends CassandraContainer<PasswordAuthenticatorCassandraContainer> {
static final class PasswordAuthenticatorCassandraContainer extends CassandraContainer {
PasswordAuthenticatorCassandraContainer(DockerImageName dockerImageName) {
super(dockerImageName);

View File

@ -19,7 +19,7 @@ package org.springframework.boot.autoconfigure.data.cassandra;
import com.datastax.oss.driver.api.core.CqlSession;
import com.datastax.oss.driver.api.core.CqlSessionBuilder;
import org.junit.jupiter.api.Test;
import org.testcontainers.containers.CassandraContainer;
import org.testcontainers.cassandra.CassandraContainer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
@ -47,7 +47,7 @@ import static org.assertj.core.api.Assertions.assertThat;
class CassandraDataAutoConfigurationIntegrationTests {
@Container
static final CassandraContainer<?> cassandra = TestImage.container(CassandraContainer.class);
static final CassandraContainer cassandra = TestImage.container(CassandraContainer.class);
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
.withConfiguration(

View File

@ -2180,7 +2180,7 @@ bom {
releaseNotes("https://github.com/xerial/sqlite-jdbc/releases/tag/{version}")
}
}
library("Testcontainers", "1.20.1") {
library("Testcontainers", "1.20.2") {
group("org.testcontainers") {
imports = [
"testcontainers-bom"

View File

@ -60,7 +60,7 @@ The following service connection factories are provided in the `spring-boot-test
| Containers of type `JdbcDatabaseContainer`
| `KafkaConnectionDetails`
| Containers of type `org.testcontainers.containers.KafkaContainer`, `org.testcontainers.kafka.KafkaContainer` or `RedpandaContainer`
| Containers of type `org.testcontainers.kafka.KafkaContainer`, `org.testcontainers.kafka.ConfluentKafkaContainer` or `RedpandaContainer`
| `LiquibaseConnectionDetails`
| Containers of type `JdbcDatabaseContainer`

View File

@ -21,7 +21,7 @@ import java.util.UUID;
import com.datastax.oss.driver.api.core.CqlSession;
import com.datastax.oss.driver.api.core.CqlSessionBuilder;
import org.junit.jupiter.api.Test;
import org.testcontainers.containers.CassandraContainer;
import org.testcontainers.cassandra.CassandraContainer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
@ -56,7 +56,7 @@ class DataCassandraTestIntegrationTests {
@Container
@ServiceConnection
static final CassandraContainer<?> cassandra = TestImage.container(CassandraContainer.class);
static final CassandraContainer cassandra = TestImage.container(CassandraContainer.class);
@Autowired
private CassandraTemplate cassandraTemplate;

View File

@ -21,7 +21,7 @@ import java.util.UUID;
import com.datastax.oss.driver.api.core.CqlSession;
import com.datastax.oss.driver.api.core.CqlSessionBuilder;
import org.junit.jupiter.api.Test;
import org.testcontainers.containers.CassandraContainer;
import org.testcontainers.cassandra.CassandraContainer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
@ -53,7 +53,7 @@ class DataCassandraTestWithIncludeFilterIntegrationTests {
@Container
@ServiceConnection
static final CassandraContainer<?> cassandra = TestImage.container(CassandraContainer.class);
static final CassandraContainer cassandra = TestImage.container(CassandraContainer.class);
@Autowired
private ExampleRepository exampleRepository;

View File

@ -18,7 +18,7 @@ package org.springframework.boot.testcontainers.service.connection.cassandra;
import com.datastax.oss.driver.api.core.CqlSession;
import org.junit.jupiter.api.Test;
import org.testcontainers.containers.CassandraContainer;
import org.testcontainers.cassandra.CassandraContainer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
@ -44,7 +44,7 @@ class CassandraContainerConnectionDetailsFactoryTests {
@Container
@ServiceConnection
static final CassandraContainer<?> cassandra = TestImage.container(CassandraContainer.class);
static final CassandraContainer cassandra = TestImage.container(CassandraContainer.class);
@Autowired(required = false)
private CassandraConnectionDetails connectionDetails;

View File

@ -22,9 +22,9 @@ import java.util.List;
import org.awaitility.Awaitility;
import org.junit.jupiter.api.Test;
import org.testcontainers.containers.KafkaContainer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.kafka.ConfluentKafkaContainer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
@ -55,7 +55,7 @@ class ConfluentKafkaContainerConnectionDetailsFactoryIntegrationTests {
@Container
@ServiceConnection
static final KafkaContainer kafka = TestImage.container(KafkaContainer.class);
static final ConfluentKafkaContainer kafka = TestImage.container(ConfluentKafkaContainer.class);
@Autowired
private KafkaTemplate<String, String> kafkaTemplate;

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2023 the original author or authors.
* Copyright 2012-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -19,7 +19,7 @@ package org.springframework.boot.testcontainers.service.connection.cassandra;
import java.net.InetSocketAddress;
import java.util.List;
import org.testcontainers.containers.CassandraContainer;
import org.testcontainers.cassandra.CassandraContainer;
import org.springframework.boot.autoconfigure.cassandra.CassandraConnectionDetails;
import org.springframework.boot.testcontainers.service.connection.ContainerConnectionDetailsFactory;
@ -36,11 +36,11 @@ import org.springframework.boot.testcontainers.service.connection.ServiceConnect
* @author Phillip Webb
*/
class CassandraContainerConnectionDetailsFactory
extends ContainerConnectionDetailsFactory<CassandraContainer<?>, CassandraConnectionDetails> {
extends ContainerConnectionDetailsFactory<CassandraContainer, CassandraConnectionDetails> {
@Override
protected CassandraConnectionDetails getContainerConnectionDetails(
ContainerConnectionSource<CassandraContainer<?>> source) {
ContainerConnectionSource<CassandraContainer> source) {
return new CassandraContainerConnectionDetails(source);
}
@ -48,9 +48,9 @@ class CassandraContainerConnectionDetailsFactory
* {@link CassandraConnectionDetails} backed by a {@link ContainerConnectionSource}.
*/
private static final class CassandraContainerConnectionDetails
extends ContainerConnectionDetails<CassandraContainer<?>> implements CassandraConnectionDetails {
extends ContainerConnectionDetails<CassandraContainer> implements CassandraConnectionDetails {
private CassandraContainerConnectionDetails(ContainerConnectionSource<CassandraContainer<?>> source) {
private CassandraContainerConnectionDetails(ContainerConnectionSource<CassandraContainer> source) {
super(source);
}

View File

@ -18,7 +18,7 @@ package org.springframework.boot.testcontainers.service.connection.kafka;
import java.util.List;
import org.testcontainers.containers.KafkaContainer;
import org.testcontainers.kafka.ConfluentKafkaContainer;
import org.springframework.boot.autoconfigure.kafka.KafkaConnectionDetails;
import org.springframework.boot.testcontainers.service.connection.ContainerConnectionDetailsFactory;
@ -27,17 +27,19 @@ import org.springframework.boot.testcontainers.service.connection.ServiceConnect
/**
* {@link ContainerConnectionDetailsFactory} to create {@link KafkaConnectionDetails} from
* a {@link ServiceConnection @ServiceConnection}-annotated {@link KafkaContainer}.
* a {@link ServiceConnection @ServiceConnection}-annotated
* {@link ConfluentKafkaContainer}.
*
* @author Moritz Halbritter
* @author Andy Wilkinson
* @author Phillip Webb
*/
class ConfluentKafkaContainerConnectionDetailsFactory
extends ContainerConnectionDetailsFactory<KafkaContainer, KafkaConnectionDetails> {
extends ContainerConnectionDetailsFactory<ConfluentKafkaContainer, KafkaConnectionDetails> {
@Override
protected KafkaConnectionDetails getContainerConnectionDetails(ContainerConnectionSource<KafkaContainer> source) {
protected KafkaConnectionDetails getContainerConnectionDetails(
ContainerConnectionSource<ConfluentKafkaContainer> source) {
return new ConfluentKafkaContainerConnectionDetails(source);
}
@ -45,9 +47,9 @@ class ConfluentKafkaContainerConnectionDetailsFactory
* {@link KafkaConnectionDetails} backed by a {@link ContainerConnectionSource}.
*/
private static final class ConfluentKafkaContainerConnectionDetails
extends ContainerConnectionDetails<KafkaContainer> implements KafkaConnectionDetails {
extends ContainerConnectionDetails<ConfluentKafkaContainer> implements KafkaConnectionDetails {
private ConfluentKafkaContainerConnectionDetails(ContainerConnectionSource<KafkaContainer> source) {
private ConfluentKafkaContainerConnectionDetails(ContainerConnectionSource<ConfluentKafkaContainer> source) {
super(source);
}

View File

@ -27,10 +27,9 @@ import com.redis.testcontainers.RedisContainer;
import com.redis.testcontainers.RedisStackContainer;
import org.testcontainers.activemq.ActiveMQContainer;
import org.testcontainers.activemq.ArtemisContainer;
import org.testcontainers.containers.CassandraContainer;
import org.testcontainers.cassandra.CassandraContainer;
import org.testcontainers.containers.Container;
import org.testcontainers.containers.GenericContainer;
import org.testcontainers.containers.KafkaContainer;
import org.testcontainers.containers.MongoDBContainer;
import org.testcontainers.containers.Neo4jContainer;
import org.testcontainers.containers.PostgreSQLContainer;
@ -39,6 +38,7 @@ import org.testcontainers.containers.RabbitMQContainer;
import org.testcontainers.couchbase.CouchbaseContainer;
import org.testcontainers.elasticsearch.ElasticsearchContainer;
import org.testcontainers.grafana.LgtmStackContainer;
import org.testcontainers.kafka.ConfluentKafkaContainer;
import org.testcontainers.redpanda.RedpandaContainer;
import org.testcontainers.utility.DockerImageName;
@ -81,7 +81,7 @@ public enum TestImage {
* A container image suitable for testing Cassandra.
*/
CASSANDRA("cassandra", "3.11.10", () -> CassandraContainer.class,
(container) -> ((CassandraContainer<?>) container).withStartupTimeout(Duration.ofMinutes(10))),
(container) -> ((CassandraContainer) container).withStartupTimeout(Duration.ofMinutes(10))),
/**
* A container image suitable for testing Couchbase.
@ -117,7 +117,7 @@ public enum TestImage {
/**
* A container image suitable for testing Confluent's distribution of Kafka.
*/
CONFLUENT_KAFKA("confluentinc/cp-kafka", "7.4.0", () -> KafkaContainer.class),
CONFLUENT_KAFKA("confluentinc/cp-kafka", "7.4.0", () -> ConfluentKafkaContainer.class),
/**
* A container image suitable for testing OpenLDAP.

View File

@ -16,7 +16,7 @@
package smoketest.data.cassandra;
import org.testcontainers.containers.CassandraContainer;
import org.testcontainers.cassandra.CassandraContainer;
import org.testcontainers.utility.DockerImageName;
import org.testcontainers.utility.MountableFile;
@ -25,7 +25,7 @@ import org.testcontainers.utility.MountableFile;
*
* @author Scott Frederick
*/
class SecureCassandraContainer extends CassandraContainer<SecureCassandraContainer> {
class SecureCassandraContainer extends CassandraContainer {
SecureCassandraContainer(DockerImageName dockerImageName) {
super(dockerImageName);

View File

@ -20,9 +20,9 @@ import java.time.Duration;
import org.awaitility.Awaitility;
import org.junit.jupiter.api.Test;
import org.testcontainers.containers.KafkaContainer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.kafka.KafkaContainer;
import org.testcontainers.utility.MountableFile;
import smoketest.kafka.Consumer;
import smoketest.kafka.Producer;