mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-06 10:43:56 +00:00
Comments and extra tests for federated ObjectMeta utils
This commit is contained in:
parent
b0ec300ce8
commit
9b00a6654c
@ -22,6 +22,9 @@ import (
|
|||||||
api_v1 "k8s.io/kubernetes/pkg/api/v1"
|
api_v1 "k8s.io/kubernetes/pkg/api/v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Copies cluster-independent, user provided data from the given ObjectMeta struct. If in
|
||||||
|
// the future the ObjectMeta structure is expanded then any field that is not populared
|
||||||
|
// by the api server should be included here.
|
||||||
func CopyObjectMeta(obj api_v1.ObjectMeta) api_v1.ObjectMeta {
|
func CopyObjectMeta(obj api_v1.ObjectMeta) api_v1.ObjectMeta {
|
||||||
return api_v1.ObjectMeta{
|
return api_v1.ObjectMeta{
|
||||||
Name: obj.Name,
|
Name: obj.Name,
|
||||||
@ -31,6 +34,9 @@ func CopyObjectMeta(obj api_v1.ObjectMeta) api_v1.ObjectMeta {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Checks if cluster-independed, user provided data in two given ObjectMeta are eqaul. If in
|
||||||
|
// the future the ObjectMeta structure is expanded then any field that is not populared
|
||||||
|
// by the api server should be included here.
|
||||||
func ObjectMetaEquivalent(a, b api_v1.ObjectMeta) bool {
|
func ObjectMetaEquivalent(a, b api_v1.ObjectMeta) bool {
|
||||||
if a.Name != b.Name {
|
if a.Name != b.Name {
|
||||||
return false
|
return false
|
||||||
|
@ -31,17 +31,37 @@ func TestObjectMeta(t *testing.T) {
|
|||||||
UID: "1231231412",
|
UID: "1231231412",
|
||||||
ResourceVersion: "999",
|
ResourceVersion: "999",
|
||||||
}
|
}
|
||||||
|
o2 := CopyObjectMeta(o1)
|
||||||
o3 := api_v1.ObjectMeta{
|
o3 := api_v1.ObjectMeta{
|
||||||
Namespace: "ns1",
|
Namespace: "ns1",
|
||||||
Name: "s1",
|
Name: "s1",
|
||||||
UID: "1231231412",
|
UID: "1231231412",
|
||||||
Annotations: map[string]string{"A": "B"},
|
Annotations: map[string]string{"A": "B"},
|
||||||
}
|
}
|
||||||
|
o4 := api_v1.ObjectMeta{
|
||||||
o2 := CopyObjectMeta(o1)
|
Namespace: "ns1",
|
||||||
|
Name: "s1",
|
||||||
|
UID: "1231255531412",
|
||||||
|
Annotations: map[string]string{"A": "B"},
|
||||||
|
}
|
||||||
|
o5 := api_v1.ObjectMeta{
|
||||||
|
Namespace: "ns1",
|
||||||
|
Name: "s1",
|
||||||
|
ResourceVersion: "1231231412",
|
||||||
|
Annotations: map[string]string{"A": "B"},
|
||||||
|
}
|
||||||
|
o6 := api_v1.ObjectMeta{
|
||||||
|
Namespace: "ns1",
|
||||||
|
Name: "s1",
|
||||||
|
ResourceVersion: "1231255531412",
|
||||||
|
Annotations: map[string]string{"A": "B"},
|
||||||
|
}
|
||||||
assert.Equal(t, 0, len(o2.UID))
|
assert.Equal(t, 0, len(o2.UID))
|
||||||
assert.Equal(t, 0, len(o2.ResourceVersion))
|
assert.Equal(t, 0, len(o2.ResourceVersion))
|
||||||
assert.Equal(t, o1.Name, o2.Name)
|
assert.Equal(t, o1.Name, o2.Name)
|
||||||
assert.True(t, ObjectMetaEquivalent(o1, o2))
|
assert.True(t, ObjectMetaEquivalent(o1, o2))
|
||||||
assert.False(t, ObjectMetaEquivalent(o1, o3))
|
assert.False(t, ObjectMetaEquivalent(o1, o3))
|
||||||
|
assert.True(t, ObjectMetaEquivalent(o3, o4))
|
||||||
|
assert.True(t, ObjectMetaEquivalent(o5, o6))
|
||||||
|
assert.True(t, ObjectMetaEquivalent(o3, o5))
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user