Explorar o código

spliting up email and author

zach rice %!s(int64=6) %!d(string=hai) anos
pai
achega
56c89866a2
Modificáronse 3 ficheiros con 18 adicións e 8 borrados
  1. 9 4
      src/gitleaks_test.go
  2. 5 2
      src/repo.go
  3. 4 2
      src/utils.go

+ 9 - 4
src/gitleaks_test.go

@@ -520,6 +520,14 @@ func TestAuditRepo(t *testing.T) {
 			numLeaks:    2,
 			testOpts:    &Options{},
 		},
+		{
+			repo:        leaksRepo,
+			description: "no leaks present on branch",
+			numLeaks:    0,
+			testOpts: &Options{
+				Branch: "dev",
+			},
+		},
 		{
 			repo:        leaksRepo,
 			description: "two leaks present limit goroutines",
@@ -561,10 +569,7 @@ func TestAuditRepo(t *testing.T) {
 			description: "two leaks present whitelist bad commit",
 			configPath:  path.Join(configsDir, "commit"),
 			testOpts:    &Options{},
-			// whiteListCommits: map[string]bool{
-			// 	"eaeffdc65b4c73ccb67e75d96bd8743be2c85973": true,
-			// },
-			numLeaks: 1,
+			numLeaks:    1,
 		},
 		{
 			repo:        leaksRepo,

+ 5 - 2
src/repo.go

@@ -26,6 +26,7 @@ type Leak struct {
 	Type     string    `json:"reason"`
 	Message  string    `json:"commitMsg"`
 	Author   string    `json:"author"`
+	Email    string    `json:"email"`
 	File     string    `json:"file"`
 	Repo     string    `json:"repo"`
 	Date     time.Time `json:"date"`
@@ -250,7 +251,8 @@ func (repoInfo *RepoInfo) audit() ([]Leak, error) {
 								filePath: filePath,
 								content:  chunk.Content(),
 								sha:      c.Hash.String(),
-								author:   c.Author.String(),
+								author:   c.Author.Name,
+								email:    c.Author.Email,
 								message:  strings.Replace(c.Message, "\n", " ", -1),
 								date:     c.Author.When,
 							}
@@ -301,7 +303,8 @@ func (repoInfo *RepoInfo) auditSingleCommit(c *object.Commit) []Leak {
 			filePath: f.Name,
 			content:  content,
 			sha:      c.Hash.String(),
-			author:   c.Author.String(),
+			author:   c.Author.Name,
+			email:    c.Author.Email,
 			message:  strings.Replace(c.Message, "\n", " ", -1),
 			date:     c.Author.When,
 		}

+ 4 - 2
src/utils.go

@@ -22,6 +22,7 @@ type commitInfo struct {
 	sha      string
 	message  string
 	author   string
+	email    string
 	date     time.Time
 }
 
@@ -40,9 +41,9 @@ func writeReport(leaks []Leak) error {
 		}
 		defer f.Close()
 		w := csv.NewWriter(f)
-		w.Write([]string{"repo", "line", "commit", "offender", "reason", "commitMsg", "author", "file", "date"})
+		w.Write([]string{"repo", "line", "commit", "offender", "reason", "commitMsg", "author", "email", "file", "date"})
 		for _, leak := range leaks {
-			w.Write([]string{leak.Repo, leak.Line, leak.Commit, leak.Offender, leak.Type, leak.Message, leak.Author, leak.File, leak.Date.Format(time.RFC3339)})
+			w.Write([]string{leak.Repo, leak.Line, leak.Commit, leak.Offender, leak.Type, leak.Message, leak.Author, leak.Email, leak.File, leak.Date.Format(time.RFC3339)})
 		}
 		w.Flush()
 	} else {
@@ -145,6 +146,7 @@ func addLeak(leaks []Leak, line string, offender string, leakType string, commit
 		Offender: offender,
 		Type:     leakType,
 		Author:   commit.author,
+		Email:    commit.email,
 		File:     commit.filePath,
 		Repo:     commit.repoName,
 		Message:  commit.message,