Commit f10ac2f0 authored by Andy Wilkinson's avatar Andy Wilkinson

Merge pull request #10641 from Kristine Jetzke

* gh-10641:
  Polish "Provide access to root URI from TestRestTemplate"
  Provide access to root URI from TestRestTemplate
parents e92e56dd 71632ac7
...@@ -78,6 +78,7 @@ import org.springframework.web.util.UriTemplateHandler; ...@@ -78,6 +78,7 @@ import org.springframework.web.util.UriTemplateHandler;
* @author Dave Syer * @author Dave Syer
* @author Phillip Webb * @author Phillip Webb
* @author Andy Wilkinson * @author Andy Wilkinson
* @author Kristine Jetzke
* @since 1.4.0 * @since 1.4.0
*/ */
public class TestRestTemplate { public class TestRestTemplate {
...@@ -165,6 +166,19 @@ public class TestRestTemplate { ...@@ -165,6 +166,19 @@ public class TestRestTemplate {
this.restTemplate.setUriTemplateHandler(handler); this.restTemplate.setUriTemplateHandler(handler);
} }
/**
* Returns the root URI applied by a {@link RootUriTemplateHandler} or {@code ""} if
* the root URI is not available.
* @return the root URI
*/
public String getRootUri() {
UriTemplateHandler uriTemplateHandler = this.restTemplate.getUriTemplateHandler();
if (uriTemplateHandler instanceof RootUriTemplateHandler) {
return ((RootUriTemplateHandler) uriTemplateHandler).getRootUri();
}
return "";
}
/** /**
* Retrieve a representation by doing a GET on the specified URL. The response (if * Retrieve a representation by doing a GET on the specified URL. The response (if
* any) is converted and returned. * any) is converted and returned.
......
...@@ -63,6 +63,7 @@ import static org.mockito.Mockito.verify; ...@@ -63,6 +63,7 @@ import static org.mockito.Mockito.verify;
* @author Phillip Webb * @author Phillip Webb
* @author Stephane Nicoll * @author Stephane Nicoll
* @author Andy Wilkinson * @author Andy Wilkinson
* @author Kristine Jetzke
*/ */
public class TestRestTemplateTests { public class TestRestTemplateTests {
...@@ -81,6 +82,29 @@ public class TestRestTemplateTests { ...@@ -81,6 +82,29 @@ public class TestRestTemplateTests {
.isInstanceOf(HttpComponentsClientHttpRequestFactory.class); .isInstanceOf(HttpComponentsClientHttpRequestFactory.class);
} }
@Test
public void getRootUriRootUriSetViaRestTemplateBuilder() {
String rootUri = "http://example.com";
RestTemplate delegate = new RestTemplateBuilder().rootUri(rootUri).build();
assertThat(new TestRestTemplate(delegate).getRootUri()).isEqualTo(rootUri);
}
@Test
public void getRootUriRootUriSetViaLocalHostUriTemplateHandler() {
String rootUri = "http://example.com";
TestRestTemplate template = new TestRestTemplate();
LocalHostUriTemplateHandler templateHandler = mock(
LocalHostUriTemplateHandler.class);
given(templateHandler.getRootUri()).willReturn(rootUri);
template.setUriTemplateHandler(templateHandler);
assertThat(template.getRootUri()).isEqualTo(rootUri);
}
@Test
public void getRootUriRootUriNotSet() {
assertThat(new TestRestTemplate().getRootUri()).isEqualTo("");
}
@Test @Test
public void authenticated() { public void authenticated() {
assertThat(new TestRestTemplate("user", "password").getRestTemplate() assertThat(new TestRestTemplate("user", "password").getRestTemplate()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment