From 62f637614d6de12927e85d3cf7c3ea22d7648c71 Mon Sep 17 00:00:00 2001 From: Micheal Wilkinson Date: Sat, 21 Mar 2026 00:26:43 +0000 Subject: [PATCH] test: require CHANGELOG.md defaults --- cmd/vociferate/main_test.go | 4 +-- .../vociferate/vociferate_internal_test.go | 13 ++++++++++ internal/vociferate/vociferate_test.go | 26 +++++++++---------- 3 files changed, 28 insertions(+), 15 deletions(-) diff --git a/cmd/vociferate/main_test.go b/cmd/vociferate/main_test.go index 0139349..64b5338 100644 --- a/cmd/vociferate/main_test.go +++ b/cmd/vociferate/main_test.go @@ -12,7 +12,7 @@ import ( func TestMainRecommendPrintsTag(t *testing.T) { root := t.TempDir() writeFile(t, filepath.Join(root, "release-version"), "1.1.6\n") - writeFile(t, filepath.Join(root, "changelog.md"), "# Changelog\n\n## [Unreleased]\n\n### Added\n\n- Feature.\n\n## [1.1.6] - 2017-12-20\n") + writeFile(t, filepath.Join(root, "CHANGELOG.md"), "# Changelog\n\n## [Unreleased]\n\n### Added\n\n- Feature.\n\n## [1.1.6] - 2017-12-20\n") stdout, stderr, code := runMain(t, "--recommend", "--root", root) if code != 0 { @@ -37,7 +37,7 @@ func TestMainPrepareUpdatesFiles(t *testing.T) { root := t.TempDir() writeFile(t, filepath.Join(root, ".git", "config"), "[remote \"origin\"]\n\turl = git@git.hrafn.xyz:aether/vociferate.git\n") writeFile(t, filepath.Join(root, "release-version"), "1.1.6\n") - writeFile(t, filepath.Join(root, "changelog.md"), "# Changelog\n\n## [Unreleased]\n\n### Fixed\n\n- Patch note.\n\n## [1.1.6] - 2017-12-20\n") + writeFile(t, filepath.Join(root, "CHANGELOG.md"), "# Changelog\n\n## [Unreleased]\n\n### Fixed\n\n- Patch note.\n\n## [1.1.6] - 2017-12-20\n") _, stderr, code := runMain(t, "--version", "v1.1.7", "--date", "2026-03-20", "--root", root) if code != 0 { diff --git a/internal/vociferate/vociferate_internal_test.go b/internal/vociferate/vociferate_internal_test.go index 2b8b0d8..42467ab 100644 --- a/internal/vociferate/vociferate_internal_test.go +++ b/internal/vociferate/vociferate_internal_test.go @@ -146,3 +146,16 @@ func TestDeriveRepositoryURL_UsesOverrideAsHighestPriority(t *testing.T) { t.Fatalf("unexpected repository URL: %q", url) } } + +func TestResolveOptions_UsesUppercaseChangelogDefault(t *testing.T) { + t.Parallel() + + resolved, err := resolveOptions(Options{}) + if err != nil { + t.Fatalf("resolveOptions returned unexpected error: %v", err) + } + + if resolved.Changelog != "CHANGELOG.md" { + t.Fatalf("resolved changelog = %q, want %q", resolved.Changelog, "CHANGELOG.md") + } +} diff --git a/internal/vociferate/vociferate_test.go b/internal/vociferate/vociferate_test.go index a13ac59..cd470c9 100644 --- a/internal/vociferate/vociferate_test.go +++ b/internal/vociferate/vociferate_test.go @@ -41,7 +41,7 @@ func (s *PrepareSuite) SetupTest() { )) require.NoError(s.T(), os.WriteFile( - filepath.Join(s.rootDir, "changelog.md"), + filepath.Join(s.rootDir, "CHANGELOG.md"), []byte("# Changelog\n\n## [Unreleased]\n\n### Breaking\n\n### Added\n\n- New thing.\n\n### Fixed\n\n- Old thing.\n\n## [1.1.6] - 2017-12-20\n\n### Fixed\n\n- Historical note.\n"), 0o644, )) @@ -72,7 +72,7 @@ func (s *PrepareSuite) TestPrepare_UpdatesVersionAndPromotesUnreleasedNotes() { require.NoError(s.T(), err) require.Equal(s.T(), "1.1.7\n", string(versionBytes)) - changelogBytes, err := os.ReadFile(filepath.Join(s.rootDir, "changelog.md")) + changelogBytes, err := os.ReadFile(filepath.Join(s.rootDir, "CHANGELOG.md")) require.NoError(s.T(), err) firstCommit := firstCommitShortHash(s.T(), s.rootDir) require.Equal(s.T(), "# Changelog\n\n## [Unreleased]\n\n### Breaking\n\n### Added\n\n### Changed\n\n### Removed\n\n### Fixed\n\n## [1.1.7] - 2026-03-20\n\n### Breaking\n\n### Added\n\n- New thing.\n\n### Fixed\n\n- Old thing.\n\n## [1.1.6] - 2017-12-20\n\n### Fixed\n\n- Historical note.\n\n[Unreleased]: //git.hrafn.xyz/aether/vociferate/compare/v1.1.7...main\n[1.1.7]: //git.hrafn.xyz/aether/vociferate/compare/v1.1.6...v1.1.7\n[1.1.6]: //git.hrafn.xyz/aether/vociferate/compare/"+firstCommit+"...v1.1.6\n", string(changelogBytes)) @@ -80,7 +80,7 @@ func (s *PrepareSuite) TestPrepare_UpdatesVersionAndPromotesUnreleasedNotes() { func (s *PrepareSuite) TestPrepare_ReturnsErrorWhenUnreleasedSectionMissing() { require.NoError(s.T(), os.WriteFile( - filepath.Join(s.rootDir, "changelog.md"), + filepath.Join(s.rootDir, "CHANGELOG.md"), []byte("# Changelog\n\n## [1.1.6] - 2017-12-20\n"), 0o644, )) @@ -92,7 +92,7 @@ func (s *PrepareSuite) TestPrepare_ReturnsErrorWhenUnreleasedSectionMissing() { func (s *PrepareSuite) TestPrepare_ReturnsErrorWhenUnreleasedSectionIsEmpty() { require.NoError(s.T(), os.WriteFile( - filepath.Join(s.rootDir, "changelog.md"), + filepath.Join(s.rootDir, "CHANGELOG.md"), []byte("# Changelog\n\n## [Unreleased]\n\n## [1.1.6] - 2017-12-20\n"), 0o644, )) @@ -111,7 +111,7 @@ func (s *PrepareSuite) TestRecommendedTag_UsesMinorBumpWhenBreakingHeadingIsEmpt func (s *PrepareSuite) TestRecommendedTag_ReturnsErrorWhenUnreleasedHasOnlyTemplateHeadings() { require.NoError(s.T(), os.WriteFile( - filepath.Join(s.rootDir, "changelog.md"), + filepath.Join(s.rootDir, "CHANGELOG.md"), []byte("# Changelog\n\n## [Unreleased]\n\n### Breaking\n\n### Added\n\n### Changed\n\n### Removed\n\n### Fixed\n\n## [1.1.6] - 2017-12-20\n"), 0o644, )) @@ -123,7 +123,7 @@ func (s *PrepareSuite) TestRecommendedTag_ReturnsErrorWhenUnreleasedHasOnlyTempl func (s *PrepareSuite) TestRecommendedTag_UsesPatchBumpForFixOnlyChanges() { require.NoError(s.T(), os.WriteFile( - filepath.Join(s.rootDir, "changelog.md"), + filepath.Join(s.rootDir, "CHANGELOG.md"), []byte("# Changelog\n\n## [Unreleased]\n\n### Fixed\n\n- Patch note.\n\n## [1.1.6] - 2017-12-20\n"), 0o644, )) @@ -136,7 +136,7 @@ func (s *PrepareSuite) TestRecommendedTag_UsesPatchBumpForFixOnlyChanges() { func (s *PrepareSuite) TestRecommendedTag_UsesMajorBumpWhenRemovedEntriesExist() { require.NoError(s.T(), os.WriteFile( - filepath.Join(s.rootDir, "changelog.md"), + filepath.Join(s.rootDir, "CHANGELOG.md"), []byte("# Changelog\n\n## [Unreleased]\n\n### Removed\n\n- Breaking removal.\n\n## [1.1.6] - 2017-12-20\n"), 0o644, )) @@ -149,7 +149,7 @@ func (s *PrepareSuite) TestRecommendedTag_UsesMajorBumpWhenRemovedEntriesExist() func (s *PrepareSuite) TestRecommendedTag_UsesMajorBumpWhenBreakingEntriesExist() { require.NoError(s.T(), os.WriteFile( - filepath.Join(s.rootDir, "changelog.md"), + filepath.Join(s.rootDir, "CHANGELOG.md"), []byte("# Changelog\n\n## [Unreleased]\n\n### Breaking\n\n- Changed API contract.\n\n### Changed\n\n- Updated defaults.\n\n## [1.1.6] - 2017-12-20\n"), 0o644, )) @@ -206,7 +206,7 @@ func (s *PrepareSuite) TestRecommendedTag_UsesChangelogVersionWhenNoVersionFileC 0o644, )) require.NoError(s.T(), os.WriteFile( - filepath.Join(s.rootDir, "changelog.md"), + filepath.Join(s.rootDir, "CHANGELOG.md"), []byte("# Changelog\n\n## [Unreleased]\n\n### Fixed\n\n- A fix.\n\n## [3.0.0] - 2026-01-01\n\n### Fixed\n\n- Historical.\n"), 0o644, )) @@ -220,7 +220,7 @@ func (s *PrepareSuite) TestRecommendedTag_UsesChangelogVersionWhenNoVersionFileC func (s *PrepareSuite) TestRecommendedTag_DefaultsToV1WhenNoPriorReleasesInChangelog() { require.NoError(s.T(), os.Remove(filepath.Join(s.rootDir, "release-version"))) require.NoError(s.T(), os.WriteFile( - filepath.Join(s.rootDir, "changelog.md"), + filepath.Join(s.rootDir, "CHANGELOG.md"), []byte("# Changelog\n\n## [Unreleased]\n\n### Breaking\n\n### Added\n\n- First feature.\n"), 0o644, )) @@ -252,7 +252,7 @@ func (s *PrepareSuite) TestRecommendedTag_UsesCustomVersionFileAndPattern() { 0o644, )) require.NoError(s.T(), os.WriteFile( - filepath.Join(s.rootDir, "changelog.md"), + filepath.Join(s.rootDir, "CHANGELOG.md"), []byte("# Changelog\n\n## [Unreleased]\n\n### Added\n\n- Feature.\n\n## [2.3.4] - 2026-03-10\n"), 0o644, )) @@ -273,7 +273,7 @@ func (s *PrepareSuite) TestPrepare_UsesGitHrafnXYZEnvironmentForChangelogLinks() err := vociferate.Prepare(s.rootDir, "1.1.7", "2026-03-20", vociferate.Options{}) require.NoError(s.T(), err) - changelogBytes, readErr := os.ReadFile(filepath.Join(s.rootDir, "changelog.md")) + changelogBytes, readErr := os.ReadFile(filepath.Join(s.rootDir, "CHANGELOG.md")) require.NoError(s.T(), readErr) changelog := string(changelogBytes) firstCommit := firstCommitShortHash(s.T(), s.rootDir) @@ -295,7 +295,7 @@ func (s *PrepareSuite) TestPrepare_UsesGitHubEnvironmentForChangelogLinks() { err := vociferate.Prepare(s.rootDir, "1.1.7", "2026-03-20", vociferate.Options{}) require.NoError(s.T(), err) - changelogBytes, readErr := os.ReadFile(filepath.Join(s.rootDir, "changelog.md")) + changelogBytes, readErr := os.ReadFile(filepath.Join(s.rootDir, "CHANGELOG.md")) require.NoError(s.T(), readErr) changelog := string(changelogBytes) firstCommit := firstCommitShortHash(s.T(), s.rootDir)