Commit Graph

758 Commits

Author SHA1 Message Date
Scott Frederick ff99de49c4 Configure a RestClient.Builder with RestClientTest
This commit adds support for configuring a `RestClient.Builder` and
`MockRestServiceServer` support for the `RestClient` when using
`@RestClientTest` sliced tests.

Closes gh-37033
2023-09-29 15:07:38 -05:00
Phillip Webb 8edec21a6f Update copyright year of changed files 2023-08-13 20:44:44 -07:00
Andy Wilkinson 3c12f39adb Merge branch '3.1.x'
Closes gh-36860
2023-08-09 12:27:50 +01:00
Andy Wilkinson 30bfc34b5b Merge branch '3.0.x' into 3.1.x
Closes gh-36859
2023-08-09 12:27:41 +01:00
Andy Wilkinson b411fffb30 Merge branch '2.7.x' into 3.0.x
Closes gh-36858
2023-08-09 12:27:27 +01:00
Andy Wilkinson 21de3fba3c Describe quirks of JUL and Log4j2 in OutputCaptureExtension javadoc
Closes gh-32562
2023-08-09 12:25:26 +01:00
Stephane Nicoll 421448233f Remove invalid check for String-based FactoryBean.OBJECT_TYPE_ATTRIBUTE
Closes gh-36659
2023-08-09 11:18:25 +02:00
Stephane Nicoll b46e81c230 Start building against Spring Framework 6.1.0-M4 snapshots
See gh-36678
2023-08-09 11:18:25 +02:00
Moritz Halbritter ed9169501e Polish 2023-08-08 13:12:47 +02:00
Moritz Halbritter 1a8b8ce26e Revert "Revise synchronized blocks"
This reverts commit 497bbf9c2d.
2023-08-03 17:26:31 +02:00
Moritz Halbritter 497bbf9c2d Revise synchronized blocks
- Replace synchronized with Lock when guarding long-running operations
- Remove unnecessary synchronization in FileSystemWatcher
- Replace HashMap with ConcurrentHashMap in Restarter
- Remove unnecessary locking on AtomicBoolean in
  SpringApplicationBuilder
- Remove unnecessary locking in SimpleFormatter

Closes gh-36670
2023-08-03 09:23:46 +02:00
Andy Wilkinson d0d545468a Revert "Remove invalid check for String-based FactoryBean.OBJECT_TYPE_ATTRIBUTE"
This reverts commit 279f8221a5.

See gh-36659
2023-08-01 17:57:34 +01:00
Stephane Nicoll 279f8221a5 Remove invalid check for String-based FactoryBean.OBJECT_TYPE_ATTRIBUTE
Closes gh-36659
2023-08-01 16:50:56 +02:00
Stephane Nicoll 191ac10009 Deprecate support for OkHttp
Closes gh-36632
2023-08-01 16:45:13 +02:00
Johnny Lim 96c9915f12 Polish
See gh-36565
2023-07-26 10:00:56 +02:00
Andy Wilkinson 2de6447a79 Merge branch '3.1.x'
Closes gh-36232
2023-07-05 09:09:39 +01:00
Andy Wilkinson bdb7fdc6fc Merge branch '3.0.x' into 3.1.x
Closes gh-36230
2023-07-05 09:09:26 +01:00
Andy Wilkinson 581c2633f8 Merge branch '2.7.x' into 3.0.x
Closes gh-36229
2023-07-05 09:09:07 +01:00
Andy Wilkinson f4c996b432 Polish "Check for Class and ResolvableType object type attributes"
See gh-36224
2023-07-05 09:04:58 +01:00
Bernardo Bulgarelli 3a7185206e Check for Class and ResolvableType object type attributes
See gh-36224
2023-07-05 09:04:04 +01:00
Phillip Webb 7c942679ad Polish 'Switch ImportsContextCustomizer to use MergedAnnotations.search'
See gh-36211
2023-07-04 14:05:48 +01:00
Laurent Martelli 4562189125 Switch ImportsContextCustomizer to use MergedAnnotations.search #36211
Use `MergedAnnotations.search` in `ImportsContextCustomizer` rather than
needing dedicated search logic.

