pkg/k8score/deletion_test.go
Rama main · réplica de lectura del repositorio original.
package k8score
import (
"testing"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
func TestPendingDeletionPolicy(t *testing.T) {
for _, tt := range []struct {
name string
finalizers []string
want metav1.DeletionPropagation
ok bool
}{
{name: "nil"},
{name: "empty", finalizers: []string{}},
{name: "custom", finalizers: []string{"example.com/cleanup"}},
{name: "foreground", finalizers: []string{metav1.FinalizerDeleteDependents}, want: metav1.DeletePropagationForeground, ok: true},
{name: "orphan", finalizers: []string{metav1.FinalizerOrphanDependents}, want: metav1.DeletePropagationOrphan, ok: true},
{name: "custom and foreground", finalizers: []string{"example.com/cleanup", metav1.FinalizerDeleteDependents}, want: metav1.DeletePropagationForeground, ok: true},
{name: "custom and orphan", finalizers: []string{"example.com/cleanup", metav1.FinalizerOrphanDependents}, want: metav1.DeletePropagationOrphan, ok: true},
{name: "both GC finalizers", finalizers: []string{metav1.FinalizerOrphanDependents, metav1.FinalizerDeleteDependents}, want: metav1.DeletePropagationForeground, ok: true},
} {
t.Run(tt.name, func(t *testing.T) {
got, ok := PendingDeletionPolicy(tt.finalizers)
if got != tt.want || ok != tt.ok {
t.Errorf("PendingDeletionPolicy(%v) = (%q, %v), want (%q, %v)", tt.finalizers, got, ok, tt.want, tt.ok)
}
})
}
}