Guard against missing EndpointAutoConfiguration class

fixes gh-319
This commit is contained in:
Spencer Gibb
2018-02-06 11:29:55 -05:00
parent 3866806a2c
commit 3a390a35fa
2 changed files with 49 additions and 1 deletions

View File

@@ -0,0 +1,48 @@
package org.springframework.cloud.autoconfigure;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.WebApplicationType;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.test.rule.OutputCapture;
import org.springframework.cloud.endpoint.event.RefreshEventListener;
import org.springframework.cloud.test.ClassPathExclusions;
import org.springframework.cloud.test.ModifiedClassPathRunner;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.Configuration;
import static org.assertj.core.api.Assertions.assertThat;
/**
* @author Spencer Gibb
*/
@RunWith(ModifiedClassPathRunner.class)
@ClassPathExclusions({"spring-boot-actuator-autoconfigure-*.jar", "spring-boot-starter-actuator-*.jar"})
public class RefreshAutoConfigurationMoreClassPathTests {
@Rule
public OutputCapture outputCapture = new OutputCapture();
@Test
public void unknownClassProtected() {
try (ConfigurableApplicationContext context = getApplicationContext(
Config.class, "debug=true")) {
String output = this.outputCapture.toString();
assertThat(output).doesNotContain("Failed to introspect annotations on [class org.springframework.cloud.autoconfigure.RefreshEndpointAutoConfiguration")
.doesNotContain("TypeNotPresentExceptionProxy");
}
}
private static ConfigurableApplicationContext getApplicationContext(
Class<?> configuration, String... properties) {
return new SpringApplicationBuilder(configuration).web(WebApplicationType.NONE).properties(properties).run();
}
@Configuration
@EnableAutoConfiguration
static class Config {
}
}