Commit Graph

962 Commits (9e4f160c17a4822ec62a5082816f7fb402f7ab8a)

Author SHA1 Message Date
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
Scott Frederick a4b81e4326 Polish smoke tests
See gh-35042
2 years ago
Scott Frederick 5ac6a3d90b Add smoke test to verify MongoDB SSL connections
See gh-35042
2 years ago
Scott Frederick 3bb271e320 Add smoke test to verify Redis SSL connection
See gh-34815
2 years ago
Phillip Webb eabce52b93 Fix TestSampleSessionRedisApplication
Update the `@ServiceConnection` annotation to include the
service connection name.

See gh-35168
2 years ago
Stephane Nicoll f874c027d8 Polish "Fix dependency management for spring-boot-testcontainers"
See gh-35119
2 years ago
Stephane Nicoll a323bd90a8 Polish "Reintroduce support for ActiveMQ"
See gh-35048
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 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
Phillip Webb 00dc942e94 Migrate to Spring Security lambda config
Closes gh-35011
2 years ago
Andy Wilkinson d4980ea993 Always define connection details beans
Closes gh-34776
2 years ago
Phillip Webb e9a198a68f Merge branch '3.0.x' 2 years ago
Phillip Webb 8d2f550f8c Merge branch '3.0.x' 2 years ago
Phillip Webb 3ba3558cff Merge branch '2.7.x' into 3.0.x 2 years ago
Phillip Webb 3e9a136143 Polish gradle formatting 2 years ago
Phillip Webb 463701db18 Merge branch '3.0.x' 2 years ago
Phillip Webb d442bfbeff Polish 2 years ago
Phillip Webb bb80232fbc Merge branch '3.0.x' 2 years ago
Phillip Webb 25e0954b90 Revert "Set correct Eclipse WTP facet version"
This reverts commit d394ad3d3d.
2 years ago
Phillip Webb d4c9d265ec Merge branch '3.0.x' 2 years ago
Phillip Webb d394ad3d3d Set correct Eclipse WTP facet version 2 years ago
Stephane Nicoll f264e3c65e Upgrade to Hibernate 6.2.0.Final
Closes gh-34876
2 years ago
Andy Wilkinson 95f45eab1f Create service connections from Testcontainers-managed containers
Building upon the auto-configuration support for service connections,
this commit adds support for deriving connection details from a
Testcontainers-managed container. Several service-specific
annotations have been introduced. These annotations can be used on a
container field to indicate that it is a source of the details for
a service connection.

See gh-34658

Co-Authored-By: Phillip Webb <pwebb@vmware.com>
Co-Authored-By: Mortitz Halbritter <mkammerer@vmware.com>
2 years ago
Andy Wilkinson f06536f642 Polish Authorization Server auto-configuration 2 years ago
Madhura Bhave e6f602cec0 Polish "Add Spring Authorization Server support"
See gh-34003
2 years ago
Steve Riesenberg 25d77ee70b Add Spring Authorization Server support
See gh-34003
2 years ago
Andy Wilkinson a878e6c91c Upgrade to Liquibase 4.20.0
Closes gh-34578
2 years ago
Phillip Webb e7c668ac71 Merge branch '3.0.x' 2 years ago
Phillip Webb d1f89db9a2 Merge branch '2.7.x' into 3.0.x 2 years ago
Phillip Webb d39c94f437 Refine ConfigurationProcessorIntegrationTests resource detection logic 2 years ago
Phillip Webb b07269a018 Merge branch '3.0.x' 2 years ago
Phillip Webb c4de86c244 Merge branch '2.7.x' into 3.0.x 2 years ago
Phillip Webb df5898a146 Reformat code following spring-javaformat upgrade 2 years ago
Moritz Halbritter 93a4e303be Fix flaky SampleJettyApplicationTests
See gh-33553
2 years ago
Moritz Halbritter 64c2320ce1 Polish "Merge pull request #33553 from michaelweidmann"
See gh-33553
2 years ago
Michael Weidmann 93d46d11e9 Add max http response header size configuration for tomcat and jetty
See gh-33553
2 years ago
Krzysztof Krason 6e46423983 Use diamond operators
See gh-33987
2 years ago
Phillip Webb 5120242996 Merge branch '2.7.x' into 3.0.x 2 years ago
Krzysztof Krason a8958471f6 Switch anonymous inner classes to lambdas
See gh-33987
2 years ago
Andy Wilkinson 433364601d Merge branch '2.7.x' 2 years ago
Andy Wilkinson 3b2e5e5292 Remove references to https://repo.spring.io/release 2 years ago
Phillip Webb a2ac38e203 Update copyright year of changed files 2 years ago
Krzysztof Krason cf6493f65c Simplify AssertJ assertions and also make them more readable
See gh-33653
2 years ago
Phillip Webb f588793445 Update copyright year of changed files 2 years ago
Phillip Webb 6d16aed36e Merge branch '2.7.x' 2 years ago
Phillip Webb 816728186a Clean ant lib folder before build
Update `spring-boot-smoke-test-ant` so that the ant lib folder is always
cleaned. Prior to this commit, it was possible for the folder to contain
stale artifacts.
2 years ago
Phillip Webb c257f2b1d2 Merge branch '2.7.x' 2 years ago
Phillip Webb e8e56dbb11 Remove spring-boot-smoke-test-webflux-ssl
Remove `spring-boot-smoke-test-webflux-ssl` since it's more of
an integration test than a smoke test. We could consider
relocating it to `spring-boot-integration-tests` but since we
have unit tests with a mock PCKCS11 security it's probably
best to see if we can get away without it.

