Commit Graph
137 Commits
Author SHA1 Message Date
Stéphane Nicoll aceaee89ee Polish "Replace BaseUrl with LocalTestWebServer"
See gh-47680
2025-10-21 11:08:48 +02:00
Phillip Webb 41a399c5ae Replace BaseUrl with LocalTestWebServer
Replace `BaseUrl` and `BaseUrlProvider` provider code with a more
targeted `LocalTestWebServer` class.

The `LocalTestWebServer` can be used to obtain the url of the locally
running server, or provide `UriBuilderFactory` or `UriBuilder`
instances base on it.

This commit also updates the MockMVC HTML Unit auto-configuration to
directly use `localhost` as the base URL.

Closes gh-47680
2025-10-20 17:44:51 -07:00
Stéphane Nicoll dfb4213f33 Stop using LoggerContext#start
Closes gh-46035
2025-10-20 14:58:44 +02:00
Stéphane Nicoll f1b1183098 Polish "Use JsonMapper instead of ObjectMapper where feasible"
See gh-47503
2025-10-20 13:21:47 +02:00
Yanming Zhou 609b0b444e Use JsonMapper instead of ObjectMapper where feasible
See gh-47503

Signed-off-by: Yanming Zhou <zhouyanming@gmail.com>
2025-10-20 13:16:52 +02:00
Phillip Webb 069809505e Drop SharedMetadataReaderFactoryContextInitializer
Closes gh-47687
2025-10-17 19:46:42 -07:00
Phillip Webb 77f207a079 Simplify BaseUrl code and cache resolved URLs
See gh-47680
2025-10-17 19:28:18 -07:00
Phillip Webb 50a73b8dfe Add Jackson2Tester support
See gh-47688
2025-10-17 13:17:22 -07:00
Eddú Meléndez 7f64615690 Upgrade to Testcontainers 2.0.1
* Update dependencies name
  Modules are prefixed with `testcontainers-`
* Update container classes
  Container classes are under `org.testcontainers.<module-name>` package

See gh-47664

Signed-off-by: Eddú Meléndez <eddu.melendez@gmail.com>
2025-10-17 17:11:24 +02:00
Stéphane Nicoll 46a3c95a5c Apply BaseUrl consistently
This commit updates BaseUrlBuilderFactory to reuse features of the
Spring Framework to handle the base URL rather than duplicating it.

As a result, BaseUrl no longer resolves anything but rather provide
a standard component that is able to resolve the URI if needed.

Closes gh-47674
2025-10-17 16:35:06 +02:00
Stéphane Nicoll 998a2fa7b4 Fix configuration of HttpGraphQlTester with a running server
This commit restores the user of HttpGraphQlTester when it is configured
against a running server. The logic that appends the graphQl path to
the HTTP url was lost while refactoring the HTTP clients infrastructure.

To work against the new API, BaseUrl has been updated to provide the
ability to append a path to its URL

Closes gh-47659
2025-10-17 16:35:06 +02:00
Andy Wilkinson b88551a198 Remove Spock integration until it supports Groovy 5
Closes gh-47650
2025-10-16 15:27:35 +01:00
Andy Wilkinson 55e7c83498 Allow modules to contribute to Devtools' default properties
Closes gh-44792
2025-10-15 20:19:02 +01:00
Moritz Halbritter 57532c62be Fix tests regarding Native Image baseline on JDKs < 25
See gh-47433
2025-10-15 12:17:37 +02:00
Moritz Halbritter e1f9116684 Raise GraalVM baseline to 25
This also removes the 'requiredVersion' setting from the
native-maven-plugin configuration, as this is deprecated in the native
build tools.

Close gh-47433
2025-10-15 09:59:03 +02:00
Dmytro Nosan bc2ca5b9fc Extend ArchitectureCheck with NullMarkedExtension
Introduce NullMarkedExtension for ArchitectureCheck, which provides
functionality to configure packages to ignore in nullability checks and
to enable or disable the extension.

See gh-47596

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-10-15 08:23:47 +02:00
Vedran Pavic c6397305bb Add AWS ECS to cloud platforms
This commit adds support for detecting AWS ECS to `CloudPlatform`. The
detection is based on presence of `AWS_EXECUTION_ENV` environment
variable with value starting with `AWS_ECS`.

See gh-47482

