test

package
v1.8.0 Latest Latest
Warning

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

Go to latest
Published: Apr 1, 2022 License: Apache-2.0 Imports: 29 Imported by: 0

Documentation

Overview

Package test contains testing utilities used for constructing fake Contexts which can be used during tests.

It should be used for all unit tests that require a set of fake clientsets etc in order to provide test consistency.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NTimesReactor

func NTimesReactor(f coretesting.ReactionFunc, numberCalls int) coretesting.ReactionFunc

func ObjectCreatedReactor

func ObjectCreatedReactor(t *testing.T, b *Builder, expectedObj runtime.Object) coretesting.ReactionFunc

func ObjectDeletedReactor

func ObjectDeletedReactor(t *testing.T, b *Builder, obj runtime.Object) coretesting.ReactionFunc

func RandStringBytes

func RandStringBytes(n int) string

RandStringBytes generates a pseudo-random string of length `n`.

Types

type Action

type Action interface {
	Action() coretesting.Action
	Matches(coretesting.Action) error
}

Action implements a getter and a matcher for coretesting.Action type.

func NewAction

func NewAction(a coretesting.Action) Action

NewAction takes coretesting.Action and wraps it with action.

func NewCustomMatch

func NewCustomMatch(a coretesting.Action, matchFn ActionMatchFn) Action

NewCustomMatch takes an Action and a matcher function and returns a wrapper that can be used to compare this Action with another one.

type ActionMatchFn

type ActionMatchFn func(coretesting.Action, coretesting.Action) error

ActionMatchFn is a type of custom matcher for two Actions.

type Builder

type Builder struct {
	T *testing.T

	KubeObjects        []runtime.Object
	CertManagerObjects []runtime.Object
	GWObjects          []runtime.Object
	ExpectedActions    []Action
	ExpectedEvents     []string
	StringGenerator    StringGenerator

	// Clock will be the Clock set on the controller context.
	// If not specified, the RealClock will be used.
	Clock *fakeclock.FakeClock

	// CheckFn is a custom check function that will be executed when the
	// CheckAndFinish method is called on the builder, after all other checks.
	// It will be passed a reference to the Builder in order to access state,
	// as well as a list of all the arguments passed to the CheckAndFinish
	// function (typically the list of return arguments from the function under
	// test).
	CheckFn func(*Builder, ...interface{})

	*controller.Context
	// contains filtered or unexported fields
}

Builder is a structure used to construct new Contexts for use during tests. Currently, only KubeObjects, CertManagerObjects and GWObjects can be specified. These will be auto loaded into the constructed fake Clientsets. Call ToContext() to construct a new context using the given values.

func (*Builder) AllActionsExecuted

func (b *Builder) AllActionsExecuted() error

AllActionsExecuted skips the "list" and "watch" action verbs.

func (*Builder) AllEventsCalled added in v1.8.0

func (b *Builder) AllEventsCalled() error

func (*Builder) AllReactorsCalled

func (b *Builder) AllReactorsCalled() error

func (*Builder) CheckAndFinish added in v1.8.0

func (b *Builder) CheckAndFinish(args ...interface{})

CheckAndFinish will run ensure: all reactors are called, all actions are expected, and all events are as expected. It will then call the Builder's CheckFn, if defined.

func (*Builder) EnsureReactorCalled

func (b *Builder) EnsureReactorCalled(testName string, fn coretesting.ReactionFunc) coretesting.ReactionFunc

func (*Builder) Events

func (b *Builder) Events() []string

func (*Builder) FakeCMClient

func (b *Builder) FakeCMClient() *cmfake.Clientset

func (*Builder) FakeCMInformerFactory

func (b *Builder) FakeCMInformerFactory() informers.SharedInformerFactory

func (*Builder) FakeGWClient added in v1.8.0

func (b *Builder) FakeGWClient() *gwfake.Clientset

func (*Builder) FakeKubeClient

func (b *Builder) FakeKubeClient() *kubefake.Clientset

func (*Builder) FakeKubeInformerFactory

func (b *Builder) FakeKubeInformerFactory() kubeinformers.SharedInformerFactory

func (*Builder) Init added in v1.8.0

func (b *Builder) Init()

Init will construct a new context for this builder and set default values for any unset fields.

func (*Builder) InitWithRESTConfig added in v1.8.0

func (b *Builder) InitWithRESTConfig()

InitWithRESTConfig() will call builder.Init(), then assign an initialised RESTConfig with a `cert-manager/unit-test` User Agent.

func (*Builder) RegisterAdditionalSyncFuncs added in v1.8.0

func (b *Builder) RegisterAdditionalSyncFuncs(fns ...cache.InformerSynced)

RegisterAdditionalSyncFuncs registers an additional InformerSynced function with the builder. When the Sync method is called, the builder will also wait for the given listers to be synced as well as the listers that were registered with the informer factories that the builder provides.

func (*Builder) Start

func (b *Builder) Start()

func (*Builder) Stop

func (b *Builder) Stop()

Stop will signal the informers to stop watching changes This method is *not* safe to be called concurrently

func (*Builder) Sync

func (b *Builder) Sync()

type FakeRecorder added in v1.8.0

type FakeRecorder struct {
	Events []string
}

FakeRecorder is used as a fake during tests. It is thread safe. It is usable when created manually and not by NewFakeRecorder, however all events may be thrown away in this case.

func (*FakeRecorder) AnnotatedEventf added in v1.8.0

func (f *FakeRecorder) AnnotatedEventf(object runtime.Object, annotations map[string]string, eventtype, reason, messageFmt string, args ...interface{})

func (*FakeRecorder) Event added in v1.8.0

func (f *FakeRecorder) Event(object runtime.Object, eventtype, reason, message string)

func (*FakeRecorder) Eventf added in v1.8.0

func (f *FakeRecorder) Eventf(object runtime.Object, eventtype, reason, messageFmt string, args ...interface{})

func (*FakeRecorder) PastEventf added in v1.8.0

func (f *FakeRecorder) PastEventf(object runtime.Object, timestamp metav1.Time, eventtype, reason, messageFmt string, args ...interface{})

type StringGenerator

type StringGenerator func(n int) string

Jump to

Keyboard shortcuts

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