Skip to content

Commit ab99642

Browse files
authored
Replace require with assert in retry funcs (#1330)
When `require` assertions are not satisfied they fails a test immediately. This is not desired when used with retry function such as `EventuallyWithT` since they are supposed to retry on a failure. This can cause flakes when, for example, we are asserting on a resource condition. On the first hit the resource might not have a condition and `require` will fail `EventuallyWithT` despite the fact that the code is correct and the condition gets set eventually. Signed-off-by: Mikalai Radchuk <[email protected]>
1 parent 801388a commit ab99642

File tree

1 file changed

+60
-20
lines changed

1 file changed

+60
-20
lines changed

test/e2e/cluster_extension_install_test.go

Lines changed: 60 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,9 @@ func TestClusterExtensionInstallRegistry(t *testing.T) {
274274
require.EventuallyWithT(t, func(ct *assert.CollectT) {
275275
assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension))
276276
cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1alpha1.TypeProgressing)
277-
require.NotNil(ct, cond)
277+
if !assert.NotNil(ct, cond) {
278+
return
279+
}
278280
assert.Equal(ct, metav1.ConditionFalse, cond.Status)
279281
assert.Equal(ct, ocv1alpha1.ReasonSuccess, cond.Reason)
280282
}, pollDuration, pollInterval)
@@ -283,7 +285,9 @@ func TestClusterExtensionInstallRegistry(t *testing.T) {
283285
require.EventuallyWithT(t, func(ct *assert.CollectT) {
284286
assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension))
285287
cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1alpha1.TypeInstalled)
286-
require.NotNil(ct, cond)
288+
if !assert.NotNil(ct, cond) {
289+
return
290+
}
287291
assert.Equal(ct, metav1.ConditionTrue, cond.Status)
288292
assert.Equal(ct, ocv1alpha1.ReasonSuccess, cond.Reason)
289293
assert.Contains(ct, cond.Message, "Installed bundle")
@@ -327,7 +331,9 @@ func TestClusterExtensionInstallRegistryMultipleBundles(t *testing.T) {
327331
require.EventuallyWithT(t, func(ct *assert.CollectT) {
328332
assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension))
329333
cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1alpha1.TypeProgressing)
330-
require.NotNil(ct, cond)
334+
if !assert.NotNil(ct, cond) {
335+
return
336+
}
331337
assert.Equal(ct, metav1.ConditionTrue, cond.Status)
332338
assert.Equal(ct, ocv1alpha1.ReasonRetrying, cond.Reason)
333339
assert.Contains(ct, cond.Message, "in multiple catalogs with the same priority [operatorhubio test-catalog]")
@@ -372,7 +378,9 @@ func TestClusterExtensionBlockInstallNonSuccessorVersion(t *testing.T) {
372378
)
373379

