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  }