added a few tests to the new functionality

This commit is contained in:
Theis
2024-03-04 22:18:11 +01:00
parent 6ac34ad63d
commit 872cd7b5c0
2 changed files with 43 additions and 8 deletions
+13 -8
View File
@@ -17,10 +17,10 @@ type user struct {
var users = make(map[string]user)
var sb strings.Builder
var all_flag = false
func main() {
all_flag := false
// Reads a shell env variable :: author_file
authors := os.Getenv("author_file")
@@ -88,19 +88,15 @@ func main() {
skip_loop:
if len(excludeMode) > 0 || all_flag {
for key, user := range users {
if !slices.Contains(excludeMode, user.username) {
sb_author(key)
excludeMode = append(excludeMode, user.username)
}
}
add_x_users(excludeMode)
}
// commit msg built
commit := sb_build()
print(commit)
//NOTE: Uncomment for testing
//print(commit)
// commit shell command
cmd := exec.Command("git", "commit", "-m", commit)
@@ -117,6 +113,15 @@ func main() {
}
func add_x_users(excludeMode []string) {
for key, user := range users {
if !slices.Contains(excludeMode, user.username) {
sb_author(key)
excludeMode = append(excludeMode, user.username)
}
}
}
func sb_build() string {
return sb.String()
}
+30
View File
@@ -37,6 +37,36 @@ func Test_usersInput(t *testing.T) {
}
t.Fatalf("process ran with err %v, want exit status 1", err)
}
//TODO: Turn this into a fuzz test
func Test_commit_message(t *testing.T) {
//authors := make(map[string]user)
users["test"] = user{username: "test", email: "test"}
sb_author("test")
commit := sb_build()
if commit != "\nCo-authored-by: test <test>" {
t.Fatalf("String built incorrectly. Strings did not match: Created -> %s Expected -> Co-authored-by: test <test>",commit)
}
}
//TODO: Turn this into a fuzz test
func Test_add_all(t *testing.T) {
for k := range users {
delete(users, k)
}
users["test1"] = user{username: "test1", email: "test1"}
users["test2"] = user{username: "test2", email: "test2"}
users["test3"] = user{username: "test3", email: "test3"}
all_flag = true
add_x_users([]string{})
commit := sb_build()
if commit != "\nCo-authored-by: test <test>\nCo-authored-by: test1 <test1>\nCo-authored-by: test2 <test2>\nCo-authored-by: test3 <test3>" {
t.Fatalf("String built incorrectly. Strings did not match: Created -> %s Expected -> Co-authored-by: test <test>",commit)
}
}