Documentation ¶
Overview ¶
Package envtest contains the test environment to run integration tests.
Index ¶
- func Run(ctx context.Context, input RunInput) int
- type Environment
- func (e *Environment) Cleanup(ctx context.Context, objs ...client.Object) error
- func (e *Environment) CleanupAndWait(ctx context.Context, objs ...client.Object) error
- func (e *Environment) CreateAndWait(ctx context.Context, obj client.Object, opts ...client.CreateOption) error
- func (e *Environment) CreateKubeconfigSecret(ctx context.Context, cluster *clusterv1.Cluster) error
- func (e *Environment) CreateNamespace(ctx context.Context, generateName string) (*corev1.Namespace, error)
- func (e *Environment) PatchAndWait(ctx context.Context, obj client.Object, opts ...client.PatchOption) error
- type RunInput
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Run ¶
Run executes the tests of the given testing.M in a test environment. Note: The environment will be created in this func and should not be created before. This func takes a *Environment
because our tests require access to the *Environment. We use this field to make the created Environment available to the consumer.
Note: Test environment creation can be skipped by setting the environment variable `CAPI_DISABLE_TEST_ENV`. This only
makes sense when executing tests which don't require the test environment, e.g. tests using only the fake client.
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 (*Environment) CleanupAndWait ¶
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) CreateKubeconfigSecret ¶
CreateKubeconfigSecret generates a new Kubeconfig secret from the envtest config.
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) PatchAndWait ¶ added in v1.2.0
func (e *Environment) PatchAndWait(ctx context.Context, obj client.Object, opts ...client.PatchOption) error
PatchAndWait creates or updates the given object using server-side apply 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.