Skip to content

Commit db28b04

Browse files
committedMar 23, 2023
Preserve unstructured object GVKs in cache.Options.ByObject
Signed-off-by: Joe Lanford <joe.lanford@gmail.com>
1 parent c3c1f05 commit db28b04

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed
 

‎pkg/cache/cache.go

+1
Original file line numberDiff line numberDiff line change
@@ -481,6 +481,7 @@ func convertToByObject(in map[schema.GroupVersionKind]internal.InformersOptsByGV
481481
if !ok {
482482
return nil, fmt.Errorf("object %T for GVK %q does not implement client.Object", obj, gvk)
483483
}
484+
cObj.GetObjectKind().SetGroupVersionKind(gvk)
484485
out[cObj] = ByObject{
485486
Field: opts.Selector.Field,
486487
Label: opts.Selector.Label,

‎pkg/cache/cache_unit_test.go

+17
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,23 @@ var _ = Describe("cache.inheritFrom", func() {
126126
Expect(checkError(specified.inheritFrom(inherited)).Namespaces).To(Equal(specified.Namespaces))
127127
})
128128
})
129+
Context("ByObject", func() {
130+
It("maintains GVKs of unstructured ByObject keys", func() {
131+
gvk := gv.WithKind("Unstructured")
132+
obj := &unstructured.Unstructured{}
133+
obj.SetGroupVersionKind(gvk)
134+
specified.Scheme = coreScheme
135+
specified.Scheme.AddKnownTypeWithName(gvk, obj)
136+
specified.ByObject = map[client.Object]ByObject{
137+
obj: {},
138+
}
139+
byObject := checkError(specified.inheritFrom(inherited)).ByObject
140+
Expect(byObject).To(HaveLen(1))
141+
for obj := range byObject {
142+
Expect(obj.GetObjectKind().GroupVersionKind()).To(Equal(gvk))
143+
}
144+
})
145+
})
129146
Context("SelectorsByObject", func() {
130147
It("is unchanged when specified and inherited are unset", func() {
131148
Expect(checkError(specified.inheritFrom(inherited)).ByObject).To(HaveLen(0))

0 commit comments

Comments
 (0)
Please sign in to comment.