From d950a294dbecafd7d43eb17bd0ebad0f4f75342a Mon Sep 17 00:00:00 2001 From: Dave Shanley Date: Sat, 16 Jul 2022 08:49:39 -0400 Subject: [PATCH] Re-enabled parameter descriptions as recommended rules not sure why I set these as not recommended? --- functions/openapi/parameter_description.go | 29 +++++++++++----------- rulesets/ruleset_functions.go | 4 +-- rulesets/rulesets_test.go | 8 +++--- 3 files changed, 21 insertions(+), 20 deletions(-) diff --git a/functions/openapi/parameter_description.go b/functions/openapi/parameter_description.go index 62bdb72d..5b9d7002 100644 --- a/functions/openapi/parameter_description.go +++ b/functions/openapi/parameter_description.go @@ -60,21 +60,22 @@ func (pd ParameterDescription) RunRule(nodes []*yaml.Node, context model.RuleFun for path, methodMap := range opParams { for method, paramMap := range methodMap { for pName, param := range paramMap { + if param != nil && param.Node != nil { + _, in := utils.FindKeyNode("in", param.Node.Content) + _, desc := utils.FindKeyNode("description", param.Node.Content) + lastNode := utils.FindLastChildNode(param.Node) - _, in := utils.FindKeyNode("in", param.Node.Content) - _, desc := utils.FindKeyNode("description", param.Node.Content) - lastNode := utils.FindLastChildNode(param.Node) - - if in != nil { - if desc == nil || desc.Value == "" { - pathString := fmt.Sprintf("$.paths.%s.%s.parameters", path, method) - results = append(results, model.RuleFunctionResult{ - Message: fmt.Sprintf(msg, pName), - StartNode: param.Node, - EndNode: lastNode, - Path: pathString, - Rule: context.Rule, - }) + if in != nil { + if desc == nil || desc.Value == "" { + pathString := fmt.Sprintf("$.paths.%s.%s.parameters", path, method) + results = append(results, model.RuleFunctionResult{ + Message: fmt.Sprintf(msg, pName), + StartNode: param.Node, + EndNode: lastNode, + Path: pathString, + Rule: context.Rule, + }) + } } } } diff --git a/rulesets/ruleset_functions.go b/rulesets/ruleset_functions.go index 1081364b..60ed4412 100644 --- a/rulesets/ruleset_functions.go +++ b/rulesets/ruleset_functions.go @@ -425,7 +425,7 @@ func GetOAS2ParameterDescriptionRule() *model.Rule { Description: "Parameter description checks", Given: "$", Resolved: true, - Recommended: false, + Recommended: true, RuleCategory: model.RuleCategories[model.CategoryDescriptions], Type: style, Severity: warn, @@ -445,7 +445,7 @@ func GetOAS3ParameterDescriptionRule() *model.Rule { Description: "Parameter description checks", Given: "$", Resolved: true, - Recommended: false, + Recommended: true, RuleCategory: model.RuleCategories[model.CategoryDescriptions], Type: style, Severity: warn, diff --git a/rulesets/rulesets_test.go b/rulesets/rulesets_test.go index 33f2b5b3..074a1918 100644 --- a/rulesets/rulesets_test.go +++ b/rulesets/rulesets_test.go @@ -124,7 +124,7 @@ func TestRuleSet_GetConfiguredRules_All(t *testing.T) { assert.Len(t, ruleSet.Rules, 47) ruleSet = rs.GenerateOpenAPIRecommendedRuleSet() - assert.Len(t, ruleSet.Rules, 35) + assert.Len(t, ruleSet.Rules, 37) } @@ -140,7 +140,7 @@ rules: def := BuildDefaultRuleSets() rs, _ := CreateRuleSetFromData([]byte(yaml)) override := def.GenerateRuleSetFromSuppliedRuleSet(rs) - assert.Len(t, override.Rules, 35) + assert.Len(t, override.Rules, 37) assert.Len(t, override.RuleDefinitions, 1) } @@ -188,7 +188,7 @@ rules: def := BuildDefaultRuleSets() rs, _ := CreateRuleSetFromData([]byte(yaml)) override := def.GenerateRuleSetFromSuppliedRuleSet(rs) - assert.Len(t, override.Rules, 34) + assert.Len(t, override.Rules, 36) assert.Len(t, override.RuleDefinitions, 1) } @@ -204,7 +204,7 @@ rules: def := BuildDefaultRuleSets() rs, _ := CreateRuleSetFromData([]byte(yaml)) override := def.GenerateRuleSetFromSuppliedRuleSet(rs) - assert.Len(t, override.Rules, 35) + assert.Len(t, override.Rules, 37) assert.Equal(t, "hint", override.Rules["operation-success-response"].Severity) }