Skip to content
This repository was archived by the owner on Oct 11, 2023. It is now read-only.

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Feb 21, 2022

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
org.apache.maven.plugins:maven-remote-resources-plugin 1.6.0 -> 1.7.0 age adoption passing confidence
org.projectlombok:lombok (source) 1.18.22 -> 1.18.30 age adoption passing confidence
dev.vality:machinegun-proto 1.21-e4784ab -> 1.41-96f7f11 age adoption passing confidence
dev.vality:party-shop-proto 1.13-954cab0 -> 1.20-1ed031a age adoption passing confidence
org.testcontainers:kafka (source) 1.16.2 -> 1.19.1 age adoption passing confidence
org.testcontainers:postgresql (source) 1.16.2 -> 1.19.1 age adoption passing confidence
org.postgresql:postgresql (source) 42.2.24 -> 42.6.0 age adoption passing confidence
org.flywaydb:flyway-core (source) 5.2.3 -> 5.2.4 age adoption passing confidence
dev.vality:service-parent-pom 1.0.9 -> 1.0.20 age adoption passing confidence

Release Notes

projectlombok/lombok (org.projectlombok:lombok)

v1.18.30

Compare Source

v1.18.28

Compare Source

v1.18.26

v1.18.24

testcontainers/testcontainers-java (org.testcontainers:kafka)

v1.19.1

Compare Source

Testcontainers for Java 1.19.1
Core
Modules
Redpanda
What's Changed
☠️ Deprecations
📖 Documentation
📦 Dependency updates
7 changes

v1.19.0

Compare Source

Testcontainers for Java 1.19.0
Core
Modules
ClickHouse
Elasticsearch
DB2
GCloud
JUnit Jupiter
Kafka

See https://java.testcontainers.org/modules/kafka/