374380
cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1alpha1.TypeProgressing)
375-
require.NotNil(ct, cond)
381+
if !assert.NotNil(ct, cond) {
382+
return
383+
}
376384
assert.Equal(ct, metav1.ConditionFalse, cond.Status)
377385
assert.Equal(ct, ocv1alpha1.ReasonSuccess, cond.Reason)
378386
}, pollDuration, pollInterval)
@@ -391,7 +399,9 @@ func TestClusterExtensionBlockInstallNonSuccessorVersion(t *testing.T) {
391399
require.EventuallyWithT(t, func(ct *assert.CollectT) {
392400
assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension))
393401
cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1alpha1.TypeProgressing)
394-
require.NotNil(ct, cond)
402+
if !assert.NotNil(ct, cond) {
403+
return
404+
}
395405
assert.Equal(ct, ocv1alpha1.ReasonRetrying, cond.Reason)
396406
assert.Equal(ct, "error upgrading from currently installed version \"1.0.0\": no bundles found for package \"prometheus\" matching version \"1.2.0\"", cond.Message)
397407
}, pollDuration, pollInterval)
@@ -426,7 +436,9 @@ func TestClusterExtensionForceInstallNonSuccessorVersion(t *testing.T) {
426436
require.EventuallyWithT(t, func(ct *assert.CollectT) {
427437
assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension))
428438
cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1alpha1.TypeProgressing)
429-
require.NotNil(ct, cond)
439+
if !assert.NotNil(ct, cond) {
440+
return
441+
}
430442
assert.Equal(ct, metav1.ConditionFalse, cond.Status)
431443
assert.Equal(ct, ocv1alpha1.ReasonSuccess, cond.Reason)
432444
}, pollDuration, pollInterval)
@@ -441,7 +453,9 @@ func TestClusterExtensionForceInstallNonSuccessorVersion(t *testing.T) {
441453
require.EventuallyWithT(t, func(ct *assert.CollectT) {
442454
assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension))
443455
cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1alpha1.TypeProgressing)
444-
require.NotNil(ct, cond)
456+
if !assert.NotNil(ct, cond) {
457+
return
458+
}
445459
assert.Equal(ct, metav1.ConditionFalse, cond.Status)
446460
assert.Equal(ct, ocv1alpha1.ReasonSuccess, cond.Reason)
447461
}, pollDuration, pollInterval)
@@ -475,7 +489,9 @@ func TestClusterExtensionInstallSuccessorVersion(t *testing.T) {
475489
require.EventuallyWithT(t, func(ct *assert.CollectT) {
476490
assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension))
477491
cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1alpha1.TypeProgressing)
478-
require.NotNil(ct, cond)
492+
if !assert.NotNil(ct, cond) {
493+
return
494+
}
479495
assert.Equal(ct, metav1.ConditionFalse, cond.Status)
480496
assert.Equal(ct, ocv1alpha1.ReasonSuccess, cond.Reason)
481497
}, pollDuration, pollInterval)
@@ -489,7 +505,9 @@ func TestClusterExtensionInstallSuccessorVersion(t *testing.T) {
489505
require.EventuallyWithT(t, func(ct *assert.CollectT) {
490506
assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension))
491507
cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1alpha1.TypeProgressing)
492-
require.NotNil(ct, cond)
508+
if !assert.NotNil(ct, cond) {
509+
return
510+
}
493511
assert.Equal(ct, metav1.ConditionFalse, cond.Status)
494512
assert.Equal(ct, ocv1alpha1.ReasonSuccess, cond.Reason)
495513
}, pollDuration, pollInterval)
@@ -533,7 +551,9 @@ func TestClusterExtensionInstallReResolvesWhenCatalogIsPatched(t *testing.T) {
533551
require.EventuallyWithT(t, func(ct *assert.CollectT) {
534552
assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension))
535553
cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1alpha1.TypeProgressing)
536-
require.NotNil(ct, cond)
554+
if !assert.NotNil(ct, cond) {
555+
return
556+
}
537557
assert.Equal(ct, metav1.ConditionFalse, cond.Status)
538558
assert.Equal(ct, ocv1alpha1.ReasonSuccess, cond.Reason)
539559
}, pollDuration, pollInterval)
@@ -546,7 +566,9 @@ func TestClusterExtensionInstallReResolvesWhenCatalogIsPatched(t *testing.T) {
546566
require.EventuallyWithT(t, func(ct *assert.CollectT) {
547567
assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: extensionCatalog.Name}, extensionCatalog))
548568
cond := apimeta.FindStatusCondition(extensionCatalog.Status.Conditions, catalogd.TypeServing)
549-
require.NotNil(ct, cond)
569+
if !assert.NotNil(ct, cond) {
570+
return
571+
}
550572
assert.Equal(ct, metav1.ConditionTrue, cond.Status)
551573
assert.Equal(ct, catalogd.ReasonAvailable, cond.Reason)
552574
}, pollDuration, pollInterval)
@@ -555,7 +577,9 @@ func TestClusterExtensionInstallReResolvesWhenCatalogIsPatched(t *testing.T) {
555577
require.EventuallyWithT(t, func(ct *assert.CollectT) {
556578
assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension))
557579
cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1alpha1.TypeProgressing)
558-
require.NotNil(ct, cond)
580+
if !assert.NotNil(ct, cond) {
581+
return
582+
}
559583
assert.Equal(ct, metav1.ConditionFalse, cond.Status)
560584
assert.Equal(ct, ocv1alpha1.ReasonSuccess, cond.Reason)
561585
}, pollDuration, pollInterval)
@@ -611,7 +635,9 @@ func TestClusterExtensionInstallReResolvesWhenNewCatalog(t *testing.T) {
611635
require.EventuallyWithT(t, func(ct *assert.CollectT) {
612636
assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension))
613637
cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1alpha1.TypeProgressing)
614-
require.NotNil(ct, cond)
638+
if !assert.NotNil(ct, cond) {
639+
return
640+
}
615641
assert.Equal(ct, metav1.ConditionFalse, cond.Status)
616642
assert.Equal(ct, ocv1alpha1.ReasonSuccess, cond.Reason)
617643
}, pollDuration, pollInterval)
@@ -624,7 +650,9 @@ func TestClusterExtensionInstallReResolvesWhenNewCatalog(t *testing.T) {
624650
require.EventuallyWithT(t, func(ct *assert.CollectT) {
625651
assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: extensionCatalog.Name}, extensionCatalog))
626652
cond := apimeta.FindStatusCondition(extensionCatalog.Status.Conditions, catalogd.TypeServing)
627-
require.NotNil(ct, cond)
653+
if !assert.NotNil(ct, cond) {
654+
return
655+
}
628656
assert.Equal(ct, metav1.ConditionTrue, cond.Status)
629657
assert.Equal(ct, catalogd.ReasonAvailable, cond.Reason)
630658
}, pollDuration, pollInterval)
@@ -633,7 +661,9 @@ func TestClusterExtensionInstallReResolvesWhenNewCatalog(t *testing.T) {
633661
require.EventuallyWithT(t, func(ct *assert.CollectT) {
634662
assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension))
635663
cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1alpha1.TypeProgressing)
636-
require.NotNil(ct, cond)
664+
if !assert.NotNil(ct, cond) {
665+
return
666+
}
637667
assert.Equal(ct, metav1.ConditionFalse, cond.Status)
638668
assert.Equal(ct, ocv1alpha1.ReasonSuccess, cond.Reason)
639669
}, pollDuration, pollInterval)
@@ -671,7 +701,9 @@ func TestClusterExtensionInstallReResolvesWhenManagedContentChanged(t *testing.T
671701
require.EventuallyWithT(t, func(ct *assert.CollectT) {
672702
assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension))
673703
cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1alpha1.TypeInstalled)
674-
require.NotNil(ct, cond)
704+
if !assert.NotNil(ct, cond) {
705+
return
706+
}
675707
assert.Equal(ct, metav1.ConditionTrue, cond.Status)
676708
assert.Equal(ct, ocv1alpha1.ReasonSuccess, cond.Reason)
677709
assert.Contains(ct, cond.Message, "Installed bundle")
@@ -740,7 +772,9 @@ func TestClusterExtensionRecoversFromInitialInstallFailedWhenFailureFixed(t *tes
740772
require.EventuallyWithT(t, func(ct *assert.CollectT) {
741773
assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension))
742774
cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1alpha1.TypeProgressing)
743-
require.NotNil(ct, cond)
775+
if !assert.NotNil(ct, cond) {
776+
return
777+
}
744778
assert.Equal(ct, metav1.ConditionTrue, cond.Status)
745779
assert.Equal(ct, ocv1alpha1.ReasonRetrying, cond.Reason)
746780
}, pollDuration, pollInterval)
@@ -749,7 +783,9 @@ func TestClusterExtensionRecoversFromInitialInstallFailedWhenFailureFixed(t *tes
749783
require.EventuallyWithT(t, func(ct *assert.CollectT) {
750784
assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension))
751785
cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1alpha1.TypeInstalled)
752-
require.NotNil(ct, cond)
786+
if !assert.NotNil(ct, cond) {
787+
return
788+
}
753789
assert.Equal(ct, metav1.ConditionFalse, cond.Status)
754790
assert.Equal(ct, ocv1alpha1.ReasonFailed, cond.Reason)
755791
assert.Contains(ct, cond.Message, "forbidden")
@@ -766,7 +802,9 @@ func TestClusterExtensionRecoversFromInitialInstallFailedWhenFailureFixed(t *tes
766802
require.EventuallyWithT(t, func(ct *assert.CollectT) {
767803
assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension))
768804
cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1alpha1.TypeInstalled)
769-
require.NotNil(ct, cond)
805+
if !assert.NotNil(ct, cond) {
806+
return
807+
}
770808
assert.Equal(ct, metav1.ConditionTrue, cond.Status)
771809
assert.Equal(ct, ocv1alpha1.ReasonSuccess, cond.Reason)
772810
assert.Contains(ct, cond.Message, "Installed bundle")
@@ -777,7 +815,9 @@ func TestClusterExtensionRecoversFromInitialInstallFailedWhenFailureFixed(t *tes
777815
require.EventuallyWithT(t, func(ct *assert.CollectT) {
778816
assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension))
779817
cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1alpha1.TypeProgressing)
780-
require.NotNil(ct, cond)
818+
if !assert.NotNil(ct, cond) {
819+
return
820+
}
781821
assert.Equal(ct, metav1.ConditionFalse, cond.Status)
782822
assert.Equal(ct, ocv1alpha1.ReasonSuccess, cond.Reason)
783823
}, pollDuration, pollInterval)

0 commit comments

Comments
 (0)