See gh-32179
2 years ago
Moritz Halbritter 08659baeba Polish away public modifier on tests 2 years ago
Moritz Halbritter 725337f976 Make fields final
Closes gh-33537
2 years ago
Moritz Halbritter a4779b7859 Merge branch '2.7.x'
Closes gh-33433
2 years ago
cdanger 716a839d54 Fix bug in webserver start when loading PKCS#11 KeyStore
See gh-32179
2 years ago
Andy Wilkinson 5a3972fee7 Merge branch '2.7.x'
Closes gh-33297
2 years ago
Andy Wilkinson f638c0070a Merge branch '2.6.x' into 2.7.x
Closes gh-33296
2 years ago
Andy Wilkinson 673d301b88 Make Ant smoke test more robust
Closes gh-33295
2 years ago
Stephane Nicoll 656c4b9390 Polish 2 years ago
Madhura Bhave 8cb615e9b6 Remove workarounds for SecurityContextRepository 2 years ago
Madhura Bhave f4cf722c27 Align default security filter dispatcher types with Spring Security
Fixes gh-33090
2 years ago
Phillip Webb 82254e3b4d Update smoketests to test isolated actuator object mapper use
See gh-32297
See gh-20291
2 years ago
Phillip Webb 32b9945632 Polish 2 years ago
Andy Wilkinson b357239861 Upgrade to Jakarta Activation 2.1.0
Closes gh-33045
2 years ago
Andy Wilkinson b67c427259 Upgrade to Servlet 6.0 and related EE 10 specs
Co-authored-by: Phillip Webb <pwebb@vmware.com>

Closes gh-33036
Closes gh-33037
Closes gh-33038
Closes gh-33039
Closes gh-33040
Closes gh-33041
Closes gh-33042
Closes gh-33043
2 years ago
Phillip Webb d7941c6315 Polish 2 years ago
Phillip Webb 9856286a2d Refine actuator httpexhanges naming
See gh-32885
2 years ago
Phillip Webb 3e50836b1a Rename httptrace endpoint and related classes to httpexchanges
Rename `/actuator/httptrace` to `/actuator/httpexchanges` to better
describe its purpose and to remove confusion with distribute tracing.

This change also takes the opportunity to improve the code by making
the `HttpExchange` class (previously `HttpTrace`) fully immutable.

Closes gh-32885

Co-authored-by: Andy Wilkinson <wilkinsona@vmware.com>
2 years ago
Johnny Lim 5067aab552 Polish
See gh-32840
2 years ago
Phillip Webb 4be3218cb6 Merge branch '2.7.x' 2 years ago
Phillip Webb c8676a81de Merge branch '2.6.x' into 2.7.x 2 years ago
Scott Frederick c22e76632c Add Build-Jdk-Spec to jar and war manifest when building with Gradle
This commit adds a `Build-Jdk-Spec` attribute to the manifest in a
jar or war file built with the Spring Boot Gradle plugin. This
aligns the Gradle plugin's behavior with the default Maven plugin
behavior.

This removes the need to set a `BP_JVM_VERSION` environment variable
when invoking Cloud Native Buildpacks, as the Paketo buildpacks will
honor `Build-Jdk-Spec` in a jar or war manifest to determine the
default JVM version.