Signed-off-by: Vedran Pavic <vedran@vedranpavic.com>
2025-10-15 08:15:29 +02:00
Phillip Webb 5ce1438be6 Merge branch '3.5.x' 2025-10-14 14:20:22 -07:00
Phillip Webb 32ca67abc7 Merge branch '3.5.x'
Closes gh-47636
2025-10-14 12:07:09 -07:00
Moritz Halbritter 0c7e49ebd1 Merge branch '3.5.x'
Closes gh-47621
2025-10-14 13:05:03 +02:00
Moritz Halbritter 54d60da47b Merge branch '3.5.x' 2025-10-14 11:30:00 +02:00
Moritz Halbritter 85082ac8ae Merge branch '3.5.x'
Closes gh-47616
2025-10-14 11:07:18 +02:00
Yanming Zhou aa09c8583d Fix wrong variable name
See gh-47478

Signed-off-by: Yanming Zhou <zhouyanming@gmail.com>
2025-10-10 17:37:16 +02:00
Andy WilkinsonandPhillip Webb 9eb05ebb10 Create spring-boot-resttestclient and spring-boot-webtestclient modules
Create `spring-boot-resttestclient` and `spring-boot-webtestclient`
modules to hold test client auto-configuration and `TestRestTemplate`
code.

Previous these classes were contained in `spring-boot-resetclient-test`
and `spring-boot-webclient-test` which was incorrect since the `-test`
modules should hold code need to test the given modules, not supporting
test classes.

See gh-46356

Co-authored-by: Phillip Webb <phil.webb@broadcom.com>
2025-10-09 22:12:39 -07:00
Andy Wilkinson 16d8878cd8 Support embedded web environment with @AutoConfigureWebTestClient
Simplify `WebTestClient` testing support by removing the direct
context customizer in favor of using `@AutoConfigureWebTestClient`.

See gh-46356
2025-10-09 22:11:44 -07:00
Stéphane Nicoll e20e2393c9 Polish "Add runtime hints for Log4j Core 2"
See gh-46410
2025-10-08 10:41:40 +02:00
Piotr P. Karwasz a2d4ecf8ac Add runtime hints for Log4j Core 2
This change introduces runtime hints for Log4j Core 2 to support its
integration with Spring Boot native images.

Starting with Log4j 2.25.x, Log4j includes built-in GraalVM reachability
metadata, allowing native image generation without requiring additional
manual configuration.

This contribution complements that by adding Spring Boot–specific
metadata:

* Registers default Spring Boot configuration files.
* Registers classes referenced via `ClassUtils.isPresent(...)` checks.

See gh-46410

Signed-off-by: Piotr P. Karwasz <piotr@github.copernik.eu>
2025-10-08 10:39:24 +02:00
Stéphane Nicoll da8eac3483 Update RetryPolicySettings to configure exception policy as well
Closes gh-47264
2025-10-07 14:07:17 +02:00
Stéphane Nicoll 533544d8fc Polish 2025-10-07 10:39:54 +02:00
Moritz Halbritter 1b44bafda1 Add nullability annotations to tests in core/spring-boot-test-autoconfigure
See gh-47263
2025-10-06 12:03:56 +02:00
Moritz Halbritter 418e057afc Add nullability annotations to tests in core/spring-boot
See gh-47263
2025-10-02 14:34:34 +02:00
Moritz Halbritter 4c8cabcb3a Upgrade to JUnit Jupiter 6.0.0
Closes gh-47383
2025-10-02 14:20:04 +02:00
Moritz Halbritter 57992512b7 Add nullability annotations to tests in core/spring-boot-autoconfigure
See gh-47263
2025-10-02 12:17:57 +02:00
Moritz Halbritter b566b73be6 Add nullability annotations to tests in core/spring-boot-docker-compose
See gh-47263
2025-10-02 12:17:00 +02:00
Moritz Halbritter 532ea9abc1 Add nullability annotations to tests in core/spring-boot-properties-migrator
See gh-47263
2025-10-02 12:16:24 +02:00
Moritz Halbritter ea05f6df15 Add nullability annotations to tests in core/spring-boot-test
See gh-47263
2025-10-02 12:12:44 +02:00
Moritz Halbritter 23c9b6510b Add nullability annotations to tests in core/spring-boot-testcontainers
See gh-47263
2025-10-02 12:00:16 +02:00
Phillip Webb 2a521ce4e9 Remove spring-boot-web-server-test module
Remove the `spring-boot-web-server-test` module, adding
`SpringBootTestRandomPortContextCustomizerFactory` to
`spring-boot-web-server` as a replacement for
`SpringBootTestRandomPortApplicationListener`.

