diff --git a/test/e2e/cluster_extension_install_test.go b/test/e2e/cluster_extension_install_test.go index 211678bfc..99a30eabb 100644 --- a/test/e2e/cluster_extension_install_test.go +++ b/test/e2e/cluster_extension_install_test.go @@ -238,26 +238,26 @@ func validateCatalogUnpack(t *testing.T) { t.Log("Ensuring ClusterCatalog has Status.Condition of Progressing with a status == True and reason == Succeeded") require.EventuallyWithT(t, func(ct *assert.CollectT) { err := c.Get(context.Background(), types.NamespacedName{Name: testCatalogName}, catalog) - assert.NoError(ct, err) + require.NoError(ct, err) cond := apimeta.FindStatusCondition(catalog.Status.Conditions, ocv1.TypeProgressing) - assert.NotNil(ct, cond) - assert.Equal(ct, metav1.ConditionTrue, cond.Status) - assert.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) + require.NotNil(ct, cond) + require.Equal(ct, metav1.ConditionTrue, cond.Status) + require.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) }, pollDuration, pollInterval) t.Log("Checking that catalog has the expected metadata label") - assert.NotNil(t, catalog.Labels) - assert.Contains(t, catalog.Labels, "olm.operatorframework.io/metadata.name") - assert.Equal(t, testCatalogName, catalog.Labels["olm.operatorframework.io/metadata.name"]) + require.NotNil(t, catalog.Labels) + require.Contains(t, catalog.Labels, "olm.operatorframework.io/metadata.name") + require.Equal(t, testCatalogName, catalog.Labels["olm.operatorframework.io/metadata.name"]) t.Log("Ensuring ClusterCatalog has Status.Condition of Type = Serving with status == True") require.EventuallyWithT(t, func(ct *assert.CollectT) { err := c.Get(context.Background(), types.NamespacedName{Name: testCatalogName}, catalog) - assert.NoError(ct, err) + require.NoError(ct, err) cond := apimeta.FindStatusCondition(catalog.Status.Conditions, ocv1.TypeServing) - assert.NotNil(ct, cond) - assert.Equal(ct, metav1.ConditionTrue, cond.Status) - assert.Equal(ct, ocv1.ReasonAvailable, cond.Reason) + require.NotNil(ct, cond) + require.Equal(ct, metav1.ConditionTrue, cond.Status) + require.Equal(ct, ocv1.ReasonAvailable, cond.Reason) }, pollDuration, pollInterval) } @@ -270,24 +270,24 @@ func ensureNoExtensionResources(t *testing.T, clusterExtensionName string) { require.EventuallyWithT(t, func(ct *assert.CollectT) { list := &apiextensionsv1.CustomResourceDefinitionList{} err := c.List(context.Background(), list, client.MatchingLabelsSelector{Selector: ls.AsSelector()}) - assert.NoError(ct, err) - assert.Empty(ct, list.Items) + require.NoError(ct, err) + require.Empty(ct, list.Items) }, 5*pollDuration, pollInterval) t.Logf("By waiting for ClusterRoleBindings of %q to be deleted", clusterExtensionName) require.EventuallyWithT(t, func(ct *assert.CollectT) { list := &rbacv1.ClusterRoleBindingList{} err := c.List(context.Background(), list, client.MatchingLabelsSelector{Selector: ls.AsSelector()}) - assert.NoError(ct, err) - assert.Empty(ct, list.Items) + require.NoError(ct, err) + require.Empty(ct, list.Items) }, 2*pollDuration, pollInterval) t.Logf("By waiting for ClusterRoles of %q to be deleted", clusterExtensionName) require.EventuallyWithT(t, func(ct *assert.CollectT) { list := &rbacv1.ClusterRoleList{} err := c.List(context.Background(), list, client.MatchingLabelsSelector{Selector: ls.AsSelector()}) - assert.NoError(ct, err) - assert.Empty(ct, list.Items) + require.NoError(ct, err) + require.Empty(ct, list.Items) }, 2*pollDuration, pollInterval) } @@ -371,35 +371,33 @@ func TestClusterExtensionInstallRegistry(t *testing.T) { t.Log("By eventually reporting a successful resolution and bundle path") require.EventuallyWithT(t, func(ct *assert.CollectT) { - assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) + require.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) }, pollDuration, pollInterval) t.Log("By eventually reporting progressing as True") require.EventuallyWithT(t, func(ct *assert.CollectT) { - assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) + require.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1.TypeProgressing) - if assert.NotNil(ct, cond) { - assert.Equal(ct, metav1.ConditionTrue, cond.Status) - assert.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) - } + require.NotNil(ct, cond) + require.Equal(ct, metav1.ConditionTrue, cond.Status) + require.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) }, pollDuration, pollInterval) t.Log("By eventually installing the package successfully") require.EventuallyWithT(t, func(ct *assert.CollectT) { - assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) + require.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1.TypeInstalled) - if assert.NotNil(ct, cond) { - assert.Equal(ct, metav1.ConditionTrue, cond.Status) - assert.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) - assert.Contains(ct, cond.Message, "Installed bundle") - assert.NotEmpty(ct, clusterExtension.Status.Install.Bundle) - } + require.NotNil(ct, cond) + require.Equal(ct, metav1.ConditionTrue, cond.Status) + require.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) + require.Contains(ct, cond.Message, "Installed bundle") + require.NotEmpty(ct, clusterExtension.Status.Install.Bundle) }, pollDuration, pollInterval) t.Log("By eventually creating the NetworkPolicy named 'test-operator-network-policy'") require.EventuallyWithT(t, func(ct *assert.CollectT) { var np networkingv1.NetworkPolicy - assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: "test-operator-network-policy", Namespace: ns.Name}, &np)) + require.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: "test-operator-network-policy", Namespace: ns.Name}, &np)) }, pollDuration, pollInterval) }) } @@ -451,7 +449,7 @@ location = "docker-registry.operator-controller-e2e.svc.cluster.local:5000"`, t.Log("By eventually reporting a successful resolution and bundle path") require.EventuallyWithT(t, func(ct *assert.CollectT) { - assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) + require.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) }, 2*time.Minute, pollInterval) // Give the check 2 minutes instead of the typical 1 for the pod's @@ -460,24 +458,22 @@ location = "docker-registry.operator-controller-e2e.svc.cluster.local:5000"`, // ConfigMap cache TTL of 1 minute = 2 minutes t.Log("By eventually reporting progressing as True") require.EventuallyWithT(t, func(ct *assert.CollectT) { - assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) + require.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1.TypeProgressing) - if assert.NotNil(ct, cond) { - assert.Equal(ct, metav1.ConditionTrue, cond.Status) - assert.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) - } + require.NotNil(ct, cond) + require.Equal(ct, metav1.ConditionTrue, cond.Status) + require.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) }, 2*time.Minute, pollInterval) t.Log("By eventually installing the package successfully") require.EventuallyWithT(t, func(ct *assert.CollectT) { - assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) + require.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1.TypeInstalled) - if assert.NotNil(ct, cond) { - assert.Equal(ct, metav1.ConditionTrue, cond.Status) - assert.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) - assert.Contains(ct, cond.Message, "Installed bundle") - assert.NotEmpty(ct, clusterExtension.Status.Install.Bundle) - } + require.NotNil(ct, cond) + require.Equal(ct, metav1.ConditionTrue, cond.Status) + require.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) + require.Contains(ct, cond.Message, "Installed bundle") + require.NotEmpty(ct, clusterExtension.Status.Install.Bundle) }, pollDuration, pollInterval) } @@ -516,18 +512,17 @@ func TestClusterExtensionInstallRegistryMultipleBundles(t *testing.T) { t.Log("By eventually reporting a failed resolution with multiple bundles") require.EventuallyWithT(t, func(ct *assert.CollectT) { - assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) + require.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) }, pollDuration, pollInterval) t.Log("By eventually reporting Progressing == True and Reason Retrying") require.EventuallyWithT(t, func(ct *assert.CollectT) { - assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) + require.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1.TypeProgressing) - if assert.NotNil(ct, cond) { - assert.Equal(ct, metav1.ConditionTrue, cond.Status) - assert.Equal(ct, ocv1.ReasonRetrying, cond.Reason) - assert.Contains(ct, cond.Message, "in multiple catalogs with the same priority [extra-test-catalog test-catalog]") - } + require.NotNil(ct, cond) + require.Equal(ct, metav1.ConditionTrue, cond.Status) + require.Equal(ct, ocv1.ReasonRetrying, cond.Reason) + require.Contains(ct, cond.Message, "in multiple catalogs with the same priority [extra-test-catalog test-catalog]") }, pollDuration, pollInterval) } @@ -557,8 +552,8 @@ func TestClusterExtensionBlockInstallNonSuccessorVersion(t *testing.T) { require.NoError(t, c.Create(context.Background(), clusterExtension)) t.Log("By eventually reporting a successful installation") require.EventuallyWithT(t, func(ct *assert.CollectT) { - assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) - assert.Equal(ct, + require.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) + require.Equal(ct, &ocv1.ClusterExtensionInstallStatus{Bundle: ocv1.BundleMetadata{ Name: "test-operator.1.0.0", Version: "1.0.0", @@ -567,10 +562,9 @@ func TestClusterExtensionBlockInstallNonSuccessorVersion(t *testing.T) { ) cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1.TypeProgressing) - if assert.NotNil(ct, cond) { - assert.Equal(ct, metav1.ConditionTrue, cond.Status) - assert.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) - } + require.NotNil(ct, cond) + require.Equal(ct, metav1.ConditionTrue, cond.Status) + require.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) }, pollDuration, pollInterval) t.Log("It does not allow to upgrade the ClusterExtension to a non-successor version") @@ -580,17 +574,16 @@ func TestClusterExtensionBlockInstallNonSuccessorVersion(t *testing.T) { require.NoError(t, c.Update(context.Background(), clusterExtension)) t.Log("By eventually reporting an unsatisfiable resolution") require.EventuallyWithT(t, func(ct *assert.CollectT) { - assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) + require.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) }, pollDuration, pollInterval) t.Log("By eventually reporting Progressing == True and Reason Retrying") require.EventuallyWithT(t, func(ct *assert.CollectT) { - assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) + require.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1.TypeProgressing) - if assert.NotNil(ct, cond) { - assert.Equal(ct, ocv1.ReasonRetrying, cond.Reason) - assert.Equal(ct, "error upgrading from currently installed version \"1.0.0\": no bundles found for package \"test\" matching version \"1.2.0\"", cond.Message) - } + require.NotNil(ct, cond) + require.Equal(ct, ocv1.ReasonRetrying, cond.Reason) + require.Equal(ct, "error upgrading from currently installed version \"1.0.0\": no bundles found for package \"test\" matching version \"1.2.0\"", cond.Message) }, pollDuration, pollInterval) } @@ -619,12 +612,11 @@ func TestClusterExtensionForceInstallNonSuccessorVersion(t *testing.T) { require.NoError(t, c.Create(context.Background(), clusterExtension)) t.Log("By eventually reporting a successful resolution") require.EventuallyWithT(t, func(ct *assert.CollectT) { - assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) + require.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1.TypeProgressing) - if assert.NotNil(ct, cond) { - assert.Equal(ct, metav1.ConditionTrue, cond.Status) - assert.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) - } + require.NotNil(ct, cond) + require.Equal(ct, metav1.ConditionTrue, cond.Status) + require.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) }, pollDuration, pollInterval) t.Log("It allows to upgrade the ClusterExtension to a non-successor version") @@ -635,12 +627,11 @@ func TestClusterExtensionForceInstallNonSuccessorVersion(t *testing.T) { require.NoError(t, c.Update(context.Background(), clusterExtension)) t.Log("By eventually reporting a satisfiable resolution") require.EventuallyWithT(t, func(ct *assert.CollectT) { - assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) + require.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1.TypeProgressing) - if assert.NotNil(ct, cond) { - assert.Equal(ct, metav1.ConditionTrue, cond.Status) - assert.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) - } + require.NotNil(ct, cond) + require.Equal(ct, metav1.ConditionTrue, cond.Status) + require.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) }, pollDuration, pollInterval) } @@ -668,12 +659,11 @@ func TestClusterExtensionInstallSuccessorVersion(t *testing.T) { require.NoError(t, c.Create(context.Background(), clusterExtension)) t.Log("By eventually reporting a successful resolution") require.EventuallyWithT(t, func(ct *assert.CollectT) { - assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) + require.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1.TypeProgressing) - if assert.NotNil(ct, cond) { - assert.Equal(ct, metav1.ConditionTrue, cond.Status) - assert.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) - } + require.NotNil(ct, cond) + require.Equal(ct, metav1.ConditionTrue, cond.Status) + require.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) }, pollDuration, pollInterval) t.Log("It does allow to upgrade the ClusterExtension to any of the successor versions within non-zero major version") @@ -683,12 +673,11 @@ func TestClusterExtensionInstallSuccessorVersion(t *testing.T) { require.NoError(t, c.Update(context.Background(), clusterExtension)) t.Log("By eventually reporting a successful resolution and bundle path") require.EventuallyWithT(t, func(ct *assert.CollectT) { - assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) + require.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1.TypeProgressing) - if assert.NotNil(ct, cond) { - assert.Equal(ct, metav1.ConditionTrue, cond.Status) - assert.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) - } + require.NotNil(ct, cond) + require.Equal(ct, metav1.ConditionTrue, cond.Status) + require.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) }, pollDuration, pollInterval) } @@ -726,12 +715,11 @@ func TestClusterExtensionInstallReResolvesWhenCatalogIsPatched(t *testing.T) { t.Log("By reporting a successful resolution and bundle path") require.EventuallyWithT(t, func(ct *assert.CollectT) { - assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) + require.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1.TypeProgressing) - if assert.NotNil(ct, cond) { - assert.Equal(ct, metav1.ConditionTrue, cond.Status) - assert.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) - } + require.NotNil(ct, cond) + require.Equal(ct, metav1.ConditionTrue, cond.Status) + require.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) }, pollDuration, pollInterval) // patch imageRef tag on test-catalog image with v2 image @@ -740,24 +728,22 @@ func TestClusterExtensionInstallReResolvesWhenCatalogIsPatched(t *testing.T) { err := patchTestCatalog(context.Background(), testCatalogName, updatedCatalogImage) require.NoError(t, err) require.EventuallyWithT(t, func(ct *assert.CollectT) { - assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: extensionCatalog.Name}, extensionCatalog)) + require.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: extensionCatalog.Name}, extensionCatalog)) cond := apimeta.FindStatusCondition(extensionCatalog.Status.Conditions, ocv1.TypeServing) - if assert.NotNil(ct, cond) { - assert.Equal(ct, metav1.ConditionTrue, cond.Status) - assert.Equal(ct, ocv1.ReasonAvailable, cond.Reason) - } + require.NotNil(ct, cond) + require.Equal(ct, metav1.ConditionTrue, cond.Status) + require.Equal(ct, ocv1.ReasonAvailable, cond.Reason) }, pollDuration, pollInterval) t.Log("By eventually installing the package successfully") require.EventuallyWithT(t, func(ct *assert.CollectT) { - assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) + require.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1.TypeInstalled) - if assert.NotNil(ct, cond) { - assert.Equal(ct, metav1.ConditionTrue, cond.Status) - assert.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) - assert.Contains(ct, cond.Message, "Installed bundle") - assert.Contains(ct, clusterExtension.Status.Install.Bundle.Version, "2.0.0") - } + require.NotNil(ct, cond) + require.Equal(ct, metav1.ConditionTrue, cond.Status) + require.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) + require.Contains(ct, cond.Message, "Installed bundle") + require.Contains(ct, clusterExtension.Status.Install.Bundle.Version, "2.0.0") }, pollDuration, pollInterval) t.Log("By verifying that no templating occurs for registry+v1 bundle manifests") @@ -815,12 +801,11 @@ func TestClusterExtensionInstallReResolvesWhenNewCatalog(t *testing.T) { t.Log("By reporting a successful resolution and bundle path") require.EventuallyWithT(t, func(ct *assert.CollectT) { - assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) + require.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1.TypeProgressing) - if assert.NotNil(ct, cond) { - assert.Equal(ct, metav1.ConditionTrue, cond.Status) - assert.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) - } + require.NotNil(ct, cond) + require.Equal(ct, metav1.ConditionTrue, cond.Status) + require.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) }, pollDuration, pollInterval) // update tag on test-catalog image with v2 image @@ -829,22 +814,20 @@ func TestClusterExtensionInstallReResolvesWhenNewCatalog(t *testing.T) { err = crane.Tag(v2Image, latestImageTag, crane.Insecure) require.NoError(t, err) require.EventuallyWithT(t, func(ct *assert.CollectT) { - assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: extensionCatalog.Name}, extensionCatalog)) + require.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: extensionCatalog.Name}, extensionCatalog)) cond := apimeta.FindStatusCondition(extensionCatalog.Status.Conditions, ocv1.TypeServing) - if assert.NotNil(ct, cond) { - assert.Equal(ct, metav1.ConditionTrue, cond.Status) - assert.Equal(ct, ocv1.ReasonAvailable, cond.Reason) - } + require.NotNil(ct, cond) + require.Equal(ct, metav1.ConditionTrue, cond.Status) + require.Equal(ct, ocv1.ReasonAvailable, cond.Reason) }, pollDuration, pollInterval) t.Log("By eventually reporting a successful resolution and bundle path") require.EventuallyWithT(t, func(ct *assert.CollectT) { - assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) + require.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1.TypeProgressing) - if assert.NotNil(ct, cond) { - assert.Equal(ct, metav1.ConditionTrue, cond.Status) - assert.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) - } + require.NotNil(ct, cond) + require.Equal(ct, metav1.ConditionTrue, cond.Status) + require.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) }, pollDuration, pollInterval) } @@ -876,13 +859,12 @@ func TestClusterExtensionInstallReResolvesWhenManagedContentChanged(t *testing.T t.Log("By reporting a successful installation") require.EventuallyWithT(t, func(ct *assert.CollectT) { - assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) + require.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1.TypeInstalled) - if assert.NotNil(ct, cond) { - assert.Equal(ct, metav1.ConditionTrue, cond.Status) - assert.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) - assert.Contains(ct, cond.Message, "Installed bundle") - } + require.NotNil(ct, cond) + require.Equal(ct, metav1.ConditionTrue, cond.Status) + require.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) + require.Contains(ct, cond.Message, "Installed bundle") }, pollDuration, pollInterval) t.Log("By deleting a managed resource") @@ -896,7 +878,7 @@ func TestClusterExtensionInstallReResolvesWhenManagedContentChanged(t *testing.T t.Log("By eventually re-creating the managed resource") require.EventuallyWithT(t, func(ct *assert.CollectT) { - assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: testConfigMap.Name, Namespace: testConfigMap.Namespace}, testConfigMap)) + require.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: testConfigMap.Name, Namespace: testConfigMap.Namespace}, testConfigMap)) }, pollDuration, pollInterval) } @@ -939,28 +921,26 @@ func TestClusterExtensionRecoversFromInitialInstallFailedWhenFailureFixed(t *tes t.Log("By eventually reporting a successful resolution and bundle path") require.EventuallyWithT(t, func(ct *assert.CollectT) { - assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) + require.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) }, pollDuration, pollInterval) t.Log("By eventually reporting Progressing == True with Reason Retrying") require.EventuallyWithT(t, func(ct *assert.CollectT) { - assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) + require.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1.TypeProgressing) - if assert.NotNil(ct, cond) { - assert.Equal(ct, metav1.ConditionTrue, cond.Status) - assert.Equal(ct, ocv1.ReasonRetrying, cond.Reason) - } + require.NotNil(ct, cond) + require.Equal(ct, metav1.ConditionTrue, cond.Status) + require.Equal(ct, ocv1.ReasonRetrying, cond.Reason) }, pollDuration, pollInterval) t.Log("By eventually failing to install the package successfully due to insufficient ServiceAccount permissions") require.EventuallyWithT(t, func(ct *assert.CollectT) { - assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) + require.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1.TypeInstalled) - if assert.NotNil(ct, cond) { - assert.Equal(ct, metav1.ConditionFalse, cond.Status) - assert.Equal(ct, ocv1.ReasonFailed, cond.Reason) - assert.Equal(ct, "No bundle installed", cond.Message) - } + require.NotNil(ct, cond) + require.Equal(ct, metav1.ConditionFalse, cond.Status) + require.Equal(ct, ocv1.ReasonFailed, cond.Reason) + require.Equal(ct, "No bundle installed", cond.Message) }, pollDuration, pollInterval) t.Log("By fixing the ServiceAccount permissions") @@ -972,23 +952,21 @@ func TestClusterExtensionRecoversFromInitialInstallFailedWhenFailureFixed(t *tes // after creating and binding the needed permissions to the ServiceAccount. t.Log("By eventually installing the package successfully") require.EventuallyWithT(t, func(ct *assert.CollectT) { - assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) + require.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1.TypeInstalled) - if assert.NotNil(ct, cond) { - assert.Equal(ct, metav1.ConditionTrue, cond.Status) - assert.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) - assert.Contains(ct, cond.Message, "Installed bundle") - assert.NotEmpty(ct, clusterExtension.Status.Install) - } + require.NotNil(ct, cond) + require.Equal(ct, metav1.ConditionTrue, cond.Status) + require.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) + require.Contains(ct, cond.Message, "Installed bundle") + require.NotEmpty(ct, clusterExtension.Status.Install) }, pollDuration, pollInterval) t.Log("By eventually reporting Progressing == True with Reason Success") require.EventuallyWithT(t, func(ct *assert.CollectT) { - assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) + require.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1.TypeProgressing) - if assert.NotNil(ct, cond) { - assert.Equal(ct, metav1.ConditionTrue, cond.Status) - assert.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) - } + require.NotNil(ct, cond) + require.Equal(ct, metav1.ConditionTrue, cond.Status) + require.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) }, pollDuration, pollInterval) } diff --git a/test/e2e/network_policy_test.go b/test/e2e/network_policy_test.go index 18e6a2775..0f3979d23 100644 --- a/test/e2e/network_policy_test.go +++ b/test/e2e/network_policy_test.go @@ -6,7 +6,6 @@ import ( "strings" "testing" - "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" corev1 "k8s.io/api/core/v1" networkingv1 "k8s.io/api/networking/v1" @@ -144,19 +143,19 @@ func TestNetworkPolicyJustifications(t *testing.T) { // Validate justifications have min length in the allowedNetworkPolicies definition for name, policyDef := range allowedNetworkPolicies { for i, pwj := range policyDef.ingressRule.ports { - assert.GreaterOrEqualf(t, len(pwj.justification), minJustificationLength, + require.GreaterOrEqualf(t, len(pwj.justification), minJustificationLength, "Justification for ingress PortWithJustification entry %d in policy %q is too short: %q", i, name, pwj.justification) } for i, pwj := range policyDef.egressRule.ports { // Corrected variable name from 'rule' to 'pwj' - assert.GreaterOrEqualf(t, len(pwj.justification), minJustificationLength, + require.GreaterOrEqualf(t, len(pwj.justification), minJustificationLength, "Justification for egress PortWithJustification entry %d in policy %q is too short: %q", i, name, pwj.justification) } if policyDef.denyAllIngressJustification != "" { - assert.GreaterOrEqualf(t, len(policyDef.denyAllIngressJustification), minJustificationLength, + require.GreaterOrEqualf(t, len(policyDef.denyAllIngressJustification), minJustificationLength, "DenyAllIngressJustification for policy %q is too short: %q", name, policyDef.denyAllIngressJustification) } if policyDef.denyAllEgressJustification != "" { - assert.GreaterOrEqualf(t, len(policyDef.denyAllEgressJustification), minJustificationLength, + require.GreaterOrEqualf(t, len(policyDef.denyAllEgressJustification), minJustificationLength, "DenyAllEgressJustification for policy %q is too short: %q", name, policyDef.denyAllEgressJustification) } } @@ -197,7 +196,7 @@ func TestNetworkPolicyJustifications(t *testing.T) { validatedRegistryPolicies[policy.Name] = true // 1. Compare PodSelector - assert.True(t, equality.Semantic.DeepEqual(expectedPolicy.selector, policy.Spec.PodSelector), + require.True(t, equality.Semantic.DeepEqual(expectedPolicy.selector, policy.Spec.PodSelector), "PodSelector mismatch for policy %q. Expected: %+v, Got: %+v", policy.Name, expectedPolicy.selector, policy.Spec.PodSelector) // 2. Compare PolicyTypes @@ -220,7 +219,7 @@ func TestNetworkPolicyJustifications(t *testing.T) { case 1: validateSingleIngressRule(t, policy.Name, policy.Spec.Ingress[0], expectedPolicy) default: - assert.Failf(t, "Policy %q in cluster has %d ingress rules. Allowed definition supports at most 1 explicit ingress rule.", policy.Name, len(policy.Spec.Ingress)) + require.Failf(t, "Policy %q in cluster has %d ingress rules. Allowed definition supports at most 1 explicit ingress rule.", policy.Name, len(policy.Spec.Ingress)) } } else { validateNoIngress(t, policy.Name, policy, expectedPolicy) @@ -242,7 +241,7 @@ func TestNetworkPolicyJustifications(t *testing.T) { case 1: validateSingleEgressRule(t, policy.Name, policy.Spec.Egress[0], expectedPolicy) default: - assert.Failf(t, "Policy %q in cluster has %d egress rules. Allowed definition supports at most 1 explicit egress rule.", policy.Name, len(policy.Spec.Egress)) + require.Failf(t, "Policy %q in cluster has %d egress rules. Allowed definition supports at most 1 explicit egress rule.", policy.Name, len(policy.Spec.Egress)) } } else { validateNoEgress(t, policy, expectedPolicy) @@ -251,7 +250,7 @@ func TestNetworkPolicyJustifications(t *testing.T) { } // 5. Ensure all policies in the registry were found in the cluster - assert.Len(t, validatedRegistryPolicies, len(allowedNetworkPolicies), + require.Len(t, validatedRegistryPolicies, len(allowedNetworkPolicies), "Mismatch between number of expected policies in registry (%d) and number of policies found & validated in cluster (%d). Missing policies from registry: %v", len(allowedNetworkPolicies), len(validatedRegistryPolicies), missingPolicies(allowedNetworkPolicies, validatedRegistryPolicies)) } @@ -310,14 +309,14 @@ func validateSingleEgressRule(t *testing.T, policyName string, clusterEgressRule require.Lenf(t, expectedEgressRule.ports, 1, "Policy %q (allow-all egress): Expected EgressRule.Ports to have 1 justification entry, got %d", policyName, len(expectedEgressRule.ports)) if len(expectedEgressRule.ports) == 1 { // Guard against panic - assert.Nilf(t, expectedEgressRule.ports[0].port, + require.Nilf(t, expectedEgressRule.ports[0].port, "Policy %q (allow-all egress): Expected EgressRule.Ports[0].Port to be nil, got %+v", policyName, expectedEgressRule.ports[0].port) } - assert.Conditionf(t, func() bool { return len(expectedEgressRule.to) == 0 }, + require.Conditionf(t, func() bool { return len(expectedEgressRule.to) == 0 }, "Policy %q (allow-all egress): Expected EgressRule.To to be empty for allow-all peers, got %+v", policyName, expectedEgressRule.to) } else { // Specific egress rule (not the simple allow-all ports and allow-all peers) - assert.True(t, equality.Semantic.DeepEqual(expectedEgressRule.to, clusterEgressRule.To), + require.True(t, equality.Semantic.DeepEqual(expectedEgressRule.to, clusterEgressRule.To), "Policy %q, Egress Rule: 'To' mismatch.\nExpected: %+v\nGot: %+v", policyName, expectedEgressRule.to, clusterEgressRule.To) var allExpectedPortsFromPwJ []networkingv1.NetworkPolicyPort @@ -367,7 +366,7 @@ func validateSingleIngressRule(t *testing.T, policyName string, clusterIngressRu "Policy %q: Cluster has a specific Ingress rule. Registry's DenyAllIngressJustification should be empty.", policyName) // Compare 'From' - assert.True(t, equality.Semantic.DeepEqual(expectedIngressRule.from, clusterIngressRule.From), + require.True(t, equality.Semantic.DeepEqual(expectedIngressRule.from, clusterIngressRule.From), "Policy %q, Ingress Rule: 'From' mismatch.\nExpected: %+v\nGot: %+v", policyName, expectedIngressRule.from, clusterIngressRule.From) // Compare 'Ports' by aggregating the ports from our justified structure diff --git a/test/experimental-e2e/experimental_e2e_test.go b/test/experimental-e2e/experimental_e2e_test.go index 2c5efc964..619cfd91e 100644 --- a/test/experimental-e2e/experimental_e2e_test.go +++ b/test/experimental-e2e/experimental_e2e_test.go @@ -132,12 +132,11 @@ func TestWebhookSupport(t *testing.T) { t.Log("By waiting for the catalog to serve its metadata") require.EventuallyWithT(t, func(ct *assert.CollectT) { - assert.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: extensionCatalog.GetName()}, extensionCatalog)) + require.NoError(ct, c.Get(context.Background(), types.NamespacedName{Name: extensionCatalog.GetName()}, extensionCatalog)) cond := apimeta.FindStatusCondition(extensionCatalog.Status.Conditions, ocv1.TypeServing) - if assert.NotNil(ct, cond) { - assert.Equal(ct, metav1.ConditionTrue, cond.Status) - assert.Equal(ct, ocv1.ReasonAvailable, cond.Reason) - } + require.NotNil(ct, cond) + require.Equal(ct, metav1.ConditionTrue, cond.Status) + require.Equal(ct, ocv1.ReasonAvailable, cond.Reason) }, pollDuration, pollInterval) t.Log("By installing the webhook-operator ClusterExtension") @@ -168,29 +167,27 @@ func TestWebhookSupport(t *testing.T) { t.Log("By waiting for webhook-operator extension to be installed successfully") require.EventuallyWithT(t, func(ct *assert.CollectT) { - assert.NoError(ct, c.Get(t.Context(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) + require.NoError(ct, c.Get(t.Context(), types.NamespacedName{Name: clusterExtension.Name}, clusterExtension)) cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1.TypeInstalled) - if assert.NotNil(ct, cond) { - assert.Equal(ct, metav1.ConditionTrue, cond.Status) - assert.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) - assert.Contains(ct, cond.Message, "Installed bundle") - } - if assert.NotNil(ct, clusterExtension.Status.Install) { - assert.NotEmpty(ct, clusterExtension.Status.Install.Bundle) - } + require.NotNil(ct, cond) + require.Equal(ct, metav1.ConditionTrue, cond.Status) + require.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) + require.Contains(ct, cond.Message, "Installed bundle") + require.NotNil(ct, clusterExtension.Status.Install) + require.NotEmpty(ct, clusterExtension.Status.Install.Bundle) }, pollDuration, pollInterval) t.Log("By waiting for webhook-operator deployment to be available") require.EventuallyWithT(t, func(ct *assert.CollectT) { deployment := &appsv1.Deployment{} - assert.NoError(ct, c.Get(t.Context(), types.NamespacedName{Namespace: namespace.GetName(), Name: "webhook-operator-webhook"}, deployment)) + require.NoError(ct, c.Get(t.Context(), types.NamespacedName{Namespace: namespace.GetName(), Name: "webhook-operator-webhook"}, deployment)) available := false for _, cond := range deployment.Status.Conditions { if cond.Type == appsv1.DeploymentAvailable { available = cond.Status == corev1.ConditionTrue } } - assert.True(ct, available) + require.True(ct, available) }, pollDuration, pollInterval) v1Gvr := schema.GroupVersionResource{ @@ -204,8 +201,8 @@ func TestWebhookSupport(t *testing.T) { require.EventuallyWithT(t, func(ct *assert.CollectT) { obj := getWebhookOperatorResource("invalid-test-cr", namespace.GetName(), false) _, err := v1Client.Create(t.Context(), obj, metav1.CreateOptions{}) - assert.Error(ct, err) - assert.Contains(ct, err.Error(), "Invalid value: false: Spec.Valid must be true") + require.Error(ct, err) + require.Contains(ct, err.Error(), "Invalid value: false: Spec.Valid must be true") }, pollDuration, pollInterval) var ( @@ -217,7 +214,7 @@ func TestWebhookSupport(t *testing.T) { t.Log("By eventually creating a valid CR") require.EventuallyWithT(t, func(ct *assert.CollectT) { res, err = v1Client.Create(t.Context(), obj, metav1.CreateOptions{}) - assert.NoError(ct, err) + require.NoError(ct, err) }, pollDuration, pollInterval) t.Cleanup(func() { require.NoError(t, v1Client.Delete(context.Background(), obj.GetName(), metav1.DeleteOptions{})) @@ -239,7 +236,7 @@ func TestWebhookSupport(t *testing.T) { t.Log("By eventually getting the valid CR with a v2 client") require.EventuallyWithT(t, func(ct *assert.CollectT) { res, err = v2Client.Get(t.Context(), obj.GetName(), metav1.GetOptions{}) - assert.NoError(ct, err) + require.NoError(ct, err) }, pollDuration, pollInterval) t.Log("and verifying that the CR is correctly converted") diff --git a/test/extension-developer-e2e/extension_developer_test.go b/test/extension-developer-e2e/extension_developer_test.go index 4c4c9d2a8..ad7afdbac 100644 --- a/test/extension-developer-e2e/extension_developer_test.go +++ b/test/extension-developer-e2e/extension_developer_test.go @@ -200,13 +200,11 @@ func TestExtensionDeveloper(t *testing.T) { t.Log("It should have a status condition type of Installed with a status of True and a reason of Success") require.EventuallyWithT(t, func(ct *assert.CollectT) { ext := &ocv1.ClusterExtension{} - assert.NoError(ct, c.Get(context.Background(), client.ObjectKeyFromObject(clusterExtension), ext)) + require.NoError(ct, c.Get(context.Background(), client.ObjectKeyFromObject(clusterExtension), ext)) cond := meta.FindStatusCondition(ext.Status.Conditions, ocv1.TypeInstalled) - if !assert.NotNil(ct, cond) { - return - } - assert.Equal(ct, metav1.ConditionTrue, cond.Status) - assert.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) + require.NotNil(ct, cond) + require.Equal(ct, metav1.ConditionTrue, cond.Status) + require.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) }, 2*time.Minute, time.Second) require.NoError(t, c.Delete(context.Background(), catalog)) require.NoError(t, c.Delete(context.Background(), clusterExtension)) diff --git a/test/upgrade-e2e/post_upgrade_test.go b/test/upgrade-e2e/post_upgrade_test.go index 1d20b4afa..221182bb6 100644 --- a/test/upgrade-e2e/post_upgrade_test.go +++ b/test/upgrade-e2e/post_upgrade_test.go @@ -36,13 +36,13 @@ func TestClusterCatalogUnpacking(t *testing.T) { require.EventuallyWithT(t, func(ct *assert.CollectT) { var managerDeployments appsv1.DeploymentList err := c.List(ctx, &managerDeployments, client.MatchingLabels(managerLabelSelector), client.InNamespace("olmv1-system")) - assert.NoError(ct, err) - assert.Len(ct, managerDeployments.Items, 1) + require.NoError(ct, err) + require.Len(ct, managerDeployments.Items, 1) managerDeployment = managerDeployments.Items[0] - assert.Equal(ct, *managerDeployment.Spec.Replicas, managerDeployment.Status.UpdatedReplicas) - assert.Equal(ct, *managerDeployment.Spec.Replicas, managerDeployment.Status.Replicas) - assert.Equal(ct, *managerDeployment.Spec.Replicas, managerDeployment.Status.AvailableReplicas) - assert.Equal(ct, *managerDeployment.Spec.Replicas, managerDeployment.Status.ReadyReplicas) + require.Equal(ct, *managerDeployment.Spec.Replicas, managerDeployment.Status.UpdatedReplicas) + require.Equal(ct, *managerDeployment.Spec.Replicas, managerDeployment.Status.Replicas) + require.Equal(ct, *managerDeployment.Spec.Replicas, managerDeployment.Status.AvailableReplicas) + require.Equal(ct, *managerDeployment.Spec.Replicas, managerDeployment.Status.ReadyReplicas) }, time.Minute, time.Second) var managerPod corev1.Pod @@ -50,8 +50,8 @@ func TestClusterCatalogUnpacking(t *testing.T) { require.EventuallyWithT(t, func(ct *assert.CollectT) { var managerPods corev1.PodList err := c.List(ctx, &managerPods, client.MatchingLabels(managerLabelSelector)) - assert.NoError(ct, err) - assert.Len(ct, managerPods.Items, 1) + require.NoError(ct, err) + require.Len(ct, managerPods.Items, 1) managerPod = managerPods.Items[0] }, time.Minute, time.Second) @@ -78,21 +78,21 @@ func TestClusterCatalogUnpacking(t *testing.T) { t.Log("Ensuring ClusterCatalog has Status.Condition of Progressing with a status == True, reason == Succeeded") require.EventuallyWithT(t, func(ct *assert.CollectT) { err := c.Get(ctx, types.NamespacedName{Name: testClusterCatalogName}, catalog) - assert.NoError(ct, err) + require.NoError(ct, err) cond := apimeta.FindStatusCondition(catalog.Status.Conditions, ocv1.TypeProgressing) - assert.NotNil(ct, cond) - assert.Equal(ct, metav1.ConditionTrue, cond.Status) - assert.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) + require.NotNil(ct, cond) + require.Equal(ct, metav1.ConditionTrue, cond.Status) + require.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) }, time.Minute, time.Second) t.Log("Ensuring ClusterCatalog has Status.Condition of Serving with a status == True, reason == Available") require.EventuallyWithT(t, func(ct *assert.CollectT) { err := c.Get(ctx, types.NamespacedName{Name: testClusterCatalogName}, catalog) - assert.NoError(ct, err) + require.NoError(ct, err) cond := apimeta.FindStatusCondition(catalog.Status.Conditions, ocv1.TypeServing) - assert.NotNil(ct, cond) - assert.Equal(ct, metav1.ConditionTrue, cond.Status) - assert.Equal(ct, ocv1.ReasonAvailable, cond.Reason) + require.NotNil(ct, cond) + require.Equal(ct, metav1.ConditionTrue, cond.Status) + require.Equal(ct, ocv1.ReasonAvailable, cond.Reason) }, time.Minute, time.Second) } @@ -135,13 +135,13 @@ func TestClusterExtensionAfterOLMUpgrade(t *testing.T) { t.Log("Checking that the ClusterCatalog is unpacked") require.EventuallyWithT(t, func(ct *assert.CollectT) { var clusterCatalog ocv1.ClusterCatalog - assert.NoError(ct, c.Get(ctx, types.NamespacedName{Name: testClusterCatalogName}, &clusterCatalog)) + require.NoError(ct, c.Get(ctx, types.NamespacedName{Name: testClusterCatalogName}, &clusterCatalog)) // check serving condition cond := apimeta.FindStatusCondition(clusterCatalog.Status.Conditions, ocv1.TypeServing) - assert.NotNil(ct, cond) - assert.Equal(ct, metav1.ConditionTrue, cond.Status) - assert.Equal(ct, ocv1.ReasonAvailable, cond.Reason) + require.NotNil(ct, cond) + require.Equal(ct, metav1.ConditionTrue, cond.Status) + require.Equal(ct, ocv1.ReasonAvailable, cond.Reason) // mitigation for upgrade-e2e flakiness caused by the following bug // https://github.com/operator-framework/operator-controller/issues/1626 @@ -150,24 +150,23 @@ func TestClusterExtensionAfterOLMUpgrade(t *testing.T) { if cond == nil { return } - assert.Equal(ct, metav1.ConditionTrue, cond.Status) - assert.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) + require.Equal(ct, metav1.ConditionTrue, cond.Status) + require.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) - assert.True(ct, clusterCatalog.Status.LastUnpacked.After(catalogdManagerPod.CreationTimestamp.Time)) + require.True(ct, clusterCatalog.Status.LastUnpacked.After(catalogdManagerPod.CreationTimestamp.Time)) }, time.Minute, time.Second) t.Log("Checking that the ClusterExtension is installed") var clusterExtension ocv1.ClusterExtension require.EventuallyWithT(t, func(ct *assert.CollectT) { - assert.NoError(ct, c.Get(ctx, types.NamespacedName{Name: testClusterExtensionName}, &clusterExtension)) + require.NoError(ct, c.Get(ctx, types.NamespacedName{Name: testClusterExtensionName}, &clusterExtension)) cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1.TypeInstalled) - assert.NotNil(ct, cond) - assert.Equal(ct, metav1.ConditionTrue, cond.Status) - assert.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) - assert.Contains(ct, cond.Message, "Installed bundle") - if assert.NotNil(ct, clusterExtension.Status.Install) { - assert.NotEmpty(ct, clusterExtension.Status.Install.Bundle.Version) - } + require.NotNil(ct, cond) + require.Equal(ct, metav1.ConditionTrue, cond.Status) + require.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) + require.Contains(ct, cond.Message, "Installed bundle") + require.NotNil(ct, clusterExtension.Status.Install) + require.NotEmpty(ct, clusterExtension.Status.Install.Bundle.Version) }, time.Minute, time.Second) previousVersion := clusterExtension.Status.Install.Bundle.Version @@ -179,13 +178,13 @@ func TestClusterExtensionAfterOLMUpgrade(t *testing.T) { t.Log("Checking that the ClusterExtension installs successfully") require.EventuallyWithT(t, func(ct *assert.CollectT) { - assert.NoError(ct, c.Get(ctx, types.NamespacedName{Name: testClusterExtensionName}, &clusterExtension)) + require.NoError(ct, c.Get(ctx, types.NamespacedName{Name: testClusterExtensionName}, &clusterExtension)) cond := apimeta.FindStatusCondition(clusterExtension.Status.Conditions, ocv1.TypeInstalled) - assert.NotNil(ct, cond) - assert.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) - assert.Contains(ct, cond.Message, "Installed bundle") - assert.Equal(ct, ocv1.BundleMetadata{Name: "test-operator.1.0.1", Version: "1.0.1"}, clusterExtension.Status.Install.Bundle) - assert.NotEqual(ct, previousVersion, clusterExtension.Status.Install.Bundle.Version) + require.NotNil(ct, cond) + require.Equal(ct, ocv1.ReasonSucceeded, cond.Reason) + require.Contains(ct, cond.Message, "Installed bundle") + require.Equal(ct, ocv1.BundleMetadata{Name: "test-operator.1.0.1", Version: "1.0.1"}, clusterExtension.Status.Install.Bundle) + require.NotEqual(ct, previousVersion, clusterExtension.Status.Install.Bundle.Version) }, time.Minute, time.Second) } @@ -200,11 +199,11 @@ func waitForDeployment(t *testing.T, ctx context.Context, controlPlaneLabel stri var desiredNumReplicas int32 require.EventuallyWithT(t, func(ct *assert.CollectT) { var managerDeployments appsv1.DeploymentList - assert.NoError(ct, c.List(ctx, &managerDeployments, client.MatchingLabelsSelector{Selector: deploymentLabelSelector})) - assert.Len(ct, managerDeployments.Items, 1) + require.NoError(ct, c.List(ctx, &managerDeployments, client.MatchingLabelsSelector{Selector: deploymentLabelSelector})) + require.Len(ct, managerDeployments.Items, 1) managerDeployment := managerDeployments.Items[0] - assert.True(ct, + require.True(ct, managerDeployment.Status.UpdatedReplicas == *managerDeployment.Spec.Replicas && managerDeployment.Status.Replicas == *managerDeployment.Spec.Replicas && managerDeployment.Status.AvailableReplicas == *managerDeployment.Spec.Replicas && @@ -216,8 +215,8 @@ func waitForDeployment(t *testing.T, ctx context.Context, controlPlaneLabel stri var managerPods corev1.PodList t.Logf("Ensure the number of remaining pods equal the desired number of replicas (%d)", desiredNumReplicas) require.EventuallyWithT(t, func(ct *assert.CollectT) { - assert.NoError(ct, c.List(ctx, &managerPods, client.MatchingLabelsSelector{Selector: deploymentLabelSelector})) - assert.Len(ct, managerPods.Items, 1) + require.NoError(ct, c.List(ctx, &managerPods, client.MatchingLabelsSelector{Selector: deploymentLabelSelector})) + require.Len(ct, managerPods.Items, 1) }, time.Minute, time.Second) return &managerPods.Items[0] }