Documentation ¶
Index ¶
- 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 Wrapper(r webhook.AuthenticationInfoResolver) func(webhook.AuthenticationInfoResolver) webhook.AuthenticationInfoResolver
- type CachedTest
- type FakeAttributes
- type MutatingTest
- type ValidatingTest
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ConvertToMutatingWebhooks ¶
func ConvertToMutatingWebhooks(webhooks []registrationv1.ValidatingWebhook) []registrationv1.MutatingWebhook
ConvertToMutatingWebhooks converts a validating webhook to a mutating one for test purposes.
func NewAttribute ¶
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 ¶
NewTestServer returns a webhook test HTTPS server with fixed webhook test certs.
func Wrapper ¶
func Wrapper(r webhook.AuthenticationInfoResolver) func(webhook.AuthenticationInfoResolver) webhook.AuthenticationInfoResolver
Wrapper turns an AuthenticationInfoResolver into a AuthenticationInfoResolverWrapper that unconditionally returns the given AuthenticationInfoResolver.
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 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.