mirror of
https://github.com/projectcapsule/capsule.git
synced 2026-08-19 12:36:39 +00:00
* feat: add leader-election tuning Signed-off-by: Oliver Baehler <oliver@sudo-i.net> * feat: add leader-election tuning Signed-off-by: Oliver Baehler <oliver@sudo-i.net> * feat: add tracing for admission Signed-off-by: Oliver Baehler <oliver@sudo-i.net> * feat: add tracing for admission Signed-off-by: Oliver Baehler <oliver@sudo-i.net> * add tenant --------- Signed-off-by: Oliver Baehler <oliver@sudo-i.net>
88 lines
2.3 KiB
Go
88 lines
2.3 KiB
Go
// Copyright 2020-2026 Project Capsule Authors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package utils_test
|
|
|
|
import (
|
|
stderrors "errors"
|
|
"fmt"
|
|
"testing"
|
|
|
|
gherrors "github.com/pkg/errors"
|
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
|
"k8s.io/apimachinery/pkg/api/meta"
|
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
|
"k8s.io/client-go/discovery"
|
|
"sigs.k8s.io/controller-runtime/pkg/client/apiutil"
|
|
|
|
"github.com/projectcapsule/capsule/pkg/utils"
|
|
)
|
|
|
|
func TestIsUnsupportedAPI_NoKindMatchError(t *testing.T) {
|
|
err := &meta.NoKindMatchError{}
|
|
|
|
if !utils.IsUnsupportedAPI(err) {
|
|
t.Fatalf("expected true for NoKindMatchError")
|
|
}
|
|
}
|
|
|
|
func TestIsUnsupportedAPI_GroupDiscoveryFailed(t *testing.T) {
|
|
err := &discovery.ErrGroupDiscoveryFailed{}
|
|
|
|
if !utils.IsUnsupportedAPI(err) {
|
|
t.Fatalf("expected true for ErrGroupDiscoveryFailed")
|
|
}
|
|
}
|
|
|
|
func TestIsUnsupportedAPI_ResourceDiscoveryFailed(t *testing.T) {
|
|
err := &apiutil.ErrResourceDiscoveryFailed{}
|
|
|
|
if !utils.IsUnsupportedAPI(err) {
|
|
t.Fatalf("expected true for ErrResourceDiscoveryFailed")
|
|
}
|
|
}
|
|
|
|
func TestIsUnsupportedAPI_WrappedError(t *testing.T) {
|
|
base := &meta.NoKindMatchError{}
|
|
err := fmt.Errorf("wrapped: %w", base)
|
|
|
|
if !utils.IsUnsupportedAPI(err) {
|
|
t.Fatalf("expected true for wrapped NoKindMatchError")
|
|
}
|
|
}
|
|
|
|
func TestIsUnsupportedAPI_OtherError(t *testing.T) {
|
|
err := stderrors.New("some other error")
|
|
|
|
if utils.IsUnsupportedAPI(err) {
|
|
t.Fatalf("expected false for unrelated error")
|
|
}
|
|
}
|
|
|
|
func TestIsUnsupportedAPI_NilError(t *testing.T) {
|
|
if utils.IsUnsupportedAPI(nil) {
|
|
t.Fatalf("expected false for nil error")
|
|
}
|
|
}
|
|
|
|
func TestIgnoreWrappedNotFound(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
notFound := apierrors.NewNotFound(schema.GroupResource{Resource: "pods"}, "missing")
|
|
|
|
if got := utils.IgnoreWrappedNotFound(nil); got != nil {
|
|
t.Fatalf("IgnoreWrappedNotFound(nil) = %v, want nil", got)
|
|
}
|
|
if got := utils.IgnoreWrappedNotFound(notFound); got != nil {
|
|
t.Fatalf("IgnoreWrappedNotFound(notFound) = %v, want nil", got)
|
|
}
|
|
if got := utils.IgnoreWrappedNotFound(gherrors.Wrap(notFound, "wrapped")); got != nil {
|
|
t.Fatalf("IgnoreWrappedNotFound(wrapped notFound) = %v, want nil", got)
|
|
}
|
|
|
|
boom := stderrors.New("boom")
|
|
if got := utils.IgnoreWrappedNotFound(boom); got != boom {
|
|
t.Fatalf("IgnoreWrappedNotFound(boom) = %v, want original error", got)
|
|
}
|
|
}
|