See gh-36211
2023-07-04 13:58:53 +01:00
Phillip Webb b2985676aa Merge branch '3.1.x'
Closes gh-36210
2023-07-04 12:19:47 +01:00
Phillip Webb 97ef8f38a4 Merge branch '3.0.x' into 3.1.x
Closes gh-36209
2023-07-04 12:19:20 +01:00
Phillip Webb ab7e4da703 Merge branch '2.7.x' into 3.0.x
Closes gh-36208
2023-07-04 12:18:52 +01:00
Phillip Webb 5d0640a356 Use MergedAnnotations for `@AliasFor` support
Update `ImportsContextCustomizer` to use `MergedAnnotations` so
that `@AliasFor` can be supported.

See gh-34917
2023-07-04 12:17:58 +01:00
Laurent Martelli 9baf23ccd5 Test that ImportsContextCustomizer can support @AliasFor
Add test to ensure that `ImportsContextCustomizer` can support
`@AliasFor` annotations.

See gh-34917
2023-07-04 12:17:58 +01:00
Andy Wilkinson b645eb32ac Remove deprecated code that was to be removed in 3.2
Closes gh-36034
2023-06-23 18:14:22 +01:00
Andy Wilkinson ca5bd37e81 Upgrade to Spring Framework 6.1.0-M1
Closes gh-35977
Closes gh-35980
2023-06-19 18:12:16 +01:00
Andy Wilkinson fd4b7d7f7a Merge branch '3.0.x'
Closes gh-35330
2023-05-05 18:22:20 +01:00
Andy Wilkinson ce96cc3026 Merge branch '2.7.x' into 3.0.x
Closes gh-35329
2023-05-05 18:22:05 +01:00
Andy Wilkinson 6dc84b1645 Ignore non-singleton factory beans when resetting mocks
Closes gh-35324
2023-05-05 18:21:04 +01:00
Marc Leroux b61834c92d Replace Mockito argument captors with assertArg
See gh-35015
2023-05-05 11:34:55 +02:00
Phillip Webb 2b261e6ebd Apply TestTypeExcludeFilter in regular applications
Add `ExcludeFilterApplicationContextInitializer` to register the
`TestTypeExcludeFilter` for regular applications.

Prior to this commit, the filter was only registered using the
`ExcludeFilterContextCustomizerFactory` which meant that test components
were filtered in tests but not when using `SpringApplication.from` with
a test classpath.

Fixes gh-35206
2023-04-29 21:10:02 -07:00
Andy Wilkinson a37a7228b8 Merge pull request #34833 from chinmoy12c
* gh-34833:
  Polish "Add content buffering support to MockServerRestTemplateCustomizer"
  Add content buffering support to MockServerRestTemplateCustomizer

Closes gh-34833
2023-04-17 18:05:29 +01:00
Andy Wilkinson 3f93a4ece6 Polish "Add content buffering support to MockServerRestTemplateCustomizer"
See gh-34833
2023-04-17 18:03:44 +01:00
Chinmoy Chakraborty b065e04be7 Add content buffering support to MockServerRestTemplateCustomizer
See gh-34833
2023-04-17 18:02:53 +01:00
Phillip Webb d442bfbeff Polish 2023-04-10 16:22:11 -07:00
Phillip Webb b6777524f7 Merge branch '2.7.x' into 3.0.x 2023-03-23 23:00:50 -07:00
Mortitz Halbritter bece347987 Polish 2023-03-23 22:59:26 -07:00
Phillip Webb 0b15962aca Merge branch '2.7.x' into 3.0.x 2023-02-22 18:36:16 -08:00
Phillip Webb a5902d7a00 Update copyright year of changed files 2023-02-22 18:35:17 -08:00
Phillip Webb c4de86c244 Merge branch '2.7.x' into 3.0.x 2023-02-21 23:17:57 -08:00
Phillip Webb df5898a146 Reformat code following spring-javaformat upgrade 2023-02-21 22:53:27 -08:00
Andy Wilkinson 118f736260 Merge branch '2.7.x' into 3.0.x
Closes gh-34044
2023-02-01 17:32:39 +00:00
Andy Wilkinson 9940fcfe77 Reset mocks produced by FactoryBeans
An unwanted side-effect of the changes made in c6bdd136 to fix
gh-7271 is that a mock produced by a factory bean is not reset. To
allow such a mock to be reset without regressing the fix we now call
getBean(…) as we did before c6bdd136, however the call is now
performed in a defensive manner falling back to getSingleton(…) when
it fails.

