Commit Graph

47 Commits (6ef030e8516d3328fd95ae592984ae27054e62b7)

Author SHA1 Message Date
Johnny Lim 06157837e5
Polish
See gh-35872
1 year ago
Moritz Halbritter ebbb4d319d Polish 1 year ago
Andy Wilkinson bd2fff1fd1 Fix `@ServiceConnection` in native tests
Using `@ServiceConnection` results in the definition of one or more
connection details beans. These bean definitions use an instance
supplier which is not supported by AOT. This results in a failure during
AOT processing.

This commit introduces a BeanRegistrationExcludeFilter to exclude from
AOT processing the beans created from a `@ServiceConnection`. They are
not needed as the registrar will run again in the native image and
define the beans at which point the use of an instance supplier is
supported again.

Fixes gh-35663
1 year ago
kitbolourchi 1ac6e9ebe1 Upgrade Kafka image used in integration tests
See gh-35625
2 years ago
Moritz Halbritter ad108952c8 Fix JavaDoc in ServiceConnection
Closes gh-35594
2 years ago
Stephane Nicoll 7a9bb55fdf Merge branch '3.0.x'
Closes gh-35589
2 years ago
Moritz Halbritter 441ed30ee4 Polish "Replace Mockito argument captors with assertArg"
Co-authored-by: Andy Wilkinson <wilkinsona@vmware.com>

See gh-35015
2 years ago
Phillip Webb 56af1569d3 Refine @ImportTestcontainers support
Refine logic so that bean names are no longer generated based on their
type and containers are started early.

See gh-35245
2 years ago
Andy Wilkinson c78cc4408a Disable more s-b-testcontainers tests when Docker is unavailable
See gh-35245
2 years ago
Andy Wilkinson 10fd7517a8 Disable ImportTestcontainersTests when Docker is unavailable
See gh-35245
2 years ago
Moritz Halbritter 9b5a2643cc Polish "Add service connection from Testcontainers Zipkin"
See gh-35107
2 years ago
Eddú Meléndez ad4f6ffeb7 Add service connection from Testcontainers Zipkin
See gh-35107
2 years ago
Phillip Webb 8427e813af Support import of idomatic testcontainer declaration classes
Add an `@ImportTestcontainers` annotation which can be used to import
idomatic testcontainer declaration classes.

Closes gh-35245
2 years ago
Phillip Webb 26566d4a30 Allow testcontainer beans to also contribute properties
Allow `Container` bean definitions to inject a `DynamicPropertyRegistry`
so that they can contribute environment properties.

Closes gh-35201
2 years ago
Phillip Webb e9578fe745 Swallow BeanCurrentlyInCreationException exceptions
Update `TestcontainersLifecycleBeanPostProcessor` to that initialization
doesn't fail if a `BeanCurrentlyInCreationException` is thrown.

Prior to this commit, if the first bean being post-processed was a
configuration class declaring a bean that the `Container` depended on
all initialization would fail.

See gh-35223
2 years ago
Phillip Webb 3997771f6c Polish 2 years ago
Moritz Halbritter 2586150eaf Disable ARM incompatible integration tests 2 years ago
Andy Wilkinson b1d0433d74 Handle Kafka servers as strings and rely on Kafka's parsing
Closes gh-34770
2 years ago
Phillip Webb dc4efaf276 Initialize containers first and destroy them last
Update `TestcontainersLifecycleBeanPostProcessor` so that on
initialization of the first bean all `Container` instances are started.

With this update all `Container` beans will be started first in the
`preInstantiateSingletons` phase and destroyed last.

Closes gh-35223
2 years ago
Phillip Webb 14bc354f7f Apply initializer automatically for context tests
Update `ServiceConnectionContextCustomizer` so that is applies the
`TestcontainersLifecycleApplicationContextInitializer` to all
application contexts.

Closes gh-35222
2 years ago
Phillip Webb 632c5d7ea5 Implement ServiceConnectionContextCustomizer equals and hashcode for key
Update `ServiceConnectionContextCustomizer` with `equals` and `hashcode`
methods so that it works correctly when part of a context cache key.

Closes gh-35216
2 years ago
Phillip Webb 25e3291d86 Broaden exceptions that include ServiceConnection name hint
See gh-35168
2 years ago
Phillip Webb b4cd2572d5 Prevent early initialization of Container beans
Update testcontainers auto-configuration so that `Container` bean
instances are no longer needed when registering `ConnectionDetails`
beans. Registration now occurs based on the bean type and the `name`
attribute of `@ServiceConnection`.

