Polish "Add support for multiple REST Docs configuration customizers"

Closes gh-13498
This commit is contained in:
Andy Wilkinson 2018-08-16 09:46:04 +01:00
parent 4d310f0d5a
commit f10377bdb7
3 changed files with 40 additions and 44 deletions

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2017 the original author or authors.
* Copyright 2012-2018 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -28,7 +28,6 @@ import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.boot.test.context.TestConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.restdocs.mockmvc.MockMvcRestDocumentation;
import org.springframework.restdocs.mockmvc.MockMvcRestDocumentationConfigurer;
import org.springframework.restdocs.mockmvc.RestDocumentationResultHandler;
import org.springframework.restdocs.templates.TemplateFormats;
import org.springframework.test.context.junit4.SpringRunner;
@ -47,6 +46,7 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilder
* MVC.
*
* @author Andy Wilkinson
* @author Eddú Meléndez
*/
@RunWith(SpringRunner.class)
@WebMvcTest(controllers = RestDocsTestController.class, secure = false)
@ -82,28 +82,22 @@ public class MockMvcRestDocsAutoConfigurationAdvancedConfigurationIntegrationTes
}
@TestConfiguration
public static class CustomizationConfiguration
implements RestDocsMockMvcConfigurationCustomizer {
public static class CustomizationConfiguration {
@Bean
public RestDocumentationResultHandler restDocumentation() {
return MockMvcRestDocumentation.document("{method-name}");
}
@Override
public void customize(MockMvcRestDocumentationConfigurer configurer) {
configurer.snippets().withTemplateFormat(TemplateFormats.markdown());
@Bean
public RestDocsMockMvcConfigurationCustomizer templateFormatCustomizer() {
return (configurer) -> configurer.snippets()
.withTemplateFormat(TemplateFormats.markdown());
}
}
@TestConfiguration
public static class CustomizationConfiguration2
implements RestDocsMockMvcConfigurationCustomizer {
@Override
public void customize(MockMvcRestDocumentationConfigurer configurer) {
configurer.snippets().withAdditionalDefaults(
@Bean
public RestDocsMockMvcConfigurationCustomizer defaultSnippetsCustomizer() {
return (configurer) -> configurer.snippets().withAdditionalDefaults(
responseFields(fieldWithPath("_links.self").description("Main URL")));
}

View File

@ -29,7 +29,9 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
import org.springframework.boot.test.context.TestConfiguration;
import org.springframework.boot.web.server.LocalServerPort;
import org.springframework.restdocs.restassured3.RestAssuredRestDocumentationConfigurer;
import org.springframework.context.annotation.Bean;
import org.springframework.restdocs.mockmvc.MockMvcRestDocumentation;
import org.springframework.restdocs.mockmvc.RestDocumentationResultHandler;
import org.springframework.restdocs.templates.TemplateFormats;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.util.FileSystemUtils;
@ -87,23 +89,22 @@ public class RestAssuredRestDocsAutoConfigurationAdvancedConfigurationIntegratio
}
@TestConfiguration
public static class CustomizationConfiguration
implements RestDocsRestAssuredConfigurationCustomizer {
public static class CustomizationConfiguration {
@Override
public void customize(RestAssuredRestDocumentationConfigurer configurer) {
configurer.snippets().withTemplateFormat(TemplateFormats.markdown());
@Bean
public RestDocumentationResultHandler restDocumentation() {
return MockMvcRestDocumentation.document("{method-name}");
}
}
@Bean
public RestDocsRestAssuredConfigurationCustomizer templateFormatCustomizer() {
return (configurer) -> configurer.snippets()
.withTemplateFormat(TemplateFormats.markdown());
}
@TestConfiguration
public static class CustomizationConfiguration2
implements RestDocsRestAssuredConfigurationCustomizer {
@Override
public void customize(RestAssuredRestDocumentationConfigurer configurer) {
configurer.snippets().withAdditionalDefaults(
@Bean
public RestDocsRestAssuredConfigurationCustomizer defaultSnippetsCustomizer() {
return (configurer) -> configurer.snippets().withAdditionalDefaults(
responseFields(fieldWithPath("_links.self").description("Main URL")));
}

View File

@ -26,8 +26,10 @@ import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.reactive.WebFluxTest;
import org.springframework.boot.test.context.TestConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.restdocs.mockmvc.MockMvcRestDocumentation;
import org.springframework.restdocs.mockmvc.RestDocumentationResultHandler;
import org.springframework.restdocs.templates.TemplateFormats;
import org.springframework.restdocs.webtestclient.WebTestClientRestDocumentationConfigurer;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.reactive.server.WebTestClient;
import org.springframework.util.FileSystemUtils;
@ -74,23 +76,22 @@ public class WebTestClientRestDocsAutoConfigurationAdvancedConfigurationIntegrat
}
@TestConfiguration
public static class CustomizationConfiguration
implements RestDocsWebTestClientConfigurationCustomizer {
public static class CustomizationConfiguration {
@Override
public void customize(WebTestClientRestDocumentationConfigurer configurer) {
configurer.snippets().withTemplateFormat(TemplateFormats.markdown());
@Bean
public RestDocumentationResultHandler restDocumentation() {
return MockMvcRestDocumentation.document("{method-name}");
}
}
@Bean
public RestDocsWebTestClientConfigurationCustomizer templateFormatCustomizer() {
return (configurer) -> configurer.snippets()
.withTemplateFormat(TemplateFormats.markdown());
}
@TestConfiguration
public static class CustomizationConfiguration2
implements RestDocsWebTestClientConfigurationCustomizer {
@Override
public void customize(WebTestClientRestDocumentationConfigurer configurer) {
configurer.snippets().withAdditionalDefaults(
@Bean
public RestDocsWebTestClientConfigurationCustomizer defaultSnippetsCustomizer() {
return (configurer) -> configurer.snippets().withAdditionalDefaults(
responseFields(fieldWithPath("_links.self").description("Main URL")));
}