Skip to content

Add e2e test to validate webhook conversion from one version to another #4255

Open
@camilamacedo86

Description

What do you want to happen?

Description:

To enhance the MultiVersion tutorial, which demonstrates version conversion in webhooks, we created a sample project under: https://github.com/kubernetes-sigs/kubebuilder/tree/master/docs/book/src/multiversion-tutorial/testdata/project

This sample is auto-generated and updated when running make generate-docs as defined here:
https://github.com/kubernetes-sigs/kubebuilder/blob/master/Makefile#L82-L84

Code generation and insertion for documentation (including comments) are handled within:
https://github.com/kubernetes-sigs/kubebuilder/tree/master/hack/docs/internal/multiversion-tutorial

Additionally, we have a GitHub Action that runs e2e tests scaffolded by default for this sample project:

e2e-multiversion-tutorial:
runs-on: ubuntu-latest
strategy:
fail-fast: true
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: '~1.22'
- name: Install the latest version of kind
run: |
curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-linux-amd64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind
- name: Verify kind installation
run: kind version
- name: Create kind cluster
run: kind create cluster
- name: Running make test-e2e for Multiversion tutorial sample
working-directory: docs/book/src/multiversion-tutorial/testdata/project
run: make test-e2e

Goal

The objective of this issue is to supplement the tests in the e2e_test.go file by implementing an e2e test that:

  1. Applies a CronJob resource in v1 and verifies that it converts correctly to v2.
  2. Runs as part of our CI to validate the accuracy of our scaffolded code examples and ensure the functionality is as expected.
  3. Provides additional e2e testing examples, aiding users in creating and validating similar solutions.

By adding this test, we ensure that our examples and scaffolding are validated, providing greater confidence to our users.

Extra Labels

/kind documentation

Metadata

Labels

help wantedDenotes an issue that needs help from a contributor. Must meet "help wanted" guidelines.kind/featureCategorizes issue or PR as related to a new feature.testing

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions