Ctrl K
ComunidadGuías…

pkg/k8score/discovery_kueue_visibility_test.go

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
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)
		}
	}
}