From a99d6313e4896dffed15dfde3fddf89b01b7ece3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 16 Apr 2023 22:19:16 +0200 Subject: [PATCH] chore: update testcontainers-java monorepo to v1.18.0 (#1187) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [org.testcontainers:junit-jupiter](https://testcontainers.org) ([source](https://togithub.com/testcontainers/testcontainers-java)) | `1.17.6` -> `1.18.0` | [![age](https://badges.renovateapi.com/packages/maven/org.testcontainers:junit-jupiter/1.18.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/org.testcontainers:junit-jupiter/1.18.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/org.testcontainers:junit-jupiter/1.18.0/compatibility-slim/1.17.6)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/org.testcontainers:junit-jupiter/1.18.0/confidence-slim/1.17.6)](https://docs.renovatebot.com/merge-confidence/) | | [org.testcontainers:testcontainers](https://testcontainers.org) ([source](https://togithub.com/testcontainers/testcontainers-java)) | `1.17.6` -> `1.18.0` | [![age](https://badges.renovateapi.com/packages/maven/org.testcontainers:testcontainers/1.18.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/org.testcontainers:testcontainers/1.18.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/org.testcontainers:testcontainers/1.18.0/compatibility-slim/1.17.6)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/org.testcontainers:testcontainers/1.18.0/confidence-slim/1.17.6)](https://docs.renovatebot.com/merge-confidence/) | --- ### ⚠ Dependency Lookup Warnings ⚠ Warnings were logged while processing this repo. Please check the Dependency Dashboard for more information. --- ### Release Notes
testcontainers/testcontainers-java ### [`v1.18.0`](https://togithub.com/testcontainers/testcontainers-java/releases/tag/1.18.0) [Compare Source](https://togithub.com/testcontainers/testcontainers-java/compare/1.17.6...1.18.0) #### Core module - Modules images such as `MySQLContainer` are now automatically compatible with their corresponding images with the `library` prefix ```java MySQLContainer mysql = new MySQLContainer<>("library/mysql"); ``` - `testcontainers/vnc` has been bumped to version 1.3.0, which brings ARM support. - Goodbye to the whale in the logs. In order to provide an easy way to filter container logs the `tc` prefix has been added to display all container logs or `tc.` for a specific one. Check the [logging docs](https://www.testcontainers.org/supported_docker_environment/logging_config/). - There is a new `WaitStrategy`, `ShellStrategy`. It can also be used by calling `Wait.forSuccessfulCommand()` #### New integration [Jib](https://togithub.com/GoogleContainerTools/jib) has been integrated to Testcontainers in order to take advantage of the nice API it provides to create containers ```java GenericContainer busybox = new GenericContainer<>( new JibImage( "busybox:1.35", jibContainerBuilder -> { return jibContainerBuilder.setEntrypoint("echo", "Hello World"); } ) ) .withStartupCheckStrategy(new OneShotStartupCheckStrategy().withTimeout(Duration.ofSeconds(3))) ``` #### New modules 🆕 ##### CrateDB module In order to use `CrateDBContainer` , declare the dependency in your pom.xml/build.gradle ```xml org.testcontainers cratedb 1.18.0 test ``` ```gradle testImplementation "org.testcontainers:cratedb:1.18.0" ``` Choose a [crate](https://hub.docker.com/\_/crate) image version and use it as declared below with your postgres driver ```java CrateDBContainer cratedb = new CrateDBContainer("crate:5.2.5"); ``` ##### Solace Module In order to use `SolaceContainer` , declare the dependency in your pom.xml/build.gradle ```xml org.testcontainers solace 1.18.0 test ``` ```gradle testImplementation "org.testcontainers:solace:1.18.0" ``` Now, you can use a Solace PubSub running in a container and connecting via AMQP by doing the following: ```java SolaceContainer solace = new SolaceContainer("solace/solace-pubsub-standard:10.2"); solace.start(); Session session = createSession( solaceContainer.getUsername(), solaceContainer.getPassword(), solaceContainer.getOrigin(Service.AMQP) ); ``` More information about `SolaceContainer` can be found in the [documentation](https://www.testcontainers.org/modules/solace/). #### Container modules ##### CockroachDB Starting with `cockroachdb/cockroach:22.1.0`, there is support for setting the username, password and database name via environment variables. Now, the Testcontainers module provides convenient setters: ```java CockroachContainer cockroach = new CockroachContainer("cockroachdb/cockroach:22.1.0") .withUsername("test_user") .withPassword("test_password") .withDatabaseName("test_database"); ``` ##### GCloud module Google has released a new image which supports ARM and therefore `BigtableEmulatorContainer`, `DatastoreEmulatorContainer`, `FirestoreEmulatorContainer`, `PubSubEmulatorContainer` now support it as well. So, if previously you were doing something like ```java DockerImageName.parse("gcr.io/google.com/cloudsdktool/google-cloud-cli:380.0.0-emulators") .asCompatibleSubstituteFor("gcr.io/google.com/cloudsdktool/cloud-sdk"); ``` Now, you can simply do ```java DockerImageName.parse("gcr.io/google.com/cloudsdktool/google-cloud-cli:380.0.0-emulators"); ``` ##### JUnit Jupiter Module `@Testcontainers` offers a new attribute `parallel`, which start those containers classes annotated by `@Container` ```java @​Testcontainers(parallel = true) class ParallelTest { @​Container private static final PostgreSQLContainer postgres = new PostgreSQLContainer<>("postgres:15-alpine") .withCopyFileToContainer(MountableFile.forClasspathResource("db.sql"), "/docker-entrypoint-initdb.d/") .withNetwork(network) .withNetworkAliases("postgres"); @​Container private static final ToxiproxyContainer toxiproxy = new ToxiproxyContainer("ghcr.io/shopify/toxiproxy:2.5.0") .withNetwork(network); } ``` ##### Kafka Module Self-managed or Kraft mode (a.k.a Zookeeperless) support has been added ```java KafkaContainer kafka = new KafkaContainer(DockerImageName.parse("confluentinc/cp-kafka:7.0.1")).withKraft() ``` ##### LocalStack Module `SERVICES` environment variable became optional in version 0.13.0 and instead LocalStack will initialize a service once the first request is served. So, nowadays `LocalStackContainer` can be used just like this: ```java LocalStackContainer localstack = new LocalStackContainer("localstack/localstack:2.0.0"); ``` Also, LocalStack module supports version 2.0. It is highly recommended to use the latest version of LocalStack images. Last but not least, dependency on AWS SDK V1 was dropped. So, that means by upgrading to version 1.18.0, the dependency can be removed if not used directly. ##### MongoDB Module `MongoDBContainer` by default has been enabling ReplicaSet mode. Starting in this version, sharding has been added. ```java MongoDBContainer mongodb = new MongoDBContainer("mongo:6") .withSharding(); ``` ##### Selenium Module Selenium 4 has built-in support for Microsoft Edge (which is based on Chromium) and now it is supported by `BrowserWebDriverContainer` as well: ```java BrowserWebDriverContainer edge = new BrowserWebDriverContainer<>("selenium/standalone-edge:4.8.0") .withCapabilities(new EdgeOptions()); ``` #### More #### ⚠️ Breaking API changes - Removed deprecated methods and undeclared transitive dependency to AWS SDK v1 ([#​5827](https://togithub.com/testcontainers/testcontainers-java/issues/5827)) [@​AB-xdev](https://togithub.com/AB-xdev) - Move junit-jupiter-api's dependency configuration to implementation ([#​5985](https://togithub.com/testcontainers/testcontainers-java/issues/5985)) [@​edysli](https://togithub.com/edysli) #### 🚀 Features & Enhancements - Improve startup wait checks ([#​6384](https://togithub.com/testcontainers/testcontainers-java/issues/6384)) [@​deejgregor](https://togithub.com/deejgregor) - [#​6667](https://togithub.com/testcontainers/testcontainers-java/issues/6667): reset network creation state if network creation fails. ([#​6668](https://togithub.com/testcontainers/testcontainers-java/issues/6668)) [@​k-wall](https://togithub.com/k-wall) - \[Feature]: ShellStrategy, a new WaitStrategy ([#​6672](https://togithub.com/testcontainers/testcontainers-java/issues/6672)) [@​m4rii0](https://togithub.com/m4rii0) - feat: also check DOCKER_AUTH_CONFIG for registry auth config as an alternative to config.json ([#​6238](https://togithub.com/testcontainers/testcontainers-java/issues/6238)) [@​roseo1](https://togithub.com/roseo1) - Ensure readability of MySQL and MariaDB config override ([#​6625](https://togithub.com/testcontainers/testcontainers-java/issues/6625)) [@​famod](https://togithub.com/famod) - Bugfix: Log consumers are now called with exactly one complete log line ([#​5854](https://togithub.com/testcontainers/testcontainers-java/issues/5854)) [@​SgtSilvio](https://togithub.com/SgtSilvio) - ClickHouse uses new driver if it is available and version is compatible ([#​6236](https://togithub.com/testcontainers/testcontainers-java/issues/6236)) [@​trolley813](https://togithub.com/trolley813) - Add devcontainer file ([#​6412](https://togithub.com/testcontainers/testcontainers-java/issues/6412)) [@​eddumelendez](https://togithub.com/eddumelendez) - Add Docker image name to ContainerLaunchException message ([#​6408](https://togithub.com/testcontainers/testcontainers-java/issues/6408)) [@​Donnerbart](https://togithub.com/Donnerbart) - Make sure we don't hide exceptions from waitUntilContainerStarted ([#​6167](https://togithub.com/testcontainers/testcontainers-java/issues/6167)) [@​deejgregor](https://togithub.com/deejgregor) - feat: enable reuse for mongodb ([#​6235](https://togithub.com/testcontainers/testcontainers-java/issues/6235)) [@​tiboun](https://togithub.com/tiboun) - Avoid Pattern recompilation in log output processing ([#​6239](https://togithub.com/testcontainers/testcontainers-java/issues/6239)) [@​dreis2211](https://togithub.com/dreis2211) - Fixes the issue of missing root cause in container launch TimeoutException (e.g. SSLHandshakeException) ([#​5778](https://togithub.com/testcontainers/testcontainers-java/issues/5778)) [@​cdanger](https://togithub.com/cdanger) #### ☠️ Deprecations - Deprecate VaultContainer#withLogLevel ([#​6795](https://togithub.com/testcontainers/testcontainers-java/issues/6795)) [@​eddumelendez](https://togithub.com/eddumelendez) #### 🐛 Bug Fixes - Short-circuit CompletableFuture returned by Startables#deepStart on exception ([#​5930](https://togithub.com/testcontainers/testcontainers-java/issues/5930)) [@​pivovarit](https://togithub.com/pivovarit) - fix: Don't return JSON auth config for partial registry name match ([#​6323](https://togithub.com/testcontainers/testcontainers-java/issues/6323)) [@​kiview](https://togithub.com/kiview) - Fix `allowInsecure()` on `HttpWaitStrategy` for non-localhost Docker daemon ([#​6314](https://togithub.com/testcontainers/testcontainers-java/issues/6314)) [@​kiview](https://togithub.com/kiview)
--- ### Configuration 📅 **Schedule**: Branch creation - "before 6:00am" in timezone Europe/Berlin, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/CloudNetService/CloudNet-v3). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index cca5f50d92..96f7d7ad51 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -15,7 +15,7 @@ guava = "31.1-jre" # testing junit = "5.9.2" mockito = "5.3.0" -testcontainers = "1.17.6" +testcontainers = "1.18.0" # compile time processing lombok = "1.18.26"