mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-05 18:24:07 +00:00
Test library and type names
This commit is contained in:
parent
e085f3818a
commit
430b1de921
@ -232,7 +232,7 @@ var authzLib = &authz{}
|
||||
type authz struct{}
|
||||
|
||||
func (*authz) LibraryName() string {
|
||||
return "k8s.authz"
|
||||
return "kubernetes.authz"
|
||||
}
|
||||
|
||||
func (*authz) Types() []*cel.Type {
|
||||
@ -337,7 +337,7 @@ var authzSelectorsLib = &authzSelectors{}
|
||||
type authzSelectors struct{}
|
||||
|
||||
func (*authzSelectors) LibraryName() string {
|
||||
return "k8s.authzSelectors"
|
||||
return "kubernetes.authzSelectors"
|
||||
}
|
||||
|
||||
func (*authzSelectors) Types() []*cel.Type {
|
||||
|
@ -91,7 +91,7 @@ var formatLib = &format{}
|
||||
type format struct{}
|
||||
|
||||
func (*format) LibraryName() string {
|
||||
return "format"
|
||||
return "kubernetes.format"
|
||||
}
|
||||
|
||||
func (*format) Types() []*cel.Type {
|
||||
|
@ -20,6 +20,7 @@ import (
|
||||
"github.com/google/cel-go/cel"
|
||||
"github.com/google/cel-go/common/decls"
|
||||
"github.com/google/cel-go/common/types"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"k8s.io/apimachinery/pkg/util/sets"
|
||||
@ -28,6 +29,9 @@ import (
|
||||
func TestLibraryCompatibility(t *testing.T) {
|
||||
functionNames := sets.New[string]()
|
||||
for _, lib := range KnownLibraries() {
|
||||
if !strings.HasPrefix(lib.LibraryName(), "kubernetes.") {
|
||||
t.Errorf("Expected all kubernetes CEL libraries to have a name package with a 'kubernetes.' prefix but got %v", lib.LibraryName())
|
||||
}
|
||||
for name := range lib.declarations() {
|
||||
functionNames[name] = struct{}{}
|
||||
}
|
||||
@ -93,8 +97,11 @@ func TestTypeRegistration(t *testing.T) {
|
||||
}
|
||||
}
|
||||
}
|
||||
for _, t := range lib.Types() {
|
||||
registeredTypes.Insert(t)
|
||||
for _, lb := range lib.Types() {
|
||||
registeredTypes.Insert(lb)
|
||||
if !strings.HasPrefix(lb.TypeName(), "kubernetes.") && !legacyTypeNames.Has(lb.TypeName()) {
|
||||
t.Errorf("Expected all types in kubernetes CEL libraries to have a type name packaged with a 'kubernetes.' prefix but got %v", lb.TypeName())
|
||||
}
|
||||
}
|
||||
unregistered := usedTypes.Difference(registeredTypes)
|
||||
if len(unregistered) != 0 {
|
||||
@ -102,3 +109,6 @@ func TestTypeRegistration(t *testing.T) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Consider renaming these to "kubernetes.net.IP" and "kubernetes.net.CIDR" if we decide not to promote them to cel-go
|
||||
var legacyTypeNames = sets.New[string]("net.IP", "net.CIDR")
|
||||
|
@ -96,7 +96,7 @@ var listsLib = &lists{}
|
||||
type lists struct{}
|
||||
|
||||
func (*lists) LibraryName() string {
|
||||
return "k8s.lists"
|
||||
return "kubernetes.lists"
|
||||
}
|
||||
|
||||
func (*lists) Types() []*cel.Type {
|
||||
|
@ -143,7 +143,7 @@ var quantityLib = &quantity{}
|
||||
type quantity struct{}
|
||||
|
||||
func (*quantity) LibraryName() string {
|
||||
return "k8s.quantity"
|
||||
return "kubernetes.quantity"
|
||||
}
|
||||
|
||||
func (*quantity) Types() []*cel.Type {
|
||||
|
@ -52,7 +52,7 @@ var regexLib = ®ex{}
|
||||
type regex struct{}
|
||||
|
||||
func (*regex) LibraryName() string {
|
||||
return "k8s.regex"
|
||||
return "kubernetes.regex"
|
||||
}
|
||||
|
||||
func (*regex) Types() []*cel.Type {
|
||||
|
@ -38,7 +38,7 @@ type testLib struct {
|
||||
}
|
||||
|
||||
func (*testLib) LibraryName() string {
|
||||
return "k8s.test"
|
||||
return "kubernetes.test"
|
||||
}
|
||||
|
||||
type TestOption func(*testLib) *testLib
|
||||
|
@ -113,7 +113,7 @@ var urlsLib = &urls{}
|
||||
type urls struct{}
|
||||
|
||||
func (*urls) LibraryName() string {
|
||||
return "k8s.urls"
|
||||
return "kubernetes.urls"
|
||||
}
|
||||
|
||||
func (*urls) Types() []*cel.Type {
|
||||
|
Loading…
Reference in New Issue
Block a user