Skip to content

Commit 5ec6e63

Browse files
committed
Add test for aws_db_instance_invalid_engine.go
1 parent c90afb7 commit 5ec6e63

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
package rules
2+
3+
import (
4+
"testing"
5+
6+
hcl "github.com/hashicorp/hcl/v2"
7+
"github.com/terraform-linters/tflint-plugin-sdk/helper"
8+
)
9+
10+
func Test_AwsDBInstanceInvalidEngine(t *testing.T) {
11+
cases := []struct {
12+
Name string
13+
Content string
14+
Expected helper.Issues
15+
}{
16+
{
17+
Name: "aurora-postgres is invalid",
18+
Content: `
19+
resource "aws_db_instance" "aurora_postgresql" {
20+
engine = "aurora-postgres"
21+
}`,
22+
Expected: helper.Issues{
23+
{
24+
Rule: NewAwsDBInstanceInvalidEngineRule(),
25+
Message: "\"aurora-postgres\" is invalid instance type.",
26+
Range: hcl.Range{
27+
Filename: "resource.tf",
28+
Start: hcl.Pos{Line: 3, Column: 22},
29+
End: hcl.Pos{Line: 3, Column: 34},
30+
},
31+
},
32+
},
33+
},
34+
{
35+
Name: "aurora-postgresql is valid",
36+
Content: `
37+
resource "aws_db_instance" "aurora_postgresql" {
38+
engine = "aurora-postgresql"
39+
}`,
40+
Expected: helper.Issues{},
41+
},
42+
}
43+
44+
rule := NewAwsDBInstanceInvalidEngineRule()
45+
46+
for _, tc := range cases {
47+
runner := helper.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+
helper.AssertIssues(t, tc.Expected, runner.Issues)
54+
}
55+
}

0 commit comments

Comments
 (0)