diff --git a/plugin/pkg/admission/admit/BUILD b/plugin/pkg/admission/admit/BUILD index 260cfd4364..f1f1a82a22 100644 --- a/plugin/pkg/admission/admit/BUILD +++ b/plugin/pkg/admission/admit/BUILD @@ -20,6 +20,10 @@ go_test( srcs = ["admission_test.go"], library = ":go_default_library", tags = ["automanaged"], + deps = [ + "//pkg/api:go_default_library", + "//vendor:k8s.io/apiserver/pkg/admission", + ], ) filegroup( diff --git a/plugin/pkg/admission/admit/admission_test.go b/plugin/pkg/admission/admit/admission_test.go index 650b6b7866..9281aec966 100644 --- a/plugin/pkg/admission/admit/admission_test.go +++ b/plugin/pkg/admission/admit/admission_test.go @@ -18,12 +18,34 @@ package admit import ( "testing" + + "k8s.io/apiserver/pkg/admission" + "k8s.io/kubernetes/pkg/api" ) -func TestAdmission(t *testing.T) { +func TestAdmissionNonNilAttribute(t *testing.T) { + handler := NewAlwaysAdmit() + err := handler.Admit(admission.NewAttributesRecord(nil, nil, api.Kind("kind").WithVersion("version"), "namespace", "name", api.Resource("resource").WithVersion("version"), "subresource", admission.Create, nil)) + if err != nil { + t.Errorf("Unexpected error returned from admission handler") + } +} + +func TestAdmissionNilAttribute(t *testing.T) { handler := NewAlwaysAdmit() err := handler.Admit(nil) if err != nil { t.Errorf("Unexpected error returned from admission handler") } } + +func TestHandles(t *testing.T) { + handler := NewAlwaysAdmit() + tests := []admission.Operation{admission.Create, admission.Connect, admission.Update, admission.Delete} + + for _, test := range tests { + if !handler.Handles(test) { + t.Errorf("Expected handling all operations, including: %v", test) + } + } +}