From e9db595c67f97ee7fd8a3823cfe33a0261601338 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Fri, 28 Nov 2025 14:44:50 +0100 Subject: [PATCH] Restore TestRestTemplate#getRootUri This commit adapts TestRestTemplate#getRootUri to the recently introduced LocalTestWebServer. The behavior invokes the UriTemplateHandler to provide the value. If the implementation expands full URL, then it will provide the expected behavior. If not, it should return the empty string as before. Closes gh-48330 --- .../boot/resttestclient/TestRestTemplate.java | 2 +- .../boot/resttestclient/TestRestTemplateTests.java | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/module/spring-boot-resttestclient/src/main/java/org/springframework/boot/resttestclient/TestRestTemplate.java b/module/spring-boot-resttestclient/src/main/java/org/springframework/boot/resttestclient/TestRestTemplate.java index 1a34b268469..48118a3680e 100644 --- a/module/spring-boot-resttestclient/src/main/java/org/springframework/boot/resttestclient/TestRestTemplate.java +++ b/module/spring-boot-resttestclient/src/main/java/org/springframework/boot/resttestclient/TestRestTemplate.java @@ -193,7 +193,7 @@ public class TestRestTemplate { if (uriTemplateHandler instanceof RootUriTemplateHandler rootHandler) { return rootHandler.getRootUri(); } - return ""; + return uriTemplateHandler.expand("").toString(); } /** diff --git a/module/spring-boot-resttestclient/src/test/java/org/springframework/boot/resttestclient/TestRestTemplateTests.java b/module/spring-boot-resttestclient/src/test/java/org/springframework/boot/resttestclient/TestRestTemplateTests.java index ca7a163440d..c59889e850a 100644 --- a/module/spring-boot-resttestclient/src/test/java/org/springframework/boot/resttestclient/TestRestTemplateTests.java +++ b/module/spring-boot-resttestclient/src/test/java/org/springframework/boot/resttestclient/TestRestTemplateTests.java @@ -120,6 +120,14 @@ class TestRestTemplateTests { assertThat(new TestRestTemplate(delegate).getRootUri()).isEqualTo(rootUri); } + @Test + void getRootUriRootUriSetViaLocalTestWebServer() { + LocalTestWebServer localTestWebServer = LocalTestWebServer.of(Scheme.HTTPS, 7070); + RestTemplateBuilder delegate = new RestTemplateBuilder() + .uriTemplateHandler(localTestWebServer.uriBuilderFactory()); + assertThat(new TestRestTemplate(delegate).getRootUri()).isEqualTo("https://localhost:7070"); + } + @Test void getRootUriRootUriNotSet() { assertThat(new TestRestTemplate().getRootUri()).isEmpty();