// validatePSPCapsAgainstDrops ensures an allowed cap is not listed in the required drops. func validatePSPCapsAgainstDrops(requiredDrops []api.Capability, capsToCheck []api.Capability, fldPath *field.Path) field.ErrorList { allErrs := field.ErrorList{} if requiredDrops == nil { return allErrs } for _, cap := range capsToCheck { if hasCap(cap, requiredDrops) { allErrs = append(allErrs, field.Invalid(fldPath, cap, fmt.Sprintf("capability is listed in %s and requiredDropCapabilities", fldPath.String()))) } } return allErrs }
// Ensures that `nil` can be passed to validation functions validating top-level objects func TestNilPath(t *testing.T) { var nilPath *field.Path = nil if s := nilPath.String(); s != "" { t.Errorf("Unexpected nil path: %q", s) } child := nilPath.Child("child") if s := child.String(); s != "child" { t.Errorf("Unexpected child path: %q", s) } key := nilPath.Key("key") if s := key.String(); s != "[key]" { t.Errorf("Unexpected key path: %q", s) } index := nilPath.Index(1) if s := index.String(); s != "[1]" { t.Errorf("Unexpected index path: %q", s) } }