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