Просмотр исходного кода

Merge pull request #148 from zricethezav/gitlab-support

bumping version, format, changelog, uhhhhhh, test... a single test
Zachary Rice 7 лет назад
Родитель
Сommit
bd61f2d2f7
4 измененных файлов с 22 добавлено и 11 удалено
  1. 4 0
      CHANGELOG.md
  2. 9 10
      gitlab.go
  3. 8 0
      gitleaks_test.go
  4. 1 1
      main.go

+ 4 - 0
CHANGELOG.md

@@ -1,6 +1,10 @@
 CHANGELOG
 =========
 
+1.20.0
+----
+- adding gitlab user and group support
+
 1.19.3
 ----
 - memoizing root commit

+ 9 - 10
gitlab.go

@@ -19,12 +19,13 @@ const gitlabPages = 100
 // that error is logged.
 func auditGitlabRepos() ([]Leak, error) {
 	var (
-		ps   []*gitlab.Project
-		resp *gitlab.Response
-		err  error
+		ps      []*gitlab.Project
+		resp    *gitlab.Response
+		leaks   []Leak
+		tempDir string
+		err     error
 	)
 
-	leaks := make([]Leak, 0)
 	repos := make([]*gitlab.Project, 0, gitlabPages)
 	page := 1
 	cl := gitlab.NewClient(nil, os.Getenv("GITLAB_TOKEN"))
@@ -70,15 +71,12 @@ func auditGitlabRepos() ([]Leak, error) {
 
 	log.Debugf("found projects: %d", len(repos))
 
-	var tempDir string
-
 	if opts.Disk {
 		if tempDir, err = createGitlabTempDir(); err != nil {
 			log.Fatal("error creating temp directory: ", err)
 		}
 	}
 
-	// TODO: use goroutines?
 	for _, p := range repos {
 		repo, err := cloneGitlabRepo(tempDir, p)
 		if err != nil {
@@ -124,6 +122,10 @@ func createGitlabTempDir() (string, error) {
 }
 
 func cloneGitlabRepo(tempDir string, p *gitlab.Project) (*RepoDescriptor, error) {
+	var (
+		repo *git.Repository
+		err  error
+	)
 	if opts.ExcludeForks && p.ForkedFromProject != nil {
 		return nil, fmt.Errorf("skipping %s, excluding forks", p.Name)
 	}
@@ -145,9 +147,6 @@ func cloneGitlabRepo(tempDir string, p *gitlab.Project) (*RepoDescriptor, error)
 
 	log.Infof("cloning: %s", p.Name)
 
-	var repo *git.Repository
-	var err error
-
 	if opts.Disk {
 		repo, err = git.PlainClone(fmt.Sprintf("%s/%d", tempDir, p.ID), false, opt)
 	} else {

+ 8 - 0
gitleaks_test.go

@@ -180,6 +180,14 @@ func TestRun(t *testing.T) {
 		configPath     string
 		commitPerPage  int
 	}{
+		{
+			testOpts: Options{
+				GitLabUser: "gitleakstest",
+			},
+			description:    "test github user",
+			numLeaks:       2,
+			expectedErrMsg: "",
+		},
 		{
 			testOpts: Options{
 				GithubUser: "gitleakstest",

+ 1 - 1
main.go

@@ -130,7 +130,7 @@ type entropyRange struct {
 }
 
 const defaultGithubURL = "https://api.github.com/"
-const version = "1.19.3"
+const version = "1.20.0"
 const errExit = 2
 const leakExit = 1
 const defaultConfig = `