github.com/wata727/tflint@v0.12.2-0.20191013070026-96dd0d36f385/rules/awsrules/aws_db_instance_default_parameter_group_test.go (about) 1 package awsrules 2 3 import ( 4 "testing" 5 6 hcl "github.com/hashicorp/hcl/v2" 7 "github.com/wata727/tflint/tflint" 8 ) 9 10 func Test_AwsDBInstanceDefaultParameterGroup(t *testing.T) { 11 cases := []struct { 12 Name string 13 Content string 14 Expected tflint.Issues 15 }{ 16 { 17 Name: "default.mysql5.6 is default parameter group", 18 Content: ` 19 resource "aws_db_instance" "db" { 20 parameter_group_name = "default.mysql5.6" 21 }`, 22 Expected: tflint.Issues{ 23 { 24 Rule: NewAwsDBInstanceDefaultParameterGroupRule(), 25 Message: "\"default.mysql5.6\" is default parameter group. You cannot edit it.", 26 Range: hcl.Range{ 27 Filename: "resource.tf", 28 Start: hcl.Pos{Line: 3, Column: 28}, 29 End: hcl.Pos{Line: 3, Column: 46}, 30 }, 31 }, 32 }, 33 }, 34 { 35 Name: "application5.6 is not default parameter group", 36 Content: ` 37 resource "aws_db_instance" "db" { 38 parameter_group_name = "application5.6" 39 }`, 40 Expected: tflint.Issues{}, 41 }, 42 } 43 44 rule := NewAwsDBInstanceDefaultParameterGroupRule() 45 46 for _, tc := range cases { 47 runner := tflint.TestRunner(t, map[string]string{"resource.tf": tc.Content}) 48 49 if err := rule.Check(runner); err != nil { 50 t.Fatalf("Unexpected error occurred: %s", err) 51 } 52 53 tflint.AssertIssues(t, tc.Expected, runner.Issues) 54 } 55 }