test

package
v0.8.1 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DaemonSet

func DaemonSet(overrides ...DaemonSetOptions) *appsv1.DaemonSet

DaemonSet creates a test pod with defaults that can be overridden by DaemonSetOptions. Overrides are applied in order, with a last write wins semantic.

func Node

func Node(overrides ...NodeOptions) *v1.Node

func ObjectMeta added in v0.5.4

func ObjectMeta(options metav1.ObjectMeta) metav1.ObjectMeta

func PersistentVolume added in v0.5.4

func PersistentVolume(overrides ...PersistentVolumeOptions) *v1.PersistentVolume

func PersistentVolumeClaim added in v0.5.4

func PersistentVolumeClaim(overrides ...PersistentVolumeClaimOptions) *v1.PersistentVolumeClaim

func Pod

func Pod(overrides ...PodOptions) *v1.Pod

Pod creates a test pod with defaults that can be overridden by PodOptions. Overrides are applied in order, with a last write wins semantic.

func PodDisruptionBudget

func PodDisruptionBudget(overrides ...PDBOptions) *v1beta1.PodDisruptionBudget

PodDisruptionBudget creates a PodDisruptionBudget. To function properly, it should have its status applied after creation with something like ExpectCreatedWithStatus

func Pods added in v0.5.3

func Pods(total int, options ...PodOptions) []*v1.Pod

Pods creates homogeneous groups of pods based on the passed in options, evenly divided by the total pods requested

func StorageClass added in v0.5.4

func StorageClass(overrides ...StorageClassOptions) *storagev1.StorageClass

func UnschedulablePod

func UnschedulablePod(options ...PodOptions) *v1.Pod

UnschedulablePod creates a test pod with a pending scheduling status condition

Types

type DaemonSetOptions

type DaemonSetOptions struct {
	metav1.ObjectMeta
	Selector   map[string]string
	PodOptions PodOptions
}

DaemonSetOptions customizes a DaemonSet.

type Environment

type Environment struct {
	envtest.Environment
	Client client.Client
	Ctx    context.Context
	// contains filtered or unexported fields
}

Environment is for e2e local testing. It stands up an API Server, ETCD, and a controller-runtime manager. It's possible to run multiple environments simultaneously, as the ports are randomized. A common use case for this is parallel tests using ginkgo's parallelization functionality. The environment is typically instantiated once in a test file and re-used between different test cases. Resources for each test should be isolated into its own namespace.

env := new Local(func(local *Local) {
	// Register test controller with manager
	controllerruntime.NewControllerManagedBy(local.Manager).For(...)
	return nil
})

BeforeSuite(func() { env.Start() }) AfterSuite(func() { env.Stop() })

func NewEnvironment

func NewEnvironment(ctx context.Context, options ...EnvironmentOption) *Environment

func (*Environment) Start

func (e *Environment) Start() (err error)

func (*Environment) Stop

func (e *Environment) Stop() error

type EnvironmentOption

type EnvironmentOption func(env *Environment)

EnvironmentOption passes the local environment to an option function. This is useful for registering controllers with the controller-runtime manager or for customizing Client, Scheme, or other variables.

type NodeOptions

type NodeOptions struct {
	metav1.ObjectMeta
	ReadyStatus   v1.ConditionStatus
	ReadyReason   string
	Conditions    []v1.NodeCondition
	Unschedulable bool
	Taints        []v1.Taint
	Allocatable   v1.ResourceList
}

type PDBOptions

type PDBOptions struct {
	metav1.ObjectMeta
	Labels         map[string]string
	MinAvailable   *intstr.IntOrString
	MaxUnavailable *intstr.IntOrString
}

type PersistentVolumeClaimOptions added in v0.5.4

type PersistentVolumeClaimOptions struct {
	metav1.ObjectMeta
	StorageClassName *string
	VolumeName       string
}

type PersistentVolumeOptions added in v0.5.4

type PersistentVolumeOptions struct {
	metav1.ObjectMeta
	Zones            []string
	StorageClassName string
}

type PodOptions

type PodOptions struct {
	metav1.ObjectMeta
	Image                     string
	NodeName                  string
	PriorityClassName         string
	ResourceRequirements      v1.ResourceRequirements
	NodeSelector              map[string]string
	NodeRequirements          []v1.NodeSelectorRequirement
	NodePreferences           []v1.NodeSelectorRequirement
	PodRequirements           []v1.PodAffinityTerm
	PodPreferences            []v1.WeightedPodAffinityTerm
	PodAntiRequirements       []v1.PodAffinityTerm
	PodAntiPreferences        []v1.WeightedPodAffinityTerm
	TopologySpreadConstraints []v1.TopologySpreadConstraint
	Tolerations               []v1.Toleration
	PersistentVolumeClaims    []string
	Conditions                []v1.PodCondition
	Phase                     v1.PodPhase
}

PodOptions customizes a Pod.

type StorageClassOptions added in v0.5.4

type StorageClassOptions struct {
	metav1.ObjectMeta
	Zones []string
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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