MS SQL Server
QuestDB
Redpanda
  • Add Redpanda improvements (#​7320) @​eddumelendez
    • Allow to enable authorization and authentication methods
    • Allow to add additional listeners. E.g. using it with toxiproxy or redpanda console
    • Enable rest proxy
    • Configure rpk

See https://java.testcontainers.org/modules/redpanda/

Solace
Spock
What's Changed
☠️ Deprecations
📖 Documentation
🧹 Housekeeping
📦 Dependency updates
14 changes

v1.18.3

Compare Source

Testcontainers for Java 1.18.2 introduced new strategies to detect the docker.sock. There was an issue reported, see #​7082. It's is highly recommended to use version 1.18.3.

What's Changed

🧹 Housekeeping

  • Demote "testcontainers.properties not found" message to debug log level (#​7035) @​perlun

v1.18.2

Compare Source

Highlights ✨
🐛 Bug Fixes
🚀 Features & Enhancements
📖 Documentation
🧹 Housekeeping

v1.18.1

Compare Source

What's Changed

🚀 Features & Enhancements

🐛 Bug Fixes

📖 Documentation

🧹 Housekeeping

📦 Dependency updates

v1.18.0

Compare Source

Core module

  • Modules images such as MySQLContainer are now automatically compatible with their corresponding images with the library prefix
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.<image-name:tag> for a specific one. Check the logging docs.
  • There is a new WaitStrategy, ShellStrategy. It can also be used by calling Wait.forSuccessfulCommand(<command>)

New integration

Jib has been integrated to Testcontainers in order to take advantage of the nice API it provides to create containers

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

<dependency>
    <groupId>org.testcontainers</groupId>
    <artifactId>cratedb</artifactId>
    <version>1.18.0</version>
    <scope>test</scope>
</dependency>
testImplementation "org.testcontainers:cratedb:1.18.0"

Choose a crate image version and use it as declared below with your postgres driver

CrateDBContainer cratedb = new CrateDBContainer("crate:5.2.5");
Solace Module

In order to use SolaceContainer , declare the dependency in your pom.xml/build.gradle

<dependency>
    <groupId>org.testcontainers</groupId>
    <artifactId>solace</artifactId>
    <version>1.18.0</version>
    <scope>test</scope>
</dependency>
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:

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.

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:

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

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

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

@&#8203;Testcontainers(parallel = true)
class ParallelTest {

	@&#8203;Container
private static final PostgreSQLContainer<?> postgres = new PostgreSQLContainer<>("postgres:15-alpine")
    .withCopyFileToContainer(MountableFile.forClasspathResource("db.sql"), "/docker-entrypoint-initdb.d/")
    .withNetwork(network)
    .withNetworkAliases("postgres");

@&#8203;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

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:

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.

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:

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) @​AB-xdev
  • Move junit-jupiter-api's dependency configuration to implementation (#​5985) @​edysli

🚀 Features & Enhancements

☠️ Deprecations

🐛 Bug Fixes

  • Short-circuit CompletableFuture returned by Startables#deepStart on exception (#​5930) @​pivovarit
  • fix: Don't return JSON auth config for partial registry name match (#​6323) @​kiview
  • Fix allowInsecure() on HttpWaitStrategy for non-localhost Docker daemon (#​6314) @​kiview

v1.17.6

Compare Source

What's Changed
Highlights

This release has been made possible through the efforts of 20 contributors. The Testcontainers does not cease to amaze us, thanks to everyone of you and thanks for the ongoing support and collaboration 🥰.

This release brings a lot of database love with 2 new modules, and as always a couple of bug fixes and improvements

New Module: QuestDB (#​5995) @​Vangreen

QuestDB, is a high-performance, open-source SQL database for applications in financial services, IoT, machine learning, DevOps and observability.

var container = new QuestDBContainer("questdb/questdb:6.5.3")
container.start()
var connectionUrl = container.getHttpUrl()
// use the connectionUrl and start testing!
New Module: YugabyteDB (#​4372) @​srinivasa-vasu

YugabyteDB, is a modern distributed SQL database for transactional cloud native applications. PostgreSQL compatible. It offers two APIs, SQL and CQL.

var container = new YugabyteDBYSQLContainer("yugabytedb/yugabyte:2.14.4.0-b26");
container.start()
var jdbcUrl = container.getJdbcUrl();
// use the jdbcUrl and start testing!
var container = new YugabyteDBYCQLContainer("yugabytedb/yugabyte:2.14.4.0-b26");
container.start()
var contactPoint = container.getContactPoint();
// use the contactPoint and start testing!
🚀 Features & Enhancements
🐛 Bug Fixes
📖 Documentation
🧹 Housekeeping
📦 Dependency updates
9 changes * Ignore updates for org.neo4j:neo4j (#​6112) @​eddumelendez * Combined dependencies PR (#​6210) @​eddumelendez * Combined dependencies PR (#​6205) @​eddumelendez * Combined dependencies PR (#​6173) @​eddumelendez * Combined dependencies PR (#​6153) @​eddumelendez * Combined dependencies PR (#​6150) @​eddumelendez

v1.17.5

Compare Source

What's Changed

Warning
Version 1.17.4 was released upgrading slf4j-api to version 2.x. This dependency has been reverted to 1.17.x.

📖 Documentation
📦 Dependency updates

v1.17.4

Compare Source

What's Changed
Highlights

This release has been made possible through the efforts of whopping 23 contributors, wow! 🤯

Besides 3 new modules, this release brings a couple of bugfixes, improved compatibility and resilience in certain scenarios, better defaults and more configurability.

You might also notice many PRs related to the documentation, templates for PRs and issues, and automation regarding OSS contributions. Testcontainers has always been a project with a lot of involvement by the community and we are very proud of this. That’s why want to make contributing to Testcontainers a great experience, no matter if you raise an issue, submit a PR or initiate a discussion in GitHhub Discussions.

🐼 New Module: Redpanda (#​5740) @​eddumelendez

Redpanda, a Kafka-compatible streaming platform, recently added a special dev-container mode to their container image, that allows even faster startup times. A great reason to work in a Testcontainers module that leverages this flag by default to give you a great integration testing experience when using Redpanda. And of course, using Redpanda with Testcontainers is as easy and convenient as you are used to:

var container = new RedpandaContainer("docker.redpanda.com/vectorized/redpanda:v22.2.1")
container.start()
var connectionUrl = container.getBootstrapServers()
// use the connectionUrl and start testing!

You can check out the docs to learn more.

New Module: TiDB (#​5511) @​Icemap

With TiDB, we are adding support for a new database module. As with other databases that can be accessed via JDBC, you can leverage Testcontainers’ special JDBC URL integration:

jdbc:tc:tidb:v6.1.0:///databasename
New Module: Hashicorp Consul (#​4683) @​julb

Consul

🚀 Features & Enhancements
🐛 Bug Fixes
📖 Documentation

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot force-pushed the renovate/all-minor-patch branch 7 times, most recently from 34e190d to 32a12d7 Compare February 25, 2022 17:16
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 3 times, most recently from 9b7177e to 363ed93 Compare March 16, 2022 16:33
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 2 times, most recently from 02b8681 to dfd9ce3 Compare March 19, 2022 15:00
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 2 times, most recently from b0d1301 to 3c1efd3 Compare April 1, 2022 12:19
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 4 times, most recently from 8794965 to 8f610e6 Compare April 13, 2022 16:20
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 2 times, most recently from 475864b to 9cd76f4 Compare April 18, 2022 04:15
@renovate renovate bot force-pushed the renovate/all-minor-patch branch from 9cd76f4 to 0345152 Compare May 16, 2022 02:05
@renovate renovate bot force-pushed the renovate/all-minor-patch branch from 0345152 to 4d60424 Compare June 18, 2022 17:11
@renovate renovate bot force-pushed the renovate/all-minor-patch branch from 4d60424 to 5cde15d Compare September 25, 2022 14:46
@renovate renovate bot force-pushed the renovate/all-minor-patch branch from 5cde15d to 7808046 Compare November 20, 2022 18:25
@renovate renovate bot force-pushed the renovate/all-minor-patch branch from 7808046 to 969240b Compare March 12, 2023 17:58
@renovate renovate bot force-pushed the renovate/all-minor-patch branch from 969240b to f07860e Compare March 20, 2023 15:36
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 2 times, most recently from 514319a to 50a428c Compare June 1, 2023 16:36
@renovate renovate bot force-pushed the renovate/all-minor-patch branch from 50a428c to 70c691f Compare August 23, 2023 02:38
@renovate renovate bot force-pushed the renovate/all-minor-patch branch from 70c691f to 9ed1159 Compare September 20, 2023 11:49
@renovate renovate bot force-pushed the renovate/all-minor-patch branch from 9ed1159 to 5708e23 Compare October 3, 2023 05:15
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant