github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/internal/adapters/terraform/nifcloud/dns/record_test.go (about) 1 package dns 2 3 import ( 4 "testing" 5 6 "github.com/khulnasoft-lab/defsec/pkg/providers/nifcloud/dns" 7 defsecTypes "github.com/khulnasoft-lab/defsec/pkg/types" 8 9 "github.com/khulnasoft-lab/defsec/internal/adapters/terraform/tftestutil" 10 11 "github.com/khulnasoft-lab/defsec/test/testutil" 12 ) 13 14 func Test_adaptRecords(t *testing.T) { 15 tests := []struct { 16 name string 17 terraform string 18 expected []dns.Record 19 }{ 20 { 21 name: "configured", 22 terraform: ` 23 resource "nifcloud_dns_record" "example" { 24 type = "A" 25 record = "example-record" 26 } 27 `, 28 expected: []dns.Record{{ 29 Metadata: defsecTypes.NewTestMetadata(), 30 Type: defsecTypes.String("A", defsecTypes.NewTestMetadata()), 31 Record: defsecTypes.String("example-record", defsecTypes.NewTestMetadata()), 32 }}, 33 }, 34 { 35 name: "defaults", 36 terraform: ` 37 resource "nifcloud_dns_record" "example" { 38 } 39 `, 40 41 expected: []dns.Record{{ 42 Metadata: defsecTypes.NewTestMetadata(), 43 Type: defsecTypes.String("", defsecTypes.NewTestMetadata()), 44 Record: defsecTypes.String("", defsecTypes.NewTestMetadata()), 45 }}, 46 }, 47 } 48 49 for _, test := range tests { 50 t.Run(test.name, func(t *testing.T) { 51 modules := tftestutil.CreateModulesFromSource(t, test.terraform, ".tf") 52 adapted := adaptRecords(modules) 53 testutil.AssertDefsecEqual(t, test.expected, adapted) 54 }) 55 } 56 }