Skip to content

Commit

Permalink
e2e-tests: fix/cleanup and add test to validate webhooks outside of t…
Browse files Browse the repository at this point in the history
…he manager namespace

- remove the steps to check webhook networkpolicy failures since those are not accurated.
- cleanup the tests
- add test to ensure that weebhoks are working well in namespaces which are not those where the webhook-service and manager are applied
  • Loading branch information
camilamacedo86 committed Sep 14, 2024
1 parent 174b2c9 commit c49dbc1
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 14 deletions.
34 changes: 20 additions & 14 deletions test/e2e/v4/plugin_cluster_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -312,26 +312,32 @@ func Run(kbc *utils.TestContext, hasWebhook, isToUseInstaller, hasMetrics bool,
ExpectWithOffset(1, count).To(BeNumerically("==", 5))
}

if hasWebhook && hasNetworkPolicies {
By("validating that webhooks from namespace without the label will fail")

// Define the namespace name and CR sample file path
namespace := "test-namespace-without-webhook-label"
sampleFile := "path/to/your/sample-file.yaml"

// Create the namespace
By("creating a namespace without the webhook: enabled label")
if hasWebhook {
By("creating a namespace")
namespace := "test-webhooks"
_, err := kbc.Kubectl.Command("create", "namespace", namespace)
Expect(err).NotTo(HaveOccurred(), "namespace should be created successfully")

// Apply the Custom Resource in the new namespace and expect it to fail
By("applying the CR in the namespace without the webhook: enabled label and expecting it to fail")
By("applying the CR in the created namespace")
EventuallyWithOffset(1, func() error {
_, err = kbc.Kubectl.Apply(false, "-n", namespace, "-f", sampleFile)
_, err := kbc.Kubectl.Apply(false, "-n", namespace, "-f", sampleFile)
return err
}, time.Minute, time.Second).Should(HaveOccurred(), "applying the CR should fail due to webhook call timeout")
}, 2*time.Minute, time.Second).ShouldNot(HaveOccurred(),
"apply in test-webhooks ns should not fail")

// Cleanup: Remove the namespace
By("validating that mutating webhooks are working fine outside of the manager's namespace")
cnt, err := kbc.Kubectl.Get(
false,
"-n", namespace,
"-f", sampleFile,
"-o", "go-template={{ .spec.count }}")
ExpectWithOffset(1, err).NotTo(HaveOccurred())

count, err := strconv.Atoi(cnt)
ExpectWithOffset(1, err).NotTo(HaveOccurred())
ExpectWithOffset(1, count).To(BeNumerically("==", 5),
"the mutating webhook should set the count to 5")

By("removing the namespace")
_, err = kbc.Kubectl.Command("delete", "namespace", namespace)
Expect(err).NotTo(HaveOccurred(), "namespace should be removed successfully")
Expand Down

0 comments on commit c49dbc1

Please sign in to comment.