github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/internal/adapters/terraform/github/secrets/adapt_test.go (about) 1 package secrets 2 3 import ( 4 "testing" 5 6 defsecTypes "github.com/khulnasoft-lab/defsec/pkg/types" 7 8 "github.com/khulnasoft-lab/defsec/pkg/providers/github" 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_Adapt(t *testing.T) { 16 tests := []struct { 17 name string 18 terraform string 19 expected []github.EnvironmentSecret 20 }{ 21 { 22 name: "basic", 23 terraform: ` 24 resource "github_actions_environment_secret" "example" { 25 } 26 `, 27 expected: []github.EnvironmentSecret{ 28 { 29 Metadata: defsecTypes.NewTestMetadata(), 30 Environment: defsecTypes.String("", defsecTypes.NewTestMetadata()), 31 SecretName: defsecTypes.String("", defsecTypes.NewTestMetadata()), 32 PlainTextValue: defsecTypes.String("", defsecTypes.NewTestMetadata()), 33 EncryptedValue: defsecTypes.String("", defsecTypes.NewTestMetadata()), 34 Repository: defsecTypes.String("", defsecTypes.NewTestMetadata()), 35 }, 36 }, 37 }, 38 { 39 name: "basic", 40 terraform: ` 41 resource "github_actions_environment_secret" "example" { 42 secret_name = "a" 43 plaintext_value = "b" 44 environment = "c" 45 encrypted_value = "d" 46 repository = "e" 47 } 48 `, 49 expected: []github.EnvironmentSecret{ 50 { 51 Metadata: defsecTypes.NewTestMetadata(), 52 SecretName: defsecTypes.String("a", defsecTypes.NewTestMetadata()), 53 PlainTextValue: defsecTypes.String("b", defsecTypes.NewTestMetadata()), 54 Environment: defsecTypes.String("c", defsecTypes.NewTestMetadata()), 55 EncryptedValue: defsecTypes.String("d", defsecTypes.NewTestMetadata()), 56 Repository: defsecTypes.String("e", defsecTypes.NewTestMetadata()), 57 }, 58 }, 59 }, 60 } 61 62 for _, test := range tests { 63 t.Run(test.name, func(t *testing.T) { 64 modules := tftestutil.CreateModulesFromSource(t, test.terraform, ".tf") 65 adapted := Adapt(modules) 66 testutil.AssertDefsecEqual(t, test.expected, adapted) 67 }) 68 } 69 }