Commit Graph

521 Commits

Author SHA1 Message Date
Andy Wilkinson 492a4abd70 Merge branch '3.3.x' into 3.4.x
Closes gh-45645
2025-05-23 09:29:23 +01:00
Andy Wilkinson 7628ae8503 Check Kotlin code using Detekt
Closes gh-45583
2025-05-23 09:22:08 +01:00
Phillip Webb 9ae9146661 Merge branch '3.3.x' into 3.4.x
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run Details
Build and Deploy Snapshot / Trigger Docs Build (push) Blocked by required conditions Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[early-access:true toolchain:true version:24], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[early-access:true toolchain:true version:24], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:21], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:21], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:22], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:22], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:23], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:23], map[id:windows-latest name:Windows]) (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:false version:17]) (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:21]) (push) Waiting to run Details
2025-05-20 17:20:34 -07:00
Phillip Webb 2b2228eba5 Update copyright year of changed files
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run Details
Build and Deploy Snapshot / Trigger Docs Build (push) Blocked by required conditions Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:22], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:22], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:23], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:23], map[id:windows-latest name:Windows]) (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:false version:17]) (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:21]) (push) Waiting to run Details
2025-05-20 17:20:07 -07:00
Stéphane Nicoll fab15af876 Merge branch '3.3.x' into 3.4.x
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Has been cancelled Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[early-access:true toolchain:true version:24], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Has been cancelled Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[early-access:true toolchain:true version:24], map[id:windows-latest name:Windows]) (push) Has been cancelled Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Has been cancelled Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:windows-latest name:Windows]) (push) Has been cancelled Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:21], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Has been cancelled Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:21], map[id:windows-latest name:Windows]) (push) Has been cancelled Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:22], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Has been cancelled Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:22], map[id:windows-latest name:Windows]) (push) Has been cancelled Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:23], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Has been cancelled Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:23], map[id:windows-latest name:Windows]) (push) Has been cancelled Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:false version:17]) (push) Has been cancelled Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:21]) (push) Has been cancelled Details
Build and Deploy Snapshot / Trigger Docs Build (push) Has been cancelled Details
Build and Deploy Snapshot / Verify (push) Has been cancelled Details
Closes gh-45594
2025-05-18 09:26:57 +02:00
Johnny Lim 0a54804a0f Polish
See gh-45592

Signed-off-by: Johnny Lim <izeye@naver.com>
2025-05-18 09:20:33 +02:00
Phillip Webb c96835bc9d Merge branch '3.3.x' into 3.4.x
Closes gh-44992
2025-04-03 18:02:57 -07:00
Stéphane Nicoll d49617063a Adapt to change in Spring Framework
See https://github.com/spring-projects/spring-framework/issues/34513

See gh-44481
2025-03-04 12:18:01 +01:00
Stéphane Nicoll d03847c2c7 Merge branch '3.3.x' into 3.4.x
Closes gh-44481
2025-02-28 11:10:31 +01:00
Stéphane Nicoll e1f45c50ee Generate reflection hints for main methods
This commit makes sure to register the necessary hints to invoke the
main method of any bean available in the context. This is necessary
for tests that use the UseMainMethod feature.

This generates more hints than strictly necessary as there isn't a
way to contribute hints based on a ContextLoader, see
https://github.com/spring-projects/spring-framework/issues/34513 for
more details.

Closes gh-44461
2025-02-28 11:08:23 +01:00
Andy Wilkinson c7b54dcbb3 Merge branch '3.3.x' into 3.4.x
Closes gh-43950
2025-01-24 08:53:03 +00:00
Phillip Webb e72546d2a6 Add customizer variant of `requestFactorySettings`
Add `requestFactorySettings` that accepts a `UnaryOperator` so that
the existing `requestFactorySettings` can be customized rather than
replaced.

Closes gh-43258
2024-12-10 14:54:33 -08:00
Phillip Webb 8ca8ab14f6 Add `withRequestFactorySettings` method and restore previous defaults
Update `TestRestTemplate` with a `withRequestFactorySettings` method
that can be used to change defaults such as `Redirects`.

This commit also restores the previous redirect defaults for HTTP
components where redirects would only be followed when the
`HttpClientOption.ENABLE_REDIRECTS` was specified.

Closes gh-43258
2024-12-05 18:01:09 -08:00
Phillip Webb 8b83afdb68 Polish 'Add `redirects(...)` method to `RestTemplateBuilder`'
Remove deprecations and new methods in `TestRestTemplate` in favor of
passing in a configured `RestTemplateBuilder`.

See gh-43258
2024-12-04 15:12:59 -08:00
Yanming Zhou f450b28a7c Add `redirects(...)` method to `RestTemplateBuilder`
Add `redirects(...)` method to `RestTemplateBuilder` to allow redirect
customization. This new method is required in 3.4 since the default
redirect strategy for some clients has changed and users need a way
to restore the old behavior.

See gh-43258
2024-12-04 15:09:33 -08:00
Phillip Webb 916efb632c Merge branch '3.3.x' 2024-12-04 15:04:22 -08:00
Phillip Webb 9e7972a9b4 Polish code with code cleanup rules 2024-12-04 15:03:40 -08:00
Andy Wilkinson 32433e84f3 Merge branch '3.3.x'
Closes gh-43270
2024-11-22 15:46:38 +00:00
Andy Wilkinson bb3651b7d1 Reduce warnings reported by Eclipse
Closes gh-43269
2024-11-22 15:39:35 +00:00
Phillip Webb 26c775eff8 Register `AutoConfigurations` using fully qualified class name
Update `AbstractApplicationContextRunner` and `Configurations` to
allow registration of beans with a specific generated bean name. By
default, no name is generated, however, `AutoConfigurations` has been
updated to use bean names using the fully qualified class name.

The update brings `ApplicationContextRunners` closer the behavior of
a standard Spring Boot application where user `@Configuration` classes
are usually registered with a simple name and auto-configurations are
imported (via an `ImportSelector`) using a fully qualified name.

Fixes gh-17963

Co-authored-by: Stéphane Nicoll <stephane.nicoll@broadcom.com>
Co-authored-by: Andy Wilkinson <andy.wilkinson@broadcom.com>
Co-authored-by: Dmytro Nosan <dimanosan@gmail.com>
2024-11-18 21:37:42 -08:00
Andy Wilkinson 362593019d Merge branch '3.3.x'
Closes gh-43053
2024-11-06 14:23:15 +00:00
Andy Wilkinson 4900ca1ffc Fix resetting of spied FactoryBean output
Fixes gh-31204
2024-11-06 13:27:09 +00:00
Stéphane Nicoll 606709ab8b Use Spring Framework's MockResolver implementation
Closes gh-42957
2024-11-05 11:59:01 +09:00
Phillip Webb 0305d1e9d5 Adapt to upstream Spring Framework @MockitoBean changes 2024-10-23 11:11:55 -07:00
Andy Wilkinson 25082d33e7 Provide more control over access to endpoint operations
This commit reworks the support for enabling and disabling endpoints,
replacing the on/off support that it provided with a finer-grained
access model that supports only allowing read-only access to endpoint
operations in addition to disabling an endpoint (access of none) and
fully enabling it (access of unrestricted).

The following properties are deprecated:

- management.endpoints.enabled-by-default
- management.endpoint.<id>.enabled

Their replacements are:

- management.endpoints.access.default
- management.endpoint.<id>.access

Similarly, the enableByDefault attribute on @Endpoint has been
deprecated with a new defaultAccess attribute replacing it.

Additionally, a new property has been introduced that allows an
operator to control the level of access to Actuator endpoints
that is permitted:

- management.endpoints.access.max-permitted

This property caps any access that may has been configured for
an endpoint. For example, if
management.endpoints.access.max-permitted is set to read-only and
management.endpoint.loggers.access is set to unrestricted, only
read-only access to the loggers endpoint will be allowed.

Closes gh-39046
2024-10-17 13:56:44 +01:00
Andy Wilkinson 1b6b9efcb2 Reinstate init of Mockito mocks in test execution listener
Closes gh-42708
2024-10-16 10:22:31 +01:00
Stéphane Nicoll 2728344ccb Disable test temporarily
See https://github.com/spring-projects/spring-framework/issues/33690
2024-10-14 14:38:17 +02:00
Andy Wilkinson 31fada6d3e Start building against Spring Framework 6.2.0 snapshots
See gh-42562
2024-10-09 19:13:04 +01:00
Phillip Webb f5b6514bef Allow additional context interfaces to be defined for testing
Update `AssertableApplicationContext` and `ApplicationContextRunner`
implementations to support additional `ApplicationContext` interfaces.

