mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-07 03:03:59 +00:00
Move expensive test setup (apiserver and running controller) to be run once in TestAutodeleteOwnerRefs parameterized tests
This commit is contained in:
parent
0c645922ed
commit
a3a4192eb9
@ -434,12 +434,14 @@ func TestStatefulSetStatusWithPodFail(t *testing.T) {
|
||||
func TestAutodeleteOwnerRefs(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
namespace string
|
||||
policy appsv1.StatefulSetPersistentVolumeClaimRetentionPolicy
|
||||
expectPodOwnerRef bool
|
||||
expectSetOwnerRef bool
|
||||
}{
|
||||
{
|
||||
name: "always retain",
|
||||
namespace: "always-retain",
|
||||
policy: appsv1.StatefulSetPersistentVolumeClaimRetentionPolicy{
|
||||
WhenDeleted: appsv1.RetainPersistentVolumeClaimRetentionPolicyType,
|
||||
WhenScaled: appsv1.RetainPersistentVolumeClaimRetentionPolicyType,
|
||||
@ -449,6 +451,7 @@ func TestAutodeleteOwnerRefs(t *testing.T) {
|
||||
},
|
||||
{
|
||||
name: "delete on scaledown only",
|
||||
namespace: "delete-on-scaledown-only",
|
||||
policy: appsv1.StatefulSetPersistentVolumeClaimRetentionPolicy{
|
||||
WhenDeleted: appsv1.RetainPersistentVolumeClaimRetentionPolicyType,
|
||||
WhenScaled: appsv1.DeletePersistentVolumeClaimRetentionPolicyType,
|
||||
@ -458,6 +461,7 @@ func TestAutodeleteOwnerRefs(t *testing.T) {
|
||||
},
|
||||
{
|
||||
name: "delete with set only",
|
||||
namespace: "delete-with-set-only",
|
||||
policy: appsv1.StatefulSetPersistentVolumeClaimRetentionPolicy{
|
||||
WhenDeleted: appsv1.DeletePersistentVolumeClaimRetentionPolicyType,
|
||||
WhenScaled: appsv1.RetainPersistentVolumeClaimRetentionPolicyType,
|
||||
@ -467,6 +471,7 @@ func TestAutodeleteOwnerRefs(t *testing.T) {
|
||||
},
|
||||
{
|
||||
name: "always delete",
|
||||
namespace: "always-delete",
|
||||
policy: appsv1.StatefulSetPersistentVolumeClaimRetentionPolicy{
|
||||
WhenDeleted: appsv1.DeletePersistentVolumeClaimRetentionPolicyType,
|
||||
WhenScaled: appsv1.DeletePersistentVolumeClaimRetentionPolicyType,
|
||||
@ -475,17 +480,19 @@ func TestAutodeleteOwnerRefs(t *testing.T) {
|
||||
expectSetOwnerRef: true,
|
||||
},
|
||||
}
|
||||
for _, test := range tests {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
|
||||
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.StatefulSetAutoDeletePVC, true)()
|
||||
_, ctx := ktesting.NewTestContext(t)
|
||||
closeFn, rm, informers, c := scSetup(ctx, t)
|
||||
defer closeFn()
|
||||
ns := framework.CreateNamespaceOrDie(c, "test-autodelete-ownerrefs", t)
|
||||
defer framework.DeleteNamespaceOrDie(c, ns, t)
|
||||
cancel := runControllerAndInformers(rm, informers)
|
||||
defer cancel()
|
||||
|
||||
for _, test := range tests {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
ns := framework.CreateNamespaceOrDie(c, test.namespace, t)
|
||||
defer framework.DeleteNamespaceOrDie(c, ns, t)
|
||||
|
||||
sts := newSTS("sts", ns.Name, 3)
|
||||
sts.Spec.PersistentVolumeClaimRetentionPolicy = &test.policy
|
||||
stss, _ := createSTSsPods(t, c, []*appsv1.StatefulSet{sts}, []*v1.Pod{})
|
||||
|
Loading…
Reference in New Issue
Block a user