|
|
|
|
@ -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 standardEnvironmentIsReturnedUnconverted() { |
|
|
|
|
public void envClassSameShouldReturnEnvironmentUnconverted() { |
|
|
|
|
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); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|