Changelog Automation
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
package changelog
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestSanitizeSubject(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
subject string
|
||||
want string
|
||||
}{
|
||||
{
|
||||
name: "merge prefix with quotes",
|
||||
subject: "Merge pull request 'Add classes overhaul (#123)'",
|
||||
want: "Add classes overhaul",
|
||||
},
|
||||
{
|
||||
name: "plain subject",
|
||||
subject: "Add classes overhaul (#123)",
|
||||
want: "Add classes overhaul",
|
||||
},
|
||||
{
|
||||
name: "double quotes",
|
||||
subject: `Merge pull request "Add classes overhaul (#123)"`,
|
||||
want: "Add classes overhaul",
|
||||
},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
tt := tt
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
t.Parallel()
|
||||
if got := sanitizeSubject(tt.subject); got != tt.want {
|
||||
t.Fatalf("sanitizeSubject(%q) = %q, want %q", tt.subject, got, tt.want)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestOwnerAndRepoFromURL(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
owner, repo, err := ownerAndRepoFromURL("https://gitea.example.test/org/repo.git")
|
||||
if err != nil {
|
||||
t.Fatalf("ownerAndRepoFromURL returned error: %v", err)
|
||||
}
|
||||
if owner != "org" || repo != "repo" {
|
||||
t.Fatalf("ownerAndRepoFromURL returned %q/%q", owner, repo)
|
||||
}
|
||||
}
|
||||
|
||||
func TestDeriveAPIBaseURL(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
got := deriveAPIBaseURL("https://gitea.example.test/org/repo")
|
||||
want := "https://gitea.example.test/api/v1"
|
||||
if got != want {
|
||||
t.Fatalf("deriveAPIBaseURL() = %q, want %q", got, want)
|
||||
}
|
||||
}
|
||||
|
||||
func TestNormalizeAPIBaseURL(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
tests := []struct {
|
||||
input string
|
||||
want string
|
||||
}{
|
||||
{input: "https://gitea.example.test", want: "https://gitea.example.test/api/v1"},
|
||||
{input: "https://gitea.example.test/api/v1", want: "https://gitea.example.test/api/v1"},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
if got := normalizeAPIBaseURL(tt.input); got != tt.want {
|
||||
t.Fatalf("normalizeAPIBaseURL(%q) = %q, want %q", tt.input, got, tt.want)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user