controllertest

package
v0.17.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 8, 2024 License: Apache-2.0 Imports: 7 Imported by: 29

Documentation

Overview

Package controllertest contains fake informers for testing controllers When in doubt, it's almost always better to test against a real API server using envtest.Environment.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ErrorType

type ErrorType struct{}

ErrorType implements runtime.Object but isn't registered in any scheme and should cause errors in tests as a result.

func (ErrorType) DeepCopyObject

func (ErrorType) DeepCopyObject() runtime.Object

DeepCopyObject implements runtime.Object.

func (ErrorType) GetObjectKind

func (ErrorType) GetObjectKind() schema.ObjectKind

GetObjectKind implements runtime.Object.

type FakeInformer

type FakeInformer struct {
	// Synced is returned by the HasSynced functions to implement the Informer interface
	Synced bool

	// RunCount is incremented each time RunInformersAndControllers is called
	RunCount int
	// contains filtered or unexported fields
}

FakeInformer provides fake Informer functionality for testing.

func (*FakeInformer) Add

func (f *FakeInformer) Add(obj metav1.Object)

Add fakes an Add event for obj.

func (*FakeInformer) AddEventHandler

AddEventHandler implements the Informer interface. Adds an EventHandler to the fake Informers. TODO(community): Implement Registration.

func (*FakeInformer) AddEventHandlerWithResyncPeriod

func (f *FakeInformer) AddEventHandlerWithResyncPeriod(handler cache.ResourceEventHandler, resyncPeriod time.Duration) (cache.ResourceEventHandlerRegistration, error)

AddEventHandlerWithResyncPeriod does nothing. TODO(community): Implement this.

func (*FakeInformer) AddIndexers

func (f *FakeInformer) AddIndexers(indexers cache.Indexers) error

AddIndexers does nothing. TODO(community): Implement this.

func (*FakeInformer) Delete

func (f *FakeInformer) Delete(obj metav1.Object)

Delete fakes an Delete event for obj.

func (*FakeInformer) GetController

func (f *FakeInformer) GetController() cache.Controller

GetController does nothing. TODO(community): Implement this.

func (*FakeInformer) GetIndexer

func (f *FakeInformer) GetIndexer() cache.Indexer

GetIndexer does nothing. TODO(community): Implement this.

func (*FakeInformer) GetStore

func (f *FakeInformer) GetStore() cache.Store

GetStore does nothing. TODO(community): Implement this.

func (*FakeInformer) HasSynced

func (f *FakeInformer) HasSynced() bool

HasSynced implements the Informer interface. Returns f.Synced.

func (*FakeInformer) Informer

func (f *FakeInformer) Informer() cache.SharedIndexInformer

Informer returns the fake Informer.

func (*FakeInformer) IsStopped added in v0.14.0

func (f *FakeInformer) IsStopped() bool

IsStopped does nothing. TODO(community): Implement this.

func (*FakeInformer) LastSyncResourceVersion

func (f *FakeInformer) LastSyncResourceVersion() string

LastSyncResourceVersion does nothing. TODO(community): Implement this.

func (*FakeInformer) RemoveEventHandler added in v0.14.0

func (f *FakeInformer) RemoveEventHandler(handle cache.ResourceEventHandlerRegistration) error

RemoveEventHandler does nothing. TODO(community): Implement this.

func (*FakeInformer) Run

func (f *FakeInformer) Run(<-chan struct{})

Run implements the Informer interface. Increments f.RunCount.

func (*FakeInformer) SetTransform added in v0.12.0

func (f *FakeInformer) SetTransform(t cache.TransformFunc) error

SetTransform does nothing. TODO(community): Implement this.

func (*FakeInformer) SetWatchErrorHandler added in v0.7.0

func (f *FakeInformer) SetWatchErrorHandler(cache.WatchErrorHandler) error

SetWatchErrorHandler does nothing. TODO(community): Implement this.

func (*FakeInformer) Update

func (f *FakeInformer) Update(oldObj, newObj metav1.Object)

Update fakes an Update event for obj.

type Queue

type Queue struct {
	workqueue.Interface
	AddedRateLimitedLock sync.Mutex
	AddedRatelimited     []any
}

Queue implements a RateLimiting queue as a non-ratelimited queue for testing. This helps testing by having functions that use a RateLimiting queue synchronously add items to the queue.

func (*Queue) AddAfter

func (q *Queue) AddAfter(item interface{}, duration time.Duration)

AddAfter implements RateLimitingInterface.

func (*Queue) AddRateLimited

func (q *Queue) AddRateLimited(item interface{})

AddRateLimited implements RateLimitingInterface. TODO(community): Implement this.

func (*Queue) Forget

func (q *Queue) Forget(item interface{})

Forget implements RateLimitingInterface. TODO(community): Implement this.

func (*Queue) NumRequeues

func (q *Queue) NumRequeues(item interface{}) int

NumRequeues implements RateLimitingInterface. TODO(community): Implement this.

type UnconventionalListType added in v0.5.1

type UnconventionalListType struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              string `json:"spec,omitempty"`
}

UnconventionalListType is used to test CRDs with List types that have a slice of pointers rather than a slice of literals.

func (*UnconventionalListType) DeepCopy added in v0.5.1

DeepCopy implements *UnconventionalListType Handwritten for simplicity.

func (*UnconventionalListType) DeepCopyObject added in v0.5.1

func (u *UnconventionalListType) DeepCopyObject() runtime.Object

DeepCopyObject implements runtime.Object Handwritten for simplicity.

type UnconventionalListTypeList added in v0.5.1

type UnconventionalListTypeList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []*UnconventionalListType `json:"items"`
}

UnconventionalListTypeList is used to test CRDs with List types that have a slice of pointers rather than a slice of literals.

func (*UnconventionalListTypeList) DeepCopy added in v0.5.1

DeepCopy implements *UnconventionalListTypeListt Handwritten for simplicity.

func (*UnconventionalListTypeList) DeepCopyObject added in v0.5.1

func (u *UnconventionalListTypeList) DeepCopyObject() runtime.Object

DeepCopyObject implements runtime.Object Handwritten for simplicity.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL