@ -16,10 +16,14 @@
@@ -16,10 +16,14 @@
package org.springframework.boot ;
import java.util.HashSet ;
import java.util.Set ;
import org.junit.Test ;
import org.springframework.core.convert.support.ConfigurableConversionService ;
import org.springframework.core.env.AbstractEnvironment ;
import org.springframework.core.env.PropertySource ;
import org.springframework.core.env.StandardEnvironment ;
import org.springframework.mock.env.MockEnvironment ;
import org.springframework.web.context.support.StandardServletEnvironment ;
@ -32,6 +36,7 @@ import static org.mockito.Mockito.mock;
@@ -32,6 +36,7 @@ import static org.mockito.Mockito.mock;
*
* @author Ethan Rubinson
* @author Andy Wilkinson
* @author Madhura Bhave
* /
public class EnvironmentConverterTests {
@ -43,7 +48,8 @@ public class EnvironmentConverterTests {
@@ -43,7 +48,8 @@ public class EnvironmentConverterTests {
AbstractEnvironment originalEnvironment = new MockEnvironment ( ) ;
originalEnvironment . setActiveProfiles ( "activeProfile1" , "activeProfile2" ) ;
StandardEnvironment convertedEnvironment = this . environmentConverter
. convertToStandardEnvironmentIfNecessary ( originalEnvironment ) ;
. convertEnvironmentIfNecessary ( originalEnvironment ,
StandardEnvironment . class ) ;
assertThat ( convertedEnvironment . getActiveProfiles ( ) )
. containsExactly ( "activeProfile1" , "activeProfile2" ) ;
}
@ -55,16 +61,18 @@ public class EnvironmentConverterTests {
@@ -55,16 +61,18 @@ public class EnvironmentConverterTests {
ConfigurableConversionService . class ) ;
originalEnvironment . setConversionService ( conversionService ) ;
StandardEnvironment convertedEnvironment = this . environmentConverter
. convertToStandardEnvironmentIfNecessary ( originalEnvironment ) ;
. convertEnvironmentIfNecessary ( originalEnvironment ,
StandardEnvironment . class ) ;
assertThat ( convertedEnvironment . getConversionService ( ) )
. isEqualTo ( conversionService ) ;
}
@Test
public void standardEnvironmentIsReturned Unconverted( ) {
public void envClassSameShouldReturnEnvironment Unconverted( ) {
StandardEnvironment standardEnvironment = new StandardEnvironment ( ) ;
StandardEnvironment convertedEnvironment = this . environmentConverter
. convertToStandardEnvironmentIfNecessary ( standardEnvironment ) ;
. convertEnvironmentIfNecessary ( standardEnvironment ,
StandardEnvironment . class ) ;
assertThat ( convertedEnvironment ) . isSameAs ( standardEnvironment ) ;
}
@ -72,8 +80,53 @@ public class EnvironmentConverterTests {
@@ -72,8 +80,53 @@ public class EnvironmentConverterTests {
public void standardServletEnvironmentIsConverted ( ) {
StandardServletEnvironment standardServletEnvironment = new StandardServletEnvironment ( ) ;
StandardEnvironment convertedEnvironment = this . environmentConverter
. convertToStandardEnvironmentIfNecessary ( standardServletEnvironment ) ;
. convertEnvironmentIfNecessary ( standardServletEnvironment ,
StandardEnvironment . class ) ;
assertThat ( convertedEnvironment ) . isNotSameAs ( standardServletEnvironment ) ;
}
@Test
public void servletPropertySourcesAreNotCopiedOverIfNotWebEnvironment ( ) {
StandardServletEnvironment standardServletEnvironment = new StandardServletEnvironment ( ) ;
StandardEnvironment convertedEnvironment = this . environmentConverter
. convertEnvironmentIfNecessary ( standardServletEnvironment ,
StandardEnvironment . class ) ;
assertThat ( convertedEnvironment ) . isNotSameAs ( standardServletEnvironment ) ;
Set < String > names = new HashSet < > ( ) ;
for ( PropertySource < ? > propertySource : convertedEnvironment
. getPropertySources ( ) ) {
names . add ( propertySource . getName ( ) ) ;
}
assertThat ( names ) . doesNotContain (
StandardServletEnvironment . SERVLET_CONTEXT_PROPERTY_SOURCE_NAME ,
StandardServletEnvironment . SERVLET_CONFIG_PROPERTY_SOURCE_NAME ,
StandardServletEnvironment . JNDI_PROPERTY_SOURCE_NAME ) ;
}
@Test
public void envClassSameShouldReturnEnvironmentUnconvertedEvenForWeb ( ) {
StandardServletEnvironment standardServletEnvironment = new StandardServletEnvironment ( ) ;
StandardEnvironment convertedEnvironment = this . environmentConverter
. convertEnvironmentIfNecessary ( standardServletEnvironment ,
StandardServletEnvironment . class ) ;
assertThat ( convertedEnvironment ) . isSameAs ( standardServletEnvironment ) ;
}
@Test
public void servletPropertySourcesArePresentWhenTypeToConvertIsWeb ( ) {
StandardEnvironment standardEnvironment = new StandardEnvironment ( ) ;
StandardEnvironment convertedEnvironment = this . environmentConverter
. convertEnvironmentIfNecessary ( standardEnvironment ,
StandardServletEnvironment . class ) ;
assertThat ( convertedEnvironment ) . isNotSameAs ( standardEnvironment ) ;
Set < String > names = new HashSet < > ( ) ;
for ( PropertySource < ? > propertySource : convertedEnvironment
. getPropertySources ( ) ) {
names . add ( propertySource . getName ( ) ) ;
}
assertThat ( names ) . contains (
StandardServletEnvironment . SERVLET_CONTEXT_PROPERTY_SOURCE_NAME ,
StandardServletEnvironment . SERVLET_CONFIG_PROPERTY_SOURCE_NAME ) ;
}
}