6

Spring REST Docs produces a curl snippet which is very convenient when testing. It is equivalent to the MockMvc call as said in its docs but it would be good if its host part can be replaced with a test server's hostname (including port) instead of localhost. Is it possible to achieve it with the current version of it?

Johnny Lim
  • 5,623
  • 8
  • 38
  • 53

2 Answers2

17

You can configure the host (and scheme and port) when you create the MockMvc instance:

this.mockMvc = MockMvcBuilders.webAppContextSetup(this.context)
        .apply(documentationConfiguration(this.restDocumentation).uris()
                .withScheme("https")
                .withHost("example.com")
                .withPort(443))
        .build();
Andy Wilkinson
  • 108,729
  • 24
  • 257
  • 242
  • Thanks! I missed it already documented in http://docs.spring.io/spring-restdocs/docs/1.0.0.BUILD-SNAPSHOT/reference/html5/#configuration-uris – Johnny Lim Oct 31 '15 at 23:51
7

Using SpringBoot and autoconfiguration it could be:

@SpringBootTest
@RunWith(SpringRunner.class)
@AutoConfigureMockMvc    
@AutoConfigureRestDocs(uriScheme = "https", uriHost = "myhost", uriPort = "80")
public class Test { 

    @Autowired
    MockMvc mockMvc;

    ...
Max Farsikov
  • 2,451
  • 19
  • 25