Closes gh-42369
2024-09-18 23:47:13 -07:00
Moritz Halbritter 46150bae89 Merge branch '3.3.x'
Closes gh-41858
2024-08-14 17:20:59 +02:00
Moritz Halbritter f4b4f4f0bf Make PID and application version available in the environment
Adds the following new properties:

- spring.application.pid
- spring.application.version

Refactors the ResourceBanner and the structured logging support to use
the new properties.

Closes gh-41604
2024-08-01 15:03:41 +02:00
Phillip Webb 000600c68a Merge branch '3.3.x' 2024-07-22 18:41:53 +01:00
Andy Wilkinson cddf92e047 Polish "Deprecate @MockBean and @SpyBean"
See gh-39864
2024-07-12 13:49:11 +01:00
Jakob Wanger 24763940a0 Deprecate @MockBean and @SpyBean
- Deprecate Deprecate @MockBean and @SpyBean in favor of Spring
  Framework 6.2's @MockitoBean and @MockitoSpy
- Migrate usages of @MockBean and @SpyBean to @MockitoBean and
  @MockitoSpy

Signed-off-by: Jakob Wanger <jakobwanger@gmail.com>

See gh-39864
2024-07-12 12:18:01 +01:00
Stéphane Nicoll 156237227c Migrate MockMvc tests to MockMvcTester
See gh-41198
2024-07-03 15:09:10 +02:00
Phillip Webb d411d4347f Merge branch '3.3.x'
Closes gh-41222
2024-06-24 12:24:40 -07:00
Phillip Webb 726f71a1a8 Merge branch '3.2.x' into 3.3.x
Closes gh-41221
2024-06-24 12:24:27 -07:00
Phillip Webb 57f452fec1 Disable ReactorResourceFactory use of global resources in tests
Add `ContextCustomizerFactory` to automatically disable the use of
`ReactorResourceFactory` global resources in tests.

Fixes gh-38199
2024-06-24 11:22:11 -07:00
Andy Wilkinson b593734edd Merge branch '3.2.x' into 3.3.x
Closes gh-41191
2024-06-21 10:01:22 +01:00
Stéphane Nicoll 17ca0421e7 Upgrade to HtmlUnit 4.2.0 and Selenium HtmlUnit 4.20
Closes gh-41178
Closes gh-41179
2024-06-20 20:18:23 +01:00
Stéphane Nicoll 305bfb1641 Adapt to Mockito support in the Test Context Framework
This commit updates MockitoTestExecutionListener to not handle mocks
as this is already done in the listener provided by the core framework,
and registration can only happen once.

Integration tests have been left as-is to validate that the presence
of both listeners doesn't have an unwanted side effect.

See gh-41177
2024-06-20 20:18:07 +01:00
Stéphane Nicoll 2053e13c09 Adapt to new Placeholder resolution API
See gh-41177
2024-06-20 20:18:07 +01:00
Andy Wilkinson 6110e0ff43 Merge branch '3.2.x'
Closes gh-41184
2024-06-20 19:30:12 +01:00
Stéphane Nicoll e9eeac9028 Use Spring Framework's NoOpResponseErrorHandler
See spring-projects/spring-framework#32750

Closes gh-41183
2024-06-20 18:28:36 +01:00
Phillip Webb 9dda006a18 Merge branch '3.2.x' 2024-06-19 22:55:00 -07:00
Phillip Webb 2a4582b084 Update copyright year of changed files 2024-06-19 22:54:40 -07:00
Phillip Webb 147240aa0c Merge branch '3.2.x'
Closes gh-41080
2024-06-11 13:32:30 -07:00
Phillip Webb bcbcafaab2 Polish "Use method references when possible in test code"
See gh-40974
2024-06-11 12:58:04 -07:00
Ahmed Ashour 207327d97c Use method references when possible in test code
See gh-40974
2024-06-11 12:58:00 -07:00
Andy Wilkinson f355080dc8 Merge branch '3.2.x'
Closes gh-40855
2024-05-21 15:48:15 +01:00