pkg/k8score/discovery_kueue_visibility_test.go
Rama main · réplica de lectura del repositorio original.
package k8score
import (
"testing"
"k8s.io/apimachinery/pkg/runtime/schema"
)
// TestKueueVisibilityAPIDoesNotShadowQueueCRDs uses the shape Kueue's
// aggregated visibility API serves live (v0.18): Kind PendingWorkloadsSummary,
// no verbs, two plurals that collide with the real CRDs, two versions.
func TestKueueVisibilityAPIDoesNotShadowQueueCRDs(t *testing.T) {
visibility := func(version, name string, namespaced bool) APIResource {
return APIResource{Group: "visibility.kueue.x-k8s.io", Version: version, Kind: "PendingWorkloadsSummary", Name: name, Namespaced: namespaced, IsCRD: true, Verbs: []string{}}
}
crd := func(kind, name string, namespaced bool) APIResource {
return APIResource{Group: "kueue.x-k8s.io", Version: "v1beta2", Kind: kind, Name: name, Namespaced: namespaced, IsCRD: true, Verbs: []string{"get", "list", "watch"}}
}
aggregated := []APIResource{visibility("v1beta2", "localqueues", true), visibility("v1beta2", "clusterqueues", false), visibility("v1beta1", "localqueues", true), visibility("v1beta1", "clusterqueues", false)}
real := []APIResource{crd("LocalQueue", "localqueues", true), crd("ClusterQueue", "clusterqueues", false)}
for _, order := range [][]APIResource{append(append([]APIResource{}, aggregated...), real...), append(append([]APIResource{}, real...), aggregated...)} {
d := &ResourceDiscovery{resourceMap: map[string]APIResource{}, gvrMap: map[string]schema.GroupVersionResource{}}
for _, r := range order {
d.AddAPIResource(r)
}
for _, name := range []string{"localqueues", "clusterqueues", "LocalQueue", "ClusterQueue"} {
gvr, ok := d.GetGVR(name)
if !ok || gvr.Group != "kueue.x-k8s.io" {
t.Fatalf("%s resolved to %v (%v)", name, gvr, ok)
}
}
if gvr, ok := d.GetGVRWithGroup("localqueues", "visibility.kueue.x-k8s.io"); !ok || gvr.Version != "v1beta2" {
t.Fatalf("visibility group lookup: %v %v", gvr, ok)
}
versions := map[string]bool{}
for _, r := range d.Catalog().Resources {
if r.Group == "visibility.kueue.x-k8s.io" && r.Name == "localqueues" {
versions[r.Version] = true
}
}
if !versions["v1beta1"] || !versions["v1beta2"] {
t.Fatalf("catalog must keep every served version: %v", versions)
}
}
}