testing

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Jun 15, 2020 License: Apache-2.0 Imports: 46 Imported by: 0

Documentation

Overview

Package testing contains test helpers for reconcilers.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func EnsureNoNilField

func EnsureNoNilField(t *testing.T, impl *controller.Impl)

EnsureNoNilField fails the test if the provided Impl's reconciler contains nil pointers or interfaces.

func MakeFactory

func MakeFactory(ctor Ctor) rt.Factory

MakeFactory creates a testing factory for our controller.Reconciler, and initializes a Reconciler using the given Ctor as part of the process.

func NewARN

func NewARN(service, resource string) arn.ARN

NewARN returns a ARN with the given attributes.

func NewConfigMap

func NewConfigMap(name string, data map[string]string) *corev1.ConfigMap

NewConfigMap returns a ConfigMap object.

func NewScheme

func NewScheme() *runtime.Scheme

NewScheme returns a new scheme populated with the types defined in clientSetSchemes.

func Populate

func Populate(srcCpy v1alpha1.AWSEventSource)

Populate populates an event source with generic attributes.

func SetEnvVar

func SetEnvVar(t *testing.T, name, val string) (unset func())

SetEnvVar sets the value of an env var and returns a function that can be deferred to unset that variable.

func TestControllerConstructor

func TestControllerConstructor(t *testing.T, ctor injection.ControllerConstructor)

TestControllerConstructor tests that a controller constructor meets our requirements.

func TestControllerConstructorFailures

func TestControllerConstructorFailures(t *testing.T, ctor injection.ControllerConstructor)

TestControllerConstructorFailures tests that a controller constructor fails when various requirements are not met.

func TestReconcile

func TestReconcile(t *testing.T, ctor Ctor, src v1alpha1.AWSEventSource, adapterFn interface{})

Test the Reconcile method of the controller.Reconciler implemented by controllers.

The environment for each test case is set up as follows:

  1. MakeFactory initializes fake clients with the objects declared in the test case
  2. MakeFactory injects those clients into a context along with fake event recorders, etc.
  3. A Reconciler is constructed via a Ctor function using the values injected above
  4. The Reconciler returned by MakeFactory is used to run the test case

func ToUnstructured

func ToUnstructured(t *testing.T, objs []runtime.Object) (unstr []runtime.Object)

ToUnstructured takes a list of k8s resources and converts them to Unstructured objects. We must pass objects as Unstructured to the dynamic client fake, or it won't handle them properly.

Types

type Ctor

Ctor constructs a controller.Reconciler.

type FakeOwnerRefable

type FakeOwnerRefable struct {
	metav1.ObjectMeta
	schema.GroupVersionKind
}

FakeOwnerRefable implements OwnerRefable.

func DummyOwnerRefable

func DummyOwnerRefable() *FakeOwnerRefable

DummyOwnerRefable returns a OwnerRefable with dummy attributes.

func NewOwnerRefable

func NewOwnerRefable(name string, gvk schema.GroupVersionKind, uid types.UID) *FakeOwnerRefable

NewOwnerRefable returns a OwnerRefable with the given attributes.

func (*FakeOwnerRefable) GetGroupVersionKind

func (o *FakeOwnerRefable) GetGroupVersionKind() schema.GroupVersionKind

GetGroupVersionKind returns the GroupVersionKind from the object.

type Listers

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

Listers returns listers and objects filtered from those listers.

func NewListers

func NewListers(scheme *runtime.Scheme, objs []runtime.Object) Listers

NewListers returns a new instance of Listers initialized with the given objects.

func (*Listers) GetAWSCodeCommitSourceLister

func (l *Listers) GetAWSCodeCommitSourceLister() listersv1alpha1.AWSCodeCommitSourceLister

GetAWSCodeCommitSourceLister returns a Lister for AWSCodeCommitSource objects.

func (*Listers) GetAWSCognitoIdentitySourceLister

func (l *Listers) GetAWSCognitoIdentitySourceLister() listersv1alpha1.AWSCognitoIdentitySourceLister

GetAWSCognitoIdentitySourceLister returns a Lister for AWSCognitoUserPoolSource objects.

func (*Listers) GetAWSCognitoUserPoolSourceLister

func (l *Listers) GetAWSCognitoUserPoolSourceLister() listersv1alpha1.AWSCognitoUserPoolSourceLister

GetAWSCognitoUserPoolSourceLister returns a Lister for AWSCognitoIdentitySource objects.

func (*Listers) GetAWSDynamoDBSourceLister

func (l *Listers) GetAWSDynamoDBSourceLister() listersv1alpha1.AWSDynamoDBSourceLister

GetAWSDynamoDBSourceLister returns a Lister for AWSDynamoDBSource objects.

func (*Listers) GetAWSIoTSourceLister

func (l *Listers) GetAWSIoTSourceLister() listersv1alpha1.AWSIoTSourceLister

GetAWSIoTSourceLister returns a Lister for AWSIoTSource objects.

func (*Listers) GetAWSKinesisSourceLister

func (l *Listers) GetAWSKinesisSourceLister() listersv1alpha1.AWSKinesisSourceLister

GetAWSKinesisSourceLister returns a Lister for AWSKinesisSource objects.

func (*Listers) GetAWSSNSSourceLister

func (l *Listers) GetAWSSNSSourceLister() listersv1alpha1.AWSSNSSourceLister

GetAWSSNSSourceLister returns a Lister for AWSSNSSource objects.

func (*Listers) GetAWSSQSSourceLister

func (l *Listers) GetAWSSQSSourceLister() listersv1alpha1.AWSSQSSourceLister

GetAWSSQSSourceLister returns a Lister for AWSSQSSource objects.

func (*Listers) GetDeploymentLister

func (l *Listers) GetDeploymentLister() k8slistersv1.DeploymentLister

GetDeploymentLister returns a lister for Deployment objects.

func (*Listers) GetKubeObjects

func (l *Listers) GetKubeObjects() []runtime.Object

GetKubeObjects returns objects from Kubernetes APIs.

func (*Listers) GetServiceLister

func (l *Listers) GetServiceLister() servinglistersv1.ServiceLister

GetServiceLister returns a lister for Service objects.

func (*Listers) GetServingObjects

func (l *Listers) GetServingObjects() []runtime.Object

GetServingObjects returns objects from the serving API.

func (*Listers) GetSourcesObjects

func (l *Listers) GetSourcesObjects() []runtime.Object

GetSourcesObjects returns objects from the sources API.

func (*Listers) IndexerFor

func (l *Listers) IndexerFor(obj runtime.Object) cache.Indexer

IndexerFor returns the indexer for the given object.

Jump to

Keyboard shortcuts

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