Chore: add annotation tweak function

This commit is contained in:
Qirui 2023-03-20 12:00:30 +08:00
parent b907d5af49
commit ec34891782

View File

@ -74,6 +74,15 @@ func tweakNamespace(ns string) statefulSetTweak {
} }
} }
func tweakAnnotations(key string, value string) statefulSetTweak {
return func(ss *apps.StatefulSet) {
if ss.ObjectMeta.Annotations == nil {
ss.ObjectMeta.Annotations = map[string]string{}
}
ss.ObjectMeta.Annotations[key] = value
}
}
func tweakFinalizers(finalizers ...string) statefulSetTweak { func tweakFinalizers(finalizers ...string) statefulSetTweak {
return func(ss *apps.StatefulSet) { return func(ss *apps.StatefulSet) {
ss.ObjectMeta.Finalizers = finalizers ss.ObjectMeta.Finalizers = finalizers
@ -350,21 +359,9 @@ func TestValidateStatefulSet(t *testing.T) {
}, },
{ {
name: "invalid_annotation", name: "invalid_annotation",
set: apps.StatefulSet{ set: mkStatefulSet(&validPodTemplate,
ObjectMeta: metav1.ObjectMeta{ tweakAnnotations("NoUppercaseOrSpecialCharsLike=Equals", "bar"),
Name: "abc-123", ),
Namespace: metav1.NamespaceDefault,
Annotations: map[string]string{
"NoUppercaseOrSpecialCharsLike=Equals": "bar",
},
},
Spec: apps.StatefulSetSpec{
PodManagementPolicy: apps.OrderedReadyPodManagement,
Selector: &metav1.LabelSelector{MatchLabels: validLabels},
Template: validPodTemplate.Template,
UpdateStrategy: apps.StatefulSetUpdateStrategy{Type: apps.RollingUpdateStatefulSetStrategyType},
},
},
errs: field.ErrorList{ errs: field.ErrorList{
field.Invalid(field.NewPath("metadata", "annotations"), nil, ""), field.Invalid(field.NewPath("metadata", "annotations"), nil, ""),
}, },