Skip to content

Commit 546a6cc

Browse files
update minimum_comment_severity to severity_threshold (#28)
1 parent ea77384 commit 546a6cc

File tree

9 files changed

+56
-56
lines changed

9 files changed

+56
-56
lines changed

data/nullify.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
minimum_comment_severity: medium
1+
severity_threshold: medium
22
ignore_dirs: ["data"]
33
email_notifications: ["[email protected]", "[email protected]"]

pkg/models/config.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package models
22

33
type Configuration struct {
4-
MinimumCommentSeverity string `yaml:"minimum_comment_severity"`
5-
IgnoreDirs []string `yaml:"ignore_dirs"`
6-
EmailNotifications []string `yaml:"email_notifications"`
7-
SecretsWhitelist []string `yaml:"secrets_whitelist"`
4+
SeverityThreshold string `yaml:"severity_threshold"`
5+
IgnoreDirs []string `yaml:"ignore_dirs"`
6+
EmailNotifications []string `yaml:"email_notifications"`
7+
SecretsWhitelist []string `yaml:"secrets_whitelist"`
88
}

pkg/parser/defaults.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ package parser
22

33
import "github.com/nullify-platform/config-file-parser/pkg/models"
44

5-
const DefaultMinimumCommentSeverity = models.SeverityHigh
5+
const DefaultSeverityThreshold = models.SeverityMedium
66

77
func NewDefaultConfig() *models.Configuration {
88
return &models.Configuration{
9-
MinimumCommentSeverity: DefaultMinimumCommentSeverity,
10-
IgnoreDirs: []string{},
9+
SeverityThreshold: DefaultSeverityThreshold,
10+
IgnoreDirs: []string{},
1111
}
1212
}

pkg/parser/parse.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ func ParseConfiguration(data []byte) (*models.Configuration, error) {
1818
}
1919

2020
func sanitizeConfig(config *models.Configuration) {
21-
config.MinimumCommentSeverity = strings.ToUpper(config.MinimumCommentSeverity)
22-
if config.MinimumCommentSeverity == "" {
23-
config.MinimumCommentSeverity = DefaultMinimumCommentSeverity
21+
config.SeverityThreshold = strings.ToUpper(config.SeverityThreshold)
22+
if config.SeverityThreshold == "" {
23+
config.SeverityThreshold = DefaultSeverityThreshold
2424
}
2525
}

pkg/parser/parse_test.go

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99
)
1010

1111
const configStr string = `
12-
minimum_comment_severity: high
12+
severity_threshold: high
1313
ignore_dirs: ["data"]
1414
secrets_whitelist: ["secretPassword", "superSecretPassword"]
1515
`
@@ -24,61 +24,61 @@ func TestParseConfiguration(t *testing.T) {
2424
name: "default values",
2525
data: "",
2626
expected: &models.Configuration{
27-
MinimumCommentSeverity: models.SeverityMedium,
28-
IgnoreDirs: nil,
29-
SecretsWhitelist: nil,
27+
SeverityThreshold: models.SeverityMedium,
28+
IgnoreDirs: nil,
29+
SecretsWhitelist: nil,
3030
},
3131
},
3232
{
3333
name: "user provided values",
3434
data: configStr,
3535
expected: &models.Configuration{
36-
MinimumCommentSeverity: models.SeverityHigh,
37-
IgnoreDirs: []string{"data"},
38-
SecretsWhitelist: []string{"secretPassword", "superSecretPassword"},
36+
SeverityThreshold: models.SeverityHigh,
37+
IgnoreDirs: []string{"data"},
38+
SecretsWhitelist: []string{"secretPassword", "superSecretPassword"},
3939
},
4040
},
4141
{
42-
name: "user provided empty minimum_comment_severity",
43-
data: "minimum_comment_severity: ''",
42+
name: "user provided empty severity_threshold",
43+
data: "severity_threshold: ''",
4444
expected: &models.Configuration{
45-
MinimumCommentSeverity: models.SeverityMedium,
46-
IgnoreDirs: nil,
47-
SecretsWhitelist: nil,
45+
SeverityThreshold: models.SeverityMedium,
46+
IgnoreDirs: nil,
47+
SecretsWhitelist: nil,
4848
},
4949
},
5050
{
51-
name: "user provided LOW minimum_comment_severity",
52-
data: "minimum_comment_severity: 'LOW'",
51+
name: "user provided LOW severity_threshold",
52+
data: "severity_threshold: 'LOW'",
5353
expected: &models.Configuration{
54-
MinimumCommentSeverity: models.SeverityLow,
55-
IgnoreDirs: nil,
56-
SecretsWhitelist: nil,
54+
SeverityThreshold: models.SeverityLow,
55+
IgnoreDirs: nil,
56+
SecretsWhitelist: nil,
5757
},
5858
},
5959
{
6060
name: "user provided a single secret",
6161
data: `secrets_whitelist: ["password"]`,
6262
expected: &models.Configuration{
63-
MinimumCommentSeverity: models.SeverityMedium,
64-
IgnoreDirs: nil,
65-
SecretsWhitelist: []string{"password"},
63+
SeverityThreshold: models.SeverityMedium,
64+
IgnoreDirs: nil,
65+
SecretsWhitelist: []string{"password"},
6666
},
6767
},
6868
{
6969
name: "user provided empty secret whitelist",
7070
data: `secrets_whitelist: `,
7171
expected: &models.Configuration{
72-
MinimumCommentSeverity: models.SeverityMedium,
73-
IgnoreDirs: nil,
74-
SecretsWhitelist: nil,
72+
SeverityThreshold: models.SeverityMedium,
73+
IgnoreDirs: nil,
74+
SecretsWhitelist: nil,
7575
},
7676
},
7777
} {
7878
t.Run(scenario.name, func(t *testing.T) {
7979
config, err := ParseConfiguration([]byte(scenario.data))
8080
require.NoError(t, err)
81-
assert.Equal(t, scenario.expected.MinimumCommentSeverity, config.MinimumCommentSeverity)
81+
assert.Equal(t, scenario.expected.SeverityThreshold, config.SeverityThreshold)
8282
require.Equal(t, len(scenario.expected.IgnoreDirs), len(config.IgnoreDirs))
8383
for i, v := range config.IgnoreDirs {
8484
assert.Equal(t, v, scenario.expected.IgnoreDirs[i])

pkg/validator/emails_test.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -54,46 +54,46 @@ func TestValidEmails(t *testing.T) {
5454
}
5555

5656
const validEmail string = `
57-
minimum_comment_severity: medium
57+
severity_threshold: medium
5858
ignore_dirs: ["data"]
5959
email_notifications: ["[email protected]"]
6060
`
6161

6262
const emptyEmail string = `
63-
minimum_comment_severity: medium
63+
severity_threshold: medium
6464
ignore_dirs: ["data"]
6565
email_notifications:
6666
`
6767

6868
const noEmailConfig string = `
69-
minimum_comment_severity: medium
69+
severity_threshold: medium
7070
ignore_dirs: ["data"]
7171
`
7272
const emailWithEmptyArray string = `
73-
minimum_comment_severity: medium
73+
severity_threshold: medium
7474
ignore_dirs: ["data"]
7575
email_notifications: [""]
7676
`
7777

7878
const twoValidEmails string = `
79-
minimum_comment_severity: medium
79+
severity_threshold: medium
8080
ignore_dirs: ["data"]
8181
email_notifications: ["[email protected]", "[email protected]"]
8282
`
8383
const validAndInvalid string = `
84-
minimum_comment_severity: medium
84+
severity_threshold: medium
8585
ignore_dirs: ["data"]
8686
email_notifications: ["john()@nullify.cloud", "[email protected]"]
8787
`
8888

8989
const missingCommaIncorrectQuotes string = `
90-
minimum_comment_severity: medium
90+
severity_threshold: medium
9191
ignore_dirs: ["data"]
9292
email_notifications: ["[email protected] [email protected]"]
9393
`
9494

9595
const missingComma string = `
96-
minimum_comment_severity: medium
96+
severity_threshold: medium
9797
ignore_dirs: ["data"]
9898
email_notifications: ["[email protected]" "[email protected]"]
9999
`

pkg/validator/severity.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@ var validSeveritites = []string{
1212
models.SeverityCritical,
1313
}
1414

15-
// ValidateMinimumCommentSeverity returns true if the minimum_comment_severity
15+
// ValidateSeverityThreshold returns true if the severity_threshold
1616
// option is one of the valid values:
1717
// - ""
1818
// - LOW / low
1919
// - MEDIUM / medium
2020
// - HIGH / high
2121
// - CRITICAL / critical
22-
func ValidateMinimumCommentSeverity(config *models.Configuration) bool {
23-
return slices.Contains(validSeveritites, config.MinimumCommentSeverity)
22+
func ValidateSeverityThreshold(config *models.Configuration) bool {
23+
return slices.Contains(validSeveritites, config.SeverityThreshold)
2424
}

pkg/validator/severity_test.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import (
88
"github.com/stretchr/testify/assert"
99
)
1010

11-
func TestValidateMinimumCommentSeverity(t *testing.T) {
11+
func TestValidateSeverityThreshold(t *testing.T) {
1212
for _, scenario := range []struct {
1313
name string
1414
config *models.Configuration
@@ -25,38 +25,38 @@ func TestValidateMinimumCommentSeverity(t *testing.T) {
2525
expected: true,
2626
},
2727
{
28-
name: "empty MinimumCommentSeverity",
29-
config: &models.Configuration{MinimumCommentSeverity: ""},
28+
name: "empty SeverityThreshold",
29+
config: &models.Configuration{SeverityThreshold: ""},
3030
expected: false,
3131
},
3232
{
3333
name: "SeverityLow",
34-
config: &models.Configuration{MinimumCommentSeverity: models.SeverityLow},
34+
config: &models.Configuration{SeverityThreshold: models.SeverityLow},
3535
expected: true,
3636
},
3737
{
3838
name: "SeverityMedium",
39-
config: &models.Configuration{MinimumCommentSeverity: models.SeverityMedium},
39+
config: &models.Configuration{SeverityThreshold: models.SeverityMedium},
4040
expected: true,
4141
},
4242
{
4343
name: "SeverityHigh",
44-
config: &models.Configuration{MinimumCommentSeverity: models.SeverityHigh},
44+
config: &models.Configuration{SeverityThreshold: models.SeverityHigh},
4545
expected: true,
4646
},
4747
{
4848
name: "SeverityCritical",
49-
config: &models.Configuration{MinimumCommentSeverity: models.SeverityCritical},
49+
config: &models.Configuration{SeverityThreshold: models.SeverityCritical},
5050
expected: true,
5151
},
5252
{
5353
name: "unexpected severity",
54-
config: &models.Configuration{MinimumCommentSeverity: "invalid-severity"},
54+
config: &models.Configuration{SeverityThreshold: "invalid-severity"},
5555
expected: false,
5656
},
5757
} {
5858
t.Run(scenario.name, func(t *testing.T) {
59-
isValid := ValidateMinimumCommentSeverity(scenario.config)
59+
isValid := ValidateSeverityThreshold(scenario.config)
6060
assert.Equal(t, scenario.expected, isValid)
6161
})
6262
}

pkg/validator/validate.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@ import (
66

77
// ValidateConfig return true if provided configuration is valid
88
func ValidateConfig(config *models.Configuration) bool {
9-
return ValidateMinimumCommentSeverity(config) && ValidateEmail(config)
9+
return ValidateSeverityThreshold(config) && ValidateEmail(config)
1010
}

0 commit comments

Comments
 (0)