From 43738630b4b0fa32b68857514a5c05ac1109a8de Mon Sep 17 00:00:00 2001 From: Ankit Hans Date: Tue, 29 Jun 2021 14:44:14 +0530 Subject: [PATCH] address review comments --- docs/src/validator/validator.md | 2 +- validator/example/cmd_test.go | 21 ++++----------------- validator/rules/executor.go | 8 ++++---- validator/rules/length.go | 4 ++-- 4 files changed, 11 insertions(+), 24 deletions(-) diff --git a/docs/src/validator/validator.md b/docs/src/validator/validator.md index c19921c..1cdf200 100644 --- a/docs/src/validator/validator.md +++ b/docs/src/validator/validator.md @@ -16,7 +16,7 @@ var vali rules.RuleConfig ``` or overriding default config ```go -var vali rules.RuleConfig = rules.RuleConfig{ +vali := rules.RuleConfig{ Verbose: true, MustExist: rules.MustExist{ Fields: []string{"Args"}, diff --git a/validator/example/cmd_test.go b/validator/example/cmd_test.go index 8261975..283ef72 100644 --- a/validator/example/cmd_test.go +++ b/validator/example/cmd_test.go @@ -1,8 +1,6 @@ package example import ( - "bytes" - "io/ioutil" "testing" "github.com/aerogear/charmil/validator/rules" @@ -12,15 +10,7 @@ func Test_ExecuteCommand(t *testing.T) { cmd := NewCommand() // Testing cobra commands with default recommended config - // default config can also be overrided by - /* - var vali rules.RuleConfig = rules.RuleConfig{ - Verbose: true, - MustExist: rules.MustExist{ - Fields: []string{"Args"}, - }, - } - */ + // default config can also be overrided var vali rules.RuleConfig validationErr := vali.ExecuteRules(cmd) for _, errs := range validationErr { @@ -29,11 +19,8 @@ func Test_ExecuteCommand(t *testing.T) { } } - b := bytes.NewBufferString("") - cmd.SetOut(b) - cmd.Execute() - _, err := ioutil.ReadAll(b) - if err != nil { - t.Fatal(err) + if len(validationErr) == 0 { + t.Log("success, Test Passed!") } + } diff --git a/validator/rules/executor.go b/validator/rules/executor.go index 0245b28..83b3721 100644 --- a/validator/rules/executor.go +++ b/validator/rules/executor.go @@ -51,10 +51,10 @@ func (config *RuleConfig) initDefaultRules() { Verbose: false, Length: Length{ Limits: map[string]Limit{ - "Use": {Min: 2, Max: 20}, - "Short": {Min: 15, Max: 200}, - "Long": {Min: 100, Max: 10000}, - "Example": {Min: 100, Max: 10000}, + "Use": {Min: 2}, + "Short": {Min: 15}, + "Long": {Min: 100}, + "Example": {Min: 100}, }, }, MustExist: MustExist{ diff --git a/validator/rules/length.go b/validator/rules/length.go index 8d9546c..2312113 100644 --- a/validator/rules/length.go +++ b/validator/rules/length.go @@ -74,7 +74,7 @@ func validateField(cmd *cobra.Command, limit Limit, value string, path string, f if length < limit.Min { return validator.ValidationError{Name: fmt.Sprintf("%s length should be at least %d", fieldName, limit.Min), Err: ErrLengthMin, Rule: LengthRule, Cmd: cmd} } - if length > limit.Max { + if limit.Max != 0 && length > limit.Max { return validator.ValidationError{Name: fmt.Sprintf("%s length should be less than %d", fieldName, limit.Max), Err: ErrLengthMax, Rule: LengthRule, Cmd: cmd} } @@ -90,7 +90,7 @@ func isLimitSet(cmd *cobra.Command, limit Limit) (bool, validator.ValidationErro if limit.Max == 0 && limit.Min == 0 { return false, validator.ValidationError{Name: "limit not set", Err: ErrLengthZeroValue, Rule: LengthRule, Cmd: cmd} } - if limit.Max < limit.Min { + if limit.Max != 0 && limit.Max < limit.Min { return true, validator.ValidationError{Name: "max limit must be greater than min limit", Err: ErrLengthMin, Rule: LengthRule, Cmd: cmd} }