Skip to content

Commit

Permalink
Move expensive test setup (apiserver and running controller) to be ru…
Browse files Browse the repository at this point in the history
…n once in StatefulSetStartOrdinal parameterized tests
  • Loading branch information
pwschuurman committed Feb 3, 2023
1 parent 8ef9b05 commit bc211bf
Showing 1 changed file with 15 additions and 8 deletions.
23 changes: 15 additions & 8 deletions test/integration/statefulset/statefulset_test.go
Expand Up @@ -486,46 +486,53 @@ func TestStatefulSetStartOrdinal(t *testing.T) {
tests := []struct {
ordinals *appsv1.StatefulSetOrdinals
name string
namespace string
replicas int
expectedPodNames []string
}{
{
name: "default start ordinal, no ordinals set",
namespace: "no-ordinals",
replicas: 3,
expectedPodNames: []string{"sts-0", "sts-1", "sts-2"},
},
{
name: "default start ordinal",
namespace: "no-start-ordinals",
ordinals: &appsv1.StatefulSetOrdinals{},
replicas: 3,
expectedPodNames: []string{"sts-0", "sts-1", "sts-2"},
},
{
name: "start ordinal 4",
name: "start ordinal 4",
namespace: "start-ordinal-4",
ordinals: &appsv1.StatefulSetOrdinals{
Start: 4,
},
replicas: 4,
expectedPodNames: []string{"sts-4", "sts-5", "sts-6", "sts-7"},
},
{
name: "start ordinal 5",
name: "start ordinal 5",
namespace: "start-ordinal-5",
ordinals: &appsv1.StatefulSetOrdinals{
Start: 2,
},
replicas: 7,
expectedPodNames: []string{"sts-2", "sts-3", "sts-4", "sts-5", "sts-6", "sts-7", "sts-8"},
},
}

defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.StatefulSetStartOrdinal, true)()
closeFn, rm, informers, c := scSetup(t)
defer closeFn()
cancel := runControllerAndInformers(rm, informers)
defer cancel()

for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.StatefulSetStartOrdinal, true)()
closeFn, rm, informers, c := scSetup(t)
defer closeFn()
ns := framework.CreateNamespaceOrDie(c, "test-start-ordinal", t)
ns := framework.CreateNamespaceOrDie(c, test.namespace, t)
defer framework.DeleteNamespaceOrDie(c, ns, t)
cancel := runControllerAndInformers(rm, informers)
defer cancel()

// Label map is the map of pod labels used in newSTS()
labelMap := labelMap()
Expand Down

0 comments on commit bc211bf

Please sign in to comment.