From 69c31ef03ade201a8e184d6550449ef5932d6e07 Mon Sep 17 00:00:00 2001 From: Slug-Boi Date: Fri, 30 May 2025 09:46:37 +0200 Subject: [PATCH] test: add commitappender tests --- src/cmd/utils/util_test.go | 80 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/src/cmd/utils/util_test.go b/src/cmd/utils/util_test.go index 3418f69..518156f 100644 --- a/src/cmd/utils/util_test.go +++ b/src/cmd/utils/util_test.go @@ -611,6 +611,86 @@ func Test_GitPush(t *testing.T) { } } +func Test_CommitAppender(t *testing.T) { + setup() + defer teardown() + utils.Define_users("author_file_test") + + // Test CommitAppender with a single author + authors := []string{"te"} + cmd := exec.Command("git", "log", "--format=%B", "-n1") + out, err := cmd.Output() + if err != nil { + t.Fatalf("Failed to get git log: %v", err) + } + + message := strings.TrimSpace(string(out)) + + commit := utils.Commit("", authors) + err, appendedMessage := utils.GitCommitAppender(commit, "", nil, true, true) + if err != nil { + t.Errorf("GitCommitAppender() returned error: %v", err) + } + + expectedMessage := message+"\n\n\nCo-authored-by: TestUser " + if appendedMessage != expectedMessage { + t.Errorf("CommitAppender() = %v;\nwant:\n%v", appendedMessage, expectedMessage) + } + + // check inverted commit + authors = []string{"^te"} + commit = utils.Commit("", authors) + err, appendedMessage = utils.GitCommitAppender(commit, "", nil, true, true) + if err != nil { + t.Errorf("GitCommitAppender() returned error: %v", err) + } + expectedMessage = message+"\n\n\nCo-authored-by: UserName2 " + + if appendedMessage != expectedMessage { + t.Errorf("CommitAppender() = %v;\nwant:\n%v", appendedMessage, expectedMessage) + } + + // Test CommitAppender with multiple authors + authors = []string{"te", "testtest"} + commit = utils.Commit("", authors) + err, appendedMessage = utils.GitCommitAppender(commit, "", nil, true, true) + if err != nil { + t.Errorf("GitCommitAppender() returned error: %v", err) + } + expectedMessage = message+"\n\n\nCo-authored-by: TestUser \nCo-authored-by: UserName2 " + + if appendedMessage != expectedMessage { + t.Errorf("CommitAppender() = %v;\nwant:\n%v", appendedMessage, expectedMessage) + } + // Test CommitAppender with all authors + authors = []string{"all"} + commit = utils.Commit("", authors) + err, appendedMessage = utils.GitCommitAppender(commit, "", nil, true, true) + if err != nil { + t.Errorf("GitCommitAppender() returned error: %v", err) + } + expectedMessage = message+"\n\n\nCo-authored-by: TestUser \nCo-authored-by: UserName2 " + expectedMessage2 := message+"\n\n\nCo-authored-by: UserName2 \nCo-authored-by: TestUser " + + if appendedMessage != expectedMessage && appendedMessage != expectedMessage2 { + t.Errorf("CommitAppender() = %v;\nwant:\n%v", appendedMessage, expectedMessage) + } + + // Test CommitAppender with group authors + authors = []string{"gr1"} + commit = utils.Commit("", authors) + err, appendedMessage = utils.GitCommitAppender(commit, "", nil, true, true) + if err != nil { + t.Errorf("GitCommitAppender() returned error: %v", err) + } + expectedMessage = message+"\n\n\nCo-authored-by: UserName2 " + + if appendedMessage != expectedMessage { + t.Errorf("CommitAppender() = %v;\nwant:\n%v", appendedMessage, expectedMessage) + } + +} + // Commit tests END // Github tests BEGIN