ElasticCommonSchemaPropertiesTests Class — spring-boot Architecture
Architecture documentation for the ElasticCommonSchemaPropertiesTests class in ElasticCommonSchemaPropertiesTests.java from the spring-boot codebase.
Entity Profile
Relationship Graph
Source Code
core/spring-boot/src/test/java/org/springframework/boot/logging/structured/ElasticCommonSchemaPropertiesTests.java lines 38–113
class ElasticCommonSchemaPropertiesTests {
@Test
void getBindsFromEnvironment() {
MockEnvironment environment = new MockEnvironment();
environment.setProperty("logging.structured.ecs.service.name", "spring");
environment.setProperty("logging.structured.ecs.service.version", "1.2.3");
environment.setProperty("logging.structured.ecs.service.environment", "prod");
environment.setProperty("logging.structured.ecs.service.node-name", "boot");
ElasticCommonSchemaProperties properties = ElasticCommonSchemaProperties.get(environment);
assertThat(properties)
.isEqualTo(new ElasticCommonSchemaProperties(new Service("spring", "1.2.3", "prod", "boot")));
}
@Test
void getWhenNoServiceNameUsesApplicationName() {
MockEnvironment environment = new MockEnvironment();
environment.setProperty("spring.application.name", "spring");
ElasticCommonSchemaProperties properties = ElasticCommonSchemaProperties.get(environment);
assertThat(properties).isEqualTo(new ElasticCommonSchemaProperties(new Service("spring", null, null, null)));
}
@Test
void getWhenNoServiceVersionUsesApplicationVersion() {
MockEnvironment environment = new MockEnvironment();
environment.setProperty("spring.application.version", "1.2.3");
ElasticCommonSchemaProperties properties = ElasticCommonSchemaProperties.get(environment);
assertThat(properties).isEqualTo(new ElasticCommonSchemaProperties(new Service(null, "1.2.3", null, null)));
}
@Test
void getWhenNoPropertiesToBind() {
MockEnvironment environment = new MockEnvironment();
ElasticCommonSchemaProperties properties = ElasticCommonSchemaProperties.get(environment);
assertThat(properties).isEqualTo(new ElasticCommonSchemaProperties(new Service(null, null, null, null)));
}
@Test
void addToJsonMembersCreatesValidJson() {
ElasticCommonSchemaProperties properties = new ElasticCommonSchemaProperties(
new Service("spring", "1.2.3", "prod", "boot"));
JsonWriter<ElasticCommonSchemaProperties> writer = JsonWriter.of(properties::jsonMembers);
assertThat(writer.writeToString(properties)).isEqualToNormalizingNewlines("""
{
"service": {
"name": "spring",
"version": "1.2.3",
"environment": "prod",
"node": {
"name": "boot"
}
}
}""".replaceAll("\\s+", ""));
}
@Test
void shouldRegisterRuntimeHints() throws Exception {
RuntimeHints hints = new RuntimeHints();
new ElasticCommonSchemaPropertiesRuntimeHints().registerHints(hints, getClass().getClassLoader());
assertThat(RuntimeHintsPredicates.reflection().onType(ElasticCommonSchemaProperties.class)).accepts(hints);
assertThat(RuntimeHintsPredicates.reflection()
.onConstructorInvocation(ElasticCommonSchemaProperties.class.getConstructor(Service.class))).accepts(hints);
assertThat(RuntimeHintsPredicates.reflection().onType(Service.class)).accepts(hints);
assertThat(RuntimeHintsPredicates.reflection()
.onConstructorInvocation(
Service.class.getConstructor(String.class, String.class, String.class, String.class)))
.accepts(hints);
}
@Test
void elasticCommonSchemaPropertiesRuntimeHintsIsRegistered() {
assertThat(AotServices.factories().load(RuntimeHintsRegistrar.class))
.anyMatch(ElasticCommonSchemaPropertiesRuntimeHints.class::isInstance);
}
}
Domain
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free