testenv

package
v0.13.0-rc.4 Latest Latest
Warning

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

Go to latest
Published: Aug 26, 2021 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Overview

Package testenv contains helpers to create and work with an encapsulated local Kubernetes test environment.

For general advice around testing, see: https://cluster-api.sigs.k8s.io/developer/testing.html

For more information about the encapsulated local Kubernetes test environment, see: https://book.kubebuilder.io/reference/envtest.html

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Environment

type Environment struct {
	manager.Manager
	client.Client
	Config *rest.Config
	// contains filtered or unexported fields
}

Environment encapsulates a Kubernetes local test environment.

func New

func New(o ...Option) *Environment

New creates a new environment spinning up a local api-server.

NOTE: This function should be called only once for each package you are running tests within, usually the environment is initialised in a suite_test.go or <package>_test.go file within a `TestMain` function.

func (*Environment) Cleanup

func (e *Environment) Cleanup(ctx context.Context, objs ...client.Object) error

Cleanup deletes all the given objects.

func (*Environment) CleanupAndWait

func (e *Environment) CleanupAndWait(ctx context.Context, objs ...client.Object) error

CleanupAndWait deletes all the given objects and waits for the cache to be updated accordingly.

NOTE: Waiting for the cache to be updated helps in preventing test flakes due to the cache sync delays.

func (*Environment) CreateAndWait

func (e *Environment) CreateAndWait(ctx context.Context, obj client.Object, opts ...client.CreateOption) error

CreateAndWait creates the given object and waits for the cache to be updated accordingly.

NOTE: Waiting for the cache to be updated helps in preventing test flakes due to the cache sync delays.

func (*Environment) CreateNamespace

func (e *Environment) CreateNamespace(ctx context.Context, generateName string) (*corev1.Namespace, error)

CreateNamespace creates a new namespace with a generated name.

func (*Environment) Start

func (e *Environment) Start(ctx context.Context) error

Start starts the test environment.

func (*Environment) Stop

func (e *Environment) Stop() error

Stop stops the test environment.

type Option

type Option func(*options)

Option sets a configuration for the Environment.

func WithCRDPath

func WithCRDPath(path ...string) Option

WithCRDPath configures the paths the envtest.Environment should look at for Custom Resource Definitions.

func WithScheme

func WithScheme(scheme *runtime.Scheme) Option

WithScheme configures the runtime.Scheme for the Environment. If no scheme is configured, the Environment defaults to the global runtime.Scheme.

Jump to

Keyboard shortcuts

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