Documentation
¶
Index ¶
- func ClockSteppingWebhookHandler(t testing.TB, fakeClock *testingclock.FakeClock) func(http.ResponseWriter, *http.Request)
- func ConvertToMutatingWebhooks(webhooks []registrationv1.ValidatingWebhook) []registrationv1.MutatingWebhook
- func NewAttribute(namespace string, labels map[string]string, dryRun bool) admission.Attributes
- func NewAttributeUnstructured(namespace string, labels map[string]string, dryRun bool) admission.Attributes
- func NewAuthenticationInfoResolver(cacheMisses *int32) webhook.AuthenticationInfoResolver
- func NewFakeMutatingDataSource(name string, webhooks []registrationv1.MutatingWebhook, stopCh <-chan struct{}) (clientset kubernetes.Interface, factory informers.SharedInformerFactory)
- func NewFakeValidatingDataSource(name string, webhooks []registrationv1.ValidatingWebhook, ...) (clientset kubernetes.Interface, factory informers.SharedInformerFactory)
- func NewObjectInterfacesForTest() admission.ObjectInterfaces
- func NewServiceResolver(base url.URL) webhook.ServiceResolver
- func NewTestServer(t testing.TB) *httptest.Server
- func NewTestServerWithHandler(t testing.TB, handler func(http.ResponseWriter, *http.Request)) *httptest.Server
- func Wrapper(r webhook.AuthenticationInfoResolver) func(webhook.AuthenticationInfoResolver) webhook.AuthenticationInfoResolver
- type CachedTest
- type DurationTest
- type FakeAttributes
- type MutatingTest
- type ValidatingTest
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ClockSteppingWebhookHandler ¶ added in v0.23.0
func ClockSteppingWebhookHandler(t testing.TB, fakeClock *testingclock.FakeClock) func(http.ResponseWriter, *http.Request)
ClockSteppingWebhookHandler given a fakeClock returns a request handler that moves time in given clock by an amount specified in the webhook request
func ConvertToMutatingWebhooks ¶
func ConvertToMutatingWebhooks(webhooks []registrationv1.ValidatingWebhook) []registrationv1.MutatingWebhook
ConvertToMutatingWebhooks converts a validating webhook to a mutating one for test purposes.
func NewAttribute ¶
func NewAttribute(namespace string, labels map[string]string, dryRun bool) admission.Attributes
NewAttribute returns static admission Attributes for testing.
func NewAttributeUnstructured ¶
func NewAttributeUnstructured(namespace string, labels map[string]string, dryRun bool) admission.Attributes
NewAttributeUnstructured returns static admission Attributes for testing with custom resources.
func NewAuthenticationInfoResolver ¶
func NewAuthenticationInfoResolver(cacheMisses *int32) webhook.AuthenticationInfoResolver
NewAuthenticationInfoResolver creates a fake AuthenticationInfoResolver that counts cache misses on every call to its methods.
func NewFakeMutatingDataSource ¶
func NewFakeMutatingDataSource(name string, webhooks []registrationv1.MutatingWebhook, stopCh <-chan struct{}) (clientset kubernetes.Interface, factory informers.SharedInformerFactory)
NewFakeMutatingDataSource returns a mock client and informer returning the given webhooks.
func NewFakeValidatingDataSource ¶
func NewFakeValidatingDataSource(name string, webhooks []registrationv1.ValidatingWebhook, stopCh <-chan struct{}) (clientset kubernetes.Interface, factory informers.SharedInformerFactory)
NewFakeValidatingDataSource returns a mock client and informer returning the given webhooks.
func NewObjectInterfacesForTest ¶
func NewObjectInterfacesForTest() admission.ObjectInterfaces
NewObjectInterfacesForTest returns an ObjectInterfaces appropriate for test cases in this file.
func NewServiceResolver ¶
func NewServiceResolver(base url.URL) webhook.ServiceResolver
NewServiceResolver returns a static service resolve that return the given URL or an error for the failResolve namespace.
func NewTestServer ¶
func NewTestServer(t testing.TB) *httptest.Server
NewTestServer returns a webhook test HTTPS server with fixed webhook test certs.
func NewTestServerWithHandler ¶ added in v0.23.0
func NewTestServerWithHandler(t testing.TB, handler func(http.ResponseWriter, *http.Request)) *httptest.Server
NewTestServerWithHandler returns a webhook test HTTPS server which uses given handler function to handle requests
Types ¶
type CachedTest ¶
type CachedTest struct {
Name string
Webhooks []registrationv1.ValidatingWebhook
ExpectAllow bool
ExpectCacheMiss bool
}
CachedTest is a test case for the client manager.
func NewCachedClientTestcases ¶
func NewCachedClientTestcases(url *url.URL) []CachedTest
NewCachedClientTestcases returns a set of client manager test cases.
type DurationTest ¶ added in v0.23.0
type DurationTest struct {
Name string
Webhooks []registrationv1.ValidatingWebhook
InitContext bool
IsDryRun bool
ExpectedDurationSum time.Duration
ExpectedDurationMax time.Duration
}
DurationTest is webhook duration test case, used both in mutating and validating plugin test cases.
func NewValidationDurationTestCases ¶ added in v0.23.0
func NewValidationDurationTestCases(url *url.URL) []DurationTest
NewValidationDurationTestCases returns test cases for webhook duration test
type FakeAttributes ¶
type FakeAttributes struct {
admission.Attributes
// contains filtered or unexported fields
}
FakeAttributes decorate admission.Attributes. It's used to trace the added annotations.
func (*FakeAttributes) AddAnnotation ¶
func (f *FakeAttributes) AddAnnotation(k, v string) error
AddAnnotation adds an annotation key value pair to FakeAttributes
func (*FakeAttributes) AddAnnotationWithLevel ¶ added in v0.16.4
func (f *FakeAttributes) AddAnnotationWithLevel(k, v string, _ auditinternal.Level) error
AddAnnotationWithLevel adds an annotation key value pair to FakeAttributes
func (*FakeAttributes) GetAnnotations ¶
func (f *FakeAttributes) GetAnnotations(level auditinternal.Level) map[string]string
GetAnnotations reads annotations from FakeAttributes
type MutatingTest ¶
type MutatingTest struct {
Name string
Webhooks []registrationv1.MutatingWebhook
Path string
IsCRD bool
IsDryRun bool
AdditionalLabels map[string]string
SkipBenchmark bool
ExpectLabels map[string]string
ExpectAllow bool
ErrorContains string
ExpectAnnotations map[string]string
ExpectStatusCode int32
ExpectReinvokeWebhooks map[string]bool
}
MutatingTest is a mutating webhook test case.
func ConvertToMutatingTestCases ¶
func ConvertToMutatingTestCases(tests []ValidatingTest, configurationName string) []MutatingTest
ConvertToMutatingTestCases converts a validating test case to a mutating one for test purposes.
func NewMutatingTestCases ¶
func NewMutatingTestCases(url *url.URL, configurationName string) []MutatingTest
NewMutatingTestCases returns test cases with a given base url. All test cases in NewMutatingTestCases have Patch set in AdmissionResponse. The test cases are only used by both MutatingAdmissionWebhook.
type ValidatingTest ¶
type ValidatingTest struct {
Name string
Webhooks []registrationv1.ValidatingWebhook
Path string
IsCRD bool
IsDryRun bool
AdditionalLabels map[string]string
SkipBenchmark bool
ExpectLabels map[string]string
ExpectAllow bool
ErrorContains string
ExpectAnnotations map[string]string
ExpectStatusCode int32
ExpectReinvokeWebhooks map[string]bool
}
ValidatingTest is a validating webhook test case.
func NewNonMutatingTestCases ¶
func NewNonMutatingTestCases(url *url.URL) []ValidatingTest
NewNonMutatingTestCases returns test cases with a given base url. All test cases in NewNonMutatingTestCases have no Patch set in AdmissionResponse. The test cases are used by both MutatingAdmissionWebhook and ValidatingAdmissionWebhook.