Closes gh-33830
2023-02-01 17:22:36 +00:00
Moritz Halbritter 0a080736d8 Merge branch '2.7.x' into 3.0.x
Closes gh-34017
2023-01-31 10:50:30 +01:00
Johnny Lim 5eeb429e44 Polish
See gh-33966
2023-01-31 10:48:30 +01:00
Johnny Lim bc7fc90550 Replace Base64Utils with JDK's Base64
See gh-33967
2023-01-31 10:20:06 +01:00
Krzysztof Krason 0e68cae57f Use instanceof patterns
See gh-33987
2023-01-26 20:36:25 -08:00
Phillip Webb 5120242996 Merge branch '2.7.x' into 3.0.x 2023-01-26 19:41:42 -08:00
Krzysztof Krason a8958471f6 Switch anonymous inner classes to lambdas
See gh-33987
2023-01-26 19:34:22 -08:00
Phillip Webb 71efc55bf9 Merge branch '2.7.x' 2023-01-18 16:31:53 -08:00
Phillip Webb 7c508fa324 Update copyright year of changed files 2023-01-18 15:37:58 -08:00
Moritz Halbritter 94f4a4396c Merge branch '2.7.x'
Closes gh-33880
2023-01-18 17:35:52 +01:00
Moritz Halbritter e8d809fe65 Replace 'via' with 'over' or 'through' in the documentation
Closes gh-33878
2023-01-18 16:56:42 +01:00
Phillip Webb fad88232b9 Update copyright year of changed files 2023-01-17 10:12:38 -08:00
Phillip Webb a889c539ab Merge branch '2.7.x' 2023-01-17 10:12:25 -08:00
Phillip Webb 71ff90a6a5 Polish 2023-01-17 10:11:47 -08:00
Phillip Webb a0fe8241a7 Update copyright year of changed files 2023-01-17 10:07:03 -08:00
Moritz Halbritter 679495a1ff Merge branch '2.7.x'
Closes gh-33792
2023-01-12 13:24:20 +01:00
Moritz Halbritter d652491e20 Fix stack overflow in SpringBootMockResolver
Closes gh-32632
2023-01-12 13:24:09 +01:00
Moritz Halbritter 887c00e9fc Polish OutputCapture 2023-01-11 11:37:00 +01:00
Phillip Webb a2ac38e203 Update copyright year of changed files 2023-01-09 15:46:07 -08:00
Krzysztof Krason cf6493f65c Simplify AssertJ assertions and also make them more readable
See gh-33653
2023-01-09 11:10:20 +01:00
Anugrah Singhal 3191c678c3 Remove Jetty/Netty/ApacheHttpClient checks for WebClient
See gh-33640
2023-01-09 10:43:44 +01:00
Phillip Webb f588793445 Update copyright year of changed files 2022-12-22 01:00:42 -08:00
Phillip Webb 0254619782 Merge branch '2.7.x' 2022-12-22 00:59:40 -08:00
Phillip Webb e4772cf3b7 Update copyright year of changed files 2022-12-22 00:59:32 -08:00
Moritz Halbritter 725337f976 Make fields final
Closes gh-33537
2022-12-16 14:28:44 +01:00
Moritz Halbritter 6edb6fa091 Polish "Add test for beforeEach of OutputExtension"
See gh-33419
2022-12-01 11:44:04 +01:00
nowjin 5f532a40f9 Add test for beforeEach of OutputExtension
See gh-33419
2022-12-01 11:41:28 +01:00
Moritz Halbritter c1bd9310ea Polish "Add test for beforeEach of OutputExtension"
See gh-33419
2022-12-01 11:37:18 +01:00
nowjin 94193c9df2 Add test for beforeEach of OutputExtension
See gh-33419
2022-12-01 11:35:53 +01:00
Johnny Lim 90589fd6d4 Polish
See gh-33384
2022-12-01 11:32:39 +01:00
lishangbu f5d0171fcc Avoid NPE when @SpringBootConfiguration not found in test
See gh-33371
2022-12-01 11:19:59 +01:00
Phillip Webb e1efdadfe3 Merge branch '2.7.x'
Closes gh-33416
2022-11-29 14:09:57 -08:00
Phillip Webb 711e2528fb Polish 'Improve test coverage for OutputCaptureRule'
See gh-33405
2022-11-29 14:09:26 -08:00
nowjin af7a03b4c9 Improve test coverage for OutputCaptureRule
See gh-33405
2022-11-29 14:09:05 -08:00
Andy Wilkinson 5dc589e7ae Merge branch '2.7.x'
Closes gh-33263
2022-11-18 15:56:30 +00:00
Andy Wilkinson 6bf35e3dd0 Merge branch '2.6.x' into 2.7.x
Closes gh-33262
2022-11-18 15:49:12 +00:00
Andy Wilkinson 0c8ae65bd4 Switch of the banner when SpringBootTest runs an app with a parent
Closes gh-33079
2022-11-18 15:43:41 +00:00
Phillip Webb fafbefa35c Ensure @ContextHierarchy is never used with UseMainMethod
Fixes gh-33078
2022-11-17 10:16:24 -08:00
Johnny Lim 6027508cf7 Polish
See gh-33108
2022-11-16 10:00:36 +01:00
Phillip Webb e212214227 Fix Kotlin main method detection for UseMainMethod
Update `SpringBootContextLoader` to detect main methods on `*Kt`
classes.

