Documentation ¶
Index ¶
- func DaemonSet(overrides ...DaemonSetOptions) *appsv1.DaemonSet
- func Node(overrides ...NodeOptions) *v1.Node
- func ObjectMeta(options metav1.ObjectMeta) metav1.ObjectMeta
- func PersistentVolume(overrides ...PersistentVolumeOptions) *v1.PersistentVolume
- func PersistentVolumeClaim(overrides ...PersistentVolumeClaimOptions) *v1.PersistentVolumeClaim
- func Pod(overrides ...PodOptions) *v1.Pod
- func PodDisruptionBudget(overrides ...PDBOptions) *v1beta1.PodDisruptionBudget
- func Pods(total int, options ...PodOptions) []*v1.Pod
- func StorageClass(overrides ...StorageClassOptions) *storagev1.StorageClass
- func UnschedulablePod(options ...PodOptions) *v1.Pod
- type DaemonSetOptions
- type Environment
- type EnvironmentOption
- type NodeOptions
- type PDBOptions
- type PersistentVolumeClaimOptions
- type PersistentVolumeOptions
- type PodOptions
- type StorageClassOptions
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 }
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 }