Added support for empty security requirements.

A new property named `ContainsEmptyRuleRequirement` will exist when a requirement contains an empty object. This acts as a ‘none’ concept that can be used by applications downstream.

Signed-off-by: quobix <dave@quobix.com>
This commit is contained in:
quobix
2024-01-26 13:56:55 -05:00
parent afab8d890a
commit 8039927eb5
3 changed files with 30 additions and 3 deletions

View File

@@ -45,3 +45,21 @@ one:
assert.Equal(t, sr.Hash(), sr2.Hash())
assert.Nil(t, sr.FindRequirement("i-do-not-exist"))
}
func TestSecurityRequirement_TestEmptyReq(t *testing.T) {
yml := `one:
- two
- {}`
var sr SecurityRequirement
var idxNode yaml.Node
_ = yaml.Unmarshal([]byte(yml), &idxNode)
_ = sr.Build(context.Background(), nil, idxNode.Content[0], nil)
assert.Equal(t, 1, orderedmap.Len(sr.Requirements.Value))
assert.Len(t, sr.GetKeys(), 1)
assert.True(t, sr.ContainsEmptyRequirement)
}