Search in sources :

Example 1 with EnumerableCompositePropertySource

use of org.springframework.boot.env.EnumerableCompositePropertySource in project spring-boot by spring-projects.

the class ConfigFileApplicationListenerTests method yamlSetsProfiles.

@Test
public void yamlSetsProfiles() throws Exception {
    this.initializer.setSearchNames("testsetprofiles");
    this.initializer.postProcessEnvironment(this.environment, this.application);
    assertThat(this.environment.getActiveProfiles()).containsExactly("dev");
    String property = this.environment.getProperty("my.property");
    assertThat(this.environment.getActiveProfiles()).contains("dev");
    assertThat(property).isEqualTo("fromdevprofile");
    ConfigurationPropertySources propertySource = (ConfigurationPropertySources) this.environment.getPropertySources().get(ConfigFileApplicationListener.APPLICATION_CONFIGURATION_PROPERTY_SOURCE_NAME);
    Collection<org.springframework.core.env.PropertySource<?>> sources = propertySource.getSource();
    assertThat(sources).hasSize(2);
    List<String> names = new ArrayList<>();
    for (org.springframework.core.env.PropertySource<?> source : sources) {
        if (source instanceof EnumerableCompositePropertySource) {
            for (org.springframework.core.env.PropertySource<?> nested : ((EnumerableCompositePropertySource) source).getSource()) {
                names.add(nested.getName());
            }
        } else {
            names.add(source.getName());
        }
    }
    assertThat(names).contains("applicationConfig: [classpath:/testsetprofiles.yml]#dev", "applicationConfig: [classpath:/testsetprofiles.yml]");
}
Also used : EnumerableCompositePropertySource(org.springframework.boot.env.EnumerableCompositePropertySource) ArrayList(java.util.ArrayList) ConfigurationPropertySources(org.springframework.boot.context.config.ConfigFileApplicationListener.ConfigurationPropertySources) PropertySource(org.springframework.context.annotation.PropertySource) SimpleCommandLinePropertySource(org.springframework.core.env.SimpleCommandLinePropertySource) EnumerableCompositePropertySource(org.springframework.boot.env.EnumerableCompositePropertySource) MapPropertySource(org.springframework.core.env.MapPropertySource) Test(org.junit.Test)

Aggregations

ArrayList (java.util.ArrayList)1 Test (org.junit.Test)1 ConfigurationPropertySources (org.springframework.boot.context.config.ConfigFileApplicationListener.ConfigurationPropertySources)1 EnumerableCompositePropertySource (org.springframework.boot.env.EnumerableCompositePropertySource)1 PropertySource (org.springframework.context.annotation.PropertySource)1 MapPropertySource (org.springframework.core.env.MapPropertySource)1 SimpleCommandLinePropertySource (org.springframework.core.env.SimpleCommandLinePropertySource)1