github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/internal/adapters/terraform/aws/apigateway/namesv2_test.go (about) 1 package apigateway 2 3 import ( 4 "testing" 5 6 "github.com/khulnasoft-lab/defsec/internal/adapters/terraform/tftestutil" 7 v2 "github.com/khulnasoft-lab/defsec/pkg/providers/aws/apigateway/v2" 8 9 "github.com/khulnasoft-lab/defsec/test/testutil" 10 ) 11 12 func Test_adaptDomainNamesV2(t *testing.T) { 13 tests := []struct { 14 name string 15 terraform string 16 expected []v2.DomainName 17 }{ 18 { 19 name: "defaults", 20 terraform: ` 21 resource "aws_apigatewayv2_domain_name" "example" { 22 } 23 `, 24 expected: []v2.DomainName{ 25 { 26 Name: String(""), 27 SecurityPolicy: String("TLS_1_0"), 28 }, 29 }, 30 }, 31 { 32 name: "fully populated", 33 terraform: ` 34 resource "aws_apigatewayv2_domain_name" "example" { 35 domain_name = "testing.com" 36 domain_name_configuration { 37 security_policy = "TLS_1_2" 38 } 39 } 40 `, 41 expected: []v2.DomainName{ 42 { 43 Name: String("testing.com"), 44 SecurityPolicy: String("TLS_1_2"), 45 }, 46 }, 47 }, 48 } 49 50 for _, test := range tests { 51 t.Run(test.name, func(t *testing.T) { 52 modules := tftestutil.CreateModulesFromSource(t, test.terraform, ".tf") 53 adapted := adaptDomainNamesV2(modules) 54 testutil.AssertDefsecEqual(t, test.expected, adapted) 55 }) 56 } 57 }