github.com/aquasecurity/trivy-iac@v0.8.1-0.20240127024015-3d8e412cf0ab/pkg/scanners/cloudformation/parser/file_context_test.go (about) 1 package parser 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 ) 8 9 func TestFileContext_OverrideParameters(t *testing.T) { 10 tests := []struct { 11 name string 12 ctx FileContext 13 arg map[string]any 14 expected map[string]*Parameter 15 }{ 16 { 17 name: "happy", 18 ctx: FileContext{ 19 Parameters: map[string]*Parameter{ 20 "BucketName": { 21 inner: parameterInner{ 22 Type: "String", 23 Default: "test", 24 }, 25 }, 26 "QueueName": { 27 inner: parameterInner{ 28 Type: "String", 29 }, 30 }, 31 }, 32 }, 33 arg: map[string]any{ 34 "BucketName": "test2", 35 "QueueName": "test", 36 "SomeKey": "some_value", 37 }, 38 expected: map[string]*Parameter{ 39 "BucketName": { 40 inner: parameterInner{ 41 Type: "String", 42 Default: "test2", 43 }, 44 }, 45 "QueueName": { 46 inner: parameterInner{ 47 Type: "String", 48 Default: "test", 49 }, 50 }, 51 }, 52 }, 53 } 54 55 for _, tt := range tests { 56 t.Run(tt.name, func(t *testing.T) { 57 tt.ctx.OverrideParameters(tt.arg) 58 assert.Equal(t, tt.expected, tt.ctx.Parameters) 59 }) 60 } 61 }