controller-runtime: sigs.k8s.io/controller-runtime/pkg/client/fake Index | Files

package fake

import "sigs.k8s.io/controller-runtime/pkg/client/fake"

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

Package Files

client.go doc.go

func NewFakeClient Uses

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

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 Uses

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

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.

type ClientBuilder Uses

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

ClientBuilder builds a fake client.

func NewClientBuilder Uses

func NewClientBuilder() *ClientBuilder

NewClientBuilder returns a new builder to create a fake client.

func (*ClientBuilder) Build Uses

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

Build builds and returns a new fake client.

func (*ClientBuilder) WithLists Uses

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 Uses

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 Uses

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 Uses

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.

Package fake imports 18 packages (graph) and is imported by 31 packages. Updated 2021-01-08. Refresh now. Tools for package owners.