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) {
|
func TestAutodeleteOwnerRefs(t *testing.T) {
|
||||||
tests := []struct {
|
tests := []struct {
|
||||||
name string
|
name string
|
||||||
|
namespace string
|
||||||
policy appsv1.StatefulSetPersistentVolumeClaimRetentionPolicy
|
policy appsv1.StatefulSetPersistentVolumeClaimRetentionPolicy
|
||||||
expectPodOwnerRef bool
|
expectPodOwnerRef bool
|
||||||
expectSetOwnerRef bool
|
expectSetOwnerRef bool
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
name: "always retain",
|
name: "always retain",
|
||||||
|
namespace: "always-retain",
|
||||||
policy: appsv1.StatefulSetPersistentVolumeClaimRetentionPolicy{
|
policy: appsv1.StatefulSetPersistentVolumeClaimRetentionPolicy{
|
||||||
WhenDeleted: appsv1.RetainPersistentVolumeClaimRetentionPolicyType,
|
WhenDeleted: appsv1.RetainPersistentVolumeClaimRetentionPolicyType,
|
||||||
WhenScaled: appsv1.RetainPersistentVolumeClaimRetentionPolicyType,
|
WhenScaled: appsv1.RetainPersistentVolumeClaimRetentionPolicyType,
|
||||||
@ -448,7 +450,8 @@ func TestAutodeleteOwnerRefs(t *testing.T) {
|
|||||||
expectSetOwnerRef: false,
|
expectSetOwnerRef: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "delete on scaledown only",
|
name: "delete on scaledown only",
|
||||||
|
namespace: "delete-on-scaledown-only",
|
||||||
policy: appsv1.StatefulSetPersistentVolumeClaimRetentionPolicy{
|
policy: appsv1.StatefulSetPersistentVolumeClaimRetentionPolicy{
|
||||||
WhenDeleted: appsv1.RetainPersistentVolumeClaimRetentionPolicyType,
|
WhenDeleted: appsv1.RetainPersistentVolumeClaimRetentionPolicyType,
|
||||||
WhenScaled: appsv1.DeletePersistentVolumeClaimRetentionPolicyType,
|
WhenScaled: appsv1.DeletePersistentVolumeClaimRetentionPolicyType,
|
||||||
@ -457,7 +460,8 @@ func TestAutodeleteOwnerRefs(t *testing.T) {
|
|||||||
expectSetOwnerRef: false,
|
expectSetOwnerRef: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "delete with set only",
|
name: "delete with set only",
|
||||||
|
namespace: "delete-with-set-only",
|
||||||
policy: appsv1.StatefulSetPersistentVolumeClaimRetentionPolicy{
|
policy: appsv1.StatefulSetPersistentVolumeClaimRetentionPolicy{
|
||||||
WhenDeleted: appsv1.DeletePersistentVolumeClaimRetentionPolicyType,
|
WhenDeleted: appsv1.DeletePersistentVolumeClaimRetentionPolicyType,
|
||||||
WhenScaled: appsv1.RetainPersistentVolumeClaimRetentionPolicyType,
|
WhenScaled: appsv1.RetainPersistentVolumeClaimRetentionPolicyType,
|
||||||
@ -466,7 +470,8 @@ func TestAutodeleteOwnerRefs(t *testing.T) {
|
|||||||
expectSetOwnerRef: true,
|
expectSetOwnerRef: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "always delete",
|
name: "always delete",
|
||||||
|
namespace: "always-delete",
|
||||||
policy: appsv1.StatefulSetPersistentVolumeClaimRetentionPolicy{
|
policy: appsv1.StatefulSetPersistentVolumeClaimRetentionPolicy{
|
||||||
WhenDeleted: appsv1.DeletePersistentVolumeClaimRetentionPolicyType,
|
WhenDeleted: appsv1.DeletePersistentVolumeClaimRetentionPolicyType,
|
||||||
WhenScaled: appsv1.DeletePersistentVolumeClaimRetentionPolicyType,
|
WhenScaled: appsv1.DeletePersistentVolumeClaimRetentionPolicyType,
|
||||||
@ -475,16 +480,18 @@ func TestAutodeleteOwnerRefs(t *testing.T) {
|
|||||||
expectSetOwnerRef: true,
|
expectSetOwnerRef: true,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.StatefulSetAutoDeletePVC, true)()
|
||||||
|
_, ctx := ktesting.NewTestContext(t)
|
||||||
|
closeFn, rm, informers, c := scSetup(ctx, t)
|
||||||
|
defer closeFn()
|
||||||
|
cancel := runControllerAndInformers(rm, informers)
|
||||||
|
defer cancel()
|
||||||
|
|
||||||
for _, test := range tests {
|
for _, test := range tests {
|
||||||
t.Run(test.name, func(t *testing.T) {
|
t.Run(test.name, func(t *testing.T) {
|
||||||
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.StatefulSetAutoDeletePVC, true)()
|
ns := framework.CreateNamespaceOrDie(c, test.namespace, t)
|
||||||
_, 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)
|
defer framework.DeleteNamespaceOrDie(c, ns, t)
|
||||||
cancel := runControllerAndInformers(rm, informers)
|
|
||||||
defer cancel()
|
|
||||||
|
|
||||||
sts := newSTS("sts", ns.Name, 3)
|
sts := newSTS("sts", ns.Name, 3)
|
||||||
sts.Spec.PersistentVolumeClaimRetentionPolicy = &test.policy
|
sts.Spec.PersistentVolumeClaimRetentionPolicy = &test.policy
|
||||||
|
Loading…
Reference in New Issue
Block a user