Fixes gh-32829
2 years ago
Andy Wilkinson 99edda735e Polish 2 years ago
Madhura Bhave ce3c933f77 Adapt to Spring Security changes
Closes gh-32604
2 years ago
Phillip Webb 2e74878ba4 Downgrade to OpenSAML 4.0.1
See gh-32604
2 years ago
Madhura Bhave cedd553b83 Remove error page security filter
Spring Security now re-applies the authorization rules
to the error page by default. Additionally, it configures
RequestAttributeSecurityContextRepository as the default for
stateless applications allowing those applications to have access
to the original authentication during an error dispatch.

Closes gh-31703
2 years ago
Andy Wilkinson 4f86f685c5 Reinstate support for Infinispan
Closes gh-32556
2 years ago
Phillip Webb e0b67889a8 Use Stream.toList instead of Stream.collect when possible
Update code to make use of `Stream.toList()` whenever possible.

Closes gh-28177
2 years ago
Brian Clozel a0735eb3fb Migrate remaining usage of httpclient API
This commit migrates our remaining usage of the httpclient 4.x to use
instead httpclient5, now that the 4.x support has been removed in
`RestTemplate`.

Closes gh-32461
2 years ago
Brian Clozel 5fb2a50ad0 Adapt build dependencies to httpclient5
As htttpclient 4.x is not supported anymore by `RestTemplate`, this
commit changes such dependencies to httpclient5 instead. In some cases,
the httpclient 4.x was transitively brought by a non-Spring dependency.

See gh-32461
2 years ago
Scott Frederick 2e4529df27 Remove image banner smoke test
See gh-28883
2 years ago
Stephane Nicoll 72fc1f0018 Merge branch '2.7.x'
Closes gh-32512
2 years ago
Stephane Nicoll 9a004a6508 Merge branch '2.6.x' into 2.7.x
Closes gh-32511
2 years ago
Johnny Lim 975affc497 Enable LoaderIntegrationTests with Java 19
See gh-32501
2 years ago
Vedran Pavic 230f2cda84 Migrate to AuthorizationFilter in Spring Security auto-config
This commit updates Servlet based Spring Security auto-configuration
to use AuthorizationFilter, which is intended to supersede
FilterSecurityInterceptor.

See gh-31255
2 years ago
Scott Frederick f9c341c75a Revert "Generate the AutoConfiguration.imports file from annotations"
This reverts commit da4de7d67d.
2 years ago
Andy Wilkinson 2977373505 Polish "Add property to configure Spring Session Redis repository type"
See gh-32205
2 years ago
Vedran Pavic 3093380e35 Add property to configure Spring Session Redis repository type
With Spring Session moving to RedisSessionRepository as the preferred
session repository, Spring Boot auto-configuration should make it
possible to easily switch back to the previous default
(RedisIndexedSessionRepository).

This commit introduces spring.session.redis.repository configuration
property that allows selecting the desired Redis-backed session
repository implementation.

See gh-32205
2 years ago
Andy Wilkinson 64f4da80cb Align with breaking changes in latest Batch snapshots
Batch is now auto-configured to use the context's
PlatformTransactionManager and DataSource or `@BatchDataSource`.
When this does not meet the user's needs, they can use
`@EnableBatchProcessing` or sub-class `DefaultBatchConfiguration` to
take complete control with the auto-configuration backing off.

Closes gh-32330
2 years ago
dreis2211 bac7d62476 Fix Spring Batch deprecations
See gh-32419
2 years ago
Madhura Bhave b44a7e242c Support Mongo's Stable API in MongoHealthIndicator
Closes gh-30849
2 years ago
Phillip Webb 7f5785182d Switch @SpringBootTest to UseMainMethod.NEVER by default
See gh-22405
2 years ago
Phillip Webb 48f3cd75d4 Refine SpringBootTest.useMainMethod support
Refine `SpringBootContextLoader` so that calls to the main method do
not exit early and the hook is only used when necessary.

See gh-22405
2 years ago
Phillip Webb 41e0bbf4bb Add SpringBootTest.useMainMethod support
Add a new `useMainMethod` attribute to `SpringBootTest` which can be
used to determine how the test should run. The three available options
are:

	- `ALWAYS`
	- `NEVER`
	- `WHEN_AVAILABLE`

The default is `WHEN_AVAILABLE` which will attempt to launch the test
using the `main` method if there is one.

The `SpringBootContextLoader` has been updated to use the new
`SpringApplicationHook` interface when the main method is being used.

