Commit Graph

134 Commits

Author SHA1 Message Date
Phillip Webb 3b29085ac8 Merge branch '3.3.x' into 3.4.x 2025-01-24 19:24:10 -08:00
Phillip Webb 66c224b74a Update copyright year of changed files 2025-01-24 19:23:41 -08:00
Andy Wilkinson c7b54dcbb3 Merge branch '3.3.x' into 3.4.x
Closes gh-43950
2025-01-24 08:53:03 +00:00
Johnny Lim 6c8d41935f Polish
See gh-43879

Signed-off-by: Johnny Lim <izeye@naver.com>
2025-01-24 08:45:41 +00:00
Phillip Webb ccc1b5da28 Don't call `Startable.start()` for already started containers
Add a new `TestcontainersStartup.start` static method and update the
existing start methods so that `Startable.start()` is only called when
the container is not already running.

Prior to this commit, we assumed that `Startable.start()` calls were
idempotent and could be safely made multiple times. Whilst this appears
to be true for stock `GenericContainer` based startables, users may have
their own `start()` method that does not expect to be called multiple
times.

The implemented detection logic will not be applied if a `Startable`
is not also a `Container`. In these cases, the implementation will need
to deal directly with multiple `start()` calls.

Fixed gh-43253
2024-12-12 15:26:59 -08:00
Eddú Meléndez d9dfb0389e Add container support for ClickHouse
See gh-42837
2024-10-23 13:54:58 +02:00
Stéphane Nicoll b7979cf443 Use AbstractAotProcessor.AOT_PROCESSING instead of duplicate constant
Closes gh-42461
2024-10-18 10:12:01 +02:00
Phillip Webb 465e909974 Merge branch '3.3.x' 2024-10-16 13:09:09 -07:00
Stéphane Nicoll e0152097f3 Polish "Upgrade to Testcontainers 1.20.2"
This commit review the original upgrade to retain compatiblity with the
deprecated Cassandra and ConfluentKafka containers.

This commit also fixes the SSL Cassandra tests. The new container uses
a custom wait strategy that uses plain text and does not work with an
SSL container.

Closes gh-42670

Co-authored-by: Moritz Halbritter <moritz.halbritter@broadcom.com>
2024-10-15 14:45:15 +02:00
Stéphane Nicoll a40ae49a76 Upgrade to Testcontainers 1.20.2
Closes gh-42670
2024-10-14 16:25:57 +02:00
Andy Wilkinson 3c095b4ec2 Prefer DynamicPropertyRegistar to DynamicPropertyRegistry
Closes gh-41996
2024-10-10 15:25:44 +01:00
Moritz Halbritter e6165b0311 Add transport and connect timeout properties for OTLP logging
Closes gh-42528
Closes gh-42527
2024-10-08 16:01:09 +02:00
Moritz Halbritter 40bb81419d Rename OtlpAutoConfiguration to OtlpTracingAutoConfiguration
Closes gh-42529
2024-10-08 15:56:18 +02:00
Johnny Lim 1585c5a109 Polish
See gh-42503
2024-10-03 07:33:40 +02:00
Moritz Halbritter 33def6d6b4 Polish "Add service connection support for Hazelcast"
See gh-42416
2024-09-26 16:45:26 +02:00
Dmytro Nosan cee7439dbe Add service connection support for Hazelcast
See gh-42416
2024-09-26 14:34:12 +02:00
Andy Wilkinson 2bfd784d7b Revert "Prevent duplicate DynamicPropertyRegistry beans"
This partially reverts commit 4d4b189cce.
The changes to main code are no longer needed as Framework's test
context framework no longer defines a DynamicPropertyRegistry bean. The
changes to test code have been kept to verify that @SpringBootTest and
TestcontainersPropertySourceAutoConfiguration continue to work in
combination.

Closes gh-42275
2024-09-12 08:20:27 +01:00
Phillip Webb 8628f7334f Ensure `@AutoConfigureTestDatabase` does not replace test databases
Update `@AutoConfigureTestDatabase` support so that by default test
databases are not replaced.

Fixes gh-35253
2024-09-11 21:01:54 -07:00
Eddú Meléndez 793e9a8795 Add OpenTelemetry Logging Service Connection from LgtmStackContainer and Docker Compose
See gh-42174
2024-09-09 08:37:39 +02:00
Moritz Halbritter 861e5209ef Add transport selection to OtlpLoggingConnectionDetails
Closes gh-42171
2024-09-06 14:26:03 +02:00
Moritz Halbritter bac330354b Polish "Support Otlp Tracing's GRPC port from service connections"
See gh-41333
2024-09-06 13:18:26 +02:00
Eddú Meléndez 7baa553760 Support Otlp Tracing's GRPC port from service connections
Otlp Tracing's exporter is configured using Transport. Current support
for service connections read the mapped port for HTTP transport 4318.
This commits adds support to read port for GRPC transport 4317.

See gh-41333
2024-09-06 13:18:26 +02:00
Moritz Halbritter 8fc1bca56c Polish "Add service connection from Opentelemetry Collector for Logging"
See gh-41324
2024-09-06 10:20:41 +02:00
Eddú Meléndez 7adf843bfd Add service connection from Opentelemetry Collector for Logging
Adds ConnectionDetails from Docker Compose and Testcontainers.

