YamlPropertySourceLoaderTests Class — spring-boot Architecture
Architecture documentation for the YamlPropertySourceLoaderTests class in YamlPropertySourceLoaderTests.java from the spring-boot codebase.
Entity Profile
Source Code
core/spring-boot/src/test/java/org/springframework/boot/env/YamlPropertySourceLoaderTests.java lines 41–107
class YamlPropertySourceLoaderTests {
private final YamlPropertySourceLoader loader = new YamlPropertySourceLoader();
@Test
void load() throws Exception {
ByteArrayResource resource = new ByteArrayResource("foo:\n bar: spam".getBytes());
PropertySource<?> source = this.loader.load("resource", resource).get(0);
assertThat(source).isNotNull();
assertThat(source.getProperty("foo.bar")).isEqualTo("spam");
}
@Test
void orderedItems() throws Exception {
StringBuilder yaml = new StringBuilder();
List<String> expected = new ArrayList<>();
for (char c = 'a'; c <= 'z'; c++) {
yaml.append(c).append(": value").append(c).append("\n");
expected.add(String.valueOf(c));
}
ByteArrayResource resource = new ByteArrayResource(yaml.toString().getBytes());
EnumerablePropertySource<?> source = (EnumerablePropertySource<?>) this.loader.load("resource", resource)
.get(0);
assertThat(source).isNotNull();
assertThat(source.getPropertyNames()).isEqualTo(StringUtils.toStringArray(expected));
}
@Test
void mergeItems() throws Exception {
StringBuilder yaml = new StringBuilder();
yaml.append("foo:\n bar: spam\n");
yaml.append("---\n");
yaml.append("foo:\n baz: wham\n");
ByteArrayResource resource = new ByteArrayResource(yaml.toString().getBytes());
List<PropertySource<?>> loaded = this.loader.load("resource", resource);
assertThat(loaded).hasSize(2);
assertThat(loaded.get(0).getProperty("foo.bar")).isEqualTo("spam");
assertThat(loaded.get(1).getProperty("foo.baz")).isEqualTo("wham");
}
@Test
void timestampLikeItemsDoNotBecomeDates() throws Exception {
ByteArrayResource resource = new ByteArrayResource("foo: 2015-01-28".getBytes());
PropertySource<?> source = this.loader.load("resource", resource).get(0);
assertThat(source).isNotNull();
assertThat(source.getProperty("foo")).isEqualTo("2015-01-28");
}
@Test
@WithResource(name = "test-yaml.yml", content = """
a: b
---
c: d
e: f
""")
void loadOriginAware() throws Exception {
Resource resource = new ClassPathResource("test-yaml.yml");
List<PropertySource<?>> loaded = this.loader.load("resource", resource);
for (PropertySource<?> source : loaded) {
EnumerablePropertySource<?> enumerableSource = (EnumerablePropertySource<?>) source;
for (String name : enumerableSource.getPropertyNames()) {
System.out.println(name + " = " + enumerableSource.getProperty(name));
}
}
}
}
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free