From fbc71e48399ef93321eb45b9697a43524ee81522 Mon Sep 17 00:00:00 2001 From: Lalatendu Mohanty Date: Thu, 17 Oct 2024 08:45:21 -0400 Subject: [PATCH] Adding tests for catalog availability Signed-off-by: Lalatendu Mohanty --- .../core/clustercatalog_controller_test.go | 83 +++++++++++++++++++ 1 file changed, 83 insertions(+) diff --git a/internal/controllers/core/clustercatalog_controller_test.go b/internal/controllers/core/clustercatalog_controller_test.go index 62cc66ad..5dd668e5 100644 --- a/internal/controllers/core/clustercatalog_controller_test.go +++ b/internal/controllers/core/clustercatalog_controller_test.go @@ -736,6 +736,89 @@ func TestCatalogdControllerReconcile(t *testing.T) { }, }, }, + { + name: "catalog availability set to enable, status should get updated", + source: &MockSource{ + result: &source.Result{ + State: source.StateUnpacked, + FS: &fstest.MapFS{}, + }, + }, + store: &MockStore{}, + catalog: &catalogdv1alpha1.ClusterCatalog{ + ObjectMeta: metav1.ObjectMeta{ + Name: "catalog", + Finalizers: []string{}, + }, + Spec: catalogdv1alpha1.ClusterCatalogSpec{ + Source: catalogdv1alpha1.CatalogSource{ + Type: catalogdv1alpha1.SourceTypeImage, + Image: &catalogdv1alpha1.ImageSource{ + Ref: "my.org/someimage:latest", + }, + }, + Availability: "Enabled", + }, + Status: catalogdv1alpha1.ClusterCatalogStatus{ + URLs: &catalogdv1alpha1.ClusterCatalogURLs{Base: "URL"}, + LastUnpacked: metav1.Time{}, + ResolvedSource: &catalogdv1alpha1.ResolvedCatalogSource{ + Type: catalogdv1alpha1.SourceTypeImage, + Image: &catalogdv1alpha1.ResolvedImageSource{ + Ref: "", + }, + }, + Conditions: []metav1.Condition{ + { + Type: catalogdv1alpha1.TypeServing, + Status: metav1.ConditionFalse, + Reason: catalogdv1alpha1.ReasonUnavailable, + }, + { + Type: catalogdv1alpha1.TypeProgressing, + Status: metav1.ConditionFalse, + Reason: catalogdv1alpha1.ReasonDisabled, + }, + }, + }, + }, + expectedCatalog: &catalogdv1alpha1.ClusterCatalog{ + ObjectMeta: metav1.ObjectMeta{ + Name: "catalog", + Finalizers: []string{fbcDeletionFinalizer}, + }, + Spec: catalogdv1alpha1.ClusterCatalogSpec{ + Source: catalogdv1alpha1.CatalogSource{ + Type: catalogdv1alpha1.SourceTypeImage, + Image: &catalogdv1alpha1.ImageSource{ + Ref: "my.org/someimage:latest", + }, + }, + Availability: "Enabled", + }, + Status: catalogdv1alpha1.ClusterCatalogStatus{ + URLs: &catalogdv1alpha1.ClusterCatalogURLs{Base: "URL"}, + ResolvedSource: &catalogdv1alpha1.ResolvedCatalogSource{ + Type: catalogdv1alpha1.SourceTypeImage, + Image: &catalogdv1alpha1.ResolvedImageSource{ + Ref: "", + }, + }, + Conditions: []metav1.Condition{ + { + Type: catalogdv1alpha1.TypeServing, + Status: metav1.ConditionFalse, + Reason: catalogdv1alpha1.ReasonUnavailable, + }, + { + Type: catalogdv1alpha1.TypeProgressing, + Status: metav1.ConditionFalse, + Reason: catalogdv1alpha1.ReasonDisabled, + }, + }, + }, + }, + }, } { t.Run(tt.name, func(t *testing.T) { reconciler := &ClusterCatalogReconciler{