Commit Graph

642 Commits (6e07189a45846891beefcb2d7965e8449252d362)

Author SHA1 Message Date
Phillip Webb f588793445 Update copyright year of changed files 2 years ago
Phillip Webb 0254619782 Merge branch '2.7.x' 2 years ago
Phillip Webb e4772cf3b7 Update copyright year of changed files 2 years ago
Moritz Halbritter 725337f976 Make fields final
Closes gh-33537
2 years ago
Moritz Halbritter 6edb6fa091 Polish "Add test for beforeEach of OutputExtension"
See gh-33419
2 years ago
nowjin 5f532a40f9 Add test for beforeEach of OutputExtension
See gh-33419
2 years ago
Moritz Halbritter c1bd9310ea Polish "Add test for beforeEach of OutputExtension"
See gh-33419
2 years ago
nowjin 94193c9df2 Add test for beforeEach of OutputExtension
See gh-33419
2 years ago
Johnny Lim 90589fd6d4 Polish
See gh-33384
2 years ago
lishangbu f5d0171fcc Avoid NPE when @SpringBootConfiguration not found in test
See gh-33371
2 years ago
Phillip Webb e1efdadfe3 Merge branch '2.7.x'
Closes gh-33416
2 years ago
Phillip Webb 711e2528fb Polish 'Improve test coverage for OutputCaptureRule'
See gh-33405
2 years ago
nowjin af7a03b4c9 Improve test coverage for OutputCaptureRule
See gh-33405
2 years ago
Andy Wilkinson 5dc589e7ae Merge branch '2.7.x'
Closes gh-33263
2 years ago
Andy Wilkinson 6bf35e3dd0 Merge branch '2.6.x' into 2.7.x
Closes gh-33262
2 years ago
Andy Wilkinson 0c8ae65bd4 Switch of the banner when SpringBootTest runs an app with a parent
Closes gh-33079
2 years ago
Phillip Webb fafbefa35c Ensure @ContextHierarchy is never used with UseMainMethod
Fixes gh-33078
2 years ago
Johnny Lim 6027508cf7 Polish
See gh-33108
2 years ago
Phillip Webb e212214227 Fix Kotlin main method detection for UseMainMethod
Update `SpringBootContextLoader` to detect main methods on `*Kt`
classes.

Fixes gh-33114
2 years ago
Scott Frederick b882de7c68 Throw ContextLoadException on test context load failure
When a test context fails to load, a `ContextLoadException` should
be thrown so that Framework can catch it and call any registered
`ApplicationContextFailureProcessor`s.

Closes gh-31793
2 years ago
Andy Wilkinson b357239861 Upgrade to Jakarta Activation 2.1.0
Closes gh-33045
2 years ago
Scott Frederick a0d765cab8 Restore invocation of DefaultTestExecutionListenersPostProcessors
This commit partially reverts c81ebf63d9,
so that `DefaultTestExecutionListenersPostProcessor`s are invoked
even though deprecated.

See gh-31793
2 years ago
Scott Frederick c81ebf63d9 Use ApplicationContextFailureProcessor to log report on failure
Closes gh-31793
2 years ago
Phillip Webb a59b6cb1f3 Polish 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
Phillip Webb d7ac20cd6c Update copyright year of changed files 2 years ago
Phillip Webb 9505673d6f Ensure application event listeners are always refreshed
Update `EventPublishingRunListener` to ensure that application event
listeners are always refreshed before multicasting initial events.

Prior to this commit, refreshing occurred after multicasting which
meant that listeners added by a different `SpringApplicationRunListener`
would not be picked up. This caused properties from tests that have
`UseMainMethod` set to `ALWAYS` or `WHEN_AVAILABLE` to be missing.

Fixes gh-32860
2 years ago
Andy Wilkinson e6c37d698f Reinstate support for read timeouts with RestTemplateBuilder
Refactor the way `ClientHttpRequestFactory` instances are created in
order to support setting read timeouts.

Prior to this commit, the reflection based approach would call
`setReadTimeout`. As of Spring Framework 6.0, the
`HttpComponentsClientHttpRequestFactory` class no longer supports this
approach. The timeout must be set on the `HttpClientConnectionManager`
used in the `HttpClient` which can be passed in to the constructor.

In order to support this approach, the `ClientHttpRequestFactory` can
now be created using a `Function` rather than a `Supplier`. The
function accepts a `ClientHttpRequestFactorySettings` which provides
the timeout settings to apply.

The `ClientHttpRequestFactories` utility class provides methods to
create `ClientHttpRequestFactory` instances that respect the settings.
Whenever possible, these are created without using reflection.

Fixes gh-32857

Co-authored-by: Phillip Webb <pwebb@vmware.com>
2 years ago
Moritz Halbritter 383d6c897f Remove reflection for SimpleRequestExpectationManager creation
Closes gh-32867
2 years ago
Moritz Halbritter 9ee3fd0b0b Disable HttpGraphQlTesterContextCustomizer after AOT processing
After AOT processing, a HttpGraphQlTester bean will be defined directly
so the context customizer that initiates its registration is not
needed.

Closes gh-32872
2 years ago
Moritz Halbritter b014039a34 Disable WebTestClientContextCustomizer after AOT processing
After AOT processing, a WebTestClient bean will be defined directly
so the context customizer that initiates its registration is not
needed.

Closes gh-32859
2 years ago
Moritz Halbritter f2c004f604 Remove reflection in OutputCaptureExtension
Closes gh-32870
2 years ago
Moritz Halbritter 512a4c7544 Revert "Register runtime hints for OutputCapture"
This reverts commit 35abc3a6dc.
2 years ago
Moritz Halbritter 35abc3a6dc Register runtime hints for OutputCapture
Closes gh-32870
2 years ago
Andy Wilkinson b78e7b5ac7 Disable TestRestTemplateContextCustomizer after AOT processing
After AOT processing, a TestRestTemplate bean will be defined
directly so the context customizer that initiates its registration is
not needed. We'd already disabled the registrar but this is
insufficient in Graal 22.3 which fails fast when the customizer tries
to reference the registrar.

Fixes gh-32848
2 years ago
Andy Wilkinson 7bae02be2d Adapt to breaking changes to AotProcessor settings
See gh-32696
2 years ago
Andy Wilkinson d351086a06 Adapt to breaking changes to AOT processing entry points
See gh-32550
2 years ago
Andy Wilkinson 68e4aa232b Prevent duplicate registration of TestRestTemplate after AOT processing
Closes gh-32542
2 years ago
Johnny Lim 64132afba4 Add Javadoc since for UseMainMethod
See gh-32568
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
Phillip Webb 118836d204 Merge branch '2.7.x'
Closes gh-32576
2 years ago
Phillip Webb 0f4d98b1f4 Merge branch '2.6.x' into 2.7.x
Closes gh-32575
2 years ago
Phillip Webb e917bd0ed0 Only build OutputCapture strings when necessary
Update `OutputCapture` so that expensive build operations are only
performed when necessary. This update is especially important for Kotlin
users calling `"Expected String" in output` since this results in a call
to Kotlin's `CharSequence.contains` which calls the `length()` and
`charAt()` methods many times.

Closes gh-32033
2 years ago
Andy Wilkinson 51df7813a5 Remove code deprecated in 2.x and add since and forRemoval attributes
Closes gh-32548
Closes gh-32549
2 years ago
Phillip Webb 7a5b61fd19 Replace AotApplicationContextInitializer with Framework version 2 years ago
Brian Clozel cc169e7623 Adapt TestRestTemplate to httpclient5 changes
This commit adapts the `TestRestTemplate` implementation to the
httpclient5 API since httpclient 4.x is now unsupported in Spring
Framework.

See 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
Stephane Nicoll 3702c71fc1 Adapt to Spring AOT changes 2 years ago
Stephane Nicoll f6f545dbf1 Merge branch '2.7.x'
Closes gh-32510
2 years ago