sigs.k8s.io/kueue@v0.6.2/test/integration/webhook/admissioncheck_test.go (about)

     1  package webhook
     2  
     3  import (
     4  	"github.com/google/go-cmp/cmp/cmpopts"
     5  	"github.com/onsi/ginkgo/v2"
     6  	"github.com/onsi/gomega"
     7  	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
     8  	"k8s.io/utils/ptr"
     9  
    10  	kueue "sigs.k8s.io/kueue/apis/kueue/v1beta1"
    11  	"sigs.k8s.io/kueue/test/util"
    12  )
    13  
    14  var _ = ginkgo.Describe("AdmissionCheck Webhook", func() {
    15  	ginkgo.When("Creating a AdmissionCheck", func() {
    16  
    17  		ginkgo.DescribeTable("Defaulting on creating", func(ac, wantAC kueue.AdmissionCheck) {
    18  			gomega.Expect(k8sClient.Create(ctx, &ac)).Should(gomega.Succeed())
    19  			defer func() {
    20  				util.ExpectAdmissionCheckToBeDeleted(ctx, k8sClient, &ac, true)
    21  			}()
    22  			gomega.Expect(ac).To(gomega.BeComparableTo(wantAC,
    23  				cmpopts.IgnoreTypes(kueue.AdmissionCheckStatus{}),
    24  				cmpopts.IgnoreFields(metav1.ObjectMeta{}, "UID", "ResourceVersion", "Generation", "CreationTimestamp", "ManagedFields")))
    25  		},
    26  			ginkgo.Entry("All defaults",
    27  				kueue.AdmissionCheck{
    28  					ObjectMeta: metav1.ObjectMeta{
    29  						Name: "foo",
    30  					},
    31  					Spec: kueue.AdmissionCheckSpec{
    32  						ControllerName: "ac-controller",
    33  					},
    34  				},
    35  				kueue.AdmissionCheck{
    36  					ObjectMeta: metav1.ObjectMeta{
    37  						Name: "foo",
    38  					},
    39  					Spec: kueue.AdmissionCheckSpec{
    40  						ControllerName:    "ac-controller",
    41  						RetryDelayMinutes: ptr.To[int64](15),
    42  					},
    43  				},
    44  			),
    45  		)
    46  	})
    47  })