44 "testing"
55
66 hcl "github.com/hashicorp/hcl/v2"
7- "github.com/stretchr/testify/assert"
87 "github.com/terraform-linters/tflint-plugin-sdk/helper"
98)
109
@@ -14,7 +13,6 @@ func Test_AwsProviderMissingDefaultTags(t *testing.T) {
1413 Content string
1514 Config string
1615 Expected helper.Issues
17- RaiseErr error
1816 }{
1917 {
2018 Name : "Default tags for provider" ,
@@ -66,7 +64,7 @@ rule "aws_provider_missing_default_tags" {
6664 Content : `
6765provider "aws" {
6866 default_tags {
69- tags = []
67+ tags = {}
7068 }
7169}` ,
7270 Config : `
@@ -131,6 +129,47 @@ rule "aws_provider_missing_default_tags" {
131129 },
132130 },
133131 },
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+ },
134173 }
135174
136175 rule := NewAwsProviderMissingDefaultTagsRule ()
@@ -139,14 +178,10 @@ rule "aws_provider_missing_default_tags" {
139178 t .Run (tc .Name , func (t * testing.T ) {
140179 runner := helper .TestRunner (t , map [string ]string {"module.tf" : tc .Content , ".tflint.hcl" : tc .Config })
141180
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 )
146183 }
147184
148- assert .Equal (t , tc .RaiseErr , err )
149-
150185 helper .AssertIssues (t , tc .Expected , runner .Issues )
151186 })
152187 }
0 commit comments