mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-05 10:19:50 +00:00
Merge pull request #93027 from ialidzhikov/enh/label-funcs
Add metav1.SetMetaDataLabel func
This commit is contained in:
commit
a464854e5b
@ -201,6 +201,20 @@ func SetMetaDataAnnotation(obj *ObjectMeta, ann string, value string) {
|
|||||||
obj.Annotations[ann] = value
|
obj.Annotations[ann] = value
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// HasLabel returns a bool if passed in label exists
|
||||||
|
func HasLabel(obj ObjectMeta, label string) bool {
|
||||||
|
_, found := obj.Labels[label]
|
||||||
|
return found
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetMetaDataLabel sets the label and value
|
||||||
|
func SetMetaDataLabel(obj *ObjectMeta, label string, value string) {
|
||||||
|
if obj.Labels == nil {
|
||||||
|
obj.Labels = make(map[string]string)
|
||||||
|
}
|
||||||
|
obj.Labels[label] = value
|
||||||
|
}
|
||||||
|
|
||||||
// SingleObject returns a ListOptions for watching a single object.
|
// SingleObject returns a ListOptions for watching a single object.
|
||||||
func SingleObject(meta ObjectMeta) ListOptions {
|
func SingleObject(meta ObjectMeta) ListOptions {
|
||||||
return ListOptions{
|
return ListOptions{
|
||||||
|
@ -195,3 +195,38 @@ func TestResetObjectMetaForStatus(t *testing.T) {
|
|||||||
t.Error(diff.ObjectDiff(meta, existingMeta))
|
t.Error(diff.ObjectDiff(meta, existingMeta))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestSetMetaDataLabel(t *testing.T) {
|
||||||
|
tests := []struct {
|
||||||
|
obj *ObjectMeta
|
||||||
|
label string
|
||||||
|
value string
|
||||||
|
want map[string]string
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
obj: &ObjectMeta{},
|
||||||
|
label: "foo",
|
||||||
|
value: "bar",
|
||||||
|
want: map[string]string{"foo": "bar"},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
obj: &ObjectMeta{Labels: map[string]string{"foo": "bar"}},
|
||||||
|
label: "foo",
|
||||||
|
value: "baz",
|
||||||
|
want: map[string]string{"foo": "baz"},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
obj: &ObjectMeta{Labels: map[string]string{"foo": "bar"}},
|
||||||
|
label: "version",
|
||||||
|
value: "1.0.0",
|
||||||
|
want: map[string]string{"foo": "bar", "version": "1.0.0"},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, tc := range tests {
|
||||||
|
SetMetaDataLabel(tc.obj, tc.label, tc.value)
|
||||||
|
if !reflect.DeepEqual(tc.obj.Labels, tc.want) {
|
||||||
|
t.Errorf("got %v, want %v", tc.obj.Labels, tc.want)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user