pkg/k8score/dynamic_cache_delete_test.go
Rama main · réplica de lectura del repositorio original.
package k8score
import (
"testing"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/client-go/tools/cache"
)
func TestDynamicDeleteTombstonePassesUnwrappedObjectToCallbacks(t *testing.T) {
gvr := schema.GroupVersionResource{
Group: "example.io", Version: "v1", Resource: "widgets",
}
deleted := &unstructured.Unstructured{Object: map[string]any{
"apiVersion": "example.io/v1",
"kind": "Widget",
"metadata": map[string]any{
"namespace": "shop",
"name": "checkout",
"uid": "widget-uid",
},
}}
var callbackObject any
dynamicCache := &DynamicResourceCache{config: DynamicCacheConfig{
OnChange: func(_ ResourceChange, obj, _ any) {
callbackObject = obj
},
}}
dynamicCache.enqueueDynamicChange(
"Widget",
gvr,
cache.DeletedFinalStateUnknown{Key: "shop/checkout", Obj: deleted},
nil,
OpDelete,
)
if callbackObject != deleted {
t.Fatalf("OnChange object = %T %p, want unwrapped object %p", callbackObject, callbackObject, deleted)
}
}