Closes gh-22405
2 years ago
Stephane Nicoll 4f6c3ab2b0 Upgrade to JUnit Jupiter 5.9.0
Closes gh-32351
2 years ago
Andy Wilkinson 4e8e5f623b Adapt to recent deprecations in Spring Batch
See gh-32237
2 years ago
Andy Wilkinson a896fd0a36 Merge branch '2.7.x' 2 years ago
Andy Wilkinson dffce2553c Merge branch '2.6.x' into 2.7.x 2 years ago
Andy Wilkinson 9fe9f31af1 Polish 2 years ago
Andy Wilkinson 144abee80a Merge branch '2.7.x' 2 years ago
Andy Wilkinson b512083b3a Merge branch '2.6.x' into 2.7.x 2 years ago
Andy Wilkinson a262520f08 Disable LoaderIntegrationTests on Java 19 till it GAs
See gh-32280
2 years ago
Stephane Nicoll aa6e52f029 Merge branch '2.7.x' 2 years ago
Stephane Nicoll 71fa410929 Merge branch '2.6.x' into 2.7.x 2 years ago
Stephane Nicoll c3416ac97a Disable LoaderIntegrationTests with Java 19
See gh-32295
2 years ago
Phillip Webb 2f78d52c36 Merge branch '2.7.x' 2 years ago
Phillip Webb 55ad2b9371 Remove accidentally committed debug code 2 years ago
Phillip Webb 46be4a3f30 Merge branch '2.7.x' 2 years ago
Phillip Webb e88a682220 Merge branch '2.6.x' into 2.7.x 2 years ago
Phillip Webb 6e239d551a Update Spring Batch to upstream API changes
Fix Spring Batch tests following upstream changes related to Spring
Batch issue 4130.

Closes gh-32237
2 years ago
Scott Frederick da4de7d67d Generate the AutoConfiguration.imports file from annotations
This commit adds the `AutoConfigurationImportsAnnotationProcessor` to
the `spring-boot-autoconfigure-processor` annotation processor
module. When added to a project build, the annotation processor will
generate the
`org.springframework.boot.autoconfigure.AutoConfiguration.imports`
file automatically from `@AutoConfiguration`-annotated classes. It
also applies the annotation processor to the Spring Boot build.

Closes gh-31228
2 years ago
Brian Clozel 4aa1efa2d8 Fix build with latest Spring for GraphQL changes 2 years ago
Stephane Nicoll 50c099334b Adapt deprecated getIpAddress call with getHost in Redis Tests
Closes gh-32147
2 years ago
Stephane Nicoll b19f1cedb3 Merge branch '2.7.x'
Closes gh-32137
2 years ago
thegeekyasian 5b1c6381db Adapt deprecated getIpAddress call with getHost in Redis Tests
See gh-32131
2 years ago
Phillip Webb 4ec2e357d9 Merge branch '2.7.x'
See gh-32086
2 years ago
Phillip Webb 60e1cc510c Merge branch '2.6.x' into 2.7.x
See gh-32085
2 years ago
Phillip Webb bd74344025 Revert "Don't close jar files early"
This reverts commit b42f056ddb.
2 years ago
Andy Wilkinson 0b9c2025fb Fix handling of String Java version in cache smoke test 2 years ago
Andy Wilkinson f4ddd3b597 Fix EhCache smoke test when building with a toolchain 2 years ago
Stephane Nicoll 748a1c9dbf Revert "Add missing jaxb dependency for EhCache3 smoke test"
This revert a7f06e0 as the version of EhCache already depends on JAXB.
2 years ago
Stephane Nicoll a7f06e0989 Merge branch '2.6.x' into 2.7.x 2 years ago
Stephane Nicoll 22a5ccfca7 Add missing jaxb dependency for EhCache3 smoke test
See gh-31137
2 years ago
Andy Wilkinson ba93e6c0ed Restore support for Jersey
Closes gh-28637
2 years ago
Madhura Bhave 846340ad62 Fix redis prefix in tests
See gh-11574
2 years ago
Madhura Bhave 0991bd3983 Harmonize data configuration
Any classes that rely on Spring Data being on the classpath
have been moved under a data package.

Certain configuration properties have also been updated to
accurately reflect whether Spring Data is required for the
auto-configuration to work.

