From f79eda21c1d846c401a3aeffdc7a405cacb3dc36 Mon Sep 17 00:00:00 2001 From: Micheal Wilkinson Date: Fri, 20 Mar 2026 23:40:07 +0000 Subject: [PATCH] test: require repository URL override precedence --- .../vociferate/vociferate_internal_test.go | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/internal/vociferate/vociferate_internal_test.go b/internal/vociferate/vociferate_internal_test.go index c7df7de..27aa2f4 100644 --- a/internal/vociferate/vociferate_internal_test.go +++ b/internal/vociferate/vociferate_internal_test.go @@ -121,3 +121,26 @@ func TestDeriveRepositoryURLFromGitConfigFallback(t *testing.T) { t.Fatalf("unexpected repository URL: %q", url) } } + +func TestDeriveRepositoryURL_UsesOverrideAsHighestPriority(t *testing.T) { + t.Setenv("VOCIFERATE_REPOSITORY_URL", "https://git.hrafn.xyz/aether/vociferate") + t.Setenv("GITHUB_SERVER_URL", "http://teapot:3000") + t.Setenv("GITHUB_REPOSITORY", "aether/vociferate") + + root := t.TempDir() + configPath := filepath.Join(root, ".git", "config") + if err := os.MkdirAll(filepath.Dir(configPath), 0o755); err != nil { + t.Fatalf("mkdir .git: %v", err) + } + if err := os.WriteFile(configPath, []byte("[remote \"origin\"]\n\turl = git@different.host:org/other.git\n"), 0o644); err != nil { + t.Fatalf("write git config: %v", err) + } + + url, ok := deriveRepositoryURL(root) + if !ok { + t.Fatal("expected repository URL from override") + } + if url != "https://git.hrafn.xyz/aether/vociferate" { + t.Fatalf("unexpected repository URL: %q", url) + } +}