InvalidConfigurationPropertyNameFailureAnalyzerTests Class — spring-boot Architecture
Architecture documentation for the InvalidConfigurationPropertyNameFailureAnalyzerTests class in InvalidConfigurationPropertyNameFailureAnalyzerTests.java from the spring-boot codebase.
Entity Profile
Relationship Graph
Source Code
core/spring-boot/src/test/java/org/springframework/boot/diagnostics/analyzer/InvalidConfigurationPropertyNameFailureAnalyzerTests.java lines 37–92
class InvalidConfigurationPropertyNameFailureAnalyzerTests {
private final InvalidConfigurationPropertyNameFailureAnalyzer analyzer = new InvalidConfigurationPropertyNameFailureAnalyzer();
@Test
void analysisWhenRootCauseIsBeanCreationFailureShouldContainBeanName() {
BeanCreationException failure = createFailure(InvalidPrefixConfiguration.class);
assertThat(failure).isNotNull();
FailureAnalysis analysis = this.analyzer.analyze(failure);
assertThat(analysis).isNotNull();
assertThat(analysis.getDescription())
.contains(String.format("%n Invalid characters: %s%n Bean: %s%n Reason: %s", "'F', 'P'",
"invalidPrefixProperties", "Canonical names should be kebab-case ('-' separated), "
+ "lowercase alpha-numeric characters and must start with a letter"));
}
private @Nullable BeanCreationException createFailure(Class<?> configuration) {
try {
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
context.register(configuration);
context.refresh();
context.close();
return null;
}
catch (BeanCreationException ex) {
return ex;
}
}
@Configuration(proxyBeanMethods = false)
@EnableConfigurationProperties(InvalidPrefixProperties.class)
static class InvalidPrefixConfiguration {
@Bean(name = "invalidPrefixProperties")
InvalidPrefixProperties invalidPrefixProperties() {
return new InvalidPrefixProperties();
}
}
@ConfigurationProperties("FooPrefix")
static class InvalidPrefixProperties {
private @Nullable String value;
@Nullable String getValue() {
return this.value;
}
void setValue(@Nullable String value) {
this.value = value;
}
}
}
Domain
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free