See gh-46356
See gh-47322
2025-10-01 21:54:54 -07:00
Phillip Webb 97c89b480f Move @LocalServerPort and @LocalManagementServerPort
Move `@LocalServerPort` and `@LocalManagementServerPort` back to
`spring-boot-test`. The should help reduce upgrade pain since these
annotations are fairly commonly used. It also removes the need for
depending on `spring-boot-webserver-test`.

This is slight compromise with the module structure, since the
web-server module usually contributes the properties referenced
by the annotations.

See gh-46356
See gh-47322
2025-10-01 21:53:58 -07:00
Phillip Webb 82795f9966 Move DisableReactorResourceFactory... to spring-boot-test
Move `DisableReactorResourceFactoryGlobalResources...` support from
`spring-boot-web-server-test` back to `spring-boot-test` since it's
useful if Reactor Netty is being used directly and removes the need
for the `spring-boot-web-server-test` dependency.

See gh-46356
See gh-47322
2025-10-01 21:53:35 -07:00
Phillip Webb ef37765625 Add BaseUrl backed HTTP Unit support classes
Add new HTML Unit support classes that use `BaseUrlProviders`
to find the `BaseUrl`.

See gh-46356
2025-10-01 21:51:58 -07:00
Phillip Webb bba56ffc8b Move RestTestClientBuilderCustomizer to spring-boot-test
Relocate `RestTestClientBuilderCustomizer` to `spring-boot-test`
and break the direct link to web-server by making use of
`spring.factories` and the new `BaseUrlProviders` class.

See gh-46356
2025-10-01 21:51:20 -07:00
Phillip Webb 6f909114e7 Move WebTestClientBuilderCustomizer to spring-boot-test
Relocate `WebTestClientBuilderCustomizer` to `spring-boot-test`
and break the direct link to web-server and http-codec by making
use of `spring.factories` and the new `BaseUrlProviders` class.

A new `spring-boot-test-integration-test` module has also been
added to ensure hold the previous tests.

See gh-46356
2025-10-01 21:50:13 -07:00
Phillip Webb 79091f926d Introduce BaseUrl and BaseUrlProvider
Add the concept of a `BaseUrl` to the core `spring-boot-test`
module for use when making test HTTP calls. The web server module
provides `BaseUrlProvider` implementations that provide the actual
base URL (usually `https://localhost:<local-server-port>`).

Test utilities will be able to use `BaseUrlProviders` to find the
`BaseUrl`.

See gh-46356
2025-10-01 21:46:28 -07:00
Phillip Webb 155e3bd5e6 Relocate @AutoConfigureDataSourceInitialization
Relocate `@AutoConfigureDataSourceInitialization` from
`spring-jdbc-test` to `spring-boot-test-autoconfigure`. This change
allows Flyway and Liquibase to respond to the annotation without
the user needing to remember the `spring-jdbc-test` dependency.

This is especially important for R2DB applications which may
still be using Flyway or Liquibase for migrations and will
want them to apply during tests.

See gh-46356
See gh-47322
2025-10-01 21:43:13 -07:00
Phillip Webb 8008076e04 Remove spring-boot-json-test module
Remove spring-boot-json-test module and spread code between
`spring-boot-test`, `spring-boot-test-autoconfigure` and JSON
technology modules.

See gh-46356
See gh-47322
2025-10-01 21:42:18 -07:00
Phillip Webb 4b2d358384 Refine spring-boot-test-autoconfigure dependencies
Make `spring-boot-test-autoconfigure` optionally depend on
`spring-boot-autoconfigure` so that it can be an `api` dependency
for `*-test` modules. Also relocate it to core.

See gh-47322
2025-10-01 21:41:55 -07:00
Phillip Webb 17e655b7e5 Relocate @PropertyMapping to spring-boot-test
Move `@PropertyMapping` and supporting code from the
`spring-boot-test-autoconfigure` module to `spring-boot-test`
since it's generally applicable.

See gh-46356
See gh-47322
2025-10-01 21:41:03 -07:00
Phillip Webb 2b3a8ff647 Relocate @TypeExcludeFilters to spring-boot-test
Move `@TypeExcludeFilters` and supporting code from the
`spring-boot-test-autoconfigure` module to `spring-boot-test`
since it's generally applicable.

See gh-46356
See gh-47322
2025-10-01 21:39:34 -07:00
Stéphane Nicoll eb307b91ec Merge branch '3.5.x'
Closes gh-47359
2025-09-30 07:50:09 +02:00