Polish
This commit is contained in:
@@ -68,14 +68,13 @@ public class PropertiesConfigurationFactoryTests {
|
||||
assertEquals("blah", foo.name);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testUnderscore() throws Exception {
|
||||
Foo foo = createFoo("spring_foo_baz: blah\nname: blah");
|
||||
assertEquals("blah", foo.spring_foo_baz);
|
||||
assertEquals("blah", foo.name);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testUnknownPropertyOkByDefault() throws Exception {
|
||||
Foo foo = createFoo("hi: hello\nname: foo\nbar: blah");
|
||||
@@ -137,11 +136,11 @@ public class PropertiesConfigurationFactoryTests {
|
||||
private String name;
|
||||
|
||||
private String bar;
|
||||
|
||||
|
||||
private String spring_foo_baz;
|
||||
|
||||
public String getSpringFooBaz() {
|
||||
return spring_foo_baz;
|
||||
return this.spring_foo_baz;
|
||||
}
|
||||
|
||||
public void setSpringFooBaz(String spring_foo_baz) {
|
||||
|
||||
@@ -28,9 +28,14 @@ import org.springframework.context.ConfigurableApplicationContext;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
|
||||
/**
|
||||
* Class-level annotation that is used to determine how to load and configure an
|
||||
* ApplicationContext for integration tests. Similar to the standard
|
||||
* {@link ContextConfiguration} but uses Spring Boot's
|
||||
* {@link SpringApplicationContextLoader}.
|
||||
*
|
||||
* @author Dave Syer
|
||||
* @see SpringApplicationContextLoader
|
||||
*/
|
||||
|
||||
@ContextConfiguration(loader = SpringApplicationContextLoader.class)
|
||||
@Documented
|
||||
@Inherited
|
||||
|
||||
@@ -58,27 +58,15 @@ public class SpringApplicationContextLoader extends AbstractContextLoader {
|
||||
public ApplicationContext loadContext(MergedContextConfiguration mergedConfig)
|
||||
throws Exception {
|
||||
|
||||
Set<Object> sources = new LinkedHashSet<Object>();
|
||||
sources.addAll(Arrays.asList(mergedConfig.getClasses()));
|
||||
sources.addAll(Arrays.asList(mergedConfig.getLocations()));
|
||||
SpringApplication application = new SpringApplication();
|
||||
application.setSources(sources);
|
||||
|
||||
Map<String, Object> args = new LinkedHashMap<String, Object>();
|
||||
application.setSources(getSources(mergedConfig));
|
||||
if (!ObjectUtils.isEmpty(mergedConfig.getActiveProfiles())) {
|
||||
application.setAdditionalProfiles(Arrays.asList(mergedConfig
|
||||
.getActiveProfiles()));
|
||||
}
|
||||
// Not running an embedded server, just setting up web context
|
||||
args.put("server.port", "0");
|
||||
args.put("management.port", "0");
|
||||
application.setDefaultProperties(args);
|
||||
List<ApplicationContextInitializer<?>> initializers = new ArrayList<ApplicationContextInitializer<?>>(
|
||||
application.getInitializers());
|
||||
for (Class<? extends ApplicationContextInitializer<?>> type : mergedConfig
|
||||
.getContextInitializerClasses()) {
|
||||
initializers.add(BeanUtils.instantiate(type));
|
||||
}
|
||||
application.setDefaultProperties(getArgs(mergedConfig));
|
||||
List<ApplicationContextInitializer<?>> initializers = getInitializers(
|
||||
mergedConfig, application);
|
||||
if (mergedConfig instanceof WebMergedContextConfiguration) {
|
||||
new WebConfigurer().setup(mergedConfig, application, initializers);
|
||||
}
|
||||
@@ -86,9 +74,36 @@ public class SpringApplicationContextLoader extends AbstractContextLoader {
|
||||
application.setWebEnvironment(false);
|
||||
}
|
||||
application.setInitializers(initializers);
|
||||
|
||||
return application.run();
|
||||
}
|
||||
|
||||
private Set<Object> getSources(MergedContextConfiguration mergedConfig) {
|
||||
Set<Object> sources = new LinkedHashSet<Object>();
|
||||
sources.addAll(Arrays.asList(mergedConfig.getClasses()));
|
||||
sources.addAll(Arrays.asList(mergedConfig.getLocations()));
|
||||
return sources;
|
||||
}
|
||||
|
||||
private Map<String, Object> getArgs(MergedContextConfiguration mergedConfig) {
|
||||
Map<String, Object> args = new LinkedHashMap<String, Object>();
|
||||
// Not running an embedded server, just setting up web context
|
||||
args.put("server.port", "0");
|
||||
args.put("management.port", "0");
|
||||
return args;
|
||||
}
|
||||
|
||||
private List<ApplicationContextInitializer<?>> getInitializers(
|
||||
MergedContextConfiguration mergedConfig, SpringApplication application) {
|
||||
List<ApplicationContextInitializer<?>> initializers = new ArrayList<ApplicationContextInitializer<?>>();
|
||||
initializers.addAll(application.getInitializers());
|
||||
for (Class<? extends ApplicationContextInitializer<?>> initializerClass : mergedConfig
|
||||
.getContextInitializerClasses()) {
|
||||
initializers.add(BeanUtils.instantiate(initializerClass));
|
||||
}
|
||||
return initializers;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApplicationContext loadContext(String... locations) throws Exception {
|
||||
throw new UnsupportedOperationException(
|
||||
|
||||
Reference in New Issue
Block a user