Closes gh-11574
2 years ago
Andy Wilkinson c481299002 Merge branch '2.7.x'
Closes gh-31990
2 years ago
Andy Wilkinson d8e6d9bed8 Merge branch '2.6.x' into 2.7.x
Closes gh-31989
2 years ago
Andy Wilkinson 329fa8d37d Run cache smoke tests against all cache providers
Closes gh-31137
2 years ago
Johnny Lim 6a4681baf5 Polish
See gh-31948
2 years ago
Brian Clozel 38f1bc9793 Reinstate Spring for GraphQL auto-configuration
This commit adds the Spring for GraphQL auto-configuration back
into Spring Boot 3.0, now that a 1.1.0 release is scheduled with the
required baseline. This release also needs GraphQL Java 19.0 as a
baseline.

Closes gh-31809
2 years ago
Phillip Webb 22144987e9 Update copyright year of changed files 2 years ago
Stephane Nicoll c413f9adbe Merge branch '2.7.x'
Closes gh-31884
2 years ago
Stephane Nicoll 53a652ec65 Merge branch '2.6.x' into 2.7.x
Closes gh-31883
2 years ago
Stephane Nicoll 59139e632b Polish "Disable auto-detection in tests that start Hazelcast"
See gh-31863
2 years ago
Stephane Nicoll 782e3f75b6 Polish Hazelcast configuration
This commit updates the XSD to 4.2 and removes the "tcp-ip" network
option as it is disabled by default.

See gh-31863
2 years ago
Andy Wilkinson 3405a54f9e Exclude Jetty toolchain dependencies in favor of official API artifacts
Closes gh-31720
2 years ago
Andy Wilkinson 4bd3534b7d Adapt to change in Security's filtering behavior
Spring Security now filters every dispatch by default and not only
once-per-request. Security configuration has been updated in a number of
places to restore the old behavior as needed for the tests to pass.
gh-31703 has been opened to review this and to investigate if we can
now remove the error page security filter and rely on the filtering of
every dispatch instead.

In addition to switching to once-per-request filtering where needed,
this commit also restructures the configuration of the error page
security filter. The restructuring was necessary to ensure that the
privilege evaluator bean has been defined before the conditions on the
error page security filter are evaluated. Without the change, the filter
was no longer being configured as the privilege evaluator hadn't been
defined before the on bean condition was evaluated. We may want to back
port this change as the ordering doesn't appear to have been defined
before and we were just getting lucky.

See gh-31622
See spring-projects/spring-security#11466
2 years ago
Oliver Drotbohm b10c57551c Upgrade to Hibernate 6.1.1.Final
This commit makes the following potentially breaking changes:

- Dependency management for modules that do not exist in Hibernate
  6.1 has been removed.
- Hibernate's modules are now in the org.hibernate.orm group. Users
  not using the starter or using modules that are not in the starter
  will have to update their build configuration accordingly.
- spring.jpa.hibernate.use-new-id-generator-mappings has been removed
  as Hibernate no longer supports switching back to the old ID
  generator mappings.

Co-authored-by: Andy Wilkinson <wilkinsona@vmware.com>

Closes gh-31674
2 years ago
Andy Wilkinson f83f1a5fff Start building against Spring Integration 6.0.0-M4 snapshots
See gh-31624
2 years ago
Andy Wilkinson e9136e023b Adapt to trailing slashes no longer being matched by default
See gh-31563
2 years ago
dreis2211 458f989cf3 Use switch expressions where appropriate
See gh-31527
2 years ago
Andy Wilkinson 631b1e0d76 Merge branch '2.7.x'
Closes gh-31526
2 years ago
Andy Wilkinson 1e08f545d0 Merge branch '2.6.x' into 2.7.x
Closes gh-31525
2 years ago
Andy Wilkinson f49b16c645 Upgrade to Spring Java Format 0.0.34
Closes gh-31524
2 years ago
Stephane Nicoll 498f052a7a Fix deprecation warning 2 years ago
Phillip Webb e6352eee32 Fix import that should have been replaced during merge
See gh-31502
2 years ago
Phillip Webb b85469a5a5 Merge branch '2.7.x'
Closes gh-31502
2 years ago
Phillip Webb d64f601dfd Merge branch '2.6.x' into 2.7.x
Closes gh-31501
2 years ago
Guirong Hu 3592292e4b Use ExceptionHandler when Spring MVC uses a different management port
Update `CompositeHandlerExceptionResolver` to search for beans in
all contexts. Note that `BeanFactoryUtils.beansOfTypeIncludingAncestors`
cannot not be used since we need to pick up all beans, even if they
have the same name.

See gh-31495
2 years ago
dreis2211 a639685053 Remove obsolete Java compatibility code
See gh-31452
2 years ago