github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/internal/adapters/terraform/nifcloud/network/router_test.go (about) 1 package network 2 3 import ( 4 "testing" 5 6 "github.com/khulnasoft-lab/defsec/pkg/providers/nifcloud/network" 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_adaptRouters(t *testing.T) { 15 tests := []struct { 16 name string 17 terraform string 18 expected []network.Router 19 }{ 20 { 21 name: "configured", 22 terraform: ` 23 resource "nifcloud_router" "example" { 24 security_group = "example-security-group" 25 network_interface { 26 network_id = "net-COMMON_PRIVATE" 27 } 28 } 29 `, 30 expected: []network.Router{{ 31 Metadata: defsecTypes.NewTestMetadata(), 32 SecurityGroup: defsecTypes.String("example-security-group", defsecTypes.NewTestMetadata()), 33 NetworkInterfaces: []network.NetworkInterface{ 34 { 35 Metadata: defsecTypes.NewTestMetadata(), 36 NetworkID: defsecTypes.String("net-COMMON_PRIVATE", defsecTypes.NewTestMetadata()), 37 }, 38 }, 39 }}, 40 }, 41 { 42 name: "defaults", 43 terraform: ` 44 resource "nifcloud_router" "example" { 45 network_interface { 46 } 47 } 48 `, 49 50 expected: []network.Router{{ 51 Metadata: defsecTypes.NewTestMetadata(), 52 SecurityGroup: defsecTypes.String("", defsecTypes.NewTestMetadata()), 53 NetworkInterfaces: []network.NetworkInterface{ 54 { 55 Metadata: defsecTypes.NewTestMetadata(), 56 NetworkID: defsecTypes.String("", defsecTypes.NewTestMetadata()), 57 }, 58 }, 59 }}, 60 }, 61 } 62 63 for _, test := range tests { 64 t.Run(test.name, func(t *testing.T) { 65 modules := tftestutil.CreateModulesFromSource(t, test.terraform, ".tf") 66 adapted := adaptRouters(modules) 67 testutil.AssertDefsecEqual(t, test.expected, adapted) 68 }) 69 } 70 }