test: added a test for grouping

This commit is contained in:
Theis
2024-03-06 12:47:26 +01:00
parent aa81eb0e73
commit 27a755ce81
2 changed files with 33 additions and 9 deletions
+6 -5
View File
@@ -17,20 +17,22 @@ type user struct {
// Map of all th users in the author file
var users = make(map[string]user)
// String builder for building the commit message
var sb strings.Builder
// Flag that can be toggled to include all users in a commit message (excluding defExclude)
var all_flag = false
// DefaultExclude -> A list that contains users marked with ex meaning
// they should not be included in all and negations
var defExclude = []string{}
// Group map for adding people as a group
var groups = make(map[string][]user)
func main() {
// Reads a shell env variable :: author_file
authors := os.Getenv("author_file")
@@ -53,7 +55,7 @@ func main() {
if strings.Contains(input_str, ";;") {
input := strings.Split(input_str, ";;")
input_str = input[0]
group_info = append(group_info, strings.Split(input[1],"|")...)
group_info = append(group_info, strings.Split(input[1], "|")...)
}
info := strings.Split(input_str, "|")
usr := user{username: info[2], email: info[3]}
@@ -128,14 +130,13 @@ func main() {
}
// Skip label for adding all
skip_loop:
skip_loop:
if len(excludeMode) > 0 || all_flag {
// adds all users not in the excludeMode list
add_x_users(excludeMode)
}
// commit msg built
commit := sb_build()
+23
View File
@@ -98,6 +98,29 @@ func Test_exclude_by_default(t *testing.T) {
}
}
func Test_commit_with_grouping(t *testing.T) {
for k := range groups {
delete(groups, k)
}
defExclude = []string{}
groups["test1"] = []user{users["test1"]}
excludeMode := group_selection(groups["test1"], []string{})
sb.Reset()
add_x_users(excludeMode)
commit := sb_build()
if commit != "\nCo-authored-by: test1 <test1>" {
t.Fatalf("String built incorrectly. Strings did not match: Created -> %s Expected -> Co-authored-by: test <test>",commit)
}
}