From f9dabb6381963618b7133ae456e4e92f51ad47af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edd=C3=BA=20Mel=C3=A9ndez=20Gonzales?= Date: Wed, 19 Jul 2023 12:35:06 -0600 Subject: [PATCH 0001/1917] Polish reuse documentation (#7316) --- docs/features/reuse.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/docs/features/reuse.md b/docs/features/reuse.md index 517a4775cce..01eeee51376 100644 --- a/docs/features/reuse.md +++ b/docs/features/reuse.md @@ -4,10 +4,10 @@ Reusable Containers is still an experimental feature and the behavior can change. Those containers won't stop after all tests are finished. -The *Reusable Containers* feature keeps the containers running between test sessions. In order -to use it, manual container lifecycle instrumentation should be used by calling the `start()` method -and it needs to be manually enabled through an opt-in mechanism. In order to reuse a container, the -configuration of the container *must not change*. +The *Reusable* feature keeps the containers running and next executions with the same container configuration +will reuse it. To use it, start the container manually by calling `start()` method, do not call `stop()` method +directly or indirectly via `try-with-resources` or `JUnit integration`, and enable it manually through an +opt-in mechanism per environment. To reuse a container, the container configuration **must be the same**. !!! note Reusable containers are not suited for CI usage and as an experimental feature @@ -16,7 +16,8 @@ configuration of the container *must not change*. ## How to use it -* Define a container with `withReuse(true)` +* Enable `Reusable Containers` in `~/.testcontainers.properties`, by adding `testcontainers.reuse.enable=true` +* Define a container and subscribe to reuse the container using `withReuse(true)` ```java GenericContainer container = new GenericContainer("redis:6-alpine") @@ -24,10 +25,10 @@ GenericContainer container = new GenericContainer("redis:6-alpine") .withReuse(true) ``` -* Opt-in to Reusable Containers in `~/.testcontainers.properties`, by adding `testcontainers.reuse.enable=true` -* Containers need to be started manually using `container.start()`. See [docs](../../test_framework_integration/manual_lifecycle_control) +* Start the container manually by using `container.start()` ### Reusable Container with Testcontainers JDBC URL If using the [Testcontainers JDBC URL support](../../modules/databases/jdbc#database-containers-launched-via-jdbc-url-scheme) -the URL **must** follow the pattern of `jdbc:tc:mysql:5.7.34:///databasename?TC_REUSABLE=true`. `TC_REUSABLE=true` is set as a parameter of the JDBC URL. +the URL **must** follow the pattern of `jdbc:tc:mysql:5.7.34:///databasename?TC_REUSABLE=true`. +`TC_REUSABLE=true` is set as a parameter of the JDBC URL. From 4059d047abe5bd12a52e518e78a5b4e9de3598d8 Mon Sep 17 00:00:00 2001 From: winne42 Date: Wed, 19 Jul 2023 21:52:25 +0200 Subject: [PATCH 0002/1917] Add JavaDoc to Spock's Testcontainers annotation (#6802) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Eddú Meléndez Gonzales --- .../spock/Testcontainers.groovy | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/modules/spock/src/main/groovy/org/testcontainers/spock/Testcontainers.groovy b/modules/spock/src/main/groovy/org/testcontainers/spock/Testcontainers.groovy index 2e70b6d589f..632b129ec7a 100644 --- a/modules/spock/src/main/groovy/org/testcontainers/spock/Testcontainers.groovy +++ b/modules/spock/src/main/groovy/org/testcontainers/spock/Testcontainers.groovy @@ -8,6 +8,47 @@ import java.lang.annotation.Retention import java.lang.annotation.RetentionPolicy import java.lang.annotation.Target +/** + * {@code @Testcontainers} is a Spock extension to activate automatic + * startup and stop of containers used in a test case. + * + *

The Testcontainers extension finds all fields that extend + * {@link org.testcontainers.containers.GenericContainer} or + * {@link org.testcontainers.containers.DockerComposeContainer} and calls their + * container lifecycle methods. Containers annotated with {@link spock.lang.Shared} + * will be shared between test methods. They will be + * started only once before any test method is executed and stopped after the + * last test method has executed. Containers without {@link spock.lang.Shared} + * annotation will be started and stopped for every test method.

+ * + *

The annotation {@code @Testcontainers} can be used on a superclass in + * the test hierarchy as well. All subclasses will automatically inherit + * support for the extension.

+ * + *

Example:

+ * + *
+ * @Testcontainers
+ * class MyTestcontainersTests extends Specification {
+ *
+ *     // will be started only once in setupSpec() and stopped after last test method
+ *     @Shared
+ *     MySQLContainer MY_SQL_CONTAINER = new MySQLContainer()
+ *
+ *     // will be started before and stopped after each test method
+ *     PostgreSQLContainer postgresqlContainer = new PostgreSQLContainer()
+ *             .withDatabaseName('foo')
+ *             .withUsername('foo')
+ *             .withPassword('secret')
+ *
+ *     def 'test'() {
+ *         expect:
+ *         MY_SQL_CONTAINER.running
+ *         postgresqlContainer.running
+ *     }
+ * }
+ * 
+ */ @Inherited @Retention(RetentionPolicy.RUNTIME) @Target([ElementType.TYPE, ElementType.METHOD]) From 8edcc18f178930d98fbd150b629e4ae8fcfc3469 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edd=C3=BA=20Mel=C3=A9ndez=20Gonzales?= Date: Wed, 19 Jul 2023 14:01:46 -0600 Subject: [PATCH 0003/1917] Generate javadoc artifact for spock module (#7318) --- modules/spock/build.gradle | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/spock/build.gradle b/modules/spock/build.gradle index 1371618d7af..a7c22423b65 100644 --- a/modules/spock/build.gradle +++ b/modules/spock/build.gradle @@ -29,6 +29,12 @@ sourceJar { from sourceSets.main.allSource } +javadocJar { + dependsOn groovydoc + archiveClassifier = 'javadoc' + from groovydoc.destinationDir +} + test { useJUnitPlatform() testLogging { From da39e21b0b472f00dcb4f489f462acf0f7d7aba7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edd=C3=BA=20Mel=C3=A9ndez=20Gonzales?= Date: Wed, 19 Jul 2023 14:34:35 -0600 Subject: [PATCH 0004/1917] Fix javadoc warnings (#7317) --- .../org/testcontainers/containers/GenericContainer.java | 2 +- .../testcontainers/containers/ClickHouseContainer.java | 2 +- .../testcontainers/containers/CockroachContainer.java | 2 +- .../org/testcontainers/couchbase/CouchbaseContainer.java | 2 +- .../java/org/testcontainers/containers/Db2Container.java | 2 +- .../org/testcontainers/dynamodb/DynaliteContainer.java | 2 +- .../elasticsearch/ElasticsearchContainer.java | 2 +- .../org/testcontainers/containers/InfluxDBContainer.java | 4 ++-- .../testcontainers/containers/JdbcDatabaseContainer.java | 2 +- .../org/testcontainers/junit/jupiter/Testcontainers.java | 9 ++++++--- .../org/testcontainers/containers/KafkaContainer.java | 4 ++-- .../containers/localstack/LocalStackContainer.java | 6 +++--- .../org/testcontainers/containers/MariaDBContainer.java | 2 +- .../testcontainers/containers/MockServerContainer.java | 4 ++-- .../org/testcontainers/containers/MongoDBContainer.java | 2 +- .../testcontainers/containers/MSSQLServerContainer.java | 2 +- .../org/testcontainers/containers/MySQLContainer.java | 2 +- .../org/testcontainers/containers/Neo4jContainer.java | 2 +- .../org/testcontainers/containers/NginxContainer.java | 2 +- .../org/testcontainers/containers/OracleContainer.java | 2 +- .../org/testcontainers/containers/OrientDBContainer.java | 2 +- .../org/testcontainers/containers/PrestoContainer.java | 2 +- .../org/testcontainers/containers/PulsarContainer.java | 4 ++-- .../org/testcontainers/containers/RabbitMQContainer.java | 2 +- .../org/testcontainers/containers/SolrContainer.java | 4 ++-- .../testcontainers/containers/ToxiproxyContainer.java | 2 +- .../java/org/testcontainers/vault/VaultContainer.java | 2 +- 27 files changed, 39 insertions(+), 36 deletions(-) diff --git a/core/src/main/java/org/testcontainers/containers/GenericContainer.java b/core/src/main/java/org/testcontainers/containers/GenericContainer.java index 92ad93aaf56..f5652938a47 100644 --- a/core/src/main/java/org/testcontainers/containers/GenericContainer.java +++ b/core/src/main/java/org/testcontainers/containers/GenericContainer.java @@ -247,7 +247,7 @@ public GenericContainer(@NonNull final RemoteDockerImage image) { } /** - * @deprecated use {@link GenericContainer(DockerImageName)} instead + * @deprecated use {@link #GenericContainer(DockerImageName)} instead */ @Deprecated public GenericContainer() { diff --git a/modules/clickhouse/src/main/java/org/testcontainers/containers/ClickHouseContainer.java b/modules/clickhouse/src/main/java/org/testcontainers/containers/ClickHouseContainer.java index d9879402ebb..27ced8751cb 100644 --- a/modules/clickhouse/src/main/java/org/testcontainers/containers/ClickHouseContainer.java +++ b/modules/clickhouse/src/main/java/org/testcontainers/containers/ClickHouseContainer.java @@ -43,7 +43,7 @@ public class ClickHouseContainer extends JdbcDatabaseContainer { /** * Creates a new couchbase container with the default image and version. - * @deprecated use {@link CouchbaseContainer(DockerImageName)} instead + * @deprecated use {@link #CouchbaseContainer(DockerImageName)} instead */ @Deprecated public CouchbaseContainer() { diff --git a/modules/db2/src/main/java/org/testcontainers/containers/Db2Container.java b/modules/db2/src/main/java/org/testcontainers/containers/Db2Container.java index 333a2e709c3..6ff5d2d47b5 100644 --- a/modules/db2/src/main/java/org/testcontainers/containers/Db2Container.java +++ b/modules/db2/src/main/java/org/testcontainers/containers/Db2Container.java @@ -29,7 +29,7 @@ public class Db2Container extends JdbcDatabaseContainer { private String password = "foobar1234"; /** - * @deprecated use {@link Db2Container(DockerImageName)} instead + * @deprecated use {@link #Db2Container(DockerImageName)} instead */ @Deprecated public Db2Container() { diff --git a/modules/dynalite/src/main/java/org/testcontainers/dynamodb/DynaliteContainer.java b/modules/dynalite/src/main/java/org/testcontainers/dynamodb/DynaliteContainer.java index 2d2161a3d8a..2a73ce6f022 100644 --- a/modules/dynalite/src/main/java/org/testcontainers/dynamodb/DynaliteContainer.java +++ b/modules/dynalite/src/main/java/org/testcontainers/dynamodb/DynaliteContainer.java @@ -23,7 +23,7 @@ public class DynaliteContainer extends GenericContainer { private static final int MAPPED_PORT = 4567; /** - * @deprecated use {@link DynaliteContainer(DockerImageName)} instead + * @deprecated use {@link #DynaliteContainer(DockerImageName)} instead */ @Deprecated public DynaliteContainer() { diff --git a/modules/elasticsearch/src/main/java/org/testcontainers/elasticsearch/ElasticsearchContainer.java b/modules/elasticsearch/src/main/java/org/testcontainers/elasticsearch/ElasticsearchContainer.java index 4f55e43581c..e13673384fa 100644 --- a/modules/elasticsearch/src/main/java/org/testcontainers/elasticsearch/ElasticsearchContainer.java +++ b/modules/elasticsearch/src/main/java/org/testcontainers/elasticsearch/ElasticsearchContainer.java @@ -72,7 +72,7 @@ public class ElasticsearchContainer extends GenericContainer> extends Gen private final boolean isAtLeastMajorVersion2; /** - * @deprecated use {@link InfluxDBContainer(DockerImageName)} instead + * @deprecated use {@link #InfluxDBContainer(DockerImageName)} instead */ @Deprecated public InfluxDBContainer() { @@ -71,7 +71,7 @@ public InfluxDBContainer() { } /** - * @deprecated use {@link InfluxDBContainer(DockerImageName)} instead + * @deprecated use {@link #InfluxDBContainer(DockerImageName)} instead */ @Deprecated public InfluxDBContainer(final String version) { diff --git a/modules/jdbc/src/main/java/org/testcontainers/containers/JdbcDatabaseContainer.java b/modules/jdbc/src/main/java/org/testcontainers/containers/JdbcDatabaseContainer.java index 2fcba3789e0..9533a4c7d10 100644 --- a/modules/jdbc/src/main/java/org/testcontainers/containers/JdbcDatabaseContainer.java +++ b/modules/jdbc/src/main/java/org/testcontainers/containers/JdbcDatabaseContainer.java @@ -47,7 +47,7 @@ public abstract class JdbcDatabaseContainerThe test containers extension finds all fields that are annotated with + *

The Testcontainers extension finds all fields that are annotated with * {@link Container} and calls their container lifecycle methods. Containers * declared as static fields will be shared between test methods. They will be * started only once before any test method is executed and stopped after the @@ -60,12 +60,15 @@ @Inherited public @interface Testcontainers { /** - * Whether tests should be disabled (rather than failing) when Docker is not available. + * Whether tests should be disabled (rather than failing) when Docker is not available. Defaults to + * {@code false}. + * @return if the tests should be disabled when Docker is not available */ boolean disabledWithoutDocker() default false; /** - * Whether containers should start in parallel + * Whether containers should start in parallel. Defaults to {@code false}. + * @return if the containers should start in parallel */ boolean parallel() default false; } diff --git a/modules/kafka/src/main/java/org/testcontainers/containers/KafkaContainer.java b/modules/kafka/src/main/java/org/testcontainers/containers/KafkaContainer.java index d00b15a1030..443cdde2d87 100644 --- a/modules/kafka/src/main/java/org/testcontainers/containers/KafkaContainer.java +++ b/modules/kafka/src/main/java/org/testcontainers/containers/KafkaContainer.java @@ -37,7 +37,7 @@ public class KafkaContainer extends GenericContainer { private String clusterId = DEFAULT_CLUSTER_ID; /** - * @deprecated use {@link KafkaContainer(DockerImageName)} instead + * @deprecated use {@link #KafkaContainer(DockerImageName)} instead */ @Deprecated public KafkaContainer() { @@ -45,7 +45,7 @@ public KafkaContainer() { } /** - * @deprecated use {@link KafkaContainer(DockerImageName)} instead + * @deprecated use {@link #KafkaContainer(DockerImageName)} instead */ @Deprecated public KafkaContainer(String confluentPlatformVersion) { diff --git a/modules/localstack/src/main/java/org/testcontainers/containers/localstack/LocalStackContainer.java b/modules/localstack/src/main/java/org/testcontainers/containers/localstack/LocalStackContainer.java index 9c7d7298223..8e9dfa76a90 100644 --- a/modules/localstack/src/main/java/org/testcontainers/containers/localstack/LocalStackContainer.java +++ b/modules/localstack/src/main/java/org/testcontainers/containers/localstack/LocalStackContainer.java @@ -72,7 +72,7 @@ public class LocalStackContainer extends GenericContainer { private final boolean isVersion2; /** - * @deprecated use {@link LocalStackContainer(DockerImageName)} instead + * @deprecated use {@link #LocalStackContainer(DockerImageName)} instead */ @Deprecated public LocalStackContainer() { @@ -80,7 +80,7 @@ public LocalStackContainer() { } /** - * @deprecated use {@link LocalStackContainer(DockerImageName)} instead + * @deprecated use {@link #LocalStackContainer(DockerImageName)} instead */ @Deprecated public LocalStackContainer(String version) { @@ -97,7 +97,7 @@ public LocalStackContainer(final DockerImageName dockerImageName) { /** * @param dockerImageName image name to use for Localstack * @param useLegacyMode if true, each AWS service is exposed on a different port - * @deprecated use {@link LocalStackContainer(DockerImageName)} instead + * @deprecated use {@link #LocalStackContainer(DockerImageName)} instead */ @Deprecated public LocalStackContainer(final DockerImageName dockerImageName, boolean useLegacyMode) { diff --git a/modules/mariadb/src/main/java/org/testcontainers/containers/MariaDBContainer.java b/modules/mariadb/src/main/java/org/testcontainers/containers/MariaDBContainer.java index 71cc76135cf..36280ab4e42 100644 --- a/modules/mariadb/src/main/java/org/testcontainers/containers/MariaDBContainer.java +++ b/modules/mariadb/src/main/java/org/testcontainers/containers/MariaDBContainer.java @@ -38,7 +38,7 @@ public class MariaDBContainer> extends JdbcD private static final String MY_CNF_CONFIG_OVERRIDE_PARAM_NAME = "TC_MY_CNF"; /** - * @deprecated use {@link MariaDBContainer(DockerImageName)} instead + * @deprecated use {@link #MariaDBContainer(DockerImageName)} instead */ @Deprecated public MariaDBContainer() { diff --git a/modules/mockserver/src/main/java/org/testcontainers/containers/MockServerContainer.java b/modules/mockserver/src/main/java/org/testcontainers/containers/MockServerContainer.java index 374cf2d928d..9ca936d1656 100644 --- a/modules/mockserver/src/main/java/org/testcontainers/containers/MockServerContainer.java +++ b/modules/mockserver/src/main/java/org/testcontainers/containers/MockServerContainer.java @@ -17,7 +17,7 @@ public class MockServerContainer extends GenericContainer { public static final int PORT = 1080; /** - * @deprecated use {@link MockServerContainer(DockerImageName)} instead + * @deprecated use {@link #MockServerContainer(DockerImageName)} instead */ @Deprecated public MockServerContainer() { @@ -25,7 +25,7 @@ public MockServerContainer() { } /** - * @deprecated use {@link MockServerContainer(DockerImageName)} instead + * @deprecated use {@link #MockServerContainer(DockerImageName)} instead */ @Deprecated public MockServerContainer(String version) { diff --git a/modules/mongodb/src/main/java/org/testcontainers/containers/MongoDBContainer.java b/modules/mongodb/src/main/java/org/testcontainers/containers/MongoDBContainer.java index 563985cb57b..6390368dea5 100644 --- a/modules/mongodb/src/main/java/org/testcontainers/containers/MongoDBContainer.java +++ b/modules/mongodb/src/main/java/org/testcontainers/containers/MongoDBContainer.java @@ -35,7 +35,7 @@ public class MongoDBContainer extends GenericContainer { private boolean shardingEnabled; /** - * @deprecated use {@link MongoDBContainer(DockerImageName)} instead + * @deprecated use {@link #MongoDBContainer(DockerImageName)} instead */ @Deprecated public MongoDBContainer() { diff --git a/modules/mssqlserver/src/main/java/org/testcontainers/containers/MSSQLServerContainer.java b/modules/mssqlserver/src/main/java/org/testcontainers/containers/MSSQLServerContainer.java index 6d4591490bd..b86f3366f23 100644 --- a/modules/mssqlserver/src/main/java/org/testcontainers/containers/MSSQLServerContainer.java +++ b/modules/mssqlserver/src/main/java/org/testcontainers/containers/MSSQLServerContainer.java @@ -38,7 +38,7 @@ public class MSSQLServerContainer> exten }; /** - * @deprecated use {@link MSSQLServerContainer(DockerImageName)} instead + * @deprecated use {@link #MSSQLServerContainer(DockerImageName)} instead */ @Deprecated public MSSQLServerContainer() { diff --git a/modules/mysql/src/main/java/org/testcontainers/containers/MySQLContainer.java b/modules/mysql/src/main/java/org/testcontainers/containers/MySQLContainer.java index 44fcc2b8b1d..17a14a435a4 100644 --- a/modules/mysql/src/main/java/org/testcontainers/containers/MySQLContainer.java +++ b/modules/mysql/src/main/java/org/testcontainers/containers/MySQLContainer.java @@ -35,7 +35,7 @@ public class MySQLContainer> extends JdbcDatab private static final String MYSQL_ROOT_USER = "root"; /** - * @deprecated use {@link MySQLContainer(DockerImageName)} instead + * @deprecated use {@link #MySQLContainer(DockerImageName)} instead */ @Deprecated public MySQLContainer() { diff --git a/modules/neo4j/src/main/java/org/testcontainers/containers/Neo4jContainer.java b/modules/neo4j/src/main/java/org/testcontainers/containers/Neo4jContainer.java index 0593471d79f..c48590ac0f7 100644 --- a/modules/neo4j/src/main/java/org/testcontainers/containers/Neo4jContainer.java +++ b/modules/neo4j/src/main/java/org/testcontainers/containers/Neo4jContainer.java @@ -78,7 +78,7 @@ public class Neo4jContainer> extends GenericContaine /** * Creates a Neo4jContainer using the official Neo4j docker image. - * @deprecated use {@link Neo4jContainer(DockerImageName)} instead + * @deprecated use {@link #Neo4jContainer(DockerImageName)} instead */ @Deprecated public Neo4jContainer() { diff --git a/modules/nginx/src/main/java/org/testcontainers/containers/NginxContainer.java b/modules/nginx/src/main/java/org/testcontainers/containers/NginxContainer.java index 98d49776be3..9a8687aaf8c 100644 --- a/modules/nginx/src/main/java/org/testcontainers/containers/NginxContainer.java +++ b/modules/nginx/src/main/java/org/testcontainers/containers/NginxContainer.java @@ -19,7 +19,7 @@ public class NginxContainer> private static final String DEFAULT_TAG = "1.9.4"; /** - * @deprecated use {@link NginxContainer(DockerImageName)} instead + * @deprecated use {@link #NginxContainer(DockerImageName)} instead */ @Deprecated public NginxContainer() { diff --git a/modules/oracle-xe/src/main/java/org/testcontainers/containers/OracleContainer.java b/modules/oracle-xe/src/main/java/org/testcontainers/containers/OracleContainer.java index 830bb692f8f..883e223f678 100644 --- a/modules/oracle-xe/src/main/java/org/testcontainers/containers/OracleContainer.java +++ b/modules/oracle-xe/src/main/java/org/testcontainers/containers/OracleContainer.java @@ -57,7 +57,7 @@ public class OracleContainer extends JdbcDatabaseContainer { private boolean usingSid = false; /** - * @deprecated use {@link OracleContainer(DockerImageName)} instead + * @deprecated use {@link #OracleContainer(DockerImageName)} instead */ @Deprecated public OracleContainer() { diff --git a/modules/orientdb/src/main/java/org/testcontainers/containers/OrientDBContainer.java b/modules/orientdb/src/main/java/org/testcontainers/containers/OrientDBContainer.java index d51d7ee5dc1..6064419a490 100644 --- a/modules/orientdb/src/main/java/org/testcontainers/containers/OrientDBContainer.java +++ b/modules/orientdb/src/main/java/org/testcontainers/containers/OrientDBContainer.java @@ -50,7 +50,7 @@ public class OrientDBContainer extends GenericContainer { private ODatabaseSession session; /** - * @deprecated use {@link OrientDBContainer(DockerImageName)} instead + * @deprecated use {@link #OrientDBContainer(DockerImageName)} instead */ @Deprecated public OrientDBContainer() { diff --git a/modules/presto/src/main/java/org/testcontainers/containers/PrestoContainer.java b/modules/presto/src/main/java/org/testcontainers/containers/PrestoContainer.java index 5c89682643a..946f6a95c6d 100644 --- a/modules/presto/src/main/java/org/testcontainers/containers/PrestoContainer.java +++ b/modules/presto/src/main/java/org/testcontainers/containers/PrestoContainer.java @@ -32,7 +32,7 @@ public class PrestoContainer> extends JdbcDat private String catalog = null; /** - * @deprecated use {@link PrestoContainer(DockerImageName)} instead + * @deprecated use {@link #PrestoContainer(DockerImageName)} instead */ @Deprecated public PrestoContainer() { diff --git a/modules/pulsar/src/main/java/org/testcontainers/containers/PulsarContainer.java b/modules/pulsar/src/main/java/org/testcontainers/containers/PulsarContainer.java index a47aa04447a..1cfcd935c31 100644 --- a/modules/pulsar/src/main/java/org/testcontainers/containers/PulsarContainer.java +++ b/modules/pulsar/src/main/java/org/testcontainers/containers/PulsarContainer.java @@ -39,7 +39,7 @@ public class PulsarContainer extends GenericContainer { private boolean transactionsEnabled = false; /** - * @deprecated use {@link PulsarContainer(DockerImageName)} instead + * @deprecated use {@link #PulsarContainer(DockerImageName)} instead */ @Deprecated public PulsarContainer() { @@ -47,7 +47,7 @@ public PulsarContainer() { } /** - * @deprecated use {@link PulsarContainer(DockerImageName)} instead + * @deprecated use {@link #PulsarContainer(DockerImageName)} instead */ @Deprecated public PulsarContainer(String pulsarVersion) { diff --git a/modules/rabbitmq/src/main/java/org/testcontainers/containers/RabbitMQContainer.java b/modules/rabbitmq/src/main/java/org/testcontainers/containers/RabbitMQContainer.java index 92eaa0dbd05..2d0a315f15c 100644 --- a/modules/rabbitmq/src/main/java/org/testcontainers/containers/RabbitMQContainer.java +++ b/modules/rabbitmq/src/main/java/org/testcontainers/containers/RabbitMQContainer.java @@ -44,7 +44,7 @@ public class RabbitMQContainer extends GenericContainer { /** * Creates a RabbitMQ container using the official RabbitMQ docker image. - * @deprecated use {@link RabbitMQContainer(DockerImageName)} instead + * @deprecated use {@link #RabbitMQContainer(DockerImageName)} instead */ @Deprecated public RabbitMQContainer() { diff --git a/modules/solr/src/main/java/org/testcontainers/containers/SolrContainer.java b/modules/solr/src/main/java/org/testcontainers/containers/SolrContainer.java index 5161bce2738..9fd716d37b4 100644 --- a/modules/solr/src/main/java/org/testcontainers/containers/SolrContainer.java +++ b/modules/solr/src/main/java/org/testcontainers/containers/SolrContainer.java @@ -32,7 +32,7 @@ public class SolrContainer extends GenericContainer { private SolrContainerConfiguration configuration; /** - * @deprecated use {@link SolrContainer(DockerImageName)} instead + * @deprecated use {@link #SolrContainer(DockerImageName)} instead */ @Deprecated public SolrContainer() { @@ -40,7 +40,7 @@ public SolrContainer() { } /** - * @deprecated use {@link SolrContainer(DockerImageName)} instead + * @deprecated use {@link #SolrContainer(DockerImageName)} instead */ public SolrContainer(final String dockerImageName) { this(DockerImageName.parse(dockerImageName)); diff --git a/modules/toxiproxy/src/main/java/org/testcontainers/containers/ToxiproxyContainer.java b/modules/toxiproxy/src/main/java/org/testcontainers/containers/ToxiproxyContainer.java index 0c5bdda9b79..872f2c2fdb4 100644 --- a/modules/toxiproxy/src/main/java/org/testcontainers/containers/ToxiproxyContainer.java +++ b/modules/toxiproxy/src/main/java/org/testcontainers/containers/ToxiproxyContainer.java @@ -40,7 +40,7 @@ public class ToxiproxyContainer extends GenericContainer { private final AtomicInteger nextPort = new AtomicInteger(FIRST_PROXIED_PORT); /** - * @deprecated use {@link ToxiproxyContainer(DockerImageName)} instead + * @deprecated use {@link #ToxiproxyContainer(DockerImageName)} instead */ @Deprecated public ToxiproxyContainer() { diff --git a/modules/vault/src/main/java/org/testcontainers/vault/VaultContainer.java b/modules/vault/src/main/java/org/testcontainers/vault/VaultContainer.java index c565ddbec26..8541bbc9090 100644 --- a/modules/vault/src/main/java/org/testcontainers/vault/VaultContainer.java +++ b/modules/vault/src/main/java/org/testcontainers/vault/VaultContainer.java @@ -39,7 +39,7 @@ public class VaultContainer> extends GenericCo private int port = VAULT_PORT; /** - * @deprecated use {@link VaultContainer(DockerImageName)} instead + * @deprecated use {@link #VaultContainer(DockerImageName)} instead */ @Deprecated public VaultContainer() { From cc60cd2de6896721ac7d449d0277ec76ed65545a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edd=C3=BA=20Mel=C3=A9ndez=20Gonzales?= Date: Wed, 19 Jul 2023 22:42:10 -0600 Subject: [PATCH 0005/1917] Enable Ryuk as a privileged container by default (#7319) --- .../org/testcontainers/utility/TestcontainersConfiguration.java | 2 +- docs/features/configuration.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/org/testcontainers/utility/TestcontainersConfiguration.java b/core/src/main/java/org/testcontainers/utility/TestcontainersConfiguration.java index e1d70465378..a96f373d454 100644 --- a/core/src/main/java/org/testcontainers/utility/TestcontainersConfiguration.java +++ b/core/src/main/java/org/testcontainers/utility/TestcontainersConfiguration.java @@ -138,7 +138,7 @@ public String getTinyImage() { } public boolean isRyukPrivileged() { - return Boolean.parseBoolean(getEnvVarOrProperty("ryuk.container.privileged", "false")); + return Boolean.parseBoolean(getEnvVarOrProperty("ryuk.container.privileged", "true")); } @Deprecated diff --git a/docs/features/configuration.md b/docs/features/configuration.md index 8c33049260d..fe78e317120 100644 --- a/docs/features/configuration.md +++ b/docs/features/configuration.md @@ -76,7 +76,7 @@ Some companies disallow the usage of Docker Hub, but you can override `*.image` > **ryuk.container.image = testcontainers/ryuk:0.3.3** > The resource reaper is responsible for container removal and automatic cleanup of dead containers at JVM shutdown -> **ryuk.container.privileged = false** +> **ryuk.container.privileged = true** > In some environments ryuk must be started in privileged mode to work properly (--privileged flag) ### Disabling Ryuk From a292a89fc16b9ef62c5844869d49d5694b4e3eb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edd=C3=BA=20Mel=C3=A9ndez=20Gonzales?= Date: Mon, 24 Jul 2023 14:55:37 -0600 Subject: [PATCH 0006/1917] Support String image in Bigtable, Firestore, PubSub, Spanner (#7327) --- .../testcontainers/containers/BigtableEmulatorContainer.java | 4 ++++ .../testcontainers/containers/FirestoreEmulatorContainer.java | 4 ++++ .../testcontainers/containers/PubSubEmulatorContainer.java | 4 ++++ .../testcontainers/containers/SpannerEmulatorContainer.java | 4 ++++ 4 files changed, 16 insertions(+) diff --git a/modules/gcloud/src/main/java/org/testcontainers/containers/BigtableEmulatorContainer.java b/modules/gcloud/src/main/java/org/testcontainers/containers/BigtableEmulatorContainer.java index f96f0830510..9c5c5caa9f9 100644 --- a/modules/gcloud/src/main/java/org/testcontainers/containers/BigtableEmulatorContainer.java +++ b/modules/gcloud/src/main/java/org/testcontainers/containers/BigtableEmulatorContainer.java @@ -22,6 +22,10 @@ public class BigtableEmulatorContainer extends GenericContainer Date: Mon, 24 Jul 2023 15:05:59 -0600 Subject: [PATCH 0007/1917] Expose getProjectId in DatastoreEmulatorContainer (#7328) --- .../containers/DatastoreEmulatorContainer.java | 12 ++++++++++-- .../containers/DatastoreEmulatorContainerTest.java | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/modules/gcloud/src/main/java/org/testcontainers/containers/DatastoreEmulatorContainer.java b/modules/gcloud/src/main/java/org/testcontainers/containers/DatastoreEmulatorContainer.java index 38479193c3f..4e1ff5f3fba 100644 --- a/modules/gcloud/src/main/java/org/testcontainers/containers/DatastoreEmulatorContainer.java +++ b/modules/gcloud/src/main/java/org/testcontainers/containers/DatastoreEmulatorContainer.java @@ -18,8 +18,12 @@ public class DatastoreEmulatorContainer extends GenericContainer Date: Mon, 24 Jul 2023 16:23:54 -0600 Subject: [PATCH 0008/1917] Add BigQueryEmulatorContainer (#7324) --- docs/modules/gcloud.md | 11 +++- modules/gcloud/build.gradle | 1 + .../containers/BigQueryEmulatorContainer.java | 36 +++++++++++++ .../BigQueryEmulatorContainerTest.java | 50 +++++++++++++++++++ 4 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 modules/gcloud/src/main/java/org/testcontainers/containers/BigQueryEmulatorContainer.java create mode 100644 modules/gcloud/src/test/java/org/testcontainers/containers/BigQueryEmulatorContainerTest.java diff --git a/docs/modules/gcloud.md b/docs/modules/gcloud.md index 807b81de433..de846bf48a2 100644 --- a/docs/modules/gcloud.md +++ b/docs/modules/gcloud.md @@ -5,10 +5,11 @@ Testcontainers module for the Google Cloud Platform's [Cloud SDK](https://cloud.google.com/sdk/). -Currently, the module supports `Bigtable`, `Datastore`, `Firestore`, `Spanner`, and `Pub/Sub` emulators. In order to use it, you should use the following classes: +Currently, the module supports `BigQuery`, `Bigtable`, `Datastore`, `Firestore`, `Spanner`, and `Pub/Sub` emulators. In order to use it, you should use the following classes: Class | Container Image -|- +BigQueryEmulatorContainer | ["ghcr.io/goccy/bigquery-emulator"]("ghcr.io/goccy/bigquery-emulator") BigtableEmulatorContainer | [gcr.io/google.com/cloudsdktool/cloud-sdk:emulators](https://gcr.io/google.com/cloudsdktool/cloud-sdk) DatastoreEmulatorContainer | [gcr.io/google.com/cloudsdktool/cloud-sdk:emulators](https://gcr.io/google.com/cloudsdktool/cloud-sdk) FirestoreEmulatorContainer | [gcr.io/google.com/cloudsdktool/cloud-sdk:emulators](https://gcr.io/google.com/cloudsdktool/cloud-sdk) @@ -17,6 +18,14 @@ PubSubEmulatorContainer | [gcr.io/google.com/cloudsdktool/cloud-sdk:emulators](h ## Usage example +### BigQuery + +Start BigQuery Emulator during a test: + + +[Starting a BigQuery Emulator container](../../modules/gcloud/src/test/java/org/testcontainers/containers/BigQueryEmulatorContainerTest.java) inside_block:emulatorContainer + + ### Bigtable Start Bigtable Emulator during a test: diff --git a/modules/gcloud/build.gradle b/modules/gcloud/build.gradle index 8815961168b..11e005a65d5 100644 --- a/modules/gcloud/build.gradle +++ b/modules/gcloud/build.gradle @@ -4,6 +4,7 @@ dependencies { api project(':testcontainers') testImplementation platform("com.google.cloud:libraries-bom:26.18.0") + testImplementation 'com.google.cloud:google-cloud-bigquery' testImplementation 'com.google.cloud:google-cloud-datastore' testImplementation 'com.google.cloud:google-cloud-firestore' testImplementation 'com.google.cloud:google-cloud-pubsub' diff --git a/modules/gcloud/src/main/java/org/testcontainers/containers/BigQueryEmulatorContainer.java b/modules/gcloud/src/main/java/org/testcontainers/containers/BigQueryEmulatorContainer.java new file mode 100644 index 00000000000..50153006b5e --- /dev/null +++ b/modules/gcloud/src/main/java/org/testcontainers/containers/BigQueryEmulatorContainer.java @@ -0,0 +1,36 @@ +package org.testcontainers.containers; + +import org.testcontainers.utility.DockerImageName; + +/** + * Testcontainers implementation for BigQuery. + */ +public class BigQueryEmulatorContainer extends GenericContainer { + + private static final DockerImageName DEFAULT_IMAGE_NAME = DockerImageName.parse("ghcr.io/goccy/bigquery-emulator"); + + private static final int HTTP_PORT = 9050; + + private static final int GRPC_PORT = 9060; + + private static final String PROJECT_ID = "test-project"; + + public BigQueryEmulatorContainer(String image) { + this(DockerImageName.parse(image)); + } + + public BigQueryEmulatorContainer(DockerImageName dockerImageName) { + super(dockerImageName); + dockerImageName.assertCompatibleWith(DEFAULT_IMAGE_NAME); + addExposedPorts(HTTP_PORT, GRPC_PORT); + withCommand("--project", PROJECT_ID); + } + + public String getEmulatorHttpEndpoint() { + return String.format("http://%s:%d", getHost(), getMappedPort(HTTP_PORT)); + } + + public String getProjectId() { + return PROJECT_ID; + } +} diff --git a/modules/gcloud/src/test/java/org/testcontainers/containers/BigQueryEmulatorContainerTest.java b/modules/gcloud/src/test/java/org/testcontainers/containers/BigQueryEmulatorContainerTest.java new file mode 100644 index 00000000000..cd1dffde843 --- /dev/null +++ b/modules/gcloud/src/test/java/org/testcontainers/containers/BigQueryEmulatorContainerTest.java @@ -0,0 +1,50 @@ +package org.testcontainers.containers; + +import com.google.cloud.bigquery.BigQuery; +import com.google.cloud.bigquery.BigQueryOptions; +import com.google.cloud.bigquery.QueryJobConfiguration; +import com.google.cloud.bigquery.TableResult; +import org.junit.Test; + +import java.math.BigDecimal; +import java.util.List; +import java.util.stream.Collectors; + +import static org.assertj.core.api.Assertions.assertThat; + +public class BigQueryEmulatorContainerTest { + + @Test + public void test() throws Exception { + try ( + // emulatorContainer { + BigQueryEmulatorContainer container = new BigQueryEmulatorContainer("ghcr.io/goccy/bigquery-emulator:0.4.3") + // } + ) { + container.start(); + + String url = container.getEmulatorHttpEndpoint(); + BigQueryOptions options = BigQueryOptions + .newBuilder() + .setProjectId(container.getProjectId()) + .setHost(url) + .setLocation(url) + .build(); + BigQuery bigQuery = options.getService(); + + String fn = + "CREATE FUNCTION testr(arr ARRAY>) AS ((SELECT SUM(IF(elem.name = \"foo\",elem.val,null)) FROM UNNEST(arr) AS elem))"; + + bigQuery.query(QueryJobConfiguration.newBuilder(fn).build()); + + String sql = + "SELECT testr([STRUCT(\"foo\", 10), STRUCT(\"bar\", 40), STRUCT(\"foo\", 20)])"; + TableResult result = bigQuery.query(QueryJobConfiguration.newBuilder(sql).build()); + List values = result + .streamValues() + .map(fieldValues -> fieldValues.get(0).getNumericValue()) + .collect(Collectors.toList()); + assertThat(values).containsOnly(BigDecimal.valueOf(30)); + } + } +} From 1a60247004910c6be435f28166883450b03646ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edd=C3=BA=20Mel=C3=A9ndez=20Gonzales?= Date: Mon, 31 Jul 2023 13:50:27 -0600 Subject: [PATCH 0009/1917] Fix javadoc for RabbitMQContainer (#7339) --- .../java/org/testcontainers/containers/RabbitMQContainer.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/rabbitmq/src/main/java/org/testcontainers/containers/RabbitMQContainer.java b/modules/rabbitmq/src/main/java/org/testcontainers/containers/RabbitMQContainer.java index 2d0a315f15c..5bfa6dca798 100644 --- a/modules/rabbitmq/src/main/java/org/testcontainers/containers/RabbitMQContainer.java +++ b/modules/rabbitmq/src/main/java/org/testcontainers/containers/RabbitMQContainer.java @@ -17,12 +17,12 @@ import java.util.Set; /** - * Testcontainer for RabbitMQ. + * Testcontainers implementation for RabbitMQ. */ public class RabbitMQContainer extends GenericContainer { /** - * The image defaults to the official RabbitmQ image: RabbitMQ. + * The image defaults to the official RabbitMQ image: RabbitMQ. */ private static final DockerImageName DEFAULT_IMAGE_NAME = DockerImageName.parse("rabbitmq"); From dd82dd712ca824402ad818592fea12e4a5457f5c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:07:01 +0000 Subject: [PATCH 0010/1917] Bump io.projectreactor:reactor-core in /modules/r2dbc Bumps [io.projectreactor:reactor-core](https://github.com/reactor/reactor-core) from 3.5.7 to 3.5.8. - [Release notes](https://github.com/reactor/reactor-core/releases) - [Commits](https://github.com/reactor/reactor-core/compare/v3.5.7...v3.5.8) --- updated-dependencies: - dependency-name: io.projectreactor:reactor-core dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- modules/r2dbc/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/r2dbc/build.gradle b/modules/r2dbc/build.gradle index a5396f0caf9..87b4a4548eb 100644 --- a/modules/r2dbc/build.gradle +++ b/modules/r2dbc/build.gradle @@ -15,6 +15,6 @@ dependencies { testImplementation 'io.r2dbc:r2dbc-postgresql:0.8.13.RELEASE' testImplementation project(':postgresql') - testFixturesImplementation 'io.projectreactor:reactor-core:3.5.7' + testFixturesImplementation 'io.projectreactor:reactor-core:3.5.8' testFixturesImplementation 'org.assertj:assertj-core:3.24.2' } From 71b4c29f1bc359b92d17b00bb96ec44f1cfab331 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:11:08 +0000 Subject: [PATCH 0011/1917] Bump com.google.guava:guava in /modules/jdbc-test Bumps [com.google.guava:guava](https://github.com/google/guava) from 32.1.1-jre to 32.1.2-jre. - [Release notes](https://github.com/google/guava/releases) - [Commits](https://github.com/google/guava/commits) --- updated-dependencies: - dependency-name: com.google.guava:guava dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- modules/jdbc-test/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/jdbc-test/build.gradle b/modules/jdbc-test/build.gradle index 2d988c36d34..8e2cc31af63 100644 --- a/modules/jdbc-test/build.gradle +++ b/modules/jdbc-test/build.gradle @@ -1,7 +1,7 @@ dependencies { api project(':jdbc') - api 'com.google.guava:guava:32.1.1-jre' + api 'com.google.guava:guava:32.1.2-jre' api 'org.apache.commons:commons-lang3:3.12.0' api 'com.zaxxer:HikariCP-java6:2.3.13' api 'commons-dbutils:commons-dbutils:1.7' From 4ee4d86a44ec7235d3178afb513eabee4202ce64 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:11:10 +0000 Subject: [PATCH 0012/1917] Bump org.apache.commons:commons-lang3 in /modules/hivemq Bumps org.apache.commons:commons-lang3 from 3.12.0 to 3.13.0. --- updated-dependencies: - dependency-name: org.apache.commons:commons-lang3 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- modules/hivemq/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/hivemq/build.gradle b/modules/hivemq/build.gradle index 06d437bc328..cd6657600b7 100644 --- a/modules/hivemq/build.gradle +++ b/modules/hivemq/build.gradle @@ -4,7 +4,7 @@ dependencies { api(project(":testcontainers")) api("org.jetbrains:annotations:24.0.1") - shaded("org.apache.commons:commons-lang3:3.12.0") + shaded("org.apache.commons:commons-lang3:3.13.0") shaded("commons-io:commons-io:2.13.0") shaded("org.javassist:javassist:3.29.2-GA") shaded("org.jboss.shrinkwrap:shrinkwrap-api:1.2.6") From 08c8050e0da3dd685742ff390bfad9b6af0948fb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:11:12 +0000 Subject: [PATCH 0013/1917] Bump org.junit.jupiter:junit-jupiter-api in /modules/hivemq Bumps [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit5) from 5.9.3 to 5.10.0. - [Release notes](https://github.com/junit-team/junit5/releases) - [Commits](https://github.com/junit-team/junit5/compare/r5.9.3...r5.10.0) --- updated-dependencies: - dependency-name: org.junit.jupiter:junit-jupiter-api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- modules/hivemq/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/hivemq/build.gradle b/modules/hivemq/build.gradle index 06d437bc328..f428a24db73 100644 --- a/modules/hivemq/build.gradle +++ b/modules/hivemq/build.gradle @@ -11,7 +11,7 @@ dependencies { shaded("org.jboss.shrinkwrap:shrinkwrap-impl-base:1.2.6") shaded("net.lingala.zip4j:zip4j:2.11.5") - testImplementation("org.junit.jupiter:junit-jupiter-api:5.9.3") + testImplementation("org.junit.jupiter:junit-jupiter-api:5.10.0") testImplementation(project(":junit-jupiter")) testImplementation("com.hivemq:hivemq-extension-sdk:4.16.0") testImplementation("com.hivemq:hivemq-mqtt-client:1.3.1") From 0ac9c53c5a868d7c23e2b4c311f088bfe2847f6d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:11:16 +0000 Subject: [PATCH 0014/1917] Bump org.junit.jupiter:junit-jupiter-engine in /modules/hivemq Bumps [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit5) from 5.9.3 to 5.10.0. - [Release notes](https://github.com/junit-team/junit5/releases) - [Commits](https://github.com/junit-team/junit5/compare/r5.9.3...r5.10.0) --- updated-dependencies: - dependency-name: org.junit.jupiter:junit-jupiter-engine dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- modules/hivemq/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/hivemq/build.gradle b/modules/hivemq/build.gradle index 06d437bc328..eb101035d30 100644 --- a/modules/hivemq/build.gradle +++ b/modules/hivemq/build.gradle @@ -18,7 +18,7 @@ dependencies { testImplementation("org.apache.httpcomponents:httpclient:4.5.14") testImplementation("ch.qos.logback:logback-classic:1.4.8") testImplementation 'org.assertj:assertj-core:3.24.2' - testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.9.3") + testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.10.0") } test { From c9a561cb1b758a163a98a15c2d8aa71698caf135 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:11:35 +0000 Subject: [PATCH 0015/1917] Bump org.questdb:questdb from 7.2 to 7.2.1 in /modules/questdb Bumps [org.questdb:questdb](https://github.com/questdb/questdb) from 7.2 to 7.2.1. - [Release notes](https://github.com/questdb/questdb/releases) - [Commits](https://github.com/questdb/questdb/compare/7.2...7.2.1) --- updated-dependencies: - dependency-name: org.questdb:questdb dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- modules/questdb/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/questdb/build.gradle b/modules/questdb/build.gradle index f706964354f..a6cba1bc188 100644 --- a/modules/questdb/build.gradle +++ b/modules/questdb/build.gradle @@ -7,7 +7,7 @@ dependencies { testRuntimeOnly 'org.postgresql:postgresql:42.6.0' testImplementation project(':jdbc-test') testImplementation 'org.assertj:assertj-core:3.24.2' - testImplementation 'org.questdb:questdb:7.2' + testImplementation 'org.questdb:questdb:7.2.1' testImplementation 'org.awaitility:awaitility:4.2.0' testImplementation 'org.apache.httpcomponents:httpclient:4.5.14' } From fee56dc7f2b0f3678dd5cbc67e70b58bf9189ef4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:11:40 +0000 Subject: [PATCH 0016/1917] Bump com.influxdb:influxdb-client-java in /modules/influxdb Bumps [com.influxdb:influxdb-client-java](https://github.com/influxdata/influxdb-client-java) from 6.9.0 to 6.10.0. - [Release notes](https://github.com/influxdata/influxdb-client-java/releases) - [Changelog](https://github.com/influxdata/influxdb-client-java/blob/master/CHANGELOG.md) - [Commits](https://github.com/influxdata/influxdb-client-java/compare/v6.9.0...v6.10.0) --- updated-dependencies: - dependency-name: com.influxdb:influxdb-client-java dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- modules/influxdb/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/influxdb/build.gradle b/modules/influxdb/build.gradle index b275a189ada..ee078e751b9 100644 --- a/modules/influxdb/build.gradle +++ b/modules/influxdb/build.gradle @@ -7,5 +7,5 @@ dependencies { testImplementation 'org.assertj:assertj-core:3.24.2' testImplementation 'org.influxdb:influxdb-java:2.23' - testImplementation "com.influxdb:influxdb-client-java:6.9.0" + testImplementation "com.influxdb:influxdb-client-java:6.10.0" } From ec586058fad06e25f610764c43ac6d7cc7ae7457 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:13:17 +0000 Subject: [PATCH 0017/1917] Bump com.orientechnologies:orientdb-client in /modules/orientdb Bumps [com.orientechnologies:orientdb-client](https://github.com/orientechnologies/orientdb) from 3.2.20 to 3.2.21. - [Release notes](https://github.com/orientechnologies/orientdb/releases) - [Changelog](https://github.com/orientechnologies/orientdb/blob/develop/history.txt) - [Commits](https://github.com/orientechnologies/orientdb/compare/3.2.20...3.2.21) --- updated-dependencies: - dependency-name: com.orientechnologies:orientdb-client dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- modules/orientdb/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/orientdb/build.gradle b/modules/orientdb/build.gradle index 01a024a6a82..c9403541bbb 100644 --- a/modules/orientdb/build.gradle +++ b/modules/orientdb/build.gradle @@ -3,7 +3,7 @@ description = "Testcontainers :: Orientdb" dependencies { api project(":testcontainers") - api "com.orientechnologies:orientdb-client:3.2.20" + api "com.orientechnologies:orientdb-client:3.2.21" testImplementation 'org.assertj:assertj-core:3.24.2' testImplementation 'org.apache.tinkerpop:gremlin-driver:3.6.4' From 61ff656f18f3f1dc3f9e69f9b94db598d2f3ced9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:13:20 +0000 Subject: [PATCH 0018/1917] Bump com.orientechnologies:orientdb-gremlin in /modules/orientdb Bumps [com.orientechnologies:orientdb-gremlin](https://github.com/orientechnologies/orientdb-gremlin) from 3.2.20 to 3.2.21. - [Commits](https://github.com/orientechnologies/orientdb-gremlin/compare/3.2.20...3.2.21) --- updated-dependencies: - dependency-name: com.orientechnologies:orientdb-gremlin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- modules/orientdb/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/orientdb/build.gradle b/modules/orientdb/build.gradle index 01a024a6a82..e3b3416093b 100644 --- a/modules/orientdb/build.gradle +++ b/modules/orientdb/build.gradle @@ -7,5 +7,5 @@ dependencies { testImplementation 'org.assertj:assertj-core:3.24.2' testImplementation 'org.apache.tinkerpop:gremlin-driver:3.6.4' - testImplementation "com.orientechnologies:orientdb-gremlin:3.2.20" + testImplementation "com.orientechnologies:orientdb-gremlin:3.2.21" } From 95fe4122a3a7158943c8a84b4f1d77e1e7bad739 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:14:22 +0000 Subject: [PATCH 0019/1917] Bump com.microsoft.sqlserver:mssql-jdbc in /modules/mssqlserver Bumps [com.microsoft.sqlserver:mssql-jdbc](https://github.com/Microsoft/mssql-jdbc) from 12.3.1.jre8-preview to 12.4.0.jre8-preview. - [Release notes](https://github.com/Microsoft/mssql-jdbc/releases) - [Changelog](https://github.com/microsoft/mssql-jdbc/blob/main/CHANGELOG.md) - [Commits](https://github.com/Microsoft/mssql-jdbc/commits) --- updated-dependencies: - dependency-name: com.microsoft.sqlserver:mssql-jdbc dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- modules/mssqlserver/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/mssqlserver/build.gradle b/modules/mssqlserver/build.gradle index 9805ad9643c..ed0939184fd 100644 --- a/modules/mssqlserver/build.gradle +++ b/modules/mssqlserver/build.gradle @@ -10,7 +10,7 @@ dependencies { compileOnly 'io.r2dbc:r2dbc-mssql:1.0.1.RELEASE' testImplementation project(':jdbc-test') - testImplementation 'com.microsoft.sqlserver:mssql-jdbc:12.3.1.jre8-preview' + testImplementation 'com.microsoft.sqlserver:mssql-jdbc:12.4.0.jre8-preview' testImplementation project(':r2dbc') testRuntimeOnly 'io.r2dbc:r2dbc-mssql:1.0.1.RELEASE' From a524ec88021e984513e8db8c5efdb00af5a03b58 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:14:56 +0000 Subject: [PATCH 0020/1917] Bump org.junit.platform:junit-platform-testkit in /modules/spock Bumps [org.junit.platform:junit-platform-testkit](https://github.com/junit-team/junit5) from 1.9.3 to 1.10.0. - [Release notes](https://github.com/junit-team/junit5/releases) - [Commits](https://github.com/junit-team/junit5/commits) --- updated-dependencies: - dependency-name: org.junit.platform:junit-platform-testkit dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- modules/spock/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/spock/build.gradle b/modules/spock/build.gradle index a7c22423b65..f444dd9454f 100644 --- a/modules/spock/build.gradle +++ b/modules/spock/build.gradle @@ -18,7 +18,7 @@ dependencies { testRuntimeOnly 'org.postgresql:postgresql:42.6.0' testRuntimeOnly 'mysql:mysql-connector-java:8.0.33' testRuntimeOnly 'org.junit.platform:junit-platform-launcher:1.9.3' - testRuntimeOnly 'org.junit.platform:junit-platform-testkit:1.9.3' + testRuntimeOnly 'org.junit.platform:junit-platform-testkit:1.10.0' testCompileOnly 'org.jetbrains:annotations:24.0.1' } From a38aeeb87194528006a649cb7c5b24e7ef5794b2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:18:30 +0000 Subject: [PATCH 0021/1917] Bump io.fabric8:kubernetes-client from 6.7.2 to 6.8.0 in /modules/k3s Bumps [io.fabric8:kubernetes-client](https://github.com/fabric8io/kubernetes-client) from 6.7.2 to 6.8.0. - [Release notes](https://github.com/fabric8io/kubernetes-client/releases) - [Changelog](https://github.com/fabric8io/kubernetes-client/blob/main/CHANGELOG.md) - [Commits](https://github.com/fabric8io/kubernetes-client/compare/v6.7.2...v6.8.0) --- updated-dependencies: - dependency-name: io.fabric8:kubernetes-client dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- modules/k3s/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/k3s/build.gradle b/modules/k3s/build.gradle index 2e25b4089da..42500ac4c77 100644 --- a/modules/k3s/build.gradle +++ b/modules/k3s/build.gradle @@ -8,7 +8,7 @@ dependencies { // Any >2.8 version here is not compatible with jackson-databind 2.8.x. shaded 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.8.8' - testImplementation 'io.fabric8:kubernetes-client:6.7.2' + testImplementation 'io.fabric8:kubernetes-client:6.8.0' testImplementation 'io.kubernetes:client-java:18.0.0' testImplementation 'org.assertj:assertj-core:3.24.2' } From c8c5b57f59da5a0b9d1c07194d7d9b7163772aad Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:25:05 +0000 Subject: [PATCH 0022/1917] Bump com.datastax.oss:java-driver-core in /modules/cassandra Bumps [com.datastax.oss:java-driver-core](https://github.com/datastax/java-driver) from 4.16.0 to 4.17.0. - [Release notes](https://github.com/datastax/java-driver/releases) - [Commits](https://github.com/datastax/java-driver/compare/4.16.0...4.17.0) --- updated-dependencies: - dependency-name: com.datastax.oss:java-driver-core dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- modules/cassandra/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/cassandra/build.gradle b/modules/cassandra/build.gradle index 1101a911bae..005281fb366 100644 --- a/modules/cassandra/build.gradle +++ b/modules/cassandra/build.gradle @@ -10,6 +10,6 @@ dependencies { api project(":database-commons") api "com.datastax.cassandra:cassandra-driver-core:3.10.0" - testImplementation 'com.datastax.oss:java-driver-core:4.16.0' + testImplementation 'com.datastax.oss:java-driver-core:4.17.0' testImplementation 'org.assertj:assertj-core:3.24.2' } From e0ae885c310653e25950441f4afa3969f402c4ee Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:26:11 +0000 Subject: [PATCH 0023/1917] Bump com.amazonaws:aws-java-sdk-dynamodb in /modules/dynalite Bumps [com.amazonaws:aws-java-sdk-dynamodb](https://github.com/aws/aws-sdk-java) from 1.12.500 to 1.12.520. - [Changelog](https://github.com/aws/aws-sdk-java/blob/master/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-java/compare/1.12.500...1.12.520) --- updated-dependencies: - dependency-name: com.amazonaws:aws-java-sdk-dynamodb dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- modules/dynalite/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/dynalite/build.gradle b/modules/dynalite/build.gradle index 52ba6750403..6734752170b 100644 --- a/modules/dynalite/build.gradle +++ b/modules/dynalite/build.gradle @@ -3,7 +3,7 @@ description = "Testcontainers :: Dynalite (deprecated)" dependencies { api project(':testcontainers') - compileOnly 'com.amazonaws:aws-java-sdk-dynamodb:1.12.500' - testImplementation 'com.amazonaws:aws-java-sdk-dynamodb:1.12.500' + compileOnly 'com.amazonaws:aws-java-sdk-dynamodb:1.12.520' + testImplementation 'com.amazonaws:aws-java-sdk-dynamodb:1.12.520' testImplementation 'org.assertj:assertj-core:3.24.2' } From 358b22eecfa0a0fbbf022f812c4539da67a605d2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:30:07 +0000 Subject: [PATCH 0024/1917] Bump org.junit:junit-bom from 5.9.3 to 5.10.0 in /modules/junit-jupiter Bumps [org.junit:junit-bom](https://github.com/junit-team/junit5) from 5.9.3 to 5.10.0. - [Release notes](https://github.com/junit-team/junit5/releases) - [Commits](https://github.com/junit-team/junit5/compare/r5.9.3...r5.10.0) --- updated-dependencies: - dependency-name: org.junit:junit-bom dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- modules/junit-jupiter/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/junit-jupiter/build.gradle b/modules/junit-jupiter/build.gradle index 9872b1e9f54..9d9c4fd6f40 100644 --- a/modules/junit-jupiter/build.gradle +++ b/modules/junit-jupiter/build.gradle @@ -2,7 +2,7 @@ description = "Testcontainers :: JUnit Jupiter Extension" dependencies { api project(':testcontainers') - implementation platform('org.junit:junit-bom:5.9.3') + implementation platform('org.junit:junit-bom:5.10.0') implementation 'org.junit.jupiter:junit-jupiter-api' testImplementation project(':mysql') From 4e703629b7dbeefb3c2a6ec77e924bb18e6af0de Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:34:11 +0000 Subject: [PATCH 0025/1917] Bump com.couchbase.client:java-client in /modules/couchbase Bumps [com.couchbase.client:java-client](https://github.com/couchbase/couchbase-jvm-clients) from 3.4.7 to 3.4.8. - [Commits](https://github.com/couchbase/couchbase-jvm-clients/compare/java-client-3.4.7...java-client-3.4.8) --- updated-dependencies: - dependency-name: com.couchbase.client:java-client dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- modules/couchbase/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/couchbase/build.gradle b/modules/couchbase/build.gradle index d086c679b3e..98502cc528b 100644 --- a/modules/couchbase/build.gradle +++ b/modules/couchbase/build.gradle @@ -5,7 +5,7 @@ dependencies { // TODO use JDK's HTTP client and/or Apache HttpClient5 shaded 'com.squareup.okhttp3:okhttp:4.11.0' - testImplementation 'com.couchbase.client:java-client:3.4.7' + testImplementation 'com.couchbase.client:java-client:3.4.8' testImplementation 'org.awaitility:awaitility:4.2.0' testImplementation 'org.assertj:assertj-core:3.24.2' } From a4bb3c68dcc47ac798c3a17ecf1fe08fee7f359a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:35:47 +0000 Subject: [PATCH 0026/1917] Bump org.apache.tomcat:tomcat-jdbc in /modules/jdbc Bumps org.apache.tomcat:tomcat-jdbc from 10.1.10 to 10.1.11. --- updated-dependencies: - dependency-name: org.apache.tomcat:tomcat-jdbc dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- modules/jdbc/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/jdbc/build.gradle b/modules/jdbc/build.gradle index 6a7f46fb943..8c3e17d5599 100644 --- a/modules/jdbc/build.gradle +++ b/modules/jdbc/build.gradle @@ -6,7 +6,7 @@ dependencies { compileOnly 'org.jetbrains:annotations:24.0.1' testImplementation 'commons-dbutils:commons-dbutils:1.7' testImplementation 'org.vibur:vibur-dbcp:25.0' - testImplementation 'org.apache.tomcat:tomcat-jdbc:10.1.10' + testImplementation 'org.apache.tomcat:tomcat-jdbc:10.1.11' testImplementation 'com.zaxxer:HikariCP-java6:2.3.13' testImplementation 'org.assertj:assertj-core:3.24.2' testImplementation ('org.mockito:mockito-core:4.11.0') { From 0b008e6ed5dbbb81ceb0432464d4e7468412619a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:36:21 +0000 Subject: [PATCH 0027/1917] Bump org.mongodb:mongodb-driver-sync in /modules/mongodb Bumps [org.mongodb:mongodb-driver-sync](https://github.com/mongodb/mongo-java-driver) from 4.10.1 to 4.10.2. - [Release notes](https://github.com/mongodb/mongo-java-driver/releases) - [Commits](https://github.com/mongodb/mongo-java-driver/compare/r4.10.1...r4.10.2) --- updated-dependencies: - dependency-name: org.mongodb:mongodb-driver-sync dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- modules/mongodb/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/mongodb/build.gradle b/modules/mongodb/build.gradle index 2a97a302185..6b5e7998182 100644 --- a/modules/mongodb/build.gradle +++ b/modules/mongodb/build.gradle @@ -3,6 +3,6 @@ description = "Testcontainers :: MongoDB" dependencies { api project(':testcontainers') - testImplementation("org.mongodb:mongodb-driver-sync:4.10.1") + testImplementation("org.mongodb:mongodb-driver-sync:4.10.2") testImplementation 'org.assertj:assertj-core:3.24.2' } From 02186cd00ca4c6f60d64ac3a8952a2f41507e79c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:36:31 +0000 Subject: [PATCH 0028/1917] Bump org.elasticsearch.client:elasticsearch-rest-client Bumps [org.elasticsearch.client:elasticsearch-rest-client](https://github.com/elastic/elasticsearch) from 8.8.2 to 8.9.0. - [Release notes](https://github.com/elastic/elasticsearch/releases) - [Changelog](https://github.com/elastic/elasticsearch/blob/main/CHANGELOG.md) - [Commits](https://github.com/elastic/elasticsearch/compare/v8.8.2...v8.9.0) --- updated-dependencies: - dependency-name: org.elasticsearch.client:elasticsearch-rest-client dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- modules/elasticsearch/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/elasticsearch/build.gradle b/modules/elasticsearch/build.gradle index 3c7221a6fbb..ad3af97c254 100644 --- a/modules/elasticsearch/build.gradle +++ b/modules/elasticsearch/build.gradle @@ -2,7 +2,7 @@ description = "Testcontainers :: elasticsearch" dependencies { api project(':testcontainers') - testImplementation "org.elasticsearch.client:elasticsearch-rest-client:8.8.2" + testImplementation "org.elasticsearch.client:elasticsearch-rest-client:8.9.0" testImplementation "org.elasticsearch.client:transport:7.17.11" testImplementation 'org.assertj:assertj-core:3.24.2' } From 9d794b2af985be2dea5c7a33901a1aeef97eaefe Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:39:47 +0000 Subject: [PATCH 0029/1917] Bump io.nats:jnats from 2.16.10 to 2.16.13 in /examples Bumps [io.nats:jnats](https://github.com/nats-io/nats.java) from 2.16.10 to 2.16.13. - [Release notes](https://github.com/nats-io/nats.java/releases) - [Changelog](https://github.com/nats-io/nats.java/blob/main/CHANGELOG.md) - [Commits](https://github.com/nats-io/nats.java/compare/2.16.10...2.16.13) --- updated-dependencies: - dependency-name: io.nats:jnats dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- examples/nats/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/nats/build.gradle b/examples/nats/build.gradle index 3726e8ca670..383a94b2042 100644 --- a/examples/nats/build.gradle +++ b/examples/nats/build.gradle @@ -9,7 +9,7 @@ repositories { dependencies { testImplementation 'org.assertj:assertj-core:3.24.2' testImplementation 'org.testcontainers:testcontainers' - testImplementation 'io.nats:jnats:2.16.10' + testImplementation 'io.nats:jnats:2.16.13' testImplementation 'ch.qos.logback:logback-classic:1.3.8' testImplementation 'org.apache.httpcomponents:httpclient:4.5.14' } From 83a70c3bfbe3071fff485cf1af1972fdb3b19b68 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:39:56 +0000 Subject: [PATCH 0030/1917] Bump me.champeau.gradle.japicmp from 0.4.1 to 0.4.2 in /examples Bumps me.champeau.gradle.japicmp from 0.4.1 to 0.4.2. --- updated-dependencies: - dependency-name: me.champeau.gradle.japicmp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 105ff37ad8e..6e2c0fec169 100644 --- a/build.gradle +++ b/build.gradle @@ -13,7 +13,7 @@ buildscript { plugins { id 'io.franzbecker.gradle-lombok' version '5.0.0' id 'com.github.johnrengelman.shadow' version '8.1.1' - id 'me.champeau.gradle.japicmp' version '0.4.1' apply false + id 'me.champeau.gradle.japicmp' version '0.4.2' apply false id 'com.diffplug.spotless' version '6.13.0' apply false } From d8624b237c8d0537fecd51b0e4c3e9dfb693f7a9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:39:59 +0000 Subject: [PATCH 0031/1917] Bump org.junit.jupiter:junit-jupiter-engine in /examples Bumps [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit5) from 5.9.2 to 5.10.0. - [Release notes](https://github.com/junit-team/junit5/releases) - [Commits](https://github.com/junit-team/junit5/compare/r5.9.2...r5.10.0) --- updated-dependencies: - dependency-name: org.junit.jupiter:junit-jupiter-engine dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- docs/examples/junit5/redis/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/examples/junit5/redis/build.gradle b/docs/examples/junit5/redis/build.gradle index d6812ff3cb8..f3494f27c07 100644 --- a/docs/examples/junit5/redis/build.gradle +++ b/docs/examples/junit5/redis/build.gradle @@ -5,7 +5,7 @@ dependencies { testImplementation "org.junit.jupiter:junit-jupiter-api:5.9.3" testImplementation "org.junit.jupiter:junit-jupiter-params:5.9.3" - testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.9.2" + testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.10.0" testImplementation project(":testcontainers") testImplementation project(":junit-jupiter") testImplementation 'org.assertj:assertj-core:3.24.2' From 2c497eb270a6fd011dca11ecd8b6f0b2ab3b6c3f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:40:04 +0000 Subject: [PATCH 0032/1917] Bump org.junit.jupiter:junit-jupiter-api in /examples Bumps [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit5) from 5.9.3 to 5.10.0. - [Release notes](https://github.com/junit-team/junit5/releases) - [Commits](https://github.com/junit-team/junit5/compare/r5.9.3...r5.10.0) --- updated-dependencies: - dependency-name: org.junit.jupiter:junit-jupiter-api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- docs/examples/junit5/redis/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/examples/junit5/redis/build.gradle b/docs/examples/junit5/redis/build.gradle index d6812ff3cb8..308348999d2 100644 --- a/docs/examples/junit5/redis/build.gradle +++ b/docs/examples/junit5/redis/build.gradle @@ -3,7 +3,7 @@ description = "Examples for docs" dependencies { api "io.lettuce:lettuce-core:6.2.3.RELEASE" - testImplementation "org.junit.jupiter:junit-jupiter-api:5.9.3" + testImplementation "org.junit.jupiter:junit-jupiter-api:5.10.0" testImplementation "org.junit.jupiter:junit-jupiter-params:5.9.3" testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.9.2" testImplementation project(":testcontainers") From 7177abbd51664a122d10c5c8f63874d116e3c14a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:40:08 +0000 Subject: [PATCH 0033/1917] Bump io.cucumber:cucumber-bom from 7.12.1 to 7.13.0 in /examples Bumps [io.cucumber:cucumber-bom](https://github.com/cucumber/cucumber-jvm) from 7.12.1 to 7.13.0. - [Release notes](https://github.com/cucumber/cucumber-jvm/releases) - [Changelog](https://github.com/cucumber/cucumber-jvm/blob/main/CHANGELOG.md) - [Commits](https://github.com/cucumber/cucumber-jvm/compare/v7.12.1...v7.13.0) --- updated-dependencies: - dependency-name: io.cucumber:cucumber-bom dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- examples/cucumber/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/cucumber/build.gradle b/examples/cucumber/build.gradle index 4f940b0feed..8028024c25b 100644 --- a/examples/cucumber/build.gradle +++ b/examples/cucumber/build.gradle @@ -12,7 +12,7 @@ dependencies { implementation 'org.seleniumhq.selenium:selenium-firefox-driver' implementation 'org.seleniumhq.selenium:selenium-chrome-driver' - testImplementation platform('io.cucumber:cucumber-bom:7.12.1') + testImplementation platform('io.cucumber:cucumber-bom:7.13.0') testImplementation 'io.cucumber:cucumber-java' testImplementation 'io.cucumber:cucumber-junit' testImplementation 'org.testcontainers:selenium' From d1ad28967368c6aaaa5d978d794f3810524dded9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:40:13 +0000 Subject: [PATCH 0034/1917] Bump com.gradle:common-custom-user-data-gradle-plugin in /examples Bumps com.gradle:common-custom-user-data-gradle-plugin from 1.11 to 1.11.1. --- updated-dependencies: - dependency-name: com.gradle:common-custom-user-data-gradle-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- examples/settings.gradle | 2 +- settings.gradle | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/settings.gradle b/examples/settings.gradle index aeb3de67bfe..4355a9080db 100644 --- a/examples/settings.gradle +++ b/examples/settings.gradle @@ -7,7 +7,7 @@ buildscript { dependencies { classpath "gradle.plugin.ch.myniva.gradle:s3-build-cache:0.10.0" classpath "com.gradle.enterprise:com.gradle.enterprise.gradle.plugin:3.12.6" - classpath "com.gradle:common-custom-user-data-gradle-plugin:1.11" + classpath "com.gradle:common-custom-user-data-gradle-plugin:1.11.1" } } diff --git a/settings.gradle b/settings.gradle index 0dd7acbde42..548c5335857 100644 --- a/settings.gradle +++ b/settings.gradle @@ -6,7 +6,7 @@ buildscript { } dependencies { classpath "com.gradle.enterprise:com.gradle.enterprise.gradle.plugin:3.13.4" - classpath "com.gradle:common-custom-user-data-gradle-plugin:1.11" + classpath "com.gradle:common-custom-user-data-gradle-plugin:1.11.1" classpath "org.gradle.toolchains:foojay-resolver:0.4.0" } } From 35f21d74c44a3a6b8a6b8f8a92d4af9dbd5d2274 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:40:13 +0000 Subject: [PATCH 0035/1917] Bump org.apache.curator:curator-framework in /examples Bumps [org.apache.curator:curator-framework](https://github.com/apache/curator) from 5.4.0 to 5.5.0. - [Commits](https://github.com/apache/curator/compare/apache-curator-5.4.0...apache-curator-5.5.0) --- updated-dependencies: - dependency-name: org.apache.curator:curator-framework dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- examples/zookeeper/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/zookeeper/build.gradle b/examples/zookeeper/build.gradle index 88037f53121..b7dd7ced6ad 100644 --- a/examples/zookeeper/build.gradle +++ b/examples/zookeeper/build.gradle @@ -7,7 +7,7 @@ repositories { } dependencies { - testImplementation 'org.apache.curator:curator-framework:5.4.0' + testImplementation 'org.apache.curator:curator-framework:5.5.0' testImplementation 'org.testcontainers:testcontainers' testImplementation 'org.assertj:assertj-core:3.24.2' testImplementation 'ch.qos.logback:logback-classic:1.3.8' From a93d2f7b39f9f1abab2511408d6441321c88e0dd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:40:19 +0000 Subject: [PATCH 0036/1917] Bump org.seleniumhq.selenium:selenium-bom in /examples Bumps [org.seleniumhq.selenium:selenium-bom](https://github.com/SeleniumHQ/selenium) from 4.10.0 to 4.11.0. - [Release notes](https://github.com/SeleniumHQ/selenium/releases) - [Commits](https://github.com/SeleniumHQ/selenium/compare/selenium-4.10.0...selenium-4.11.0) --- updated-dependencies: - dependency-name: org.seleniumhq.selenium:selenium-bom dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- examples/cucumber/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/cucumber/build.gradle b/examples/cucumber/build.gradle index 4f940b0feed..cfbb11e0e74 100644 --- a/examples/cucumber/build.gradle +++ b/examples/cucumber/build.gradle @@ -7,7 +7,7 @@ repositories { } dependencies { - implementation platform('org.seleniumhq.selenium:selenium-bom:4.10.0') + implementation platform('org.seleniumhq.selenium:selenium-bom:4.11.0') implementation 'org.seleniumhq.selenium:selenium-remote-driver' implementation 'org.seleniumhq.selenium:selenium-firefox-driver' implementation 'org.seleniumhq.selenium:selenium-chrome-driver' From e7578909d160ba321fb742135cb3c0cdb1c4efd0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:41:42 +0000 Subject: [PATCH 0037/1917] Bump org.seleniumhq.selenium:selenium-bom in /modules/selenium Bumps [org.seleniumhq.selenium:selenium-bom](https://github.com/SeleniumHQ/selenium) from 4.10.0 to 4.11.0. - [Release notes](https://github.com/SeleniumHQ/selenium/releases) - [Commits](https://github.com/SeleniumHQ/selenium/compare/selenium-4.10.0...selenium-4.11.0) --- updated-dependencies: - dependency-name: org.seleniumhq.selenium:selenium-bom dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- modules/selenium/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/selenium/build.gradle b/modules/selenium/build.gradle index e613fef33a9..5dab1a70853 100644 --- a/modules/selenium/build.gradle +++ b/modules/selenium/build.gradle @@ -6,7 +6,7 @@ dependencies { provided 'org.seleniumhq.selenium:selenium-remote-driver:4.10.0' provided 'org.seleniumhq.selenium:selenium-chrome-driver:4.10.0' - testImplementation platform('org.seleniumhq.selenium:selenium-bom:4.10.0') + testImplementation platform('org.seleniumhq.selenium:selenium-bom:4.11.0') testImplementation 'org.seleniumhq.selenium:selenium-firefox-driver' testImplementation 'org.seleniumhq.selenium:selenium-edge-driver' testImplementation 'org.seleniumhq.selenium:selenium-support' From 5a43ea67abc0e7d553a4ced174961bea7efef281 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:44:36 +0000 Subject: [PATCH 0038/1917] Bump com.google.cloud:libraries-bom in /modules/gcloud Bumps [com.google.cloud:libraries-bom](https://github.com/googleapis/java-cloud-bom) from 26.18.0 to 26.21.0. - [Release notes](https://github.com/googleapis/java-cloud-bom/releases) - [Changelog](https://github.com/googleapis/java-cloud-bom/blob/main/release-please-config.json) - [Commits](https://github.com/googleapis/java-cloud-bom/compare/v26.18.0...v26.21.0) --- updated-dependencies: - dependency-name: com.google.cloud:libraries-bom dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- modules/gcloud/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/gcloud/build.gradle b/modules/gcloud/build.gradle index 11e005a65d5..15ccf6589e7 100644 --- a/modules/gcloud/build.gradle +++ b/modules/gcloud/build.gradle @@ -3,7 +3,7 @@ description = "Testcontainers :: GCloud" dependencies { api project(':testcontainers') - testImplementation platform("com.google.cloud:libraries-bom:26.18.0") + testImplementation platform("com.google.cloud:libraries-bom:26.21.0") testImplementation 'com.google.cloud:google-cloud-bigquery' testImplementation 'com.google.cloud:google-cloud-datastore' testImplementation 'com.google.cloud:google-cloud-firestore' From fec15c388b35ed95af24fe593e6c501211d64f45 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:47:14 +0000 Subject: [PATCH 0039/1917] Bump org.apache.kafka:kafka-clients in /modules/redpanda Bumps org.apache.kafka:kafka-clients from 3.5.0 to 3.5.1. --- updated-dependencies: - dependency-name: org.apache.kafka:kafka-clients dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- modules/redpanda/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/redpanda/build.gradle b/modules/redpanda/build.gradle index 2b97e8da6ae..3fbf9b7a8ab 100644 --- a/modules/redpanda/build.gradle +++ b/modules/redpanda/build.gradle @@ -3,7 +3,7 @@ description = "Testcontainers :: Redpanda" dependencies { api project(':testcontainers') - testImplementation 'org.apache.kafka:kafka-clients:3.5.0' + testImplementation 'org.apache.kafka:kafka-clients:3.5.1' testImplementation 'org.assertj:assertj-core:3.24.2' testImplementation 'io.rest-assured:rest-assured:5.3.1' } From 05f37e098008b756c297acc2fb7d70bf3562c030 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:48:22 +0000 Subject: [PATCH 0040/1917] Bump gradle/wrapper-validation-action from 1.0.6 to 1.1.0 Bumps [gradle/wrapper-validation-action](https://github.com/gradle/wrapper-validation-action) from 1.0.6 to 1.1.0. - [Release notes](https://github.com/gradle/wrapper-validation-action/releases) - [Commits](https://github.com/gradle/wrapper-validation-action/compare/8d49e559aae34d3e0eb16cde532684bc9702762b...56b90f209b02bf6d1deae490e9ef18b21a389cd4) --- updated-dependencies: - dependency-name: gradle/wrapper-validation-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/update-gradle-wrapper.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/update-gradle-wrapper.yml b/.github/workflows/update-gradle-wrapper.yml index af8bc391d33..f8006957ac3 100644 --- a/.github/workflows/update-gradle-wrapper.yml +++ b/.github/workflows/update-gradle-wrapper.yml @@ -24,4 +24,4 @@ jobs: repo-token: ${{ secrets.GITHUB_TOKEN }} labels: dependencies - - uses: gradle/wrapper-validation-action@8d49e559aae34d3e0eb16cde532684bc9702762b # v1.0.3 + - uses: gradle/wrapper-validation-action@56b90f209b02bf6d1deae490e9ef18b21a389cd4 # v1.0.3 From c918794b254d65f2bfb544be92b3eec21d791e04 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:53:01 +0000 Subject: [PATCH 0041/1917] Bump com.amazonaws:aws-java-sdk-bom in /modules/localstack Bumps [com.amazonaws:aws-java-sdk-bom](https://github.com/aws/aws-sdk-java) from 1.12.500 to 1.12.520. - [Changelog](https://github.com/aws/aws-sdk-java/blob/master/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-java/compare/1.12.500...1.12.520) --- updated-dependencies: - dependency-name: com.amazonaws:aws-java-sdk-bom dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- modules/localstack/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/localstack/build.gradle b/modules/localstack/build.gradle index 5497fc0f343..58b04d8cafc 100644 --- a/modules/localstack/build.gradle +++ b/modules/localstack/build.gradle @@ -3,7 +3,7 @@ description = "Testcontainers :: Localstack" dependencies { api project(':testcontainers') - testImplementation platform("com.amazonaws:aws-java-sdk-bom:1.12.500") + testImplementation platform("com.amazonaws:aws-java-sdk-bom:1.12.520") testImplementation 'com.amazonaws:aws-java-sdk-s3' testImplementation 'com.amazonaws:aws-java-sdk-sqs' testImplementation 'com.amazonaws:aws-java-sdk-logs' From dc3a9c21982f0d332c963aa6898b148436de3df6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:53:03 +0000 Subject: [PATCH 0042/1917] Bump software.amazon.awssdk:s3 in /modules/localstack Bumps software.amazon.awssdk:s3 from 2.20.97 to 2.20.117. --- updated-dependencies: - dependency-name: software.amazon.awssdk:s3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- modules/localstack/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/localstack/build.gradle b/modules/localstack/build.gradle index 5497fc0f343..4defeb8aa13 100644 --- a/modules/localstack/build.gradle +++ b/modules/localstack/build.gradle @@ -7,6 +7,6 @@ dependencies { testImplementation 'com.amazonaws:aws-java-sdk-s3' testImplementation 'com.amazonaws:aws-java-sdk-sqs' testImplementation 'com.amazonaws:aws-java-sdk-logs' - testImplementation 'software.amazon.awssdk:s3:2.20.97' + testImplementation 'software.amazon.awssdk:s3:2.20.117' testImplementation 'org.assertj:assertj-core:3.24.2' } From e12dd01076448524815975c397235ea92b2035c8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:53:38 +0000 Subject: [PATCH 0043/1917] Bump io.trino:trino-jdbc from 420 to 422 in /modules/trino Bumps io.trino:trino-jdbc from 420 to 422. --- updated-dependencies: - dependency-name: io.trino:trino-jdbc dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- modules/trino/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/trino/build.gradle b/modules/trino/build.gradle index 942675e9020..192d6add0f3 100644 --- a/modules/trino/build.gradle +++ b/modules/trino/build.gradle @@ -4,6 +4,6 @@ dependencies { api project(':jdbc') testImplementation project(':jdbc-test') - testRuntimeOnly 'io.trino:trino-jdbc:420' + testRuntimeOnly 'io.trino:trino-jdbc:422' compileOnly 'org.jetbrains:annotations:24.0.1' } From 52432bf856be3bfb583bd4f07a69561372ca46a2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:54:58 +0000 Subject: [PATCH 0044/1917] Bump com.azure:azure-cosmos from 4.47.0 to 4.48.0 in /modules/azure Bumps [com.azure:azure-cosmos](https://github.com/Azure/azure-sdk-for-java) from 4.47.0 to 4.48.0. - [Release notes](https://github.com/Azure/azure-sdk-for-java/releases) - [Commits](https://github.com/Azure/azure-sdk-for-java/compare/azure-cosmos_4.47.0...azure-cosmos_4.48.0) --- updated-dependencies: - dependency-name: com.azure:azure-cosmos dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- modules/azure/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/azure/build.gradle b/modules/azure/build.gradle index 50dcf5c81fb..a0c0e067b0d 100644 --- a/modules/azure/build.gradle +++ b/modules/azure/build.gradle @@ -6,5 +6,5 @@ dependencies { shaded 'com.squareup.okhttp3:okhttp:4.11.0' testImplementation 'org.assertj:assertj-core:3.24.2' - testImplementation 'com.azure:azure-cosmos:4.47.0' + testImplementation 'com.azure:azure-cosmos:4.48.0' } From b533abae2b8212743d15c50e34886835bacf69b3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Aug 2023 04:34:44 +0000 Subject: [PATCH 0045/1917] Bump org.apache.commons:commons-lang3 in /modules/jdbc-test Bumps org.apache.commons:commons-lang3 from 3.12.0 to 3.13.0. --- updated-dependencies: - dependency-name: org.apache.commons:commons-lang3 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- modules/jdbc-test/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/jdbc-test/build.gradle b/modules/jdbc-test/build.gradle index 8e2cc31af63..9678c87cf01 100644 --- a/modules/jdbc-test/build.gradle +++ b/modules/jdbc-test/build.gradle @@ -2,7 +2,7 @@ dependencies { api project(':jdbc') api 'com.google.guava:guava:32.1.2-jre' - api 'org.apache.commons:commons-lang3:3.12.0' + api 'org.apache.commons:commons-lang3:3.13.0' api 'com.zaxxer:HikariCP-java6:2.3.13' api 'commons-dbutils:commons-dbutils:1.7' From a4603f7c8d8ec3839a66ae5a2f493e31682d4d09 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Aug 2023 04:34:44 +0000 Subject: [PATCH 0046/1917] Bump com.hivemq:hivemq-extension-sdk in /modules/hivemq Bumps [com.hivemq:hivemq-extension-sdk](https://github.com/hivemq/hivemq-extension-sdk) from 4.16.0 to 4.18.0. - [Release notes](https://github.com/hivemq/hivemq-extension-sdk/releases) - [Commits](https://github.com/hivemq/hivemq-extension-sdk/compare/4.16.0...4.18.0) --- updated-dependencies: - dependency-name: com.hivemq:hivemq-extension-sdk dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- modules/hivemq/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/hivemq/build.gradle b/modules/hivemq/build.gradle index 0501253c729..562f9d8b55a 100644 --- a/modules/hivemq/build.gradle +++ b/modules/hivemq/build.gradle @@ -13,7 +13,7 @@ dependencies { testImplementation("org.junit.jupiter:junit-jupiter-api:5.10.0") testImplementation(project(":junit-jupiter")) - testImplementation("com.hivemq:hivemq-extension-sdk:4.16.0") + testImplementation("com.hivemq:hivemq-extension-sdk:4.18.0") testImplementation("com.hivemq:hivemq-mqtt-client:1.3.1") testImplementation("org.apache.httpcomponents:httpclient:4.5.14") testImplementation("ch.qos.logback:logback-classic:1.4.8") From e158d746a6cc905fb7582a6a362c714cf464de23 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Aug 2023 04:34:45 +0000 Subject: [PATCH 0047/1917] Bump com.gradle.enterprise:com.gradle.enterprise.gradle.plugin Bumps com.gradle.enterprise:com.gradle.enterprise.gradle.plugin from 3.13.4 to 3.14.1. --- updated-dependencies: - dependency-name: com.gradle.enterprise:com.gradle.enterprise.gradle.plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- settings.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings.gradle b/settings.gradle index 548c5335857..a6b4b213d29 100644 --- a/settings.gradle +++ b/settings.gradle @@ -5,7 +5,7 @@ buildscript { } } dependencies { - classpath "com.gradle.enterprise:com.gradle.enterprise.gradle.plugin:3.13.4" + classpath "com.gradle.enterprise:com.gradle.enterprise.gradle.plugin:3.14.1" classpath "com.gradle:common-custom-user-data-gradle-plugin:1.11.1" classpath "org.gradle.toolchains:foojay-resolver:0.4.0" } From 06b806954485afd77d8eb7512481ab537ccac266 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Aug 2023 04:34:55 +0000 Subject: [PATCH 0048/1917] Bump io.r2dbc:r2dbc-mssql in /modules/mssqlserver Bumps [io.r2dbc:r2dbc-mssql](https://github.com/r2dbc/r2dbc-mssql) from 1.0.1.RELEASE to 1.0.2.RELEASE. - [Release notes](https://github.com/r2dbc/r2dbc-mssql/releases) - [Changelog](https://github.com/r2dbc/r2dbc-mssql/blob/v1.0.2.RELEASE/CHANGELOG) - [Commits](https://github.com/r2dbc/r2dbc-mssql/compare/v1.0.1.RELEASE...v1.0.2.RELEASE) --- updated-dependencies: - dependency-name: io.r2dbc:r2dbc-mssql dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- modules/mssqlserver/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/mssqlserver/build.gradle b/modules/mssqlserver/build.gradle index ed0939184fd..b7ae484647b 100644 --- a/modules/mssqlserver/build.gradle +++ b/modules/mssqlserver/build.gradle @@ -7,13 +7,13 @@ dependencies { api project(':jdbc') compileOnly project(':r2dbc') - compileOnly 'io.r2dbc:r2dbc-mssql:1.0.1.RELEASE' + compileOnly 'io.r2dbc:r2dbc-mssql:1.0.2.RELEASE' testImplementation project(':jdbc-test') testImplementation 'com.microsoft.sqlserver:mssql-jdbc:12.4.0.jre8-preview' testImplementation project(':r2dbc') - testRuntimeOnly 'io.r2dbc:r2dbc-mssql:1.0.1.RELEASE' + testRuntimeOnly 'io.r2dbc:r2dbc-mssql:1.0.2.RELEASE' // MSSQL's wait strategy requires the JDBC driver testImplementation testFixtures(project(':r2dbc')) From b3ad42788bfc9bd7ee33cc75b6ee8cbc4ffa4913 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Aug 2023 04:34:56 +0000 Subject: [PATCH 0049/1917] Bump org.junit.platform:junit-platform-launcher in /modules/spock Bumps [org.junit.platform:junit-platform-launcher](https://github.com/junit-team/junit5) from 1.9.3 to 1.10.0. - [Release notes](https://github.com/junit-team/junit5/releases) - [Commits](https://github.com/junit-team/junit5/commits) --- updated-dependencies: - dependency-name: org.junit.platform:junit-platform-launcher dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- modules/spock/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/spock/build.gradle b/modules/spock/build.gradle index f444dd9454f..25243bc3011 100644 --- a/modules/spock/build.gradle +++ b/modules/spock/build.gradle @@ -17,7 +17,7 @@ dependencies { testRuntimeOnly 'org.postgresql:postgresql:42.6.0' testRuntimeOnly 'mysql:mysql-connector-java:8.0.33' - testRuntimeOnly 'org.junit.platform:junit-platform-launcher:1.9.3' + testRuntimeOnly 'org.junit.platform:junit-platform-launcher:1.10.0' testRuntimeOnly 'org.junit.platform:junit-platform-testkit:1.10.0' testCompileOnly 'org.jetbrains:annotations:24.0.1' From 5efaa4a02d3a4f1e1ffb562c22c13b494a456076 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Aug 2023 04:34:58 +0000 Subject: [PATCH 0050/1917] Bump io.kubernetes:client-java from 18.0.0 to 18.0.1 in /modules/k3s Bumps [io.kubernetes:client-java](https://github.com/kubernetes-client/java) from 18.0.0 to 18.0.1. - [Release notes](https://github.com/kubernetes-client/java/releases) - [Changelog](https://github.com/kubernetes-client/java/blob/master/CHANGELOG.md) - [Commits](https://github.com/kubernetes-client/java/compare/v18.0.0...v18.0.1) --- updated-dependencies: - dependency-name: io.kubernetes:client-java dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- modules/k3s/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/k3s/build.gradle b/modules/k3s/build.gradle index 42500ac4c77..8effb3e6a8d 100644 --- a/modules/k3s/build.gradle +++ b/modules/k3s/build.gradle @@ -9,6 +9,6 @@ dependencies { shaded 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.8.8' testImplementation 'io.fabric8:kubernetes-client:6.8.0' - testImplementation 'io.kubernetes:client-java:18.0.0' + testImplementation 'io.kubernetes:client-java:18.0.1' testImplementation 'org.assertj:assertj-core:3.24.2' } From 5c32d5b0770b4335aa9f13ebb2ece1653193ded9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Aug 2023 04:34:59 +0000 Subject: [PATCH 0051/1917] Bump org.apache.kafka:kafka-clients in /modules/kafka Bumps org.apache.kafka:kafka-clients from 3.5.0 to 3.5.1. --- updated-dependencies: - dependency-name: org.apache.kafka:kafka-clients dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- modules/kafka/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/kafka/build.gradle b/modules/kafka/build.gradle index 83dea92145f..a121eaaddac 100644 --- a/modules/kafka/build.gradle +++ b/modules/kafka/build.gradle @@ -3,7 +3,7 @@ description = "Testcontainers :: Kafka" dependencies { api project(':testcontainers') - testImplementation 'org.apache.kafka:kafka-clients:3.5.0' + testImplementation 'org.apache.kafka:kafka-clients:3.5.1' testImplementation 'org.assertj:assertj-core:3.24.2' testImplementation 'com.google.guava:guava:23.0' } From f47a8acc9727b069c57cccca48d98a2c0e2800aa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Aug 2023 04:35:07 +0000 Subject: [PATCH 0052/1917] Bump org.elasticsearch.client:transport in /modules/elasticsearch Bumps [org.elasticsearch.client:transport](https://github.com/elastic/elasticsearch) from 7.17.11 to 7.17.12. - [Release notes](https://github.com/elastic/elasticsearch/releases) - [Changelog](https://github.com/elastic/elasticsearch/blob/main/CHANGELOG.md) - [Commits](https://github.com/elastic/elasticsearch/compare/v7.17.11...v7.17.12) --- updated-dependencies: - dependency-name: org.elasticsearch.client:transport dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- modules/elasticsearch/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/elasticsearch/build.gradle b/modules/elasticsearch/build.gradle index ad3af97c254..011a6493d2e 100644 --- a/modules/elasticsearch/build.gradle +++ b/modules/elasticsearch/build.gradle @@ -3,6 +3,6 @@ description = "Testcontainers :: elasticsearch" dependencies { api project(':testcontainers') testImplementation "org.elasticsearch.client:elasticsearch-rest-client:8.9.0" - testImplementation "org.elasticsearch.client:transport:7.17.11" + testImplementation "org.elasticsearch.client:transport:7.17.12" testImplementation 'org.assertj:assertj-core:3.24.2' } From dec26ae4324ed3a99250026c0297c16a3e4f8d6d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Aug 2023 04:35:12 +0000 Subject: [PATCH 0053/1917] Bump org.gradle.toolchains:foojay-resolver in /examples Bumps org.gradle.toolchains:foojay-resolver from 0.4.0 to 0.6.0. --- updated-dependencies: - dependency-name: org.gradle.toolchains:foojay-resolver dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- settings.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings.gradle b/settings.gradle index 548c5335857..72053eda0f0 100644 --- a/settings.gradle +++ b/settings.gradle @@ -7,7 +7,7 @@ buildscript { dependencies { classpath "com.gradle.enterprise:com.gradle.enterprise.gradle.plugin:3.13.4" classpath "com.gradle:common-custom-user-data-gradle-plugin:1.11.1" - classpath "org.gradle.toolchains:foojay-resolver:0.4.0" + classpath "org.gradle.toolchains:foojay-resolver:0.6.0" } } From 6abfaef89e1f2a954a50e11d26fcccf35259fd70 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Aug 2023 04:35:15 +0000 Subject: [PATCH 0054/1917] Bump org.junit.jupiter:junit-jupiter from 5.9.2 to 5.10.0 in /examples Bumps [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit5) from 5.9.2 to 5.10.0. - [Release notes](https://github.com/junit-team/junit5/releases) - [Commits](https://github.com/junit-team/junit5/compare/r5.9.2...r5.10.0) --- updated-dependencies: - dependency-name: org.junit.jupiter:junit-jupiter dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- examples/neo4j-container/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/neo4j-container/build.gradle b/examples/neo4j-container/build.gradle index 1ff02bce505..96af42237bb 100644 --- a/examples/neo4j-container/build.gradle +++ b/examples/neo4j-container/build.gradle @@ -11,5 +11,5 @@ dependencies { testImplementation 'org.neo4j.driver:neo4j-java-driver:4.4.11' testImplementation 'org.testcontainers:neo4j' testImplementation 'org.testcontainers:junit-jupiter' - testImplementation 'org.junit.jupiter:junit-jupiter:5.9.2' + testImplementation 'org.junit.jupiter:junit-jupiter:5.10.0' } From c490e3c886fd84b714f2c51d806c8868975cfa41 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Aug 2023 04:35:21 +0000 Subject: [PATCH 0055/1917] Bump com.gradle.enterprise:com.gradle.enterprise.gradle.plugin Bumps com.gradle.enterprise:com.gradle.enterprise.gradle.plugin from 3.12.6 to 3.14.1. --- updated-dependencies: - dependency-name: com.gradle.enterprise:com.gradle.enterprise.gradle.plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- examples/settings.gradle | 2 +- settings.gradle | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/settings.gradle b/examples/settings.gradle index 4355a9080db..e57cb285f22 100644 --- a/examples/settings.gradle +++ b/examples/settings.gradle @@ -6,7 +6,7 @@ buildscript { } dependencies { classpath "gradle.plugin.ch.myniva.gradle:s3-build-cache:0.10.0" - classpath "com.gradle.enterprise:com.gradle.enterprise.gradle.plugin:3.12.6" + classpath "com.gradle.enterprise:com.gradle.enterprise.gradle.plugin:3.14.1" classpath "com.gradle:common-custom-user-data-gradle-plugin:1.11.1" } } diff --git a/settings.gradle b/settings.gradle index 548c5335857..a6b4b213d29 100644 --- a/settings.gradle +++ b/settings.gradle @@ -5,7 +5,7 @@ buildscript { } } dependencies { - classpath "com.gradle.enterprise:com.gradle.enterprise.gradle.plugin:3.13.4" + classpath "com.gradle.enterprise:com.gradle.enterprise.gradle.plugin:3.14.1" classpath "com.gradle:common-custom-user-data-gradle-plugin:1.11.1" classpath "org.gradle.toolchains:foojay-resolver:0.4.0" } From 9e568a9beef33ca38473fbb442b728ff5dab3874 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edd=C3=BA=20Mel=C3=A9ndez=20Gonzales?= Date: Wed, 2 Aug 2023 08:40:34 -0600 Subject: [PATCH 0056/1917] Update google-cloud-cli image version to 441 (#7389) Fixes #7340 --- docs/modules/gcloud.md | 8 ++++---- .../containers/BigtableEmulatorContainerTest.java | 2 +- .../containers/DatastoreEmulatorContainerTest.java | 6 +++--- .../containers/FirestoreEmulatorContainerTest.java | 2 +- .../containers/PubSubEmulatorContainerTest.java | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/modules/gcloud.md b/docs/modules/gcloud.md index de846bf48a2..bfe34100ce2 100644 --- a/docs/modules/gcloud.md +++ b/docs/modules/gcloud.md @@ -10,11 +10,11 @@ Currently, the module supports `BigQuery`, `Bigtable`, `Datastore`, `Firestore`, Class | Container Image -|- BigQueryEmulatorContainer | ["ghcr.io/goccy/bigquery-emulator"]("ghcr.io/goccy/bigquery-emulator") -BigtableEmulatorContainer | [gcr.io/google.com/cloudsdktool/cloud-sdk:emulators](https://gcr.io/google.com/cloudsdktool/cloud-sdk) -DatastoreEmulatorContainer | [gcr.io/google.com/cloudsdktool/cloud-sdk:emulators](https://gcr.io/google.com/cloudsdktool/cloud-sdk) -FirestoreEmulatorContainer | [gcr.io/google.com/cloudsdktool/cloud-sdk:emulators](https://gcr.io/google.com/cloudsdktool/cloud-sdk) +BigtableEmulatorContainer | [gcr.io/google.com/cloudsdktool/google-cloud-cli:emulators](https://gcr.io/google.com/cloudsdktool/google-cloud-cli) +DatastoreEmulatorContainer | [gcr.io/google.com/cloudsdktool/google-cloud-cli:emulators](https://gcr.io/google.com/cloudsdktool/google-cloud-cli) +FirestoreEmulatorContainer | [gcr.io/google.com/cloudsdktool/google-cloud-cli:emulators](https://gcr.io/google.com/cloudsdktool/google-cloud-cli) SpannerEmulatorContainer | [gcr.io/cloud-spanner-emulator/emulator](https://gcr.io/cloud-spanner-emulator/emulator) -PubSubEmulatorContainer | [gcr.io/google.com/cloudsdktool/cloud-sdk:emulators](https://gcr.io/google.com/cloudsdktool/cloud-sdk) +PubSubEmulatorContainer | [gcr.io/google.com/cloudsdktool/google-cloud-cli:emulators](https://gcr.io/google.com/cloudsdktool/google-cloud-cli) ## Usage example diff --git a/modules/gcloud/src/test/java/org/testcontainers/containers/BigtableEmulatorContainerTest.java b/modules/gcloud/src/test/java/org/testcontainers/containers/BigtableEmulatorContainerTest.java index fa611df800c..e68ecce405b 100644 --- a/modules/gcloud/src/test/java/org/testcontainers/containers/BigtableEmulatorContainerTest.java +++ b/modules/gcloud/src/test/java/org/testcontainers/containers/BigtableEmulatorContainerTest.java @@ -36,7 +36,7 @@ public class BigtableEmulatorContainerTest { @Rule // emulatorContainer { public BigtableEmulatorContainer emulator = new BigtableEmulatorContainer( - DockerImageName.parse("gcr.io/google.com/cloudsdktool/google-cloud-cli:380.0.0-emulators") + DockerImageName.parse("gcr.io/google.com/cloudsdktool/google-cloud-cli:441.0.0-emulators") ); // } diff --git a/modules/gcloud/src/test/java/org/testcontainers/containers/DatastoreEmulatorContainerTest.java b/modules/gcloud/src/test/java/org/testcontainers/containers/DatastoreEmulatorContainerTest.java index fa447f1e100..7ea0ceb9a49 100644 --- a/modules/gcloud/src/test/java/org/testcontainers/containers/DatastoreEmulatorContainerTest.java +++ b/modules/gcloud/src/test/java/org/testcontainers/containers/DatastoreEmulatorContainerTest.java @@ -19,7 +19,7 @@ public class DatastoreEmulatorContainerTest { @Rule // creatingDatastoreEmulatorContainer { public DatastoreEmulatorContainer emulator = new DatastoreEmulatorContainer( - DockerImageName.parse("gcr.io/google.com/cloudsdktool/google-cloud-cli:380.0.0-emulators") + DockerImageName.parse("gcr.io/google.com/cloudsdktool/google-cloud-cli:441.0.0-emulators") ); // } @@ -49,7 +49,7 @@ public void testSimple() { public void testWithFlags() throws IOException, InterruptedException { try ( DatastoreEmulatorContainer emulator = new DatastoreEmulatorContainer( - "gcr.io/google.com/cloudsdktool/google-cloud-cli:380.0.0-emulators" + "gcr.io/google.com/cloudsdktool/google-cloud-cli:441.0.0-emulators" ) .withFlags("--consistency 1.0") ) { @@ -64,7 +64,7 @@ public void testWithFlags() throws IOException, InterruptedException { public void testWithMultipleFlags() throws IOException, InterruptedException { try ( DatastoreEmulatorContainer emulator = new DatastoreEmulatorContainer( - "gcr.io/google.com/cloudsdktool/google-cloud-cli:380.0.0-emulators" + "gcr.io/google.com/cloudsdktool/google-cloud-cli:441.0.0-emulators" ) .withFlags("--consistency 1.0 --data-dir /root/.config/test-gcloud") ) { diff --git a/modules/gcloud/src/test/java/org/testcontainers/containers/FirestoreEmulatorContainerTest.java b/modules/gcloud/src/test/java/org/testcontainers/containers/FirestoreEmulatorContainerTest.java index e59302e495d..0162085ea35 100644 --- a/modules/gcloud/src/test/java/org/testcontainers/containers/FirestoreEmulatorContainerTest.java +++ b/modules/gcloud/src/test/java/org/testcontainers/containers/FirestoreEmulatorContainerTest.java @@ -23,7 +23,7 @@ public class FirestoreEmulatorContainerTest { @Rule // emulatorContainer { public FirestoreEmulatorContainer emulator = new FirestoreEmulatorContainer( - DockerImageName.parse("gcr.io/google.com/cloudsdktool/google-cloud-cli:380.0.0-emulators") + DockerImageName.parse("gcr.io/google.com/cloudsdktool/google-cloud-cli:441.0.0-emulators") ); // } diff --git a/modules/gcloud/src/test/java/org/testcontainers/containers/PubSubEmulatorContainerTest.java b/modules/gcloud/src/test/java/org/testcontainers/containers/PubSubEmulatorContainerTest.java index e1d1e74fb9c..b2f75f0f36a 100644 --- a/modules/gcloud/src/test/java/org/testcontainers/containers/PubSubEmulatorContainerTest.java +++ b/modules/gcloud/src/test/java/org/testcontainers/containers/PubSubEmulatorContainerTest.java @@ -37,7 +37,7 @@ public class PubSubEmulatorContainerTest { @Rule // emulatorContainer { public PubSubEmulatorContainer emulator = new PubSubEmulatorContainer( - DockerImageName.parse("gcr.io/google.com/cloudsdktool/google-cloud-cli:380.0.0-emulators") + DockerImageName.parse("gcr.io/google.com/cloudsdktool/google-cloud-cli:441.0.0-emulators") ); // } From add3711fb8769226193a27f96e7cd21f8239227d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edd=C3=BA=20Mel=C3=A9ndez?= Date: Wed, 2 Aug 2023 15:21:42 -0600 Subject: [PATCH 0057/1917] Fix typos --- RELEASING.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/RELEASING.md b/RELEASING.md index 31a8217a227..d5c79b04ed2 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -15,8 +15,8 @@ Testcontainers' release process is semi-automated through GitHub Actions. This d * For TinSalver to correctly work with keybase on WSL on Windows, you might need to disable pinentry: `keybase config set -b pinentry.disabled true`. 7. Close the release in Sonatype. This will evaluate the release based on given Sonatype rules. 8. After successful closing, the release button needs to be clicked and afterwards it is automatically synced to Maven Central. -9. Handcraft and polish some of the release notes (e.g. substitute combinded dependency PRs and highlight certain features). -10. Rename existing milestone corresponding to new release and close it. Then create a new `next` milstestone. +9. Handcraft and polish some of the release notes (e.g. substitute combined dependency PRs and highlight certain features). +10. Rename existing milestone corresponding to new release and close it. Then create a new `next` milestone. 11. When available through Maven Central, poke [Richard North](https://github.com/rnorth) to announce the release on Twitter! 12. Merge automated version update PRs in order to update the reference version in `mkdocs.yml` and `gradle.properties`. @@ -25,4 +25,4 @@ Testcontainers' release process is semi-automated through GitHub Actions. This d * The process is done with GitHub Actions, TinSalver and Sonatype. * Sonatype will automatically promote the staging release to Maven Central. * Keybase needs to be installed on the developer machine. -* GPG key of signing developer needs to be uplodaed to the [Ubuntu keyserver](https://keyserver.ubuntu.com/) (or other server supported by Sonatype). +* GPG key of signing developer needs to be uploaded to the [Ubuntu keyserver](https://keyserver.ubuntu.com/) (or other server supported by Sonatype). From d1a37420efa26f1dc5f7e1ab0c51d03958f7815e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edd=C3=BA=20Mel=C3=A9ndez=20Gonzales?= Date: Thu, 3 Aug 2023 12:21:31 -0600 Subject: [PATCH 0058/1917] Fix call to stop containers when using parallel in JUnit Jupiter Extension (#7394) Currently, containers are shutdown because of JVMHookResourceReaper instead of Ryuk when enabling parallel using `@Testcontainers`. This commits, register containers to be initialized so `stop()` is called. --- .../junit/jupiter/TestcontainersExtension.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/modules/junit-jupiter/src/main/java/org/testcontainers/junit/jupiter/TestcontainersExtension.java b/modules/junit-jupiter/src/main/java/org/testcontainers/junit/jupiter/TestcontainersExtension.java index d841e5f38dd..ca99a2d2382 100644 --- a/modules/junit-jupiter/src/main/java/org/testcontainers/junit/jupiter/TestcontainersExtension.java +++ b/modules/junit-jupiter/src/main/java/org/testcontainers/junit/jupiter/TestcontainersExtension.java @@ -71,7 +71,13 @@ private void startContainers(List storeAdapters, Store store, Exte } if (isParallelExecutionEnabled(context)) { - Startables.deepStart(storeAdapters.stream().map(storeAdapter -> storeAdapter.container)).join(); + Stream startables = storeAdapters + .stream() + .map(storeAdapter -> { + store.getOrComputeIfAbsent(storeAdapter.getKey(), k -> storeAdapter); + return storeAdapter.container; + }); + Startables.deepStart(startables).join(); } else { storeAdapters.forEach(adapter -> store.getOrComputeIfAbsent(adapter.getKey(), k -> adapter.start())); } From d753f36bff016ee3cf38e0d58c559e5f66353706 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edd=C3=BA=20Mel=C3=A9ndez=20Gonzales?= Date: Thu, 3 Aug 2023 13:24:54 -0600 Subject: [PATCH 0059/1917] Apply priority execution in CI (#7395) Nowadays, around 84 jobs are executed. Core, Modules and examples are executed in parallel which cause a bottleneck when many PRs are raised. This commit introduces a priority to the execution 1. Core module 2. Modules 3. Examples 4. Docs examples Although, the number of execution doesn't change at the end. It will allow to do not take all runners at once. --- .github/workflows/ci-examples.yml | 88 ---------------------- .github/workflows/ci.yml | 119 +++++++++++++++++++++++++++++- 2 files changed, 118 insertions(+), 89 deletions(-) delete mode 100644 .github/workflows/ci-examples.yml diff --git a/.github/workflows/ci-examples.yml b/.github/workflows/ci-examples.yml deleted file mode 100644 index f37d71ebf73..00000000000 --- a/.github/workflows/ci-examples.yml +++ /dev/null @@ -1,88 +0,0 @@ -name: CI-Examples - -on: - pull_request: - paths-ignore: - - 'docs/**/*.css' - - 'docs/**/*.html' - - 'docs/**/*.ico' - - 'docs/**/*.md' - - 'docs/**/*.png' - - 'docs/**/*.svg' - - 'mkdocs.yml' - - 'README.md' - - 'RELEASING.md' - - '.sdkmanrc' - push: - branches: [ main ] - paths-ignore: - - 'docs/**/*.css' - - 'docs/**/*.html' - - 'docs/**/*.ico' - - 'docs/**/*.md' - - 'docs/**/*.png' - - 'docs/**/*.svg' - - 'docs/**/*.md' - - 'mkdocs.yml' - - 'README.md' - - 'RELEASING.md' - - '.sdkmanrc' - -concurrency: - group: "${{ github.workflow }}-${{ github.head_ref || github.sha }}" - cancel-in-progress: true - -env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} - GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GRADLE_ENTERPRISE_CACHE_PASSWORD }} - -permissions: - contents: read - -jobs: - find_gradle_jobs: - runs-on: ubuntu-22.04 - outputs: - matrix: ${{ steps.set-matrix.outputs.matrix }} - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-java@v3 - with: - java-version: '8' - distribution: temurin - - name: Setup Gradle Build Action - uses: gradle/gradle-build-action@v2 - - id: set-matrix - working-directory: ./examples/ - env: - # Since we override the tests executor, - # we should not push empty results to the cache - READ_ONLY_REMOTE_GRADLE_CACHE: true - run: | - TASKS=$(./gradlew --no-daemon --parallel -q testMatrix) - echo $TASKS - echo "matrix={\"gradle_args\":$TASKS}" >> $GITHUB_OUTPUT - check: - needs: find_gradle_jobs - strategy: - fail-fast: false - matrix: ${{ fromJson(needs.find_gradle_jobs.outputs.matrix) }} - runs-on: ubuntu-22.04 - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-java@v3 - with: - java-version: '8' - distribution: temurin - - name: Clear existing docker image cache - run: docker image prune -af - - name: Setup Gradle Build Action - uses: gradle/gradle-build-action@v2 - with: - gradle-home-cache-cleanup: true - - name: Build and test Examples with Gradle (${{matrix.gradle_args}}) - working-directory: ./examples/ - run: | - ./gradlew --no-daemon --continue --scan --info ${{matrix.gradle_args}} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 770a8e387c7..389d71a6877 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -41,7 +41,30 @@ env: GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GRADLE_ENTERPRISE_CACHE_PASSWORD }} jobs: + core: + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-java@v3 + with: + java-version: '8' + distribution: temurin + - name: Clear existing docker image cache + run: docker image prune -af + - name: Setup Gradle Build Action + uses: gradle/gradle-build-action@v2 + with: + gradle-home-cache-includes: | + caches + notifications + jdks + gradle-home-cache-cleanup: true + - name: Build and test with Gradle + run: | + ./gradlew :testcontainers:check --no-daemon --continue --scan + find_gradle_jobs: + needs: [core] runs-on: ubuntu-22.04 outputs: matrix: ${{ steps.set-matrix.outputs.matrix }} @@ -59,7 +82,7 @@ jobs: # we should not push empty results to the cache READ_ONLY_REMOTE_GRADLE_CACHE: true run: | - TASKS=$(./gradlew --no-daemon --parallel -q testMatrix | jq 'del(.[] | select(. == ":azure:check"))' --compact-output) + TASKS=$(./gradlew --no-daemon --parallel -q testMatrix | jq 'del(.[] | select(. == ":azure:check" or . == ":testcontainers:check" or startswith(":docs:")))' --compact-output) echo $TASKS echo "matrix={\"gradle_args\":$TASKS}" >> $GITHUB_OUTPUT check: @@ -87,3 +110,97 @@ jobs: - name: Build and test with Gradle (${{matrix.gradle_args}}) run: | ./gradlew --no-daemon --continue --scan ${{matrix.gradle_args}} + + find_examples_jobs: + needs: [check] + runs-on: ubuntu-22.04 + outputs: + matrix: ${{ steps.set-matrix.outputs.matrix }} + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-java@v3 + with: + java-version: '8' + distribution: temurin + - name: Setup Gradle Build Action + uses: gradle/gradle-build-action@v2 + - id: set-matrix + working-directory: ./examples/ + env: + # Since we override the tests executor, + # we should not push empty results to the cache + READ_ONLY_REMOTE_GRADLE_CACHE: true + run: | + TASKS=$(./gradlew --no-daemon --parallel -q testMatrix) + echo $TASKS + echo "matrix={\"gradle_args\":$TASKS}" >> $GITHUB_OUTPUT + check_examples: + needs: [find_examples_jobs] + strategy: + fail-fast: false + matrix: ${{ fromJson(needs.find_examples_jobs.outputs.matrix) }} + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-java@v3 + with: + java-version: '8' + distribution: temurin + - name: Clear existing docker image cache + run: docker image prune -af + - name: Setup Gradle Build Action + uses: gradle/gradle-build-action@v2 + with: + gradle-home-cache-cleanup: true + - name: Build and test Examples with Gradle (${{matrix.gradle_args}}) + working-directory: ./examples/ + run: | + ./gradlew --no-daemon --continue --scan --info ${{matrix.gradle_args}} + + find_docs_examples_jobs: + needs: [check_examples] + runs-on: ubuntu-22.04 + outputs: + matrix: ${{ steps.set-matrix.outputs.matrix }} + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-java@v3 + with: + java-version: '8' + distribution: temurin + - name: Setup Gradle Build Action + uses: gradle/gradle-build-action@v2 + - id: set-matrix + env: + # Since we override the tests executor, + # we should not push empty results to the cache + READ_ONLY_REMOTE_GRADLE_CACHE: true + run: | + TASKS=$(./gradlew --no-daemon --parallel -q testMatrix | jq 'map(select(startswith(":docs:")))' --compact-output) + echo $TASKS + echo "matrix={\"gradle_args\":$TASKS}" >> $GITHUB_OUTPUT + check_docs_examples: + needs: [find_docs_examples_jobs] + strategy: + fail-fast: false + matrix: ${{ fromJson(needs.find_docs_examples_jobs.outputs.matrix) }} + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-java@v3 + with: + java-version: '8' + distribution: temurin + - name: Clear existing docker image cache + run: docker image prune -af + - name: Setup Gradle Build Action + uses: gradle/gradle-build-action@v2 + with: + gradle-home-cache-includes: | + caches + notifications + jdks + gradle-home-cache-cleanup: true + - name: Build and test with Gradle (${{matrix.gradle_args}}) + run: | + ./gradlew --no-daemon --continue --scan ${{matrix.gradle_args}} From f36f07f98feef2b12a5367a96738603b33852511 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edd=C3=BA=20Mel=C3=A9ndez=20Gonzales?= Date: Thu, 3 Aug 2023 15:41:07 -0600 Subject: [PATCH 0060/1917] Move common configuration in workflows (#7396) Create reusable actions to be used across the workflows. --- .github/actions/setup-build/action.yml | 10 ++++ .github/actions/setup-gradle/action.yml | 13 +++++ .github/actions/setup-java/action.yml | 9 ++++ .github/workflows/ci.yml | 71 +++---------------------- .github/workflows/release.yml | 5 +- 5 files changed, 40 insertions(+), 68 deletions(-) create mode 100644 .github/actions/setup-build/action.yml create mode 100644 .github/actions/setup-gradle/action.yml create mode 100644 .github/actions/setup-java/action.yml diff --git a/.github/actions/setup-build/action.yml b/.github/actions/setup-build/action.yml new file mode 100644 index 00000000000..23204529408 --- /dev/null +++ b/.github/actions/setup-build/action.yml @@ -0,0 +1,10 @@ +name: Set up Build +description: Sets up Build +runs: + using: "composite" + steps: + - uses: ./.github/actions/setup-java + - name: Clear existing docker image cache + shell: bash + run: docker image prune -af + - uses: ./.github/actions/setup-gradle diff --git a/.github/actions/setup-gradle/action.yml b/.github/actions/setup-gradle/action.yml new file mode 100644 index 00000000000..58499f75e57 --- /dev/null +++ b/.github/actions/setup-gradle/action.yml @@ -0,0 +1,13 @@ +name: Set up Gradle Action +description: Sets up Gradle Action +runs: + using: "composite" + steps: + - name: Setup Gradle Build Action + uses: gradle/gradle-build-action@v2 + with: + gradle-home-cache-includes: | + caches + notifications + jdks + gradle-home-cache-cleanup: true diff --git a/.github/actions/setup-java/action.yml b/.github/actions/setup-java/action.yml new file mode 100644 index 00000000000..8d9733f02ba --- /dev/null +++ b/.github/actions/setup-java/action.yml @@ -0,0 +1,9 @@ +name: Set up Java +description: Sets up Java version +runs: + using: "composite" + steps: + - uses: actions/setup-java@v3 + with: + java-version: '8' + distribution: temurin diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 389d71a6877..aed86892eb5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -45,20 +45,7 @@ jobs: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 - - uses: actions/setup-java@v3 - with: - java-version: '8' - distribution: temurin - - name: Clear existing docker image cache - run: docker image prune -af - - name: Setup Gradle Build Action - uses: gradle/gradle-build-action@v2 - with: - gradle-home-cache-includes: | - caches - notifications - jdks - gradle-home-cache-cleanup: true + - uses: ./.github/actions/setup-build - name: Build and test with Gradle run: | ./gradlew :testcontainers:check --no-daemon --continue --scan @@ -70,10 +57,7 @@ jobs: matrix: ${{ steps.set-matrix.outputs.matrix }} steps: - uses: actions/checkout@v3 - - uses: actions/setup-java@v3 - with: - java-version: '8' - distribution: temurin + - uses: ./.github/actions/setup-java - name: Setup Gradle Build Action uses: gradle/gradle-build-action@v2 - id: set-matrix @@ -93,20 +77,7 @@ jobs: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 - - uses: actions/setup-java@v3 - with: - java-version: '8' - distribution: temurin - - name: Clear existing docker image cache - run: docker image prune -af - - name: Setup Gradle Build Action - uses: gradle/gradle-build-action@v2 - with: - gradle-home-cache-includes: | - caches - notifications - jdks - gradle-home-cache-cleanup: true + - uses: ./.github/actions/setup-build - name: Build and test with Gradle (${{matrix.gradle_args}}) run: | ./gradlew --no-daemon --continue --scan ${{matrix.gradle_args}} @@ -118,10 +89,7 @@ jobs: matrix: ${{ steps.set-matrix.outputs.matrix }} steps: - uses: actions/checkout@v3 - - uses: actions/setup-java@v3 - with: - java-version: '8' - distribution: temurin + - uses: ./.github/actions/setup-java - name: Setup Gradle Build Action uses: gradle/gradle-build-action@v2 - id: set-matrix @@ -142,16 +110,7 @@ jobs: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 - - uses: actions/setup-java@v3 - with: - java-version: '8' - distribution: temurin - - name: Clear existing docker image cache - run: docker image prune -af - - name: Setup Gradle Build Action - uses: gradle/gradle-build-action@v2 - with: - gradle-home-cache-cleanup: true + - uses: ./.github/actions/setup-build - name: Build and test Examples with Gradle (${{matrix.gradle_args}}) working-directory: ./examples/ run: | @@ -164,10 +123,7 @@ jobs: matrix: ${{ steps.set-matrix.outputs.matrix }} steps: - uses: actions/checkout@v3 - - uses: actions/setup-java@v3 - with: - java-version: '8' - distribution: temurin + - uses: ./.github/actions/setup-java - name: Setup Gradle Build Action uses: gradle/gradle-build-action@v2 - id: set-matrix @@ -187,20 +143,7 @@ jobs: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 - - uses: actions/setup-java@v3 - with: - java-version: '8' - distribution: temurin - - name: Clear existing docker image cache - run: docker image prune -af - - name: Setup Gradle Build Action - uses: gradle/gradle-build-action@v2 - with: - gradle-home-cache-includes: | - caches - notifications - jdks - gradle-home-cache-cleanup: true + - uses: ./.github/actions/setup-build - name: Build and test with Gradle (${{matrix.gradle_args}}) run: | ./gradlew --no-daemon --continue --scan ${{matrix.gradle_args}} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 07d19ab0343..5857be84118 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,10 +16,7 @@ jobs: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v3 - - uses: actions/setup-java@v3 - with: - java-version: '8' - distribution: temurin + - uses: ./.github/actions/setup-java - name: Clear existing docker image cache run: docker image prune -af From 9e8b18b72d9c8e61e737840b2db69fcceb9c2d2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edd=C3=BA=20Mel=C3=A9ndez=20Gonzales?= Date: Fri, 4 Aug 2023 11:15:17 -0600 Subject: [PATCH 0061/1917] Support icr.io/db2_community/db2 as a compatible image (#7397) `ibmcom/db2` is deprecated. New image location is `icr.io/db2_community/db2` --- .../org/testcontainers/containers/Db2Container.java | 5 ++++- .../org/testcontainers/junit/db2/SimpleDb2Test.java | 13 +++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/modules/db2/src/main/java/org/testcontainers/containers/Db2Container.java b/modules/db2/src/main/java/org/testcontainers/containers/Db2Container.java index 6ff5d2d47b5..99a848f74fb 100644 --- a/modules/db2/src/main/java/org/testcontainers/containers/Db2Container.java +++ b/modules/db2/src/main/java/org/testcontainers/containers/Db2Container.java @@ -12,8 +12,11 @@ public class Db2Container extends JdbcDatabaseContainer { public static final String NAME = "db2"; + @Deprecated private static final DockerImageName DEFAULT_IMAGE_NAME = DockerImageName.parse("ibmcom/db2"); + private static final DockerImageName DEFAULT_NEW_IMAGE_NAME = DockerImageName.parse("icr.io/db2_community/db2"); + @Deprecated public static final String DEFAULT_DB2_IMAGE_NAME = DEFAULT_IMAGE_NAME.getUnversionedPart(); @@ -42,7 +45,7 @@ public Db2Container(String dockerImageName) { public Db2Container(final DockerImageName dockerImageName) { super(dockerImageName); - dockerImageName.assertCompatibleWith(DEFAULT_IMAGE_NAME); + dockerImageName.assertCompatibleWith(DEFAULT_NEW_IMAGE_NAME, DEFAULT_IMAGE_NAME); withPrivilegedMode(true); this.waitStrategy = diff --git a/modules/db2/src/test/java/org/testcontainers/junit/db2/SimpleDb2Test.java b/modules/db2/src/test/java/org/testcontainers/junit/db2/SimpleDb2Test.java index ae35a8ee77c..2cffbdb117a 100644 --- a/modules/db2/src/test/java/org/testcontainers/junit/db2/SimpleDb2Test.java +++ b/modules/db2/src/test/java/org/testcontainers/junit/db2/SimpleDb2Test.java @@ -25,6 +25,19 @@ public void testSimple() throws SQLException { } } + @Test + public void testSimpleWithNewImage() throws SQLException { + try (Db2Container db2 = new Db2Container("icr.io/db2_community/db2:11.5.8.0").acceptLicense()) { + db2.start(); + + ResultSet resultSet = performQuery(db2, "SELECT 1 FROM SYSIBM.SYSDUMMY1"); + + int resultSetInt = resultSet.getInt(1); + assertThat(resultSetInt).as("A basic SELECT query succeeds").isEqualTo(1); + assertHasCorrectExposedAndLivenessCheckPorts(db2); + } + } + @Test public void testWithAdditionalUrlParamInJdbcUrl() { try ( From e11c86fe86ab059eee8114b5da684f6973af7c98 Mon Sep 17 00:00:00 2001 From: Seonghyeon Cho Date: Sun, 6 Aug 2023 11:39:10 +0900 Subject: [PATCH 0062/1917] Fix consul docs (#7398) --- docs/modules/consul.md | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/docs/modules/consul.md b/docs/modules/consul.md index d0eafd6b1a8..c400e8b4bcb 100644 --- a/docs/modules/consul.md +++ b/docs/modules/consul.md @@ -19,18 +19,20 @@ test how your application behaves with Consul by writing different test scenario Add the following dependency to your `pom.xml`/`build.gradle` file: -```groovy tab='Gradle' -testImplementation "org.testcontainers:consul:{{latest_version}}" -``` - -```xml tab='Maven' - - org.testcontainers - consul - {{latest_version}} - test - -``` +=== "Gradle" + ```groovy + testImplementation "org.testcontainers:consul:{{latest_version}}" + ``` + +=== "Maven" + ```xml + + org.testcontainers + consul + {{latest_version}} + test + + ``` See [AUTHORS](https://raw.githubusercontent.com/testcontainers/testcontainers-java/main/modules/consul/AUTHORS) for contributors. From d08c3fa5ab291bb1e48f48b433cef7a62dd05d9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edd=C3=BA=20Mel=C3=A9ndez?= Date: Sat, 5 Aug 2023 20:42:21 -0600 Subject: [PATCH 0063/1917] Remove non existing reference to authors in consul docs --- docs/modules/consul.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/docs/modules/consul.md b/docs/modules/consul.md index c400e8b4bcb..f9f21bfb541 100644 --- a/docs/modules/consul.md +++ b/docs/modules/consul.md @@ -33,6 +33,3 @@ Add the following dependency to your `pom.xml`/`build.gradle` file: test ``` - -See [AUTHORS](https://raw.githubusercontent.com/testcontainers/testcontainers-java/main/modules/consul/AUTHORS) for contributors. - From 8c496993151202160d3db984d5b19949e950f55a Mon Sep 17 00:00:00 2001 From: Leo Date: Tue, 8 Aug 2023 16:00:20 +0100 Subject: [PATCH 0064/1917] Add global testcontainers header to docs (#7401) --- docs/css/extra.css | 25 +- docs/css/tc-header.css | 375 +++++++++++++++++++++++++++++ docs/index.md | 6 +- docs/js/tc-header.js | 45 ++++ docs/language-logos/ruby.svg | 125 ++++++++++ docs/testcontainers-logo.svg | 22 ++ docs/theme/main.html | 5 + docs/theme/partials/header.html | 150 ++++++++++++ docs/theme/partials/nav.html | 6 +- docs/theme/partials/tc-header.html | 157 ++++++++++++ mkdocs.yml | 1 + 11 files changed, 901 insertions(+), 16 deletions(-) create mode 100644 docs/css/tc-header.css create mode 100644 docs/js/tc-header.js create mode 100644 docs/language-logos/ruby.svg create mode 100644 docs/testcontainers-logo.svg create mode 100644 docs/theme/partials/header.html create mode 100644 docs/theme/partials/tc-header.html diff --git a/docs/css/extra.css b/docs/css/extra.css index e82da5797ae..ff780cb25ea 100644 --- a/docs/css/extra.css +++ b/docs/css/extra.css @@ -1,13 +1,18 @@ -@import url('https://fonts.googleapis.com/css?family=Rubik'); h1, h2, h3, h4, h5, h6 { font-family: 'Rubik', sans-serif; - } [data-md-color-scheme="testcontainers"] { - --md-primary-fg-color: #291A3F; - --md-accent-fg-color: #291A3F; + --md-primary-fg-color: #00bac2; + --md-accent-fg-color: #361E5B; --md-typeset-a-color: #0C94AA; + --md-primary-fg-color--dark: #291A3F; + --md-default-fg-color--lightest: #F2F4FE; + --md-footer-fg-color: #361E5B; + --md-footer-fg-color--light: #746C8F; + --md-footer-fg-color--lighter: #C3BEDE; + --md-footer-bg-color: #F7F9FD; + --md-footer-bg-color--dark: #F7F9FD; } .card-grid { @@ -15,6 +20,12 @@ h1, h2, h3, h4, h5, h6 { gap: 10px; } +.tc-version { + font-size: 1.1em; + text-align: center; + margin: 0; +} + @media (min-width: 680px) { .card-grid { grid-template-columns: repeat(3, 1fr); @@ -39,14 +50,14 @@ body .card-grid-item:focus { } .card-grid-item[href] { - color: var(--md-primary-fg-color); + color: var(--md-primary-fg-color--dark); background: transparent; } .card-grid-item[href]:hover, .card-grid-item[href]:focus { background: #F2F4FE; - color: var(--md-primary-fg-color); + color: var(--md-primary-fg-color--dark); } .community-callout-wrapper { @@ -79,7 +90,7 @@ body .card-grid-item:focus { } .community-callout a { -transition: opacity 0.2s ease; + transition: opacity 0.2s ease; } .community-callout a:hover { diff --git a/docs/css/tc-header.css b/docs/css/tc-header.css new file mode 100644 index 00000000000..122102bb4d9 --- /dev/null +++ b/docs/css/tc-header.css @@ -0,0 +1,375 @@ + +:root { + --color-catskill: #F2F4FE; + --color-catskill-45: rgba(242, 244, 254, 0.45); + --color-mist: #E7EAFB; + --color-fog: #C3C7E6; + --color-smoke: #9991B5; + --color-smoke-75: rgba(153, 145, 181, 0.75); + --color-storm: #746C8F; + --color-topaz: #00BAC2; + --color-pacific: #17A6B2; + --color-teal: #027F9E; + --color-eggplant: #291A3F; + --color-plum: #361E5B; + +} + +#site-header { + color: var(--color-storm); + background: #fff; + font-family: 'Rubik', Arial, Helvetica, sans-serif; + font-size: 12px; + line-height: 1.5; + position: relative; + width: 100%; + z-index: 4; + display: flex; + align-items: center; + justify-content: space-between; + gap: 20px; + padding: 20px; +} + +body.tc-header-active #site-header { + z-index: 5; +} + +#site-header .brand { + display: flex; + justify-content: space-between; + gap: 20px; + width: 100%; +} + +#site-header .logo { + display: flex; +} + +#site-header .logo img, +#site-header .logo svg { + height: 30px; + width: auto; + max-width: 100%; +} + +#site-header #mobile-menu-toggle { + background: none; + border: none; + display: flex; + align-items: center; + gap: 10px; + cursor: pointer; + color: var(--color-eggplant); + padding: 0; + margin: 0; + font-weight: 500; +} + +body.mobile-menu #site-header #mobile-menu-toggle { + color: var(--color-topaz); +} + +#site-header ul { + list-style: none; + padding: 0; + margin: 0; +} + +#site-header nav { + display: none; +} + +#site-header .menu-item { + display: flex; +} + +#site-header .menu-item button, +#site-header .menu-item a { + min-height: 30px; + display: flex; + gap: 6px; + align-items: center; + border: none; + background: none; + cursor: pointer; + padding: 0; + font-weight: 500; + color: var(--color-eggplant); + text-decoration: none; + font-size: 14px; + transition: color 0.2s ease; + white-space: nowrap; +} + +#site-header .menu-item button:hover, +#site-header .menu-item a:hover { + color: var(--color-topaz); +} + +#site-header .menu-item button .icon-external, +#site-header .menu-item a .icon-externa { + margin-left: auto; + opacity: .3; + flex-shrink: 0; +} + +#site-header .menu-item button .icon-caret, +#site-header .menu-item a .icon-caret { + opacity: .3; + height: 8px; +} + +#site-header .menu-item button .icon-slack, +#site-header .menu-item a .icon-slack, +#site-header .menu-item button .icon-github, +#site-header .menu-item a .icon-github { + height: 18px; +} + +#site-header .menu-item .menu-dropdown { + flex-direction: column; +} + +body #site-header .menu-item .menu-dropdown { + display: none; +} + +#site-header .menu-item.has-children.active .menu-dropdown { + display: flex; + z-index: 10; +} + +#site-header .menu-dropdown-item + .menu-dropdown-item { + border-top: 1px solid var(--color-mist); +} + +#site-header .menu-dropdown-item a { + display: flex; + gap: 10px; + align-items: center; + padding: 10px 20px; + font-weight: 500; + color: var(--color-eggplant); + text-decoration: none; + transition: + color 0.2s ease, + background 0.2s ease; +} + +#site-header .menu-dropdown-item a .icon-external { + margin-left: auto; + color: var(--color-fog); + flex-shrink: 0; + opacity: 1; +} + +#site-header .menu-dropdown-item a:hover { + background-color: var(--color-catskill-45); +} + +#site-header .menu-dropdown-item a:hover .icon-external { + color: var(--color-topaz); +} + +#site-header .menu-dropdown-item a img { + height: 24px; +} + +.md-header { + background-color: var(--color-catskill); + color: var(--color-eggplant); +} + +.md-header.md-header--shadow { + box-shadow: none; +} + +.md-header__inner.md-grid { + max-width: 100%; + padding: 1.5px 20px; +} + +[dir=ltr] .md-header__title { + margin: 0; +} + +.md-header__topic:first-child { + font-size: 16px; + font-weight: 500; + font-family: 'Rubik', Arial, Helvetica, sans-serif; +} + +.md-header__title.md-header__title--active .md-header__topic, +.md-header__title[data-md-state=active] .md-header__topic { + opacity: 1; + pointer-events: all; + transform: translateX(0); + transition: none; + z-index: 0; +} + +.md-header__topic a { + max-width: 100%; + overflow: hidden; + text-overflow: ellipsis; + transition: color .2s ease; +} + +.md-header__topic a:hover { + color: var(--color-topaz); +} + +div.md-header__source { + width: auto; +} + +div.md-source__repository { + max-width: 100%; +} + +.md-main { + padding: 0 12px; +} + +@media screen and (min-width: 60em) { + form.md-search__form { + background-color: #FBFBFF; + color: var(--color-storm); + } + + form.md-search__form:hover { + background-color: #fff; + } + + .md-search__input + .md-search__icon { + color: var(--color-plum); + } + + .md-search__input::placeholder { + color: var(--color-smoke); + } +} + +@media (min-width: 500px) { + #site-header { + font-size: 16px; + padding: 20px 40px; + } + #site-header .logo img, + #site-header .logo svg { + height: 48px; + } + + #site-header .menu-item button .icon-caret, + #site-header .menu-item a .icon-caret { + height: 10px; + } + + #site-header .menu-item button .icon-slack, + #site-header .menu-item a .icon-slack, + #site-header .menu-item button .icon-github, + #site-header .menu-item a .icon-github { + height: 24px; + } + + .md-header__inner.md-grid { + padding: 5px 40px; + } + + .md-main { + padding: 0 32px; + } +} + +@media (min-width: 1024px) { + #site-header #mobile-menu-toggle { + display: none; + } + + #site-header nav { + display: block; + } + + #site-header .menu { + display: flex; + justify-content: center; + gap: 30px; + } + + #site-header .menu-item { + align-items: center; + position: relative; + } + + #site-header .menu-item button, + #site-header .menu-item a { + min-height: 48px; + gap: 8px; + font-size: 16px; + } + + #site-header .menu-item .menu-dropdown { + position: absolute; + top: 100%; + right: -8px; + border: 1px solid var(--color-mist); + border-radius: 6px; + background: #fff; + box-shadow: 0px 30px 35px var(--color-smoke-75); + min-width: 200px; + } +} + + +@media (max-width: 1023px) { + #site-header { + flex-direction: column; + } + + body.mobile-tc-header-active #site-header { + z-index: 5; + } + + body.mobile-menu #site-header nav { + display: flex; + } + + #site-header nav { + position: absolute; + top: calc(100% - 5px); + width: calc(100% - 80px); + flex-direction: column; + border: 1px solid var(--color-mist); + border-radius: 6px; + background: #fff; + box-shadow: 0px 30px 35px var(--color-smoke-75); + min-width: 200px; + } + + #site-header .menu-item { + flex-direction: column; + } + #site-header .menu-item + .menu-item { + border-top: 1px solid var(--color-mist); + } + + #site-header .menu-item button, + #site-header .menu-item a { + padding: 10px 20px; + } + + #site-header .menu-item.has-children.active .menu-dropdown { + border-top: 1px solid var(--color-mist); + } + + #site-header .menu-dropdown-item a { + padding: 10px 20px 10px 30px; + } +} + +@media (max-width: 499px) { + #site-header nav { + width: calc(100% - 40px); + } +} \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index 9e52c42da13..90cb81bf3af 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,7 +1,4 @@ -# Testcontainers - - -Testcontainers logo +# Testcontainers for Java

Not using Java? Here are other supported languages!

@@ -12,6 +9,7 @@ Python Rust Haskell + Ruby
## About Testcontainers for Java diff --git a/docs/js/tc-header.js b/docs/js/tc-header.js new file mode 100644 index 00000000000..4186b6ca59b --- /dev/null +++ b/docs/js/tc-header.js @@ -0,0 +1,45 @@ +const mobileToggle = document.getElementById("mobile-menu-toggle"); +const mobileSubToggle = document.getElementById("mobile-submenu-toggle"); +function toggleMobileMenu() { + document.body.classList.toggle('mobile-menu'); + document.body.classList.toggle("mobile-tc-header-active"); +} +function toggleMobileSubmenu() { + document.body.classList.toggle('mobile-submenu'); +} +if (mobileToggle) + mobileToggle.addEventListener("click", toggleMobileMenu); +if (mobileSubToggle) + mobileSubToggle.addEventListener("click", toggleMobileSubmenu); + +const allParentMenuItems = document.querySelectorAll("#site-header .menu-item.has-children"); +function clearActiveMenuItem() { + document.body.classList.remove("tc-header-active"); + allParentMenuItems.forEach((item) => { + item.classList.remove("active"); + }); +} +function setActiveMenuItem(e) { + clearActiveMenuItem(); + e.currentTarget.closest(".menu-item").classList.add("active"); + document.body.classList.add("tc-header-active"); +} +allParentMenuItems.forEach((item) => { + const trigger = item.querySelector(":scope > a, :scope > button"); + + trigger.addEventListener("click", (e) => { + if (e.currentTarget.closest(".menu-item").classList.contains("active")) { + clearActiveMenuItem(); + } else { + setActiveMenuItem(e); + } + }); + + trigger.addEventListener("mouseenter", (e) => { + setActiveMenuItem(e); + }); + + item.addEventListener("mouseleave", (e) => { + clearActiveMenuItem(); + }); +}); \ No newline at end of file diff --git a/docs/language-logos/ruby.svg b/docs/language-logos/ruby.svg new file mode 100644 index 00000000000..05537cedf72 --- /dev/null +++ b/docs/language-logos/ruby.svg @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/testcontainers-logo.svg b/docs/testcontainers-logo.svg new file mode 100644 index 00000000000..4b099f34a8e --- /dev/null +++ b/docs/testcontainers-logo.svg @@ -0,0 +1,22 @@ + + + Testcontainers + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/theme/main.html b/docs/theme/main.html index f96a2669e7e..b3c01a3a271 100644 --- a/docs/theme/main.html +++ b/docs/theme/main.html @@ -2,4 +2,9 @@ {% block analytics %} +{% endblock %} + +{% block extrahead %} + + {% endblock %} \ No newline at end of file diff --git a/docs/theme/partials/header.html b/docs/theme/partials/header.html new file mode 100644 index 00000000000..057ec4ae5e0 --- /dev/null +++ b/docs/theme/partials/header.html @@ -0,0 +1,150 @@ + + + +{% set class = "md-header" %} +{% if "navigation.tabs.sticky" in features %} + {% set class = class ~ " md-header--shadow md-header--lifted" %} +{% elif "navigation.tabs" not in features %} + {% set class = class ~ " md-header--shadow" %} +{% endif %} + +{% include "partials/tc-header.html" %} + + +
+ + + + {% if "navigation.tabs.sticky" in features %} + {% if "navigation.tabs" in features %} + {% include "partials/tabs.html" %} + {% endif %} + {% endif %} +
\ No newline at end of file diff --git a/docs/theme/partials/nav.html b/docs/theme/partials/nav.html index 4215f7b57f9..acf6c9565ea 100644 --- a/docs/theme/partials/nav.html +++ b/docs/theme/partials/nav.html @@ -31,11 +31,7 @@ diff --git a/docs/theme/partials/tc-header.html b/docs/theme/partials/tc-header.html new file mode 100644 index 00000000000..73500c640a0 --- /dev/null +++ b/docs/theme/partials/tc-header.html @@ -0,0 +1,157 @@ +{% set header = ({ + "siteUrl": "https://testcontainers.com/", + "menuItems": [ + { + "label": "Desktop", + "url": "https://testcontainers.com/desktop/" + }, + { + "label": "Cloud", + "url": "https://testcontainers.com/cloud/" + }, + { + "label": "Getting Started", + "url": "https://testcontainers.com/getting-started/" + }, + { + "label": "Guides", + "url": "https://testcontainers.com/guides/" + }, + { + "label": "Modules", + "url": "https://testcontainers.com/modules/" + }, + { + "label": "Docs", + "children": [ + { + "label": "Testcontainers for Java", + "url": "https://java.testcontainers.org/", + "image": "/language-logos/java.svg", + }, + { + "label": "Testcontainers for Go", + "url": "https://golang.testcontainers.org/", + "image": "/language-logos/go.svg", + }, + { + "label": "Testcontainers for .NET", + "url": "https://dotnet.testcontainers.org/", + "image": "/language-logos/dotnet.svg", + }, + { + "label": "Testcontainers for Node.js", + "url": "https://node.testcontainers.org/", + "image": "/language-logos/nodejs.svg", + }, + { + "label": "Testcontainers for Python", + "url": "https://testcontainers-python.readthedocs.io/en/latest/", + "image": "/language-logos/python.svg", + "external": true, + }, + { + "label": "Testcontainers for Rust", + "url": "https://docs.rs/testcontainers/latest/testcontainers/", + "image": "/language-logos/rust.svg", + "external": true, + }, + { + "label": "Testcontainers for Haskell", + "url": "https://github.com/testcontainers/testcontainers-hs", + "image": "/language-logos/haskell.svg", + "external": true, + }, + { + "label": "Testcontainers for Ruby", + "url": "https://github.com/testcontainers/testcontainers-ruby", + "image": "/language-logos/ruby.svg", + "external": true, + }, + ] + }, + { + "label": "Slack", + "url": "https://slack.testcontainers.org/", + "icon": "icon-slack", + }, + { + "label": "GitHub", + "url": "https://github.com/testcontainers", + "icon": "icon-github", + }, + ] +}) %} + + + + + + + + + + + \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 94bc3ddb38b..428048c8f8b 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -16,6 +16,7 @@ theme: favicon: 'favicon.ico' extra_css: - 'css/extra.css' + - 'css/tc-header.css' repo_name: 'testcontainers-java' repo_url: 'https://github.com/testcontainers/testcontainers-java' markdown_extensions: From fb2fbbcff5040b9eee35b2322ac63171081a84a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edd=C3=BA=20Mel=C3=A9ndez=20Gonzales?= Date: Wed, 9 Aug 2023 11:54:48 -0600 Subject: [PATCH 0065/1917] Add new ClickHouseContainer implementation (#7403) New implementation supports `withUsername`, `withPassword`, `withDatabaseName` and `withUrlParam()`. --- .../clickhouse/ClickHouseContainer.java | 114 ++++++++++++++++++ .../containers/ClickHouseContainer.java | 5 + .../clickhouse/ClickHouseContainerTest.java | 45 +++++++ 3 files changed, 164 insertions(+) create mode 100644 modules/clickhouse/src/main/java/org/testcontainers/clickhouse/ClickHouseContainer.java create mode 100644 modules/clickhouse/src/test/java/org/testcontainers/clickhouse/ClickHouseContainerTest.java diff --git a/modules/clickhouse/src/main/java/org/testcontainers/clickhouse/ClickHouseContainer.java b/modules/clickhouse/src/main/java/org/testcontainers/clickhouse/ClickHouseContainer.java new file mode 100644 index 00000000000..e83df644eda --- /dev/null +++ b/modules/clickhouse/src/main/java/org/testcontainers/clickhouse/ClickHouseContainer.java @@ -0,0 +1,114 @@ +package org.testcontainers.clickhouse; + +import org.testcontainers.containers.JdbcDatabaseContainer; +import org.testcontainers.containers.wait.strategy.HttpWaitStrategy; +import org.testcontainers.utility.DockerImageName; + +import java.time.Duration; +import java.util.HashSet; +import java.util.Set; + +/** + * Testcontainers implementation for ClickHouse. + */ +public class ClickHouseContainer extends JdbcDatabaseContainer { + + private static final String NAME = "clickhouse"; + + private static final DockerImageName CLICKHOUSE_IMAGE_NAME = DockerImageName.parse("clickhouse/clickhouse-server"); + + private static final Integer HTTP_PORT = 8123; + + private static final Integer NATIVE_PORT = 9000; + + private static final String DRIVER_CLASS_NAME = "com.clickhouse.jdbc.ClickHouseDriver"; + + private static final String JDBC_URL_PREFIX = "jdbc:" + NAME + "://"; + + private static final String TEST_QUERY = "SELECT 1"; + + private String databaseName = "default"; + + private String username = "default"; + + private String password = ""; + + public ClickHouseContainer(String dockerImageName) { + this(DockerImageName.parse(dockerImageName)); + } + + public ClickHouseContainer(final DockerImageName dockerImageName) { + super(dockerImageName); + dockerImageName.assertCompatibleWith(CLICKHOUSE_IMAGE_NAME); + + addExposedPorts(HTTP_PORT, NATIVE_PORT); + this.waitStrategy = + new HttpWaitStrategy() + .forStatusCode(200) + .forResponsePredicate("Ok."::equals) + .withStartupTimeout(Duration.ofMinutes(1)); + } + + @Override + protected void configure() { + withEnv("CLICKHOUSE_DB", this.databaseName); + withEnv("CLICKHOUSE_USER", this.username); + withEnv("CLICKHOUSE_PASSWORD", this.password); + } + + @Override + public Set getLivenessCheckPortNumbers() { + return new HashSet<>(getMappedPort(HTTP_PORT)); + } + + @Override + public String getDriverClassName() { + return DRIVER_CLASS_NAME; + } + + @Override + public String getJdbcUrl() { + return ( + JDBC_URL_PREFIX + + getHost() + + ":" + + getMappedPort(HTTP_PORT) + + "/" + + this.databaseName + + constructUrlParameters("?", "&") + ); + } + + @Override + public String getUsername() { + return username; + } + + @Override + public String getPassword() { + return password; + } + + @Override + public String getTestQueryString() { + return TEST_QUERY; + } + + @Override + public ClickHouseContainer withUsername(String username) { + this.username = username; + return this; + } + + @Override + public ClickHouseContainer withPassword(String password) { + this.password = password; + return this; + } + + @Override + public ClickHouseContainer withDatabaseName(String databaseName) { + this.databaseName = databaseName; + return this; + } +} diff --git a/modules/clickhouse/src/main/java/org/testcontainers/containers/ClickHouseContainer.java b/modules/clickhouse/src/main/java/org/testcontainers/containers/ClickHouseContainer.java index 27ced8751cb..e9f10feb746 100644 --- a/modules/clickhouse/src/main/java/org/testcontainers/containers/ClickHouseContainer.java +++ b/modules/clickhouse/src/main/java/org/testcontainers/containers/ClickHouseContainer.java @@ -8,6 +8,11 @@ import java.util.HashSet; import java.util.Set; +/** + * Testcontainers implementation for ClickHouse. + * + * @deprecated use {@link org.testcontainers.clickhouse.ClickHouseContainer} instead + */ public class ClickHouseContainer extends JdbcDatabaseContainer { public static final String NAME = "clickhouse"; diff --git a/modules/clickhouse/src/test/java/org/testcontainers/clickhouse/ClickHouseContainerTest.java b/modules/clickhouse/src/test/java/org/testcontainers/clickhouse/ClickHouseContainerTest.java new file mode 100644 index 00000000000..e440af648af --- /dev/null +++ b/modules/clickhouse/src/test/java/org/testcontainers/clickhouse/ClickHouseContainerTest.java @@ -0,0 +1,45 @@ +package org.testcontainers.clickhouse; + +import org.junit.Test; +import org.testcontainers.db.AbstractContainerDatabaseTest; + +import java.sql.ResultSet; +import java.sql.SQLException; + +import static org.assertj.core.api.Assertions.assertThat; + +public class ClickHouseContainerTest extends AbstractContainerDatabaseTest { + + @Test + public void testSimple() throws SQLException { + try (ClickHouseContainer clickhouse = new ClickHouseContainer("clickhouse/clickhouse-server:21.9.2-alpine")) { + clickhouse.start(); + + ResultSet resultSet = performQuery(clickhouse, "SELECT 1"); + + int resultSetInt = resultSet.getInt(1); + assertThat(resultSetInt).isEqualTo(1); + } + } + + @Test + public void customCredentialsWithUrlParams() throws SQLException { + try ( + ClickHouseContainer clickhouse = new ClickHouseContainer("clickhouse/clickhouse-server:21.9.2-alpine") + .withUsername("test") + .withPassword("test") + .withDatabaseName("test") + .withUrlParam("max_result_rows", "5") + ) { + clickhouse.start(); + + ResultSet resultSet = performQuery( + clickhouse, + "SELECT value FROM system.settings where name='max_result_rows'" + ); + + int resultSetInt = resultSet.getInt(1); + assertThat(resultSetInt).isEqualTo(5); + } + } +} From bf5605a2031d7f29f86a85430e3509a198c6e125 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edd=C3=BA=20Mel=C3=A9ndez=20Gonzales?= Date: Wed, 9 Aug 2023 12:10:55 -0600 Subject: [PATCH 0066/1917] Add Wait.forListeningPort(port) (#7402) Add utility method to check on specific ports. --- .../wait/strategy/HostPortWaitStrategy.java | 32 ++++++++++++----- .../containers/wait/strategy/Wait.java | 10 ++++++ .../strategy/HostPortWaitStrategyTest.java | 35 ++++++++++++++----- 3 files changed, 61 insertions(+), 16 deletions(-) diff --git a/core/src/main/java/org/testcontainers/containers/wait/strategy/HostPortWaitStrategy.java b/core/src/main/java/org/testcontainers/containers/wait/strategy/HostPortWaitStrategy.java index 54f530241f5..878eb10f132 100644 --- a/core/src/main/java/org/testcontainers/containers/wait/strategy/HostPortWaitStrategy.java +++ b/core/src/main/java/org/testcontainers/containers/wait/strategy/HostPortWaitStrategy.java @@ -26,18 +26,29 @@ @Slf4j public class HostPortWaitStrategy extends AbstractWaitStrategy { + private int[] port; + @Override @SneakyThrows(InterruptedException.class) protected void waitUntilReady() { - final Set externalLivenessCheckPorts = getLivenessCheckPorts(); - if (externalLivenessCheckPorts.isEmpty()) { - if (log.isDebugEnabled()) { - log.debug( - "Liveness check ports of {} is empty. Not waiting.", - waitStrategyTarget.getContainerInfo().getName() - ); + final Set externalLivenessCheckPorts; + if (this.port == null) { + externalLivenessCheckPorts = getLivenessCheckPorts(); + if (externalLivenessCheckPorts.isEmpty()) { + if (log.isDebugEnabled()) { + log.debug( + "Liveness check ports of {} is empty. Not waiting.", + waitStrategyTarget.getContainerInfo().getName() + ); + } + return; } - return; + } else { + externalLivenessCheckPorts = + Arrays + .stream(this.port) + .mapToObj(port -> waitStrategyTarget.getMappedPort(port)) + .collect(Collectors.toSet()); } List exposedPorts = waitStrategyTarget.getExposedPorts(); @@ -112,4 +123,9 @@ private Set getInternalPorts(Set externalLivenessCheckPorts, L .filter(it -> externalLivenessCheckPorts.contains(waitStrategyTarget.getMappedPort(it))) .collect(Collectors.toSet()); } + + public HostPortWaitStrategy forPort(int... port) { + this.port = port; + return this; + } } diff --git a/core/src/main/java/org/testcontainers/containers/wait/strategy/Wait.java b/core/src/main/java/org/testcontainers/containers/wait/strategy/Wait.java index fce82c66c92..1ec858e3fbb 100644 --- a/core/src/main/java/org/testcontainers/containers/wait/strategy/Wait.java +++ b/core/src/main/java/org/testcontainers/containers/wait/strategy/Wait.java @@ -25,6 +25,16 @@ public static HostPortWaitStrategy forListeningPort() { return new HostPortWaitStrategy(); } + /** + * Convenience method to return a WaitStrategy for an exposed or mapped port. + * + * @param port the port to check + * @return the WaitStrategy + */ + public static HostPortWaitStrategy forListeningPort(int... port) { + return new HostPortWaitStrategy().forPort(port); + } + /** * Convenience method to return a WaitStrategy for an HTTP endpoint. * diff --git a/core/src/test/java/org/testcontainers/junit/wait/strategy/HostPortWaitStrategyTest.java b/core/src/test/java/org/testcontainers/junit/wait/strategy/HostPortWaitStrategyTest.java index d5a0ba6929d..79b40ee03b4 100644 --- a/core/src/test/java/org/testcontainers/junit/wait/strategy/HostPortWaitStrategyTest.java +++ b/core/src/test/java/org/testcontainers/junit/wait/strategy/HostPortWaitStrategyTest.java @@ -2,6 +2,8 @@ import org.junit.ClassRule; import org.junit.Test; +import org.junit.experimental.runners.Enclosed; +import org.junit.runner.RunWith; import org.testcontainers.TestImages; import org.testcontainers.containers.GenericContainer; import org.testcontainers.containers.wait.strategy.Wait; @@ -12,15 +14,32 @@ * Test wait strategy with overloaded waitingFor methods. * Other implementations of WaitStrategy are tested through backwards compatible wait strategy tests */ +@RunWith(Enclosed.class) public class HostPortWaitStrategyTest { - @ClassRule - public static GenericContainer container = new GenericContainer<>(TestImages.ALPINE_IMAGE) - .withExposedPorts() - .withCommand("sh", "-c", "while true; do nc -lp 8080; done") - .withExposedPorts(8080) - .waitingFor(Wait.forListeningPort().withStartupTimeout(Duration.ofSeconds(10))); + public static class DefaultHostPortWaitStrategyTest { - @Test - public void testWaiting() {} + @ClassRule + public static GenericContainer container = new GenericContainer<>(TestImages.ALPINE_IMAGE) + .withExposedPorts() + .withCommand("sh", "-c", "while true; do nc -lp 8080; done") + .withExposedPorts(8080) + .waitingFor(Wait.forListeningPort().withStartupTimeout(Duration.ofSeconds(10))); + + @Test + public void testWaiting() {} + } + + public static class ExplicitHostPortWaitStrategyTest { + + @ClassRule + public static GenericContainer container = new GenericContainer<>(TestImages.ALPINE_IMAGE) + .withExposedPorts() + .withCommand("sh", "-c", "while true; do nc -lp 8080; done") + .withExposedPorts(8080) + .waitingFor(Wait.forListeningPort(8080).withStartupTimeout(Duration.ofSeconds(10))); + + @Test + public void testWaiting() {} + } } From 5ecbb793b18e48caa5648093f07cf02ba2fb81f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edd=C3=BA=20Mel=C3=A9ndez=20Gonzales?= Date: Thu, 10 Aug 2023 17:48:34 -0600 Subject: [PATCH 0067/1917] Improve javadoc for Testcontainers implementations (#7408) Add exposed ports in the documentation. --- .../containers/CosmosDBEmulatorContainer.java | 4 +++- .../testcontainers/containers/CassandraContainer.java | 4 ++-- .../clickhouse/ClickHouseContainer.java | 6 ++++++ .../testcontainers/containers/CockroachContainer.java | 9 +++++++++ .../org/testcontainers/consul/ConsulContainer.java | 6 ++++++ .../testcontainers/couchbase/CouchbaseContainer.java | 7 ++++++- .../org/testcontainers/cratedb/CrateDBContainer.java | 9 +++++++++ .../org/testcontainers/containers/Db2Container.java | 8 ++++++++ .../elasticsearch/ElasticsearchContainer.java | 9 +++++++-- .../org/testcontainers/hivemq/HiveMQContainer.java | 10 ++++++++++ .../testcontainers/containers/InfluxDBContainer.java | 2 ++ .../org/testcontainers/containers/KafkaContainer.java | 9 ++++++++- .../containers/localstack/LocalStackContainer.java | 2 ++ .../testcontainers/containers/MariaDBContainer.java | 4 +++- .../testcontainers/containers/MongoDBContainer.java | 6 +++--- .../containers/MSSQLServerContainer.java | 5 +++++ .../org/testcontainers/containers/MySQLContainer.java | 5 +++++ .../org/testcontainers/containers/Neo4jContainer.java | 11 ++++++++--- .../testcontainers/containers/OracleContainer.java | 5 +++++ .../testcontainers/containers/OrientDBContainer.java | 9 +++++++++ .../containers/PostgreSQLContainer.java | 5 +++++ .../testcontainers/containers/PulsarContainer.java | 8 +++++++- .../testcontainers/containers/QuestDBContainer.java | 7 +++++++ .../testcontainers/containers/RabbitMQContainer.java | 8 ++++++++ .../testcontainers/redpanda/RedpandaContainer.java | 6 ++++++ .../org/testcontainers/solace/SolaceContainer.java | 11 ++++++++++- .../org/testcontainers/containers/SolrContainer.java | 8 +++++++- .../java/org/testcontainers/tidb/TiDBContainer.java | 6 ++++++ .../testcontainers/containers/ToxiproxyContainer.java | 8 +++++++- .../org/testcontainers/containers/TrinoContainer.java | 5 +++++ .../java/org/testcontainers/vault/VaultContainer.java | 6 ++---- .../containers/YugabyteDBYCQLContainer.java | 7 +++++++ .../containers/YugabyteDBYSQLContainer.java | 8 +++++++- 33 files changed, 200 insertions(+), 23 deletions(-) diff --git a/modules/azure/src/main/java/org/testcontainers/containers/CosmosDBEmulatorContainer.java b/modules/azure/src/main/java/org/testcontainers/containers/CosmosDBEmulatorContainer.java index 57af95ef106..4b58267656c 100644 --- a/modules/azure/src/main/java/org/testcontainers/containers/CosmosDBEmulatorContainer.java +++ b/modules/azure/src/main/java/org/testcontainers/containers/CosmosDBEmulatorContainer.java @@ -6,7 +6,9 @@ import java.security.KeyStore; /** - * An Azure CosmosDB container + * Testcontainers implementation for CosmosDB Emulator. + *

+ * Exposed ports: 8081 */ public class CosmosDBEmulatorContainer extends GenericContainer { diff --git a/modules/cassandra/src/main/java/org/testcontainers/containers/CassandraContainer.java b/modules/cassandra/src/main/java/org/testcontainers/containers/CassandraContainer.java index 51d94128509..bbe1f499b73 100644 --- a/modules/cassandra/src/main/java/org/testcontainers/containers/CassandraContainer.java +++ b/modules/cassandra/src/main/java/org/testcontainers/containers/CassandraContainer.java @@ -19,9 +19,9 @@ import javax.script.ScriptException; /** - * Cassandra container - * * Testcontainers implementation for Apache Cassandra. + *

+ * Exposed ports: 9042 */ public class CassandraContainer> extends GenericContainer { diff --git a/modules/clickhouse/src/main/java/org/testcontainers/clickhouse/ClickHouseContainer.java b/modules/clickhouse/src/main/java/org/testcontainers/clickhouse/ClickHouseContainer.java index e83df644eda..8d7a00e820e 100644 --- a/modules/clickhouse/src/main/java/org/testcontainers/clickhouse/ClickHouseContainer.java +++ b/modules/clickhouse/src/main/java/org/testcontainers/clickhouse/ClickHouseContainer.java @@ -10,6 +10,12 @@ /** * Testcontainers implementation for ClickHouse. + *

+ * Exposed ports: + *

    + *
  • Database: 8123
  • + *
  • Console: 9000
  • + *
*/ public class ClickHouseContainer extends JdbcDatabaseContainer { diff --git a/modules/cockroachdb/src/main/java/org/testcontainers/containers/CockroachContainer.java b/modules/cockroachdb/src/main/java/org/testcontainers/containers/CockroachContainer.java index bf2b981b160..dea1f543de7 100644 --- a/modules/cockroachdb/src/main/java/org/testcontainers/containers/CockroachContainer.java +++ b/modules/cockroachdb/src/main/java/org/testcontainers/containers/CockroachContainer.java @@ -6,6 +6,15 @@ import java.time.Duration; +/** + * Testcontainers implementation for CockroachDB. + *

+ * Exposed ports: + *

    + *
  • Database: 26257
  • + *
  • Console: 8080
  • + *
+ */ public class CockroachContainer extends JdbcDatabaseContainer { private static final DockerImageName DEFAULT_IMAGE_NAME = DockerImageName.parse("cockroachdb/cockroach"); diff --git a/modules/consul/src/main/java/org/testcontainers/consul/ConsulContainer.java b/modules/consul/src/main/java/org/testcontainers/consul/ConsulContainer.java index 597f004c206..e35f6c79239 100644 --- a/modules/consul/src/main/java/org/testcontainers/consul/ConsulContainer.java +++ b/modules/consul/src/main/java/org/testcontainers/consul/ConsulContainer.java @@ -14,6 +14,12 @@ /** * Testcontainers implementation for Consul. + *

+ * Exposed ports: + *

    + *
  • HTTP: 8500
  • + *
  • gRPC: 8502
  • + *
*/ public class ConsulContainer extends GenericContainer { diff --git a/modules/couchbase/src/main/java/org/testcontainers/couchbase/CouchbaseContainer.java b/modules/couchbase/src/main/java/org/testcontainers/couchbase/CouchbaseContainer.java index edf613ad3f7..2e8f619b617 100644 --- a/modules/couchbase/src/main/java/org/testcontainers/couchbase/CouchbaseContainer.java +++ b/modules/couchbase/src/main/java/org/testcontainers/couchbase/CouchbaseContainer.java @@ -48,7 +48,12 @@ import java.util.stream.Collectors; /** - * The couchbase container initializes and configures a Couchbase Server single node cluster. + * Testcontainers implementation for Couchbase. + *

+ * Exposed ports: + *

    + *
  • Console: 8091
  • + *
*

* Note that it does not depend on a specific couchbase SDK, so it can be used with both the Java SDK 2 and 3 as well * as the Scala SDK 1 or newer. We recommend using the latest and greatest SDKs for the best experience. diff --git a/modules/cratedb/src/main/java/org/testcontainers/cratedb/CrateDBContainer.java b/modules/cratedb/src/main/java/org/testcontainers/cratedb/CrateDBContainer.java index 26e77d30436..ebc355c84bd 100644 --- a/modules/cratedb/src/main/java/org/testcontainers/cratedb/CrateDBContainer.java +++ b/modules/cratedb/src/main/java/org/testcontainers/cratedb/CrateDBContainer.java @@ -7,6 +7,15 @@ import java.util.Set; +/** + * Testcontainers implementation for CrateDB. + *

+ * Exposed ports: + *

    + *
  • Database: 5432
  • + *
  • Console: 4200
  • + *
+ */ public class CrateDBContainer extends JdbcDatabaseContainer { static final String NAME = "cratedb"; diff --git a/modules/db2/src/main/java/org/testcontainers/containers/Db2Container.java b/modules/db2/src/main/java/org/testcontainers/containers/Db2Container.java index 99a848f74fb..895bd9984cd 100644 --- a/modules/db2/src/main/java/org/testcontainers/containers/Db2Container.java +++ b/modules/db2/src/main/java/org/testcontainers/containers/Db2Container.java @@ -8,6 +8,14 @@ import java.time.temporal.ChronoUnit; import java.util.Set; +/** + * Testcontainers implementation for IBM DB2. + *

+ * Exposed ports: + *

    + *
  • Database: 50000
  • + *
+ */ public class Db2Container extends JdbcDatabaseContainer { public static final String NAME = "db2"; diff --git a/modules/elasticsearch/src/main/java/org/testcontainers/elasticsearch/ElasticsearchContainer.java b/modules/elasticsearch/src/main/java/org/testcontainers/elasticsearch/ElasticsearchContainer.java index e13673384fa..3768559ee37 100644 --- a/modules/elasticsearch/src/main/java/org/testcontainers/elasticsearch/ElasticsearchContainer.java +++ b/modules/elasticsearch/src/main/java/org/testcontainers/elasticsearch/ElasticsearchContainer.java @@ -23,8 +23,13 @@ import javax.net.ssl.TrustManagerFactory; /** - * Represents an elasticsearch docker instance which exposes by default port 9200 and 9300 (transport.tcp.port) - * The docker image is by default fetched from docker.elastic.co/elasticsearch/elasticsearch + * Testcontainers implementation for Elasticsearch. + *

+ * Exposed ports: + *

    + *
  • HTTP: 9200
  • + *
  • TCP Transport: 9300
  • + *
*/ @Slf4j public class ElasticsearchContainer extends GenericContainer { diff --git a/modules/hivemq/src/main/java/org/testcontainers/hivemq/HiveMQContainer.java b/modules/hivemq/src/main/java/org/testcontainers/hivemq/HiveMQContainer.java index 8a2832f65bd..b6bb389efd7 100644 --- a/modules/hivemq/src/main/java/org/testcontainers/hivemq/HiveMQContainer.java +++ b/modules/hivemq/src/main/java/org/testcontainers/hivemq/HiveMQContainer.java @@ -29,6 +29,16 @@ import java.util.regex.Pattern; import java.util.stream.Collectors; +/** + * Testcontainers implementation for HiveMQ. + *

+ * Exposed ports: + *

    + *
  • MQTT: 1883
  • + *
  • Control Center: 8080
  • + *
  • Debug: 9000
  • + *
+ */ public class HiveMQContainer extends GenericContainer { private static final Logger LOGGER = LoggerFactory.getLogger(HiveMQContainer.class); diff --git a/modules/influxdb/src/main/java/org/testcontainers/containers/InfluxDBContainer.java b/modules/influxdb/src/main/java/org/testcontainers/containers/InfluxDBContainer.java index 5786fed3671..c616febb76f 100644 --- a/modules/influxdb/src/main/java/org/testcontainers/containers/InfluxDBContainer.java +++ b/modules/influxdb/src/main/java/org/testcontainers/containers/InfluxDBContainer.java @@ -13,6 +13,8 @@ /** * Testcontainers implementation for InfluxDB. + *

+ * Exposed ports: 8086 */ public class InfluxDBContainer> extends GenericContainer { diff --git a/modules/kafka/src/main/java/org/testcontainers/containers/KafkaContainer.java b/modules/kafka/src/main/java/org/testcontainers/containers/KafkaContainer.java index 443cdde2d87..96ea9b5d628 100644 --- a/modules/kafka/src/main/java/org/testcontainers/containers/KafkaContainer.java +++ b/modules/kafka/src/main/java/org/testcontainers/containers/KafkaContainer.java @@ -9,7 +9,14 @@ import java.util.Objects; /** - * This container wraps Confluent Kafka and Zookeeper (optionally) + * Testcontainers implementation for Apache Kafka. + * Zookeeper can be optionally configured. + *

+ * Exposed ports: + *

    + *
  • Kafka: 9093
  • + *
  • Zookeeper: 2181
  • + *
*/ public class KafkaContainer extends GenericContainer { diff --git a/modules/localstack/src/main/java/org/testcontainers/containers/localstack/LocalStackContainer.java b/modules/localstack/src/main/java/org/testcontainers/containers/localstack/LocalStackContainer.java index 8e9dfa76a90..a7cb60c1f72 100644 --- a/modules/localstack/src/main/java/org/testcontainers/containers/localstack/LocalStackContainer.java +++ b/modules/localstack/src/main/java/org/testcontainers/containers/localstack/LocalStackContainer.java @@ -22,6 +22,8 @@ /** * Testcontainers implementation for LocalStack. + *

+ * Exposed ports: 4566 */ @Slf4j public class LocalStackContainer extends GenericContainer { diff --git a/modules/mariadb/src/main/java/org/testcontainers/containers/MariaDBContainer.java b/modules/mariadb/src/main/java/org/testcontainers/containers/MariaDBContainer.java index 36280ab4e42..731253e954e 100644 --- a/modules/mariadb/src/main/java/org/testcontainers/containers/MariaDBContainer.java +++ b/modules/mariadb/src/main/java/org/testcontainers/containers/MariaDBContainer.java @@ -7,7 +7,9 @@ import java.util.Set; /** - * Container implementation for the MariaDB project. + * Testcontainers implementation for MariaDB. + *

+ * Exposed ports: 3306 */ public class MariaDBContainer> extends JdbcDatabaseContainer { diff --git a/modules/mongodb/src/main/java/org/testcontainers/containers/MongoDBContainer.java b/modules/mongodb/src/main/java/org/testcontainers/containers/MongoDBContainer.java index 6390368dea5..7dfeebd2cd1 100644 --- a/modules/mongodb/src/main/java/org/testcontainers/containers/MongoDBContainer.java +++ b/modules/mongodb/src/main/java/org/testcontainers/containers/MongoDBContainer.java @@ -11,9 +11,9 @@ import java.io.IOException; /** - * Constructs a single node MongoDB replica set for testing transactions. - *

To construct a multi-node MongoDB cluster, consider the mongodb-replica-set project on GitHub - *

Tested on a MongoDB version 4.0.10+ (that is the default version if not specified). + * Testcontainers implementation for MongoDB. + *

+ * Exposed ports: 27017 */ @Slf4j public class MongoDBContainer extends GenericContainer { diff --git a/modules/mssqlserver/src/main/java/org/testcontainers/containers/MSSQLServerContainer.java b/modules/mssqlserver/src/main/java/org/testcontainers/containers/MSSQLServerContainer.java index b86f3366f23..6964574e523 100644 --- a/modules/mssqlserver/src/main/java/org/testcontainers/containers/MSSQLServerContainer.java +++ b/modules/mssqlserver/src/main/java/org/testcontainers/containers/MSSQLServerContainer.java @@ -7,6 +7,11 @@ import java.util.regex.Pattern; import java.util.stream.Stream; +/** + * Testcontainers implementation for Microsoft SQL Server. + *

+ * Exposed ports: 1433 + */ public class MSSQLServerContainer> extends JdbcDatabaseContainer { private static final DockerImageName DEFAULT_IMAGE_NAME = DockerImageName.parse("mcr.microsoft.com/mssql/server"); diff --git a/modules/mysql/src/main/java/org/testcontainers/containers/MySQLContainer.java b/modules/mysql/src/main/java/org/testcontainers/containers/MySQLContainer.java index 17a14a435a4..6a56ec62cf4 100644 --- a/modules/mysql/src/main/java/org/testcontainers/containers/MySQLContainer.java +++ b/modules/mysql/src/main/java/org/testcontainers/containers/MySQLContainer.java @@ -6,6 +6,11 @@ import java.util.Set; +/** + * Testcontainers implementation for MySQL. + *

+ * Exposed ports: 3306 + */ public class MySQLContainer> extends JdbcDatabaseContainer { public static final String NAME = "mysql"; diff --git a/modules/neo4j/src/main/java/org/testcontainers/containers/Neo4jContainer.java b/modules/neo4j/src/main/java/org/testcontainers/containers/Neo4jContainer.java index c48590ac0f7..722eb0a8254 100644 --- a/modules/neo4j/src/main/java/org/testcontainers/containers/Neo4jContainer.java +++ b/modules/neo4j/src/main/java/org/testcontainers/containers/Neo4jContainer.java @@ -20,9 +20,14 @@ import java.util.stream.Stream; /** - * Testcontainer for Neo4j. - * - * @param "SELF" to be used in the withXXX methods. + * Testcontainers implementation for Neo4j. + *

+ * Exposed ports: + *

    + *
  • Bolt: 7687
  • + *
  • HTTP: 7474
  • + *
  • HTTPS: 7473
  • + *
*/ public class Neo4jContainer> extends GenericContainer { diff --git a/modules/oracle-xe/src/main/java/org/testcontainers/containers/OracleContainer.java b/modules/oracle-xe/src/main/java/org/testcontainers/containers/OracleContainer.java index 883e223f678..7da0f7cf6d7 100644 --- a/modules/oracle-xe/src/main/java/org/testcontainers/containers/OracleContainer.java +++ b/modules/oracle-xe/src/main/java/org/testcontainers/containers/OracleContainer.java @@ -13,6 +13,11 @@ import java.util.Set; import java.util.concurrent.Future; +/** + * Testcontainers implementation for Oracle. + *

+ * Exposed ports: 1521 + */ public class OracleContainer extends JdbcDatabaseContainer { public static final String NAME = "oracle"; diff --git a/modules/orientdb/src/main/java/org/testcontainers/containers/OrientDBContainer.java b/modules/orientdb/src/main/java/org/testcontainers/containers/OrientDBContainer.java index 6064419a490..b7ba7a013d3 100644 --- a/modules/orientdb/src/main/java/org/testcontainers/containers/OrientDBContainer.java +++ b/modules/orientdb/src/main/java/org/testcontainers/containers/OrientDBContainer.java @@ -19,6 +19,15 @@ import java.util.Arrays; import java.util.Optional; +/** + * Testcontainers implementation for OrientDB. + *

+ * Exposed ports: + *

    + *
  • Database: 2424
  • + *
  • Studio: 2480
  • + *
+ */ public class OrientDBContainer extends GenericContainer { private static final Logger LOGGER = LoggerFactory.getLogger(OrientDBContainer.class); diff --git a/modules/postgresql/src/main/java/org/testcontainers/containers/PostgreSQLContainer.java b/modules/postgresql/src/main/java/org/testcontainers/containers/PostgreSQLContainer.java index d8f974ad2d5..1bfae3ba10f 100644 --- a/modules/postgresql/src/main/java/org/testcontainers/containers/PostgreSQLContainer.java +++ b/modules/postgresql/src/main/java/org/testcontainers/containers/PostgreSQLContainer.java @@ -8,6 +8,11 @@ import java.time.temporal.ChronoUnit; import java.util.Set; +/** + * Testcontainers implementation for PostgreSQL. + *

+ * Exposed ports: 5432 + */ public class PostgreSQLContainer> extends JdbcDatabaseContainer { public static final String NAME = "postgresql"; diff --git a/modules/pulsar/src/main/java/org/testcontainers/containers/PulsarContainer.java b/modules/pulsar/src/main/java/org/testcontainers/containers/PulsarContainer.java index 1cfcd935c31..634b847ecc3 100644 --- a/modules/pulsar/src/main/java/org/testcontainers/containers/PulsarContainer.java +++ b/modules/pulsar/src/main/java/org/testcontainers/containers/PulsarContainer.java @@ -5,7 +5,13 @@ import org.testcontainers.utility.DockerImageName; /** - * This container wraps Apache Pulsar running in standalone mode + * Testcontainers implementation for Apache Pulsar. + *

+ * Exposed ports: + *

    + *
  • Pulsar: 6650
  • + *
  • HTTP: 8080
  • + *
*/ public class PulsarContainer extends GenericContainer { diff --git a/modules/questdb/src/main/java/org/testcontainers/containers/QuestDBContainer.java b/modules/questdb/src/main/java/org/testcontainers/containers/QuestDBContainer.java index f92135bfa59..d45ac8e1fb3 100644 --- a/modules/questdb/src/main/java/org/testcontainers/containers/QuestDBContainer.java +++ b/modules/questdb/src/main/java/org/testcontainers/containers/QuestDBContainer.java @@ -6,6 +6,13 @@ /** * Testcontainers implementation for QuestDB. + *

+ * Exposed ports: + *

    + *
  • Postgres: 8812
  • + *
  • HTTP: 9000
  • + *
  • ILP: 9009
  • + *
*/ public class QuestDBContainer extends JdbcDatabaseContainer { diff --git a/modules/rabbitmq/src/main/java/org/testcontainers/containers/RabbitMQContainer.java b/modules/rabbitmq/src/main/java/org/testcontainers/containers/RabbitMQContainer.java index 5bfa6dca798..9feae14ad48 100644 --- a/modules/rabbitmq/src/main/java/org/testcontainers/containers/RabbitMQContainer.java +++ b/modules/rabbitmq/src/main/java/org/testcontainers/containers/RabbitMQContainer.java @@ -18,6 +18,14 @@ /** * Testcontainers implementation for RabbitMQ. + *

+ * Exposed ports: + *

    + *
  • 5671 (AMQPS)
  • + *
  • 5672 (AMQP)
  • + *
  • 15671 (HTTPS)
  • + *
  • 15672 (HTTP)
  • + *
*/ public class RabbitMQContainer extends GenericContainer { diff --git a/modules/redpanda/src/main/java/org/testcontainers/redpanda/RedpandaContainer.java b/modules/redpanda/src/main/java/org/testcontainers/redpanda/RedpandaContainer.java index d9fccadb30d..3843c76d6d0 100644 --- a/modules/redpanda/src/main/java/org/testcontainers/redpanda/RedpandaContainer.java +++ b/modules/redpanda/src/main/java/org/testcontainers/redpanda/RedpandaContainer.java @@ -9,6 +9,12 @@ /** * Testcontainers implementation for Redpanda. + *

+ * Exposed ports: + *

    + *
  • Broker: 9092
  • + *
  • Schema Registry: 8081
  • + *
*/ public class RedpandaContainer extends GenericContainer { diff --git a/modules/solace/src/main/java/org/testcontainers/solace/SolaceContainer.java b/modules/solace/src/main/java/org/testcontainers/solace/SolaceContainer.java index 3418dfe6fbf..e972067d30c 100644 --- a/modules/solace/src/main/java/org/testcontainers/solace/SolaceContainer.java +++ b/modules/solace/src/main/java/org/testcontainers/solace/SolaceContainer.java @@ -16,7 +16,16 @@ import java.util.List; /** - * Testcontainers implementation of Solace PubSub+ + * Testcontainers implementation of Solace PubSub+. + *

+ * Exposed ports: + *

    + *
  • AMQP: 5672
  • + *
  • MQTT: 1883
  • + *
  • HTTP: 9000
  • + *
  • SMF: 55555
  • + *
  • SMF SSL: 55443
  • + *
*/ public class SolaceContainer extends GenericContainer { diff --git a/modules/solr/src/main/java/org/testcontainers/containers/SolrContainer.java b/modules/solr/src/main/java/org/testcontainers/containers/SolrContainer.java index 9fd716d37b4..0664d1f7e93 100644 --- a/modules/solr/src/main/java/org/testcontainers/containers/SolrContainer.java +++ b/modules/solr/src/main/java/org/testcontainers/containers/SolrContainer.java @@ -13,7 +13,13 @@ import java.util.Set; /** - * SolrContainer allows a solr container to be launched and controlled. + * Testcontainers implementation for Solr. + *

+ * Exposed ports: + *

    + *
  • Solr: 8983
  • + *
  • Zookeeper: 9983
  • + *
*/ public class SolrContainer extends GenericContainer { diff --git a/modules/tidb/src/main/java/org/testcontainers/tidb/TiDBContainer.java b/modules/tidb/src/main/java/org/testcontainers/tidb/TiDBContainer.java index 9d886dde0d6..76d3333b292 100644 --- a/modules/tidb/src/main/java/org/testcontainers/tidb/TiDBContainer.java +++ b/modules/tidb/src/main/java/org/testcontainers/tidb/TiDBContainer.java @@ -10,6 +10,12 @@ /** * Testcontainers implementation for TiDB. + *

+ * Exposed ports: + *

    + *
  • Database: 4000
  • + *
  • HTTP: 10080
  • + *
*/ public class TiDBContainer extends JdbcDatabaseContainer { diff --git a/modules/toxiproxy/src/main/java/org/testcontainers/containers/ToxiproxyContainer.java b/modules/toxiproxy/src/main/java/org/testcontainers/containers/ToxiproxyContainer.java index 872f2c2fdb4..c420468caa6 100644 --- a/modules/toxiproxy/src/main/java/org/testcontainers/containers/ToxiproxyContainer.java +++ b/modules/toxiproxy/src/main/java/org/testcontainers/containers/ToxiproxyContainer.java @@ -17,7 +17,13 @@ import java.util.concurrent.atomic.AtomicInteger; /** - * Container for resiliency testing using Toxiproxy. + * Testcontainers implementation for Toxiproxy. + *

+ * Exposed ports: + *

    + *
  • HTTP: 8474
  • + *
  • Proxied Ports: 8666-8697
  • + *
*/ public class ToxiproxyContainer extends GenericContainer { diff --git a/modules/trino/src/main/java/org/testcontainers/containers/TrinoContainer.java b/modules/trino/src/main/java/org/testcontainers/containers/TrinoContainer.java index 21171fd2c15..2cd2cdaf480 100644 --- a/modules/trino/src/main/java/org/testcontainers/containers/TrinoContainer.java +++ b/modules/trino/src/main/java/org/testcontainers/containers/TrinoContainer.java @@ -9,6 +9,11 @@ import java.sql.SQLException; import java.util.Set; +/** + * Testcontainers implementation for TrinoDB. + *

+ * Exposed ports: 8080 + */ public class TrinoContainer extends JdbcDatabaseContainer { static final String NAME = "trino"; diff --git a/modules/vault/src/main/java/org/testcontainers/vault/VaultContainer.java b/modules/vault/src/main/java/org/testcontainers/vault/VaultContainer.java index 8541bbc9090..9442cae7701 100644 --- a/modules/vault/src/main/java/org/testcontainers/vault/VaultContainer.java +++ b/modules/vault/src/main/java/org/testcontainers/vault/VaultContainer.java @@ -16,11 +16,9 @@ import java.util.stream.Collectors; /** - * GenericContainer subclass for Vault specific configuration and features. The main feature is the - * withSecretInVault method, where users can specify which secrets to be pre-loaded into Vault for - * their specific test scenario. + * Testcontainers implementation for Vault. *

- * Other helpful features include the withVaultPort, and withVaultToken methods for convenience. + * Exposure ports: 8200 */ public class VaultContainer> extends GenericContainer { diff --git a/modules/yugabytedb/src/main/java/org/testcontainers/containers/YugabyteDBYCQLContainer.java b/modules/yugabytedb/src/main/java/org/testcontainers/containers/YugabyteDBYCQLContainer.java index f129ce54020..7ae329efd74 100644 --- a/modules/yugabytedb/src/main/java/org/testcontainers/containers/YugabyteDBYCQLContainer.java +++ b/modules/yugabytedb/src/main/java/org/testcontainers/containers/YugabyteDBYCQLContainer.java @@ -13,6 +13,13 @@ /** * Testcontainers implementation for YugabyteDB YCQL API. + *

+ * Exposed ports: + *

    + *
  • YCQL: 5433
  • + *
  • Master dashboard: 7000
  • + *
  • Tserver dashboard: 9000
  • + *
* * @see YCQL API */ diff --git a/modules/yugabytedb/src/main/java/org/testcontainers/containers/YugabyteDBYSQLContainer.java b/modules/yugabytedb/src/main/java/org/testcontainers/containers/YugabyteDBYSQLContainer.java index 53b04ff71e0..47fe988af11 100644 --- a/modules/yugabytedb/src/main/java/org/testcontainers/containers/YugabyteDBYSQLContainer.java +++ b/modules/yugabytedb/src/main/java/org/testcontainers/containers/YugabyteDBYSQLContainer.java @@ -9,10 +9,16 @@ /** * Testcontainers implementation for YugabyteDB YSQL API. + *

+ * Exposed ports: + *

    + *
  • YSQL: 5433
  • + *
  • Master dashboard: 7000
  • + *
  • Tserver dashboard: 9000
  • + *
* * @see YSQL API */ - public class YugabyteDBYSQLContainer extends JdbcDatabaseContainer { private static final DockerImageName DEFAULT_IMAGE_NAME = DockerImageName.parse("yugabytedb/yugabyte"); From 6e2b091390e14e3b97407b4823605441f171fc5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edd=C3=BA=20Mel=C3=A9ndez=20Gonzales?= Date: Fri, 11 Aug 2023 10:53:40 -0600 Subject: [PATCH 0068/1917] Add User-Agent to docker client (#7407) User-Agent will contain `tc-java/` --- .../java/org/testcontainers/DockerClientFactory.java | 6 ++++-- .../dockerclient/DockerClientProviderStrategy.java | 12 +++++++----- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/core/src/main/java/org/testcontainers/DockerClientFactory.java b/core/src/main/java/org/testcontainers/DockerClientFactory.java index 0d334f75cf6..dbdb13356ff 100644 --- a/core/src/main/java/org/testcontainers/DockerClientFactory.java +++ b/core/src/main/java/org/testcontainers/DockerClientFactory.java @@ -62,11 +62,13 @@ public class DockerClientFactory { public static final String SESSION_ID = UUID.randomUUID().toString(); + public static final String TESTCONTAINERS_VERSION = + DockerClientFactory.class.getPackage().getImplementationVersion(); + public static final Map DEFAULT_LABELS = markerLabels(); static Map markerLabels() { - String implementationVersion = DockerClientFactory.class.getPackage().getImplementationVersion(); - String testcontainersVersion = implementationVersion == null ? "unspecified" : implementationVersion; + String testcontainersVersion = TESTCONTAINERS_VERSION == null ? "unspecified" : TESTCONTAINERS_VERSION; Map labels = new HashMap<>(); labels.put(TESTCONTAINERS_LABEL, "true"); diff --git a/core/src/main/java/org/testcontainers/dockerclient/DockerClientProviderStrategy.java b/core/src/main/java/org/testcontainers/dockerclient/DockerClientProviderStrategy.java index be2f1705df2..557e8ba6cdf 100644 --- a/core/src/main/java/org/testcontainers/dockerclient/DockerClientProviderStrategy.java +++ b/core/src/main/java/org/testcontainers/dockerclient/DockerClientProviderStrategy.java @@ -39,10 +39,11 @@ import java.security.UnrecoverableKeyException; import java.time.Duration; import java.util.ArrayList; -import java.util.Collections; import java.util.Comparator; +import java.util.HashMap; import java.util.HashSet; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.Optional; import java.util.Set; @@ -408,14 +409,15 @@ public static DockerClient getClientForConfig(TransportConfig transportConfig) { if (configBuilder.build().getApiVersion() == RemoteApiVersion.UNKNOWN_VERSION) { configBuilder.withApiVersion(RemoteApiVersion.VERSION_1_32); } + Map headers = new HashMap<>(); + headers.put("x-tc-sid", DockerClientFactory.SESSION_ID); + headers.put("User-Agent", String.format("tc-java/%s", DockerClientFactory.TESTCONTAINERS_VERSION)); + return DockerClientImpl.getInstance( new AuthDelegatingDockerClientConfig( configBuilder.withDockerHost(transportConfig.getDockerHost().toString()).build() ), - new HeadersAddingDockerHttpClient( - dockerHttpClient, - Collections.singletonMap("x-tc-sid", DockerClientFactory.SESSION_ID) - ) + new HeadersAddingDockerHttpClient(dockerHttpClient, headers) ); } From 147a49a8dd35cc2e04d663cc748fa1453270422c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edd=C3=BA=20Mel=C3=A9ndez=20Gonzales?= Date: Fri, 11 Aug 2023 12:20:11 -0600 Subject: [PATCH 0069/1917] Fix colima documentation (#7412) --- docs/supported_docker_environment/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/supported_docker_environment/index.md b/docs/supported_docker_environment/index.md index 250221e775f..dbf892eba0d 100644 --- a/docs/supported_docker_environment/index.md +++ b/docs/supported_docker_environment/index.md @@ -28,7 +28,7 @@ In order to run testcontainers against [colima](https://github.com/abiosoft/coli ```bash export TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE=/var/run/docker.sock -export DOCKER_HOST="unix://${HOME}/.colima/docker.sock" +export DOCKER_HOST="unix://${HOME}/.colima/default/docker.sock" ``` ## Docker environment discovery From 104af18cc54834fa8d1260ff830c4640a6a6b411 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edd=C3=BA=20Mel=C3=A9ndez=20Gonzales?= Date: Fri, 11 Aug 2023 12:27:42 -0600 Subject: [PATCH 0070/1917] Enable Solace PubSub+ Manager (#7411) `PubSub+ Manager` is available in port 8080. Also, default credentials have been set. --- .../main/java/org/testcontainers/solace/SolaceContainer.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/solace/src/main/java/org/testcontainers/solace/SolaceContainer.java b/modules/solace/src/main/java/org/testcontainers/solace/SolaceContainer.java index e972067d30c..9a0fc72d0bd 100644 --- a/modules/solace/src/main/java/org/testcontainers/solace/SolaceContainer.java +++ b/modules/solace/src/main/java/org/testcontainers/solace/SolaceContainer.java @@ -20,6 +20,7 @@ *

* Exposed ports: *