func fuzzImage(t *testing.T, image *api.Image, seed int64) *api.Image { f := apitesting.FuzzerFor(t, v1.SchemeGroupVersion, rand.NewSource(seed)) f.Funcs( func(j *api.Image, c fuzz.Continue) { c.FuzzNoCustom(j) j.Annotations = make(map[string]string) j.Labels = make(map[string]string) j.Signatures = make([]api.ImageSignature, c.Rand.Intn(3)+2) for i := range j.Signatures { sign := &j.Signatures[i] c.Fuzz(sign) sign.Conditions = make([]api.SignatureCondition, c.Rand.Intn(3)+2) for ci := range sign.Conditions { cond := &sign.Conditions[ci] c.Fuzz(cond) } } for i := 0; i < c.Rand.Intn(3)+2; i++ { j.Labels[c.RandString()] = c.RandString() j.Annotations[c.RandString()] = c.RandString() } }, ) updated := api.Image{} f.Fuzz(&updated) updated.Namespace = image.Namespace updated.Name = image.Name j, err := meta.TypeAccessor(image) if err != nil { t.Fatalf("Unexpected error %v for %#v", err, image) } j.SetKind("") j.SetAPIVersion("") return &updated }