Search in sources :

Example 66 with Environment

use of cn.taketoday.core.env.Environment in project today-infrastructure by TAKETODAY.

the class DefaultConfigurationPropertySourcesTests method shouldFlattenEnvironment.

@Test
void shouldFlattenEnvironment() {
    StandardEnvironment environment = new StandardEnvironment();
    environment.getPropertySources().addFirst(new MapPropertySource("foo", Collections.singletonMap("foo", "bar")));
    environment.getPropertySources().addFirst(new MapPropertySource("far", Collections.singletonMap("far", "far")));
    PropertySources sources = new PropertySources();
    sources.addFirst(new PropertySource<Environment>("env", environment) {

        @Override
        public String getProperty(String key) {
            return this.source.getProperty(key);
        }
    });
    sources.addLast(new MapPropertySource("baz", Collections.singletonMap("baz", "barf")));
    DefaultConfigurationPropertySources configurationSources = new DefaultConfigurationPropertySources(sources);
    assertThat(configurationSources.iterator()).toIterable().hasSize(5);
}
Also used : PropertySources(cn.taketoday.core.env.PropertySources) MapPropertySource(cn.taketoday.core.env.MapPropertySource) Environment(cn.taketoday.core.env.Environment) StandardEnvironment(cn.taketoday.core.env.StandardEnvironment) StandardEnvironment(cn.taketoday.core.env.StandardEnvironment) Test(org.junit.jupiter.api.Test)

Aggregations

Environment (cn.taketoday.core.env.Environment)66 Test (org.junit.jupiter.api.Test)58 StandardEnvironment (cn.taketoday.core.env.StandardEnvironment)50 MockEnvironment (cn.taketoday.mock.env.MockEnvironment)48 HashMap (java.util.HashMap)16 Binder (cn.taketoday.context.properties.bind.Binder)14 ConfigurableEnvironment (cn.taketoday.core.env.ConfigurableEnvironment)10 MapConfigurationPropertySource (cn.taketoday.context.properties.source.MapConfigurationPropertySource)6 MapPropertySource (cn.taketoday.core.env.MapPropertySource)6 PropertySources (cn.taketoday.core.env.PropertySources)6 ApplicationPropertySourcesProcessor (cn.taketoday.context.support.ApplicationPropertySourcesProcessor)4 StandardApplicationContext (cn.taketoday.context.support.StandardApplicationContext)4 BeanInstantiationException (cn.taketoday.beans.BeanInstantiationException)3 ConfigurableBeanFactory (cn.taketoday.beans.factory.config.ConfigurableBeanFactory)3 BeanDefinitionRegistry (cn.taketoday.beans.factory.support.BeanDefinitionRegistry)3 PatternResourceLoader (cn.taketoday.core.io.PatternResourceLoader)3 BeanWrapper (cn.taketoday.beans.BeanWrapper)2 BeansException (cn.taketoday.beans.BeansException)2 PropertyValues (cn.taketoday.beans.PropertyValues)2 ApplicationContext (cn.taketoday.context.ApplicationContext)2