From a173ba5755c9121af06985eac0a08efdd8ea289e Mon Sep 17 00:00:00 2001 From: yushink Date: Thu, 15 Feb 2024 16:47:55 +1100 Subject: [PATCH 1/4] fix default config parsing --- pkg/parser/defaults.go | 2 +- pkg/parser/parse.go | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/parser/defaults.go b/pkg/parser/defaults.go index 011b2b8..d876803 100644 --- a/pkg/parser/defaults.go +++ b/pkg/parser/defaults.go @@ -6,7 +6,7 @@ const DefaultSeverityThreshold = models.SeverityMedium func NewDefaultConfig() *models.Configuration { return &models.Configuration{ - SeverityThreshold: DefaultSeverityThreshold, + SeverityThreshold: "", IgnoreDirs: []string{}, IgnorePaths: []string{}, Code: models.Code{}, diff --git a/pkg/parser/parse.go b/pkg/parser/parse.go index e3186b7..fb46ded 100644 --- a/pkg/parser/parse.go +++ b/pkg/parser/parse.go @@ -18,6 +18,10 @@ func ParseConfiguration(data []byte) (*models.Configuration, error) { } func sanitizeConfig(config *models.Configuration) { + if config.SeverityThreshold == "" { + config.SeverityThreshold = DefaultSeverityThreshold + } + config.SeverityThreshold = strings.ToUpper(config.SeverityThreshold) if config.SeverityThreshold == "" { config.SeverityThreshold = DefaultSeverityThreshold From 0fe27cad2dd309107df4129565a7edd50c762c53 Mon Sep 17 00:00:00 2001 From: yushink Date: Thu, 15 Feb 2024 16:54:05 +1100 Subject: [PATCH 2/4] fix default --- pkg/parser/defaults.go | 2 -- pkg/parser/parse.go | 9 ++------- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/pkg/parser/defaults.go b/pkg/parser/defaults.go index d876803..7580e24 100644 --- a/pkg/parser/defaults.go +++ b/pkg/parser/defaults.go @@ -2,8 +2,6 @@ package parser import "github.com/nullify-platform/config-file-parser/pkg/models" -const DefaultSeverityThreshold = models.SeverityMedium - func NewDefaultConfig() *models.Configuration { return &models.Configuration{ SeverityThreshold: "", diff --git a/pkg/parser/parse.go b/pkg/parser/parse.go index fb46ded..24d13b0 100644 --- a/pkg/parser/parse.go +++ b/pkg/parser/parse.go @@ -18,13 +18,8 @@ func ParseConfiguration(data []byte) (*models.Configuration, error) { } func sanitizeConfig(config *models.Configuration) { - if config.SeverityThreshold == "" { - config.SeverityThreshold = DefaultSeverityThreshold - } - - config.SeverityThreshold = strings.ToUpper(config.SeverityThreshold) - if config.SeverityThreshold == "" { - config.SeverityThreshold = DefaultSeverityThreshold + if config.SeverityThreshold != "" { + config.SeverityThreshold = strings.ToUpper(config.SeverityThreshold) } for name, n := range config.Notifications { From 413cc9113265a324bf400a4aa6ae3db9fbcd3198 Mon Sep 17 00:00:00 2001 From: yushink Date: Thu, 15 Feb 2024 16:56:58 +1100 Subject: [PATCH 3/4] put default back in --- pkg/parser/defaults.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkg/parser/defaults.go b/pkg/parser/defaults.go index 7580e24..d876803 100644 --- a/pkg/parser/defaults.go +++ b/pkg/parser/defaults.go @@ -2,6 +2,8 @@ package parser import "github.com/nullify-platform/config-file-parser/pkg/models" +const DefaultSeverityThreshold = models.SeverityMedium + func NewDefaultConfig() *models.Configuration { return &models.Configuration{ SeverityThreshold: "", From 482a3197e37e0da54aa7b97b23f2897b2d14a228 Mon Sep 17 00:00:00 2001 From: yushink Date: Thu, 15 Feb 2024 17:03:17 +1100 Subject: [PATCH 4/4] fix unit --- pkg/parser/parse_test.go | 12 ++++++------ pkg/validator/severity_test.go | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pkg/parser/parse_test.go b/pkg/parser/parse_test.go index b11bc46..6cd438e 100644 --- a/pkg/parser/parse_test.go +++ b/pkg/parser/parse_test.go @@ -24,7 +24,7 @@ func TestParseConfiguration(t *testing.T) { name: "default values", data: "", expected: &models.Configuration{ - SeverityThreshold: models.SeverityMedium, + SeverityThreshold: "", IgnoreDirs: nil, IgnorePaths: nil, SecretsWhitelist: nil, @@ -57,7 +57,7 @@ func TestParseConfiguration(t *testing.T) { name: "user provided empty severity_threshold", data: "severity_threshold: ''", expected: &models.Configuration{ - SeverityThreshold: models.SeverityMedium, + SeverityThreshold: "", IgnoreDirs: nil, IgnorePaths: nil, SecretsWhitelist: nil, @@ -83,7 +83,7 @@ func TestParseConfiguration(t *testing.T) { name: "user provided a single secret", data: `secrets_whitelist: ["password"]`, expected: &models.Configuration{ - SeverityThreshold: models.SeverityMedium, + SeverityThreshold: "", IgnoreDirs: nil, IgnorePaths: nil, SecretsWhitelist: []string{"password"}, @@ -100,7 +100,7 @@ func TestParseConfiguration(t *testing.T) { name: "user provided empty secret whitelist", data: `secrets_whitelist: `, expected: &models.Configuration{ - SeverityThreshold: models.SeverityMedium, + SeverityThreshold: "", IgnoreDirs: nil, IgnorePaths: nil, SecretsWhitelist: nil, @@ -113,7 +113,7 @@ func TestParseConfiguration(t *testing.T) { name: "user provided empty ignore patterns", data: `ignore_paths: `, expected: &models.Configuration{ - SeverityThreshold: models.SeverityMedium, + SeverityThreshold: "", IgnoreDirs: nil, IgnorePaths: nil, SecretsWhitelist: nil, @@ -126,7 +126,7 @@ func TestParseConfiguration(t *testing.T) { name: "user provided glob in ignore patterns", data: `ignore_paths: ["*d"]`, expected: &models.Configuration{ - SeverityThreshold: models.SeverityMedium, + SeverityThreshold: "", IgnoreDirs: nil, IgnorePaths: []string{"*d"}, SecretsWhitelist: nil, diff --git a/pkg/validator/severity_test.go b/pkg/validator/severity_test.go index 11f89c0..82a8993 100644 --- a/pkg/validator/severity_test.go +++ b/pkg/validator/severity_test.go @@ -22,7 +22,7 @@ func TestValidateSeverityThreshold(t *testing.T) { { name: "default configuration", config: parser.NewDefaultConfig(), - expected: true, + expected: false, }, { name: "empty SeverityThreshold",