Fixes gh-35168
2 years ago
Phillip Webb c21cf31853 Switch order of ContainerConnectionDetailsFactory generics
Switch `ContainerConnectionDetailsFactory` so that `Container`
is before `ConnectionDetails`.
2 years ago
Phillip Webb fc5339f81c Polish 2 years ago
Phillip Webb c13041201d Don't call close methods for reusable testcontainers
Refine `TestcontainersLifecycleApplicationContextInitializer` so that
the `close()` method is not called for reusable containers.

Closes gh-35210
2 years ago
Phillip Webb e7357ba805 Increase timeout in OracleR2dbcContainerConnectionDetailsFactoryTests 2 years ago
Phillip Webb d1084ee6db Refactor ContainerConnectionDetailsFactory classes
Update `ContainerConnectionDetailsFactory` so that they consistently
extend `ContainerConnectionDetails`. The container is also no longer
accessible from the `ContainerConnectionSource` and is never used
during the construction of `ConnectionDetails` instances.

See gh-35168
2 years ago
Phillip Webb 403481ff96 Add 'required' parameter to ConnectionDetailsFactories
Update `ConnectionDetailsFactories` so that callers can now declare if
a result is required or not and improve exception hierarchy.

See gh-35168
2 years ago
Andy Wilkinson cec159110d Do not block indefinitely when querying SQL database 2 years ago
Andy Wilkinson d7da77bda8 Remove support for service connections to InfluxDB
Closes gh-35189
2 years ago
Andy Wilkinson 5e73047164 Align SQL Server-related class names with existing precedents
Closes gh-35181
2 years ago
Yanming Zhou b615aef810 Fix dependency management for spring-boot-testcontainers
This commit adds org.testcontainers:testcontainers as an api dependency
of spring-boot-testcontainers so that GenericContainer can be used
without an additional dependency

See gh-35119
2 years ago
Stephane Nicoll facf48e423 Polish "Prevent container to be closed twice"
See gh-35120
2 years ago
Yanming Zhou 5df6913f18 Prevent container to be closed twice
See gh-35120
2 years ago
Andy Wilkinson e61adc6cbf Allow even more time for Redpanda to start 2 years ago
Andy Wilkinson 5ec03d2b34 Wait longer for Redpanda to start 2 years ago
Andy Wilkinson 0da209db08 Polish "Add support for Oracle R2DBC Service Connection"
See gh-34852
2 years ago
Eddu Melendez 6d893b2fe2 Add support for Oracle R2DBC Service Connection
See gh-34852
2 years ago
Eddu Melendez f4bcf99d30 Add service connection from Testcontainers Redpanda
Redpanda (https://redpanda.com/) is Kafka-compatible and
Testcontainers provides a module. This commit adds support for
creating KafkaConnectionDetails from a
@ServiceConnection-annotated RedpandaContainer.

See gh-34780
2 years ago
Andy Wilkinson 7b3e3deb58 Remove unused generic from ContainerConnectionSource
See gh-35017
2 years ago
Stephane Nicoll 7cf28680c9 Polish 2 years ago
Stephane Nicoll 95f07484a8 Add missing check on Docker availability 2 years ago
Phillip Webb 5ac48f5f15 Add testcontainers service connection auto-configuration
Add auto-configuration for `Container` beans that are also
annotated with `@ServiceConnection`. This commit allow
testcontainers to be used at development time and a new section
has been added to the documentation to describe the feature.

Closes gh-35022
2 years ago
Phillip Webb 3b92173a66 Add Testcontainer bean lifecycle support
Add `TestcontainersLifecycleApplicationContextInitializer` and
`TestcontainersLifecycleBeanPostProcessor` to take care of starting and
stopping `Container` beans.

Closes gh-35021
2 years ago
Phillip Webb 81a972af8d Refactor testcontainers service connections
Update restcontainers service connections support so that
technology specific `@ServiceConnector` annotations are not longer
required.

A single `@ServiceConnector` annotation can now be used to create
all `ConnectionDetail` beans.

Closes gh-35017
2 years ago
Phillip Webb 11dac5b5b7 Create dedicated spring-boot-testcontainers module
Create a dedicated testcontainers module containing the service
connectors code.

Closes gh-34757
2 years ago