Ctrl K
ComunidadGuías…

pkg/k8score/deletion_test.go

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

Archivo original ↗Preguntar a KiBot
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)
			}
		})
	}
}