Skip to content

Commit ca0df61

Browse files
authored
Merge pull request #2567 from chelseychen/fix-ResolveGVKToGVKPs
fix: Fix CR cache for GVK all specified case
2 parents 32e7727 + 5631601 commit ca0df61

File tree

2 files changed

+27
-13
lines changed

2 files changed

+27
-13
lines changed

internal/discovery/discovery.go

+10-13
Original file line numberDiff line numberDiff line change
@@ -127,23 +127,20 @@ func (r *CRDiscoverer) ResolveGVKToGVKPs(gvk schema.GroupVersionKind) (resolvedG
127127
hasKind := k != "" && k != "*"
128128
// No need to resolve, return.
129129
if hasVersion && hasKind {
130-
var p string
131130
for _, el := range r.Map[g][v] {
132131
if el.Kind == k {
133-
p = el.Plural
134-
break
132+
return []groupVersionKindPlural{
133+
{
134+
GroupVersionKind: schema.GroupVersionKind{
135+
Group: g,
136+
Version: v,
137+
Kind: k,
138+
},
139+
Plural: el.Plural,
140+
},
141+
}, nil
135142
}
136143
}
137-
return []groupVersionKindPlural{
138-
{
139-
GroupVersionKind: schema.GroupVersionKind{
140-
Group: g,
141-
Version: v,
142-
Kind: k,
143-
},
144-
Plural: p,
145-
},
146-
}, nil
147144
}
148145
if hasVersion && !hasKind {
149146
kinds := r.Map[g][v]

internal/discovery/discovery_test.go

+17
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,23 @@ func TestGVKMapsResolveGVK(t *testing.T) {
163163
},
164164
},
165165
},
166+
{
167+
desc: "fixed version and kind, no matching cache entry",
168+
gvkmaps: &CRDiscoverer{
169+
Map: map[string]map[string][]kindPlural{
170+
"testgroup": {
171+
"v1": {
172+
kindPlural{
173+
Kind: "TestObject2",
174+
Plural: "testobjects2",
175+
},
176+
},
177+
},
178+
},
179+
},
180+
gvk: schema.GroupVersionKind{Group: "testgroup", Version: "v1", Kind: "TestObject1"},
181+
want: nil,
182+
},
166183
}
167184
for _, tc := range testcases {
168185
got, err := tc.gvkmaps.ResolveGVKToGVKPs(tc.gvk)

0 commit comments

Comments
 (0)