Skip to content

Commit 97f16ab

Browse files
handling empty repo patterns for lizard with empty creation instead of fetching codacy default
1 parent 9b41044 commit 97f16ab

File tree

3 files changed

+31
-16
lines changed

3 files changed

+31
-16
lines changed

cmd/analyze.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -402,10 +402,7 @@ func runLizardAnalysis(workDirectory string, pathsToCheck []string, outputFile s
402402
}
403403
} else {
404404
fmt.Println("No configuration file found for Lizard, using default patterns, run init with repository token to get a custom configuration")
405-
patterns, err = tools.FetchDefaultEnabledPatterns(Lizard)
406-
if err != nil {
407-
return fmt.Errorf("failed to fetch default patterns: %v", err)
408-
}
405+
patterns = []domain.PatternDefinition{}
409406
}
410407

411408
return lizard.RunLizard(workDirectory, lizardBinary, pathsToCheck, outputFile, outputFormat, patterns)

cmd/init.go

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -541,19 +541,10 @@ func cleanConfigDirectory(toolsConfigDir string) error {
541541
}
542542

543543
func createLizardConfigFile(toolsConfigDir string, patternConfiguration []domain.PatternConfiguration) error {
544-
var patterns []domain.PatternDefinition
545544

546-
if len(patternConfiguration) == 0 {
547-
var err error
548-
patterns, err = tools.FetchDefaultEnabledPatterns(Lizard)
549-
if err != nil {
550-
return err
551-
}
552-
} else {
553-
patterns = make([]domain.PatternDefinition, len(patternConfiguration))
554-
for i, pattern := range patternConfiguration {
555-
patterns[i] = pattern.PatternDefinition
556-
}
545+
patterns := make([]domain.PatternDefinition, len(patternConfiguration))
546+
for i, pattern := range patternConfiguration {
547+
patterns[i] = pattern.PatternDefinition
557548

558549
}
559550

cmd/init_test.go

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package cmd
22

33
import (
44
"codacy/cli-v2/config"
5+
"codacy/cli-v2/domain"
56
"codacy/cli-v2/tools"
67
"codacy/cli-v2/utils"
78
"os"
@@ -244,3 +245,29 @@ func TestInitCommand_NoToken(t *testing.T) {
244245
assert.NoError(t, err, "Expected config file %s to be created", file)
245246
}
246247
}
248+
249+
func TestCreateLizardConfigFile_EmptyAndNonEmpty(t *testing.T) {
250+
tempDir := t.TempDir()
251+
252+
// Case 1: Empty patternConfiguration
253+
err := createLizardConfigFile(tempDir, []domain.PatternConfiguration{})
254+
assert.NoError(t, err, "Should not error with empty patternConfiguration")
255+
lizardFile := filepath.Join(tempDir, "lizard.yaml")
256+
_, err = os.Stat(lizardFile)
257+
assert.NoError(t, err, "lizard.yaml should be created for empty input")
258+
259+
// Case 2: Non-empty patternConfiguration
260+
patterns := []domain.PatternConfiguration{
261+
{
262+
PatternDefinition: domain.PatternDefinition{
263+
Id: "Lizard_1",
264+
Enabled: true,
265+
},
266+
},
267+
}
268+
err = createLizardConfigFile(tempDir, patterns)
269+
assert.NoError(t, err, "Should not error with non-empty patternConfiguration")
270+
content, err := os.ReadFile(lizardFile)
271+
assert.NoError(t, err, "Should be able to read lizard.yaml")
272+
assert.NotEmpty(t, content, "lizard.yaml should not be empty for non-empty input")
273+
}

0 commit comments

Comments
 (0)