mirror of
https://github.com/kyverno/kyverno.git
synced 2025-03-06 07:57:07 +00:00
34 lines
735 B
Go
34 lines
735 B
Go
|
package api
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
|
||
|
fuzz "github.com/AdaLogics/go-fuzz-headers"
|
||
|
|
||
|
kubeutils "github.com/kyverno/kyverno/pkg/utils/kube"
|
||
|
)
|
||
|
|
||
|
func FuzzEngineResponse(f *testing.F) {
|
||
|
f.Fuzz(func(t *testing.T, data []byte) {
|
||
|
ff := fuzz.NewConsumer(data)
|
||
|
|
||
|
resource, err := ff.GetBytes()
|
||
|
if err != nil {
|
||
|
return
|
||
|
}
|
||
|
|
||
|
resourceUnstructured, err := kubeutils.BytesToUnstructured(resource)
|
||
|
if err != nil {
|
||
|
return
|
||
|
}
|
||
|
namespaceLabels := make(map[string]string)
|
||
|
ff.FuzzMap(&namespaceLabels)
|
||
|
resp := NewEngineResponse(*resourceUnstructured, nil, namespaceLabels)
|
||
|
_ = resp.GetPatches()
|
||
|
_ = resp.GetFailedRules()
|
||
|
_ = resp.GetFailedRulesWithErrors()
|
||
|
_ = resp.GetValidationFailureAction()
|
||
|
_ = resp.GetSuccessRules()
|
||
|
})
|
||
|
}
|