From 790acc1b9429766f30ca35f56b252f0d9c7fe6a5 Mon Sep 17 00:00:00 2001 From: Brian Seeders Date: Mon, 2 Jun 2025 14:35:43 -0400 Subject: [PATCH] [release-notes] Fix tests and make it easy to regenerate output after changes --- .../release/ReleaseNotesGeneratorTest.java | 19 +++++++++++++++++-- .../ReleaseNotesGeneratorTest.index.md | 4 ++-- ...eNotesGeneratorTest.index.no-highlights.md | 2 +- muted-tests.yml | 6 ------ 4 files changed, 20 insertions(+), 11 deletions(-) diff --git a/build-tools-internal/src/test/java/org/elasticsearch/gradle/internal/release/ReleaseNotesGeneratorTest.java b/build-tools-internal/src/test/java/org/elasticsearch/gradle/internal/release/ReleaseNotesGeneratorTest.java index 248f59ad0fe18..feb1ac1687116 100644 --- a/build-tools-internal/src/test/java/org/elasticsearch/gradle/internal/release/ReleaseNotesGeneratorTest.java +++ b/build-tools-internal/src/test/java/org/elasticsearch/gradle/internal/release/ReleaseNotesGeneratorTest.java @@ -20,10 +20,14 @@ import static org.elasticsearch.gradle.internal.release.GenerateReleaseNotesTask.getSortedBundlesWithUniqueChangelogs; import static org.hamcrest.Matchers.equalTo; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertThat; public class ReleaseNotesGeneratorTest { + // Temporarily set this to `true` to regenerate test output files when they need to be updated + private final boolean UPDATE_EXPECTED_OUTPUT = false; + private static final List CHANGE_TYPES = List.of( "breaking", "breaking-java", @@ -78,8 +82,9 @@ public void testTemplate(String templateFilename, String outputFilename) throws public void testTemplate(String templateFilename, String outputFilename, List bundles) throws Exception { // given: + final String outputFile = "/org/elasticsearch/gradle/internal/release/ReleaseNotesGeneratorTest." + outputFilename; final String template = getResource("/templates/" + templateFilename); - final String expectedOutput = getResource("/org/elasticsearch/gradle/internal/release/ReleaseNotesGeneratorTest." + outputFilename); + final String expectedOutput = getResource(outputFile); if (bundles == null) { bundles = getBundles(); @@ -91,7 +96,12 @@ public void testTemplate(String templateFilename, String outputFilename, List getBundles() { @@ -176,4 +186,9 @@ private ChangelogEntry makeHighlightsEntry(int pr, boolean notable) { private String getResource(String name) throws Exception { return Files.readString(Paths.get(Objects.requireNonNull(this.getClass().getResource(name)).toURI()), StandardCharsets.UTF_8); } + + private void writeResource(String name, String contents) throws Exception { + String path = "src/test/resources" + name; + Files.writeString(Paths.get(path), contents); + } } diff --git a/build-tools-internal/src/test/resources/org/elasticsearch/gradle/internal/release/ReleaseNotesGeneratorTest.index.md b/build-tools-internal/src/test/resources/org/elasticsearch/gradle/internal/release/ReleaseNotesGeneratorTest.index.md index 52c20341e1b5c..a11558bf47735 100644 --- a/build-tools-internal/src/test/resources/org/elasticsearch/gradle/internal/release/ReleaseNotesGeneratorTest.index.md +++ b/build-tools-internal/src/test/resources/org/elasticsearch/gradle/internal/release/ReleaseNotesGeneratorTest.index.md @@ -20,10 +20,10 @@ To check for security updates, go to [Security announcements for the Elastic sta % ### Fixes [elasticsearch-next-fixes] % * +## 9.1.0 [elasticsearch-9.1.0-release-notes] ```{applies_to} stack: coming 9.1.0 ``` -## 9.1.0 [elasticsearch-9.1.0-release-notes] ### Highlights [elasticsearch-9.1.0-highlights] @@ -47,10 +47,10 @@ Search: * [#52](https://github.com/elastic/elasticsearch/pull/52) +## 9.0.10 [elasticsearch-9.0.10-release-notes] ```{applies_to} stack: coming 9.0.10 ``` -## 9.0.10 [elasticsearch-9.0.10-release-notes] ### Features and enhancements [elasticsearch-9.0.10-features-enhancements] diff --git a/build-tools-internal/src/test/resources/org/elasticsearch/gradle/internal/release/ReleaseNotesGeneratorTest.index.no-highlights.md b/build-tools-internal/src/test/resources/org/elasticsearch/gradle/internal/release/ReleaseNotesGeneratorTest.index.no-highlights.md index ee81015b54f67..95a08a7cb155d 100644 --- a/build-tools-internal/src/test/resources/org/elasticsearch/gradle/internal/release/ReleaseNotesGeneratorTest.index.no-highlights.md +++ b/build-tools-internal/src/test/resources/org/elasticsearch/gradle/internal/release/ReleaseNotesGeneratorTest.index.no-highlights.md @@ -20,10 +20,10 @@ To check for security updates, go to [Security announcements for the Elastic sta % ### Fixes [elasticsearch-next-fixes] % * +## 9.0.10 [elasticsearch-9.0.10-release-notes] ```{applies_to} stack: coming 9.0.10 ``` -## 9.0.10 [elasticsearch-9.0.10-release-notes] ### Features and enhancements [elasticsearch-9.0.10-features-enhancements] diff --git a/muted-tests.yml b/muted-tests.yml index 571efc65144d1..32b7cf99e2067 100644 --- a/muted-tests.yml +++ b/muted-tests.yml @@ -534,12 +534,6 @@ tests: - class: org.elasticsearch.packaging.test.DockerTests method: test040JavaUsesTheOsProvidedKeystore issue: https://github.com/elastic/elasticsearch/issues/128230 -- class: org.elasticsearch.gradle.internal.release.ReleaseNotesGeneratorTest - method: generateFile_index_rendersCorrectMarkup - issue: https://github.com/elastic/elasticsearch/issues/128772 -- class: org.elasticsearch.gradle.internal.release.ReleaseNotesGeneratorTest - method: generateFile_index_noHighlights_rendersCorrectMarkup - issue: https://github.com/elastic/elasticsearch/issues/128773 - class: org.elasticsearch.xpack.rank.rrf.LinearRankClientYamlTestSuiteIT method: test {yaml=linear/10_linear_retriever/should normalize initial scores with l2_norm} issue: https://github.com/elastic/elasticsearch/issues/128774