@@ -28,7 +28,6 @@ import (
2828
2929 "go.opentelemetry.io/otel"
3030 "gotest.tools/v3/assert"
31- appsv1 "k8s.io/api/apps/v1"
3231 corev1 "k8s.io/api/core/v1"
3332 apierrors "k8s.io/apimachinery/pkg/api/errors"
3433 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -201,29 +200,20 @@ func TestReconcilerHandleDelete(t *testing.T) {
201200 "cluster should immediately have a finalizer" )
202201
203202 // Continue until instances are healthy.
204- var instances []appsv1.StatefulSet
205- var ready int32
206- assert .NilError (t , wait .Poll (time .Second , Scale (time .Minute ), func () (bool , error ) {
207- mustReconcile (t , cluster )
208-
209- list := appsv1.StatefulSetList {}
210- selector , err := labels .Parse (strings .Join ([]string {
211- "postgres-operator.crunchydata.com/cluster=" + cluster .Name ,
212- "postgres-operator.crunchydata.com/instance" ,
213- }, "," ))
214- assert .NilError (t , err )
215- assert .NilError (t , cc .List (ctx , & list ,
216- client .InNamespace (cluster .Namespace ),
217- client.MatchingLabelsSelector {Selector : selector }))
218-
219- instances = list .Items
220-
221- ready = int32 (0 )
222- for i := range instances {
223- ready += instances [i ].Status .ReadyReplicas
224- }
225- return ready >= test .waitForRunningInstances , nil
226- }), "expected %v instances to be ready, got:\n %v" , test .waitForRunningInstances , ready )
203+ if ready := int32 (0 ); ! assert .Check (t ,
204+ wait .Poll (time .Second , Scale (time .Minute ), func () (bool , error ) {
205+ mustReconcile (t , cluster )
206+ assert .NilError (t , cc .Get (ctx , client .ObjectKeyFromObject (cluster ), cluster ))
207+
208+ ready = 0
209+ for _ , set := range cluster .Status .InstanceSets {
210+ ready += set .ReadyReplicas
211+ }
212+ return ready >= test .waitForRunningInstances , nil
213+ }), "expected %v instances to be ready, got: %v" , test .waitForRunningInstances , ready ,
214+ ) {
215+ t .FailNow ()
216+ }
227217
228218 if test .beforeDelete != nil {
229219 test .beforeDelete (t , cluster )
@@ -412,27 +402,20 @@ func TestReconcilerHandleDeleteNamespace(t *testing.T) {
412402 client .Merge .Type (), []byte (`{"metadata":{"finalizers":[]}}` )))))
413403 })
414404
415- var instances []appsv1.StatefulSet
416- var ready int32
417- assert .NilError (t , wait .Poll (time .Second , Scale (time .Minute ), func () (bool , error ) {
418- list := appsv1.StatefulSetList {}
419- selector , err := labels .Parse (strings .Join ([]string {
420- "postgres-operator.crunchydata.com/cluster=" + cluster .Name ,
421- "postgres-operator.crunchydata.com/instance" ,
422- }, "," ))
423- assert .NilError (t , err )
424- assert .NilError (t , cc .List (ctx , & list ,
425- client .InNamespace (cluster .Namespace ),
426- client.MatchingLabelsSelector {Selector : selector }))
427-
428- instances = list .Items
429-
430- ready = 0
431- for i := range instances {
432- ready += instances [i ].Status .ReadyReplicas
433- }
434- return ready >= 2 , nil
435- }), "expected 2 instances to be ready, got:\n %v" , ready )
405+ // Wait until instances are healthy.
406+ if ready := int32 (0 ); ! assert .Check (t ,
407+ wait .Poll (time .Second , Scale (time .Minute ), func () (bool , error ) {
408+ assert .NilError (t , cc .Get (ctx , client .ObjectKeyFromObject (cluster ), cluster ))
409+
410+ ready = 0
411+ for _ , set := range cluster .Status .InstanceSets {
412+ ready += set .ReadyReplicas
413+ }
414+ return ready >= 2 , nil
415+ }), "expected 2 instances to be ready, got: %v" , ready ,
416+ ) {
417+ t .FailNow ()
418+ }
436419
437420 // Delete the namespace.
438421 assert .NilError (t , cc .Delete (ctx , ns ))
0 commit comments