ChangelogTests Class — spring-boot Architecture
Architecture documentation for the ChangelogTests class in ChangelogTests.java from the spring-boot codebase.
Entity Profile
Relationship Graph
Source Code
configuration-metadata/spring-boot-configuration-metadata-changelog-generator/src/test/java/org/springframework/boot/configurationmetadata/changelog/ChangelogTests.java lines 34–85
class ChangelogTests {
@Test
void diffContainsDifferencesBetweenLeftAndRightInputs() {
Changelog differences = TestChangelog.load();
assertThat(differences).isNotNull();
assertThat(differences.oldVersionNumber()).isEqualTo("1.0");
assertThat(differences.newVersionNumber()).isEqualTo("2.0");
assertThat(differences.differences()).hasSize(9);
List<Difference> added = differences.differences()
.stream()
.filter((difference) -> difference.type() == DifferenceType.ADDED)
.toList();
assertThat(added).hasSize(2)
.anySatisfy((entry) -> assertProperty(entry.newProperty(), "test.add", String.class, "new"))
.anySatisfy((entry) -> assertProperty(entry.newProperty(), "test.add.deprecated", String.class, "test2"));
List<Difference> deleted = differences.differences()
.stream()
.filter((difference) -> difference.type() == DifferenceType.DELETED)
.toList();
assertThat(deleted).hasSize(4)
.anySatisfy((entry) -> assertProperty(entry.oldProperty(), "test.replace", String.class, "replace"))
.anySatisfy((entry) -> assertProperty(entry.oldProperty(), "test.delete", String.class, "delete"))
.anySatisfy(
(entry) -> assertProperty(entry.newProperty(), "test.delete.deprecated", String.class, "delete"))
.anySatisfy((entry) -> assertProperty(entry.newProperty(), "test.removed.directly", String.class,
"directlyRemoved"));
List<Difference> deprecated = differences.differences()
.stream()
.filter((difference) -> difference.type() == DifferenceType.DEPRECATED)
.toList();
assertThat(deprecated).hasSize(1);
assertProperty(deprecated.get(0).oldProperty(), "test.deprecate", String.class, "wrong");
assertProperty(deprecated.get(0).newProperty(), "test.deprecate", String.class, "wrong");
List<Difference> defaultChanged = differences.differences()
.stream()
.filter((difference) -> difference.type() == DifferenceType.DEFAULT_CHANGED)
.toList();
assertThat(defaultChanged).hasSize(2)
.anySatisfy((entry) -> assertProperty(entry.newProperty(), "test.default.array.change", String[].class,
new String[] { "b", "a" }))
.anySatisfy((entry) -> assertProperty(entry.newProperty(), "test.default.change", String.class, "new"));
}
private void assertProperty(ConfigurationMetadataProperty property, String id, Class<?> type, Object defaultValue) {
assertThat(property).isNotNull();
assertThat(property.getId()).isEqualTo(id);
assertThat(property.getType()).isEqualTo(type.getCanonicalName());
assertThat(property.getDefaultValue()).isEqualTo(defaultValue);
}
}
Domain
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free