From 712a0369a39663331d309502b0513d72f9588d59 Mon Sep 17 00:00:00 2001 From: Mikechoi78 Date: Fri, 14 Aug 2020 00:44:46 -0400 Subject: [PATCH] passes/helper/validation: Pass for collecting `validation.StringInSlice()` calls (#195) Reference: https://github.com/terraform-providers/terraform-provider-aws/issues/14601 --- CHANGELOG.md | 1 + .../stringinslicecallexpr.go | 13 +++++++++++++ .../stringinslicecallexpr_test.go | 15 +++++++++++++++ 3 files changed, 29 insertions(+) create mode 100644 passes/helper/validation/stringinslicecallexpr/stringinslicecallexpr.go create mode 100644 passes/helper/validation/stringinslicecallexpr/stringinslicecallexpr_test.go diff --git a/CHANGELOG.md b/CHANGELOG.md index b12517b..a960b60 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ENHANCEMENTS +* passes/helper/validation: Pass for collecting `validation.StringInSlice()` calls * passes/stdlib: Pass for collecting `fmt.Errorf()` calls # v0.17.0 diff --git a/passes/helper/validation/stringinslicecallexpr/stringinslicecallexpr.go b/passes/helper/validation/stringinslicecallexpr/stringinslicecallexpr.go new file mode 100644 index 0000000..447d5b9 --- /dev/null +++ b/passes/helper/validation/stringinslicecallexpr/stringinslicecallexpr.go @@ -0,0 +1,13 @@ +package stringinslicecallexpr + +import ( + "github.com/bflad/tfproviderlint/helper/analysisutils" + "github.com/bflad/tfproviderlint/helper/terraformtype/helper/validation" +) + +var Analyzer = analysisutils.FunctionCallExprAnalyzer( + "stringinslicecallexpr", + validation.IsFunc, + validation.PackagePath, + validation.FuncNameStringInSlice, +) diff --git a/passes/helper/validation/stringinslicecallexpr/stringinslicecallexpr_test.go b/passes/helper/validation/stringinslicecallexpr/stringinslicecallexpr_test.go new file mode 100644 index 0000000..5b1dc1d --- /dev/null +++ b/passes/helper/validation/stringinslicecallexpr/stringinslicecallexpr_test.go @@ -0,0 +1,15 @@ +package stringinslicecallexpr + +import ( + "testing" + + "golang.org/x/tools/go/analysis" +) + +func TestValidateAnalyzer(t *testing.T) { + err := analysis.Validate([]*analysis.Analyzer{Analyzer}) + + if err != nil { + t.Fatal(err) + } +}