...
1
16
17 package admit
18
19 import (
20 "context"
21 "testing"
22
23 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
24 "k8s.io/apiserver/pkg/admission"
25 admissiontesting "k8s.io/apiserver/pkg/admission/testing"
26 api "k8s.io/kubernetes/pkg/apis/core"
27 )
28
29 func TestAdmissionNonNilAttribute(t *testing.T) {
30 handler := admissiontesting.WithReinvocationTesting(t, NewAlwaysAdmit().(*alwaysAdmit))
31 err := handler.Admit(context.TODO(), admission.NewAttributesRecord(nil, nil, api.Kind("kind").WithVersion("version"), "namespace", "name", api.Resource("resource").WithVersion("version"), "subresource", admission.Create, &metav1.CreateOptions{}, false, nil), nil)
32 if err != nil {
33 t.Errorf("Unexpected error returned from admission handler")
34 }
35 }
36
37 func TestAdmissionNilAttribute(t *testing.T) {
38 handler := NewAlwaysAdmit()
39 err := handler.(*alwaysAdmit).Admit(context.TODO(), nil, nil)
40 if err != nil {
41 t.Errorf("Unexpected error returned from admission handler")
42 }
43 }
44
45 func TestHandles(t *testing.T) {
46 handler := NewAlwaysAdmit()
47 tests := []admission.Operation{admission.Create, admission.Connect, admission.Update, admission.Delete}
48
49 for _, test := range tests {
50 if !handler.Handles(test) {
51 t.Errorf("Expected handling all operations, including: %v", test)
52 }
53 }
54 }
55
View as plain text