Class RootUriRequestExpectationManager

java.lang.Object
org.springframework.boot.test.web.client.RootUriRequestExpectationManager
All Implemented Interfaces:
org.springframework.test.web.client.RequestExpectationManager

public class RootUriRequestExpectationManager extends Object implements org.springframework.test.web.client.RequestExpectationManager
RequestExpectationManager that strips the specified root URI from the request before verification. Can be used to simply test declarations when all REST calls start the same way. For example:
 RestTemplate restTemplate = new RestTemplateBuilder().rootUri("https://example.com").build();
 MockRestServiceServer server = RootUriRequestExpectationManager.bindTo(restTemplate);
 server.expect(requestTo("/hello")).andRespond(withSuccess());
 restTemplate.getForEntity("/hello", String.class);
 
Since:
1.4.0
See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
    RootUriRequestExpectationManager(String rootUri, org.springframework.test.web.client.RequestExpectationManager expectationManager)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static org.springframework.test.web.client.MockRestServiceServer
    bindTo(org.springframework.web.client.RestTemplate restTemplate)
    Return a bound MockRestServiceServer for the given RestTemplate, configured with RootUriRequestExpectationManager when possible.
    static org.springframework.test.web.client.MockRestServiceServer
    bindTo(org.springframework.web.client.RestTemplate restTemplate, org.springframework.test.web.client.RequestExpectationManager expectationManager)
    Return a bound MockRestServiceServer for the given RestTemplate, configured with RootUriRequestExpectationManager when possible.
    org.springframework.test.web.client.ResponseActions
    expectRequest(org.springframework.test.web.client.ExpectedCount count, org.springframework.test.web.client.RequestMatcher requestMatcher)
     
    static org.springframework.test.web.client.RequestExpectationManager
    forRestTemplate(org.springframework.web.client.RestTemplate restTemplate, org.springframework.test.web.client.RequestExpectationManager expectationManager)
    Return RequestExpectationManager to be used for binding with the specified RestTemplate.
    void
     
    org.springframework.http.client.ClientHttpResponse
    validateRequest(org.springframework.http.client.ClientHttpRequest request)
     
    void
     
    void
    verify(Duration timeout)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • RootUriRequestExpectationManager

      public RootUriRequestExpectationManager(String rootUri, org.springframework.test.web.client.RequestExpectationManager expectationManager)
  • Method Details

    • expectRequest

      public org.springframework.test.web.client.ResponseActions expectRequest(org.springframework.test.web.client.ExpectedCount count, org.springframework.test.web.client.RequestMatcher requestMatcher)
      Specified by:
      expectRequest in interface org.springframework.test.web.client.RequestExpectationManager
    • validateRequest

      public org.springframework.http.client.ClientHttpResponse validateRequest(org.springframework.http.client.ClientHttpRequest request) throws IOException
      Specified by:
      validateRequest in interface org.springframework.test.web.client.RequestExpectationManager
      Throws:
      IOException
    • verify

      public void verify()
      Specified by:
      verify in interface org.springframework.test.web.client.RequestExpectationManager
    • verify

      public void verify(Duration timeout)
      Specified by:
      verify in interface org.springframework.test.web.client.RequestExpectationManager
    • reset

      public void reset()
      Specified by:
      reset in interface org.springframework.test.web.client.RequestExpectationManager
    • bindTo

      public static org.springframework.test.web.client.MockRestServiceServer bindTo(org.springframework.web.client.RestTemplate restTemplate)
      Return a bound MockRestServiceServer for the given RestTemplate, configured with RootUriRequestExpectationManager when possible.
      Parameters:
      restTemplate - the source REST template
      Returns:
      a configured MockRestServiceServer
    • bindTo

      public static org.springframework.test.web.client.MockRestServiceServer bindTo(org.springframework.web.client.RestTemplate restTemplate, org.springframework.test.web.client.RequestExpectationManager expectationManager)
      Return a bound MockRestServiceServer for the given RestTemplate, configured with RootUriRequestExpectationManager when possible.
      Parameters:
      restTemplate - the source REST template
      expectationManager - the source RequestExpectationManager
      Returns:
      a configured MockRestServiceServer
    • forRestTemplate

      public static org.springframework.test.web.client.RequestExpectationManager forRestTemplate(org.springframework.web.client.RestTemplate restTemplate, org.springframework.test.web.client.RequestExpectationManager expectationManager)
      Return RequestExpectationManager to be used for binding with the specified RestTemplate. If the RestTemplate is using a RootUriTemplateHandler then a RootUriRequestExpectationManager is returned, otherwise the source manager is returned unchanged.
      Parameters:
      restTemplate - the source REST template
      expectationManager - the source RequestExpectationManager
      Returns:
      a RequestExpectationManager to be bound to the template