use of cn.taketoday.framework.Application in project today-framework by TAKETODAY.
the class ConfigDataEnvironmentPostProcessorIntegrationTests method setup.
@BeforeEach
void setup() {
this.application = new Application(Config.class);
this.application.setApplicationType(ApplicationType.NONE_WEB);
}
use of cn.taketoday.framework.Application in project today-framework by TAKETODAY.
the class ConfigDataEnvironmentPostProcessorBootstrapContextIntegrationTests method setup.
@BeforeEach
void setup() {
this.application = new Application(Config.class);
this.application.setApplicationType(ApplicationType.NONE_WEB);
}
use of cn.taketoday.framework.Application in project today-framework by TAKETODAY.
the class ConfigurationPropertiesTests method loadWhenEnvironmentPrefixSetShouldBind.
@Test
void loadWhenEnvironmentPrefixSetShouldBind() {
PropertySources sources = this.context.getEnvironment().getPropertySources();
sources.replace(StandardEnvironment.SYSTEM_ENVIRONMENT_PROPERTY_SOURCE_NAME, new SystemEnvironmentPropertySource(StandardEnvironment.SYSTEM_ENVIRONMENT_PROPERTY_SOURCE_NAME, Collections.singletonMap("MY_SPRING_FOO_NAME", "Jane")));
Application application = new Application(PrefixConfiguration.class);
application.setApplicationContextFactory((webApplicationType) -> ConfigurationPropertiesTests.this.context);
application.setEnvironmentPrefix("my");
application.setEnvironment(this.context.getEnvironment());
application.run();
BasicProperties bean = this.context.getBean(BasicProperties.class);
assertThat(bean.name).isEqualTo("Jane");
}
use of cn.taketoday.framework.Application in project today-framework by TAKETODAY.
the class ApplicationContextLoader method loadContext.
@Override
public ApplicationContext loadContext(MergedContextConfiguration config) throws Exception {
Class<?>[] configClasses = config.getClasses();
String[] configLocations = config.getLocations();
Assert.state(ObjectUtils.isNotEmpty(configClasses) || ObjectUtils.isNotEmpty(configLocations), () -> "No configuration classes or locations found in @SpringApplicationConfiguration. " + "For default configuration detection to work you need Spring 4.0.3 or better (found " + cn.taketoday.lang.Version.get() + ").");
Application application = getSpringApplication();
application.setMainApplicationClass(config.getTestClass());
application.addPrimarySources(Arrays.asList(configClasses));
application.getSources().addAll(Arrays.asList(configLocations));
List<ApplicationContextInitializer> initializers = getInitializers(config, application);
if (config instanceof WebMergedContextConfiguration) {
application.setApplicationType(ApplicationType.SERVLET_WEB);
if (!isEmbeddedWebEnvironment(config)) {
new WebConfigurer().configure(config, application, initializers);
}
} else if (config instanceof ReactiveWebMergedContextConfiguration) {
application.setApplicationType(ApplicationType.REACTIVE_WEB);
if (!isEmbeddedWebEnvironment(config)) {
application.setApplicationContextFactory(ApplicationContextFactory.from(GenericReactiveWebApplicationContext::new));
}
} else {
application.setApplicationType(ApplicationType.NONE_WEB);
}
application.setInitializers(initializers);
ConfigurableEnvironment environment = getEnvironment();
if (environment != null) {
prepareEnvironment(config, application, environment, false);
application.setEnvironment(environment);
} else {
application.addListeners(new PrepareEnvironmentListener(config));
}
String[] args = ApplicationTestArgs.get(config.getContextCustomizers());
return application.run(args);
}
use of cn.taketoday.framework.Application in project today-infrastructure by TAKETODAY.
the class ApplicationContextLoader method loadContext.
@Override
public ApplicationContext loadContext(MergedContextConfiguration config) throws Exception {
Class<?>[] configClasses = config.getClasses();
String[] configLocations = config.getLocations();
Assert.state(ObjectUtils.isNotEmpty(configClasses) || ObjectUtils.isNotEmpty(configLocations), () -> "No configuration classes or locations found in @SpringApplicationConfiguration. " + "For default configuration detection to work you need Spring 4.0.3 or better (found " + cn.taketoday.lang.Version.get() + ").");
Application application = getSpringApplication();
application.setMainApplicationClass(config.getTestClass());
application.addPrimarySources(Arrays.asList(configClasses));
application.getSources().addAll(Arrays.asList(configLocations));
List<ApplicationContextInitializer> initializers = getInitializers(config, application);
if (config instanceof WebMergedContextConfiguration) {
application.setApplicationType(ApplicationType.SERVLET_WEB);
if (!isEmbeddedWebEnvironment(config)) {
new WebConfigurer().configure(config, application, initializers);
}
} else if (config instanceof ReactiveWebMergedContextConfiguration) {
application.setApplicationType(ApplicationType.REACTIVE_WEB);
if (!isEmbeddedWebEnvironment(config)) {
application.setApplicationContextFactory(ApplicationContextFactory.from(GenericReactiveWebApplicationContext::new));
}
} else {
application.setApplicationType(ApplicationType.NONE_WEB);
}
application.setInitializers(initializers);
ConfigurableEnvironment environment = getEnvironment();
if (environment != null) {
prepareEnvironment(config, application, environment, false);
application.setEnvironment(environment);
} else {
application.addListeners(new PrepareEnvironmentListener(config));
}
String[] args = ApplicationTestArgs.get(config.getContextCustomizers());
return application.run(args);
}
Aggregations