From 70d101f2e18db4ef96c07bf5029cbfe1e46fb0e6 Mon Sep 17 00:00:00 2001 From: ravineet <rajula.vineet.reddy@cern.ch> Date: Tue, 9 Nov 2021 11:51:47 +0100 Subject: [PATCH] Add envtest for checking GitlabWebhookURL on drupalSite status --- controllers/drupalsite_controller_test.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/controllers/drupalsite_controller_test.go b/controllers/drupalsite_controller_test.go index bbae257c..772140bd 100644 --- a/controllers/drupalsite_controller_test.go +++ b/controllers/drupalsite_controller_test.go @@ -39,6 +39,7 @@ import ( corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" + ctrl "sigs.k8s.io/controller-runtime" ) // Ginkgo makes it easy to write expressive specs that describe the behavior of your code in an organized manner. @@ -805,6 +806,7 @@ var _ = Describe("DrupalSite controller", func() { oidcReturnUri := authz.OidcReturnURI{} schedule := velerov1.Schedule{} cronjob := batchbeta1.CronJob{} + secret := corev1.Secret{} // Check DBOD resource creation By("Expecting Database resource created") @@ -949,6 +951,23 @@ var _ = Describe("DrupalSite controller", func() { k8sClient.Get(ctx, types.NamespacedName{Name: "cronjob-" + key.Name, Namespace: key.Namespace}, &cronjob) return cronjob.ObjectMeta.OwnerReferences }, timeout, interval).Should(ContainElement(expectedOwnerReference)) + + // Check gitlab webhook secret resource creation + By("Expecting Gitlab webhook secret created") + Eventually(func() []metav1.OwnerReference { + k8sClient.Get(ctx, types.NamespacedName{Name: "gitlab-trigger-secret-" + key.Name, Namespace: key.Namespace}, &secret) + return secret.ObjectMeta.OwnerReferences + }, timeout, interval).Should(ContainElement(expectedOwnerReference)) + + // Check gitlab webhook URL updated on the drupalSite status + By("Expecting Gitlab webhook secret created") + Eventually(func() bool { + cfg, err := ctrl.GetConfig() + if err != nil { + return false + } + return cr.Status.GitlabWebhookURL == cfg.Host+"/apis/build.openshift.io/v1/namespaces/"+drupalSiteObject.Namespace+"/buildconfigs/"+"sitebuilder-s2i-"+nameVersionHash(drupalSiteObject)+"/webhooks/"+string(secret.Data["WebHookSecretKey"])+"/gitlab" + }, timeout, interval).Should(BeTrue()) }) }) }) -- GitLab