From b8d6b34038e14d598e646f8296dab6be6054d6a2 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Tue, 18 Nov 2014 11:17:07 +0000 Subject: [PATCH] =?UTF-8?q?Test=20that=20HttpMapper=20properties=20are=20o?= =?UTF-8?q?nly=20used=20when=20they=E2=80=99re=20defined?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes gh-1923 --- ...ssageConvertersAutoConfigurationTests.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/web/HttpMessageConvertersAutoConfigurationTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/web/HttpMessageConvertersAutoConfigurationTests.java index 5ad7080e97..8c9ec03593 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/web/HttpMessageConvertersAutoConfigurationTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/web/HttpMessageConvertersAutoConfigurationTests.java @@ -21,6 +21,8 @@ import java.util.List; import org.junit.After; import org.junit.Test; +import org.springframework.beans.DirectFieldAccessor; +import org.springframework.boot.test.EnvironmentTestUtils; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -34,6 +36,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.google.gson.Gson; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; /** @@ -155,6 +158,30 @@ public class HttpMessageConvertersAutoConfigurationTests { assertConverterBeanRegisteredWithHttpMessageConverters(StringHttpMessageConverter.class); } + @Test + public void httpMapperPropertiesAreNotAppliedWhenNotConfigured() throws Exception { + this.context.register(JacksonObjectMapperConfig.class, + HttpMessageConvertersAutoConfiguration.class); + this.context.refresh(); + MappingJackson2HttpMessageConverter converter = this.context + .getBean(MappingJackson2HttpMessageConverter.class); + assertNull(new DirectFieldAccessor(converter) + .getPropertyValue("prettyPrint")); + } + + @Test + public void httpMapperPropertiesAreAppliedWhenConfigured() throws Exception { + this.context.register(JacksonObjectMapperConfig.class, + HttpMessageConvertersAutoConfiguration.class); + EnvironmentTestUtils.addEnvironment(this.context, + "http.mappers.jsonPrettyPrint:true"); + this.context.refresh(); + MappingJackson2HttpMessageConverter converter = this.context + .getBean(MappingJackson2HttpMessageConverter.class); + assertTrue((Boolean) new DirectFieldAccessor(converter) + .getPropertyValue("prettyPrint")); + } + private void assertConverterBeanExists(Class type, String beanName) { assertEquals(1, this.context.getBeansOfType(type).size()); List beanNames = Arrays.asList(this.context.getBeanDefinitionNames());