See gh-41324
2024-09-06 10:10:17 +02:00
Andy Wilkinson f7ba5f1bbc Polish support for Testcontainers Redis
- Add support for RedisStackContainer
- Update the docs

Closes gh-41450
2024-09-05 14:25:51 +01:00
Phillip Webb fa686bb593 Support Testcontainer Redis with custom image names
Update `RedisContainerConnectionDetailsFactory` so that it can also
support `RedisContainer` with a custom name.

Closes gh-41450
2024-08-29 19:26:20 -07:00
Phillip Webb 4d4b189cce Prevent duplicate DynamicPropertyRegistry beans
Remove the Spring Framework registered `DynamicPropertyRegistry` when
using Testcontainers.

See gh-41839
2024-08-21 21:04:13 -07:00
Andy Wilkinson d56dd741d0 Merge branch '3.3.x'
Closes gh-41860
2024-08-14 19:04:18 +01:00
Andy Wilkinson 1bd9948485 Merge branch '3.2.x' into 3.3.x
Closes gh-41859
2024-08-14 19:03:52 +01:00
Andy Wilkinson e7e5ed1508 Don't initialize containers during AOT processing
Fixes gh-41838
2024-08-14 18:56:00 +01:00
Nikola Kološnjaji 2a123b3e27 Fix typo in Grafana ConnectionDetailsFactory javadoc
See gh-41705
2024-08-06 16:47:48 -05:00
Stéphane Nicoll dabc83338b Polish "Add support for Grafana LGTM stack"
See gh-41551
2024-07-29 10:43:56 +02:00
Eddú Meléndez 9eff627eb2 Add support for Grafana LGTM stack
See gh-41551
2024-07-29 10:33:08 +02:00
Phillip Webb 000600c68a Merge branch '3.3.x' 2024-07-22 18:41:53 +01:00
Eddú Meléndez 2634d0c6b1 Support service connections for redis-stack and redis-stack-server
See gh-41327
2024-07-17 10:54:06 +01:00
Andy Wilkinson 2216b48e64 Match one of multiple names in ContainerConnectionDetailsFactory
Closes gh-41543

Co-Authored-By: Eddú Meléndez <eddu.melendez@gmail.com>
2024-07-17 10:43:50 +01:00
Andy Wilkinson 375b3b16a0 Remove APIs that were deprecated for removal in 3.4.0
Closes gh-41435
2024-07-10 13:31:21 +01:00
Andy Wilkinson 6749ad674f Polish "Add support for org.testcontainers.kafka.KafkaContainer"
See gh-40695
2024-06-27 15:10:58 +01:00
Eddú Meléndez 769f3e9d14 Add support for org.testcontainers.kafka.KafkaContainer
Testcontainers 1.19.8 provides `org.testcontainers.kafka.KafkaContainer`,
which relies on `apache/kafka` image.

See gh-40695
2024-06-27 14:58:57 +01:00
Phillip Webb 87e0262896 Merge branch '3.2.x' into 3.3.x
Closes gh-41238
2024-06-25 22:08:44 -07:00
Phillip Webb eef4c3c2c0 Allow TestcontainersLifecycleBeanPostProcessor to detect scoped beans
Update `TestcontainersLifecycleBeanPostProcessor` so that scoped beans
are included.

Fixes gh-35786
2024-06-25 22:00:34 -07:00
Phillip Webb 255bcc28e6 Merge branch '3.2.x'
Closes gh-41077
2024-06-11 10:48:52 -07:00
Phillip Webb ecc9a2352d Polish "Use constructor rather than Collection.addAll"
See gh-41053
2024-06-11 10:02:27 -07:00
Piyal Ahmed 17adcfc180 Use constructor rather than Collection.addAll
See gh-41053
2024-06-11 09:39:45 -07:00
Andy Wilkinson d05d0105db Merge branch '3.2.x' 2024-05-22 17:02:37 +01:00
Andy Wilkinson 35fb54a4d3 Polish deprecation notice 2024-05-22 17:02:29 +01:00
Andy Wilkinson 2d979bf06e Merge branch '3.2.x'
Closes gh-40863
2024-05-22 09:16:57 +01:00
Andy Wilkinson 468e246dbb Make sure container's started before connection details use it
Prior to this commit, a Testcontainer that was managed as a bean
would not have been started in time if it was accessed before
the bean factory's configuration had been frozen. A common way
for this to occur is when using JPA. The entity manager factory
bean is LoadTimeWeaverAware which causes it to be created before
configuration is frozen. Creating this bean requires the DataSource
which in turn requires the JdbcConnectionDetails and its JDBC URL.
Getting the JDBC URL From the connection details requires the
container hosting the SQL database to have been started.

This commit updates ContainerConnectionDetails, the super-class for
all Testcontainer-based ConnectionDetails implementations, to publish
an event when the Container is retrieved from the details. When this
event is published, TestcontainersLifecycleBeanPostProcessor
initializes all containers that are defined as beans.

Closes gh-40585
2024-05-22 09:15:21 +01:00
Scott Frederick add22c399a Merge branch '3.2.x'
Closes gh-40509
2024-04-24 15:10:08 -05:00
Scott Frederick 3e2d151c0e Merge branch '3.1.x' into 3.2.x
Closes gh-40508
2024-04-24 15:08:50 -05:00