4
4
"testing"
5
5
6
6
hcl "github.com/hashicorp/hcl/v2"
7
- "github.com/stretchr/testify/assert"
8
7
"github.com/terraform-linters/tflint-plugin-sdk/helper"
9
8
)
10
9
@@ -14,7 +13,6 @@ func Test_AwsProviderMissingDefaultTags(t *testing.T) {
14
13
Content string
15
14
Config string
16
15
Expected helper.Issues
17
- RaiseErr error
18
16
}{
19
17
{
20
18
Name : "Default tags for provider" ,
@@ -66,7 +64,7 @@ rule "aws_provider_missing_default_tags" {
66
64
Content : `
67
65
provider "aws" {
68
66
default_tags {
69
- tags = []
67
+ tags = {}
70
68
}
71
69
}` ,
72
70
Config : `
@@ -131,6 +129,47 @@ rule "aws_provider_missing_default_tags" {
131
129
},
132
130
},
133
131
},
132
+ {
133
+ Name : "default tags wholly unknown" ,
134
+ Content : `
135
+ provider "aws" {
136
+ default_tags {
137
+ tags = var.tags
138
+ }
139
+ }
140
+
141
+ variable "tags" {
142
+ type = map(string)
143
+ }` ,
144
+ Config : `
145
+ rule "aws_provider_missing_default_tags" {
146
+ enabled = true
147
+ tags = ["Bazz", "Fooz"]
148
+ }` ,
149
+ Expected : helper.Issues {},
150
+ },
151
+ {
152
+ Name : "null key" ,
153
+ Content : `
154
+ provider "aws" {
155
+ default_tags {
156
+ tags = {
157
+ (var.tag): "bar"
158
+ }
159
+ }
160
+ }
161
+
162
+ variable "tag" {
163
+ type = string
164
+ }
165
+ ` ,
166
+ Config : `
167
+ rule "aws_provider_missing_default_tags" {
168
+ enabled = true
169
+ tags = ["Bazz", "Fooz"]
170
+ }` ,
171
+ Expected : helper.Issues {},
172
+ },
134
173
}
135
174
136
175
rule := NewAwsProviderMissingDefaultTagsRule ()
@@ -139,14 +178,10 @@ rule "aws_provider_missing_default_tags" {
139
178
t .Run (tc .Name , func (t * testing.T ) {
140
179
runner := helper .TestRunner (t , map [string ]string {"module.tf" : tc .Content , ".tflint.hcl" : tc .Config })
141
180
142
- err := rule .Check (runner )
143
-
144
- if tc .RaiseErr == nil && err != nil {
145
- t .Fatalf ("Unexpected error occurred in test \" %s\" : %s" , tc .Name , err )
181
+ if err := rule .Check (runner ); err != nil {
182
+ t .Fatalf ("unexpected error: %s" , err )
146
183
}
147
184
148
- assert .Equal (t , tc .RaiseErr , err )
149
-
150
185
helper .AssertIssues (t , tc .Expected , runner .Issues )
151
186
})
152
187
}
0 commit comments