Ctrl K
ComunidadGuías…

pkg/configrefs/knative_reference_contracts_test.go

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

Archivo original ↗Preguntar a KiBot
package configrefs

import "testing"

func TestKnativeReferenceAlternatives(t *testing.T) {
	for _, tc := range []struct {
		version, group, wantGroup string
		valid                     bool
	}{
		{"v1", "", "", true}, {"serving.knative.dev/v1", "", "serving.knative.dev", true},
		{"", "eventing.knative.dev", "eventing.knative.dev", true},
		{"eventing.knative.dev/v1", "eventing.knative.dev", "eventing.knative.dev", true},
		{"v1", "serving.knative.dev", "", false}, {"", "", "", false}, {"group/", "", "", false},
	} {
		ref, valid := KnativeReference(map[string]any{"apiVersion": tc.version, "group": tc.group, "kind": "Service", "name": "web"}, "app")
		if valid != tc.valid || valid && (ref.Group != tc.wantGroup || ref.Namespace != "app") {
			t.Fatalf("%s/%s: %+v valid=%v", tc.version, tc.group, ref, valid)
		}
	}
}

func TestTriggerBrokerLookupIgnoresKReferenceTypeFields(t *testing.T) {
	ref, valid := KnativeTriggerBrokerReference(map[string]any{"namespace": "events", "name": "broker", "kind": "Service", "apiVersion": "v1"})
	if !valid || ref.Group != "eventing.knative.dev" || ref.Kind != "Broker" {
		t.Fatalf("ref=%+v", ref)
	}
	if _, valid := KnativeTriggerBrokerReference(map[string]any{"name": "broker"}); valid {
		t.Fatal("reconciler does not default missing brokerRef namespace")
	}
}