fake

package
v0.9.5 Latest Latest
Warning

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

Go to latest
Published: Jul 28, 2021 License: Apache-2.0 Imports: 21 Imported by: 254

Documentation

Overview

Package fake provides a fake client for testing.

A fake client is backed by its simple object store indexed by GroupVersionResource. You can create a fake client with optional objects.

client := NewFakeClientWithScheme(scheme, initObjs...) // initObjs is a slice of runtime.Object

You can invoke the methods defined in the Client interface.

When in doubt, it's almost always better not to use this package and instead use envtest.Environment with a real client and API server.

WARNING: ⚠️ Current Limitations / Known Issues with the fake Client ⚠️

  • This client does not have a way to inject specific errors to test handled vs. unhandled errors.
  • There is some support for sub resources which can cause issues with tests if you're trying to update e.g. metadata and status in the same reconcile.
  • No OpeanAPI validation is performed when creating or updating objects.
  • ObjectMeta's `Generation` and `ResourceVersion` don't behave properly, Patch or Update

operations that rely on these fields will fail, or give false positives.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewFakeClient deprecated

func NewFakeClient(initObjs ...runtime.Object) client.WithWatch

NewFakeClient creates a new fake client for testing. You can choose to initialize it with a slice of runtime.Object.

Deprecated: Please use NewClientBuilder instead.

func NewFakeClientWithScheme deprecated added in v0.1.8

func NewFakeClientWithScheme(clientScheme *runtime.Scheme, initObjs ...runtime.Object) client.WithWatch

NewFakeClientWithScheme creates a new fake client with the given scheme for testing. You can choose to initialize it with a slice of runtime.Object.

Deprecated: Please use NewClientBuilder instead.

Types

type ClientBuilder added in v0.7.0

type ClientBuilder struct {
	// contains filtered or unexported fields
}

ClientBuilder builds a fake client.

func NewClientBuilder added in v0.7.0

func NewClientBuilder() *ClientBuilder

NewClientBuilder returns a new builder to create a fake client.

func (*ClientBuilder) Build added in v0.7.0

func (f *ClientBuilder) Build() client.WithWatch

Build builds and returns a new fake client.

func (*ClientBuilder) WithLists added in v0.7.0

func (f *ClientBuilder) WithLists(initLists ...client.ObjectList) *ClientBuilder

WithLists can be optionally used to initialize this fake client with client.ObjectList(s).

func (*ClientBuilder) WithObjects added in v0.7.0

func (f *ClientBuilder) WithObjects(initObjs ...client.Object) *ClientBuilder

WithObjects can be optionally used to initialize this fake client with client.Object(s).

func (*ClientBuilder) WithRuntimeObjects added in v0.7.0

func (f *ClientBuilder) WithRuntimeObjects(initRuntimeObjs ...runtime.Object) *ClientBuilder

WithRuntimeObjects can be optionally used to initialize this fake client with runtime.Object(s).

func (*ClientBuilder) WithScheme added in v0.7.0

func (f *ClientBuilder) WithScheme(scheme *runtime.Scheme) *ClientBuilder

WithScheme sets this builder's internal scheme. If not set, defaults to client-go's global scheme.Scheme.

Jump to

Keyboard shortcuts

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