Skip to content

Commit b65b32d

Browse files
authored
fix(misconf): init frameworks before updating them (#7376)
Signed-off-by: nikpivkin <[email protected]>
1 parent 9ef05fc commit b65b32d

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

pkg/iac/rego/metadata.go

+3
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@ func NewStaticMetadata(pkgPath string, inputOpt InputOptions) *StaticMetadata {
5454
}
5555

5656
func (sm *StaticMetadata) Update(meta map[string]any) error {
57+
if sm.Frameworks == nil {
58+
sm.Frameworks = make(map[framework.Framework][]string)
59+
}
5760

5861
upd := func(field *string, key string) {
5962
if raw, ok := meta[key]; ok {

pkg/iac/rego/metadata_test.go

+11
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ func Test_UpdateStaticMetadata(t *testing.T) {
9797
References: []string{"r", "r1_n", "r2_n"},
9898
CloudFormation: &scan.EngineMetadata{},
9999
Terraform: &scan.EngineMetadata{},
100+
Frameworks: make(map[framework.Framework][]string),
100101
}
101102

102103
assert.Equal(t, expected, sm)
@@ -114,6 +115,7 @@ func Test_UpdateStaticMetadata(t *testing.T) {
114115
References: []string{"r", "r1_n", "r2_n"},
115116
CloudFormation: &scan.EngineMetadata{},
116117
Terraform: &scan.EngineMetadata{},
118+
Frameworks: make(map[framework.Framework][]string),
117119
}
118120

119121
assert.Equal(t, expected, sm)
@@ -131,10 +133,19 @@ func Test_UpdateStaticMetadata(t *testing.T) {
131133
Deprecated: true,
132134
CloudFormation: &scan.EngineMetadata{},
133135
Terraform: &scan.EngineMetadata{},
136+
Frameworks: make(map[framework.Framework][]string),
134137
}
135138

136139
assert.Equal(t, expected, sm)
137140
})
141+
142+
t.Run("frameworks is not initialized", func(t *testing.T) {
143+
sm := StaticMetadata{}
144+
err := sm.Update(map[string]any{
145+
"frameworks": map[string]any{"all": []any{"a", "b", "c"}},
146+
})
147+
require.NoError(t, err)
148+
})
138149
}
139150

140151
func Test_NewEngineMetadata(t *testing.T) {

0 commit comments

Comments
 (0)