Fixes gh-33114
2022-11-15 19:27:53 -08:00
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
2022-11-09 13:10:11 -06:00
Andy Wilkinson b357239861 Upgrade to Jakarta Activation 2.1.0
Closes gh-33045
2022-11-08 11:01:17 +00:00
Scott Frederick a0d765cab8 Restore invocation of DefaultTestExecutionListenersPostProcessors
This commit partially reverts c81ebf63d9,
so that `DefaultTestExecutionListenersPostProcessor`s are invoked
even though deprecated.

See gh-31793
2022-11-01 13:16:36 -05:00
Scott Frederick c81ebf63d9 Use ApplicationContextFailureProcessor to log report on failure
Closes gh-31793
2022-10-31 15:15:49 -05:00
Phillip Webb a59b6cb1f3 Polish 2022-10-25 21:56:53 -07:00
Phillip Webb 4be3218cb6 Merge branch '2.7.x' 2022-10-25 15:48:26 -07:00
Phillip Webb c8676a81de Merge branch '2.6.x' into 2.7.x 2022-10-25 15:48:04 -07:00
Phillip Webb d7ac20cd6c Update copyright year of changed files 2022-10-25 15:47:30 -07:00
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
2022-10-25 15:41:57 -07:00
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>
2022-10-25 14:41:19 -07:00
Moritz Halbritter 383d6c897f Remove reflection for SimpleRequestExpectationManager creation
Closes gh-32867
2022-10-25 16:15:51 +02:00
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
2022-10-25 14:02:55 +02:00
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
2022-10-25 13:51:43 +02:00
Moritz Halbritter f2c004f604 Remove reflection in OutputCaptureExtension
Closes gh-32870
2022-10-25 11:42:52 +02:00
Moritz Halbritter 512a4c7544 Revert "Register runtime hints for OutputCapture"
This reverts commit 35abc3a6dc.
2022-10-25 11:40:44 +02:00