Skip to content
This repository has been archived by the owner on Oct 10, 2023. It is now read-only.

Commit

Permalink
adds unit test
Browse files Browse the repository at this point in the history
  • Loading branch information
Adolfo Duarte committed Nov 17, 2022
1 parent fc7c099 commit 6ab9666
Showing 1 changed file with 41 additions and 0 deletions.
41 changes: 41 additions & 0 deletions addons/webhooks/clusterbootstrap_webhook_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,16 @@ import (
corev1 "k8s.io/api/core/v1"
apierrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/uuid"
clientgoscheme "k8s.io/client-go/kubernetes/scheme"
clusterapiv1beta1 "sigs.k8s.io/cluster-api/api/v1beta1"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/client/fake"

kappctrlv1alph1 "github.com/vmware-tanzu/carvel-kapp-controller/pkg/apis/kappctrl/v1alpha1"
packagev1alpha1 "github.com/vmware-tanzu/carvel-kapp-controller/pkg/apiserver/apis/datapackaging/v1alpha1"
"github.com/vmware-tanzu/tanzu-framework/addons/pkg/constants"
"github.com/vmware-tanzu/tanzu-framework/addons/webhooks"
runv1alpha3 "github.com/vmware-tanzu/tanzu-framework/apis/run/v1alpha3"
)

Expand Down Expand Up @@ -264,6 +269,42 @@ var _ = Describe("ClusterbootstrapWebhook", func() {
Expect(clusterBootstrap.Spec.Kapp.RefName).To(Equal(clusterBootstrapTemplate.Spec.Kapp.RefName))

})
It("should not fail validation if cluster is marked for deletion", func() {
timestamp := metav1.Now()
deletingCluster := &clusterapiv1beta1.Cluster{
ObjectMeta: metav1.ObjectMeta{
Name: clusterBootstrapName,
Namespace: clusterBootstrapNamespace,
UID: uuid.NewUUID(),
DeletionTimestamp: &timestamp,
},
}
err := clientgoscheme.AddToScheme(scheme)
Expect(err).ToNot(HaveOccurred())
err = clusterapiv1beta1.AddToScheme(scheme)
Expect(err).ToNot(HaveOccurred())
fakeClient := fake.NewClientBuilder().WithScheme(scheme).WithObjects(deletingCluster).Build()
cbWebHook := webhooks.ClusterBootstrap{Client: fakeClient}
err = cbWebHook.SetupWebhookWithManager(context.TODO(), mgr)
Expect(err).ToNot(HaveOccurred())
clusterBootstrapOld := &runv1alpha3.ClusterBootstrap{
ObjectMeta: metav1.ObjectMeta{
Name: clusterBootstrapName,
Namespace: clusterBootstrapNamespace,
},
Spec: &runv1alpha3.ClusterBootstrapTemplateSpec{},
}
clusterBootstrapNew := &runv1alpha3.ClusterBootstrap{
ObjectMeta: metav1.ObjectMeta{
Name: clusterBootstrapName,
Namespace: clusterBootstrapNamespace,
},
Spec: &runv1alpha3.ClusterBootstrapTemplateSpec{},
}
err = cbWebHook.ValidateUpdate(context.TODO(), clusterBootstrapOld, clusterBootstrapNew)
Expect(err).ToNot(HaveOccurred())

})
})
})

Expand Down

0 comments on commit 6ab9666

Please # to comment.