Add networking fuzzer
Signed-off-by: Christopher M. Luciano <cmluciano@us.ibm.com>
This commit is contained in:
@@ -19,7 +19,7 @@ package testing
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/google/gofuzz"
|
fuzz "github.com/google/gofuzz"
|
||||||
|
|
||||||
"k8s.io/api/core/v1"
|
"k8s.io/api/core/v1"
|
||||||
apitesting "k8s.io/apimachinery/pkg/api/testing"
|
apitesting "k8s.io/apimachinery/pkg/api/testing"
|
||||||
@@ -38,6 +38,7 @@ import (
|
|||||||
"k8s.io/kubernetes/pkg/apis/extensions"
|
"k8s.io/kubernetes/pkg/apis/extensions"
|
||||||
extensionsfuzzer "k8s.io/kubernetes/pkg/apis/extensions/fuzzer"
|
extensionsfuzzer "k8s.io/kubernetes/pkg/apis/extensions/fuzzer"
|
||||||
extensionsv1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
|
extensionsv1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
|
||||||
|
networkingfuzzer "k8s.io/kubernetes/pkg/apis/networking/fuzzer"
|
||||||
policyfuzzer "k8s.io/kubernetes/pkg/apis/policy/fuzzer"
|
policyfuzzer "k8s.io/kubernetes/pkg/apis/policy/fuzzer"
|
||||||
rbacfuzzer "k8s.io/kubernetes/pkg/apis/rbac/fuzzer"
|
rbacfuzzer "k8s.io/kubernetes/pkg/apis/rbac/fuzzer"
|
||||||
storagefuzzer "k8s.io/kubernetes/pkg/apis/storage/fuzzer"
|
storagefuzzer "k8s.io/kubernetes/pkg/apis/storage/fuzzer"
|
||||||
@@ -102,4 +103,5 @@ var FuzzerFuncs = fuzzer.MergeFuzzerFuncs(
|
|||||||
certificatesfuzzer.Funcs,
|
certificatesfuzzer.Funcs,
|
||||||
admissionregistrationfuzzer.Funcs,
|
admissionregistrationfuzzer.Funcs,
|
||||||
storagefuzzer.Funcs,
|
storagefuzzer.Funcs,
|
||||||
|
networkingfuzzer.Funcs,
|
||||||
)
|
)
|
||||||
|
@@ -17,10 +17,24 @@ limitations under the License.
|
|||||||
package fuzzer
|
package fuzzer
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
fuzz "github.com/google/gofuzz"
|
||||||
runtimeserializer "k8s.io/apimachinery/pkg/runtime/serializer"
|
runtimeserializer "k8s.io/apimachinery/pkg/runtime/serializer"
|
||||||
|
"k8s.io/kubernetes/pkg/apis/networking"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Funcs returns the fuzzer functions for the networking api group.
|
// Funcs returns the fuzzer functions for the networking api group.
|
||||||
var Funcs = func(codecs runtimeserializer.CodecFactory) []interface{} {
|
var Funcs = func(codecs runtimeserializer.CodecFactory) []interface{} {
|
||||||
return []interface{}{}
|
return []interface{}{
|
||||||
|
func(np *networking.NetworkPolicyPeer, c fuzz.Continue) {
|
||||||
|
c.FuzzNoCustom(np) // fuzz self without calling this function again
|
||||||
|
// TODO: Implement a fuzzer to generate valid keys, values and operators for
|
||||||
|
// selector requirements.
|
||||||
|
if np.IPBlock != nil {
|
||||||
|
np.IPBlock = &networking.IPBlock{
|
||||||
|
CIDR: "192.168.1.0/24",
|
||||||
|
Except: []string{"192.168.1.1/24", "192.168.1.2/24"},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user