builder

package
v0.0.0-...-af2e4d2 Latest Latest
Warning

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

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

README

Builder package for tests

This package holds Builder functions that can be used to create struct in tests with less noise.

One of the most important characteristic of a unit test (and any type of test really) is readability. This means it should be easy to read and clearly show the intent of the test. The setup (and cleanup) of the tests should be as small as possible to avoid the noise. Those builders exists to help with that.

There are two types of functions defined in this package:

*Builders*: Create and return a struct
*Modifiers*: Return a function that will operate on a given struct.
    // Definition
    type TriggerBindingOp func(*v1alpha1.TriggerBinding)
    // Builder
    func TriggerBinding(name, namespace string, ops ...TriggerBindingOp) *v1alpha1.TriggerBinding {
        // […]
    }
    // Modifier
    func TriggerBindingSpec(ops ...TriggerBindingSpecOp) TriggerBindingOp {
        // […]
    }

The main reason to define the Op type, and using it in the methods signatures is to group Modifier function together. It makes it easier to see what is a Modifier (or Builder) and on what it operates.

The go tests in this package exemplify the consolidation that can be achieved by using the builders:

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ClusterTriggerBinding

func ClusterTriggerBinding(name string, ops ...ClusterTriggerBindingOp) *v1alpha1.ClusterTriggerBinding

ClusterTriggerBinding creates a ClusterTriggerBinding with default values. Any number of ClusterTriggerBinding modifiers can be passed.

func EventListener

func EventListener(name, namespace string, ops ...EventListenerOp) *v1alpha1.EventListener

EventListener creates an EventListener with default values. Any number of EventListenerOp modifiers can be passed to transform it.

func EventListenerPodTemplateSpec

func EventListenerPodTemplateSpec(ops ...EventListenerPodTemplateOp) v1alpha1.PodTemplate

EventListenerPodTemplateSpec creates an PodTemplate. Any number of EventListenerPodTemplateOp modifiers can be passed to transform it.

func NewAddressable

func NewAddressable(hostname string) *duckv1alpha1.Addressable

func Param

func Param(name, value string) v1alpha1.Param

func Trigger

func Trigger(name, namespace string, ops ...TriggerOp) *v1alpha1.Trigger

Trigger creates an Trigger with default values. Any number of TriggerOp modifiers can be passed to transform it.

func TriggerBinding

func TriggerBinding(name, namespace string, ops ...TriggerBindingOp) *v1alpha1.TriggerBinding

TriggerBinding creates a TriggerBinding with default values. Any number of TriggerBinding modifiers can be passed.

func TriggerTemplate

func TriggerTemplate(name, namespace string, ops ...TriggerTemplateOp) *v1alpha1.TriggerTemplate

TriggerTemplate creates a TriggerTemplate with default values. Any number of TriggerTemplate modifiers can be passed.

Types

type ClusterTriggerBindingOp

type ClusterTriggerBindingOp func(*v1alpha1.ClusterTriggerBinding)

ClusterTriggerBindingOp is an operation which modifies the ClusterTriggerBinding.

func ClusterTriggerBindingMeta

func ClusterTriggerBindingMeta(ops ...MetaOp) ClusterTriggerBindingOp

ClusterTriggerBindingSpec sets the specified spec of the ClusterTriggerBinding. Any number of ClusterTriggerBindingSpecOp modifiers can be passed.

func ClusterTriggerBindingSpec

func ClusterTriggerBindingSpec(ops ...TriggerBindingSpecOp) ClusterTriggerBindingOp

ClusterTriggerBindingSpec sets the specified spec of the ClusterTriggerBinding. Any number of ClusterTriggerBindingSpecOp modifiers can be passed.

type EventInterceptorOp

type EventInterceptorOp func(*v1alpha1.EventInterceptor)

EventInterceptorOp is an operation which modifies the EventInterceptor.

func EventInterceptorParam

func EventInterceptorParam(name, value string) EventInterceptorOp

EventInterceptorParam adds a parameter to the EventInterceptor.

func EventListenerCELOverlay

func EventListenerCELOverlay(key, expression string) EventInterceptorOp

type EventListenerKubernetesResourceOp

type EventListenerKubernetesResourceOp func(*v1alpha1.KubernetesResource)

EventListenerKubernetesResourceOp is an operation which modifies the Kubernetes Resources.

func EventListenerPodSpec

func EventListenerPodSpec(podSpec duckv1.WithPodSpec) EventListenerKubernetesResourceOp

EventListenerPodSpec sets the specified podSpec duck type to the EventListener.

func EventListenerServiceType

func EventListenerServiceType(svcType string) EventListenerKubernetesResourceOp

EventListenerServiceType sets the specified service type to the EventListener.

type EventListenerOp

type EventListenerOp func(*v1alpha1.EventListener)

EventListenerOp is an operation which modifies the EventListener.

func EventListenerMeta

func EventListenerMeta(ops ...MetaOp) EventListenerOp

EventListenerMeta sets the Meta structs of the EventListener. Any number of MetaOp modifiers can be passed.

func EventListenerSpec

func EventListenerSpec(ops ...EventListenerSpecOp) EventListenerOp

EventListenerSpec sets the specified spec of the EventListener. Any number of EventListenerSpecOp modifiers can be passed to create/modify it.

func EventListenerStatus

func EventListenerStatus(ops ...EventListenerStatusOp) EventListenerOp

EventListenerStatus sets the specified status of the EventListener. Any number of EventListenerStatusOp modifiers can be passed to create/modify it.

type EventListenerPodTemplateOp

type EventListenerPodTemplateOp func(*v1alpha1.PodTemplate)

EventListenerPodTemplateOp is an operation which modifies the PodTemplate.

func EventListenerPodTemplateNodeSelector

func EventListenerPodTemplateNodeSelector(nodeSelector map[string]string) EventListenerPodTemplateOp

EventListenerPodTemplateNodeSelector sets the specified NodeSelector of the EventListener PodTemplate.

func EventListenerPodTemplateTolerations

func EventListenerPodTemplateTolerations(tolerations []corev1.Toleration) EventListenerPodTemplateOp

EventListenerPodTemplateTolerations sets the specified Tolerations of the EventListener PodTemplate.

type EventListenerResourceOp

type EventListenerResourceOp func(*v1alpha1.Resources)

EventListenerResourceOp is an operation which modifies the EventListener spec Resources.

func EventListenerKubernetesResources

func EventListenerKubernetesResources(ops ...EventListenerKubernetesResourceOp) EventListenerResourceOp

EventListenerKubernetesResources set specified Kubernetes resource to the EventListener.

type EventListenerSpecOp

type EventListenerSpecOp func(*v1alpha1.EventListenerSpec)

EventListenerSpecOp is an operation which modifies the EventListenerSpec.

func EventListenerPodTemplate

func EventListenerPodTemplate(podTemplate v1alpha1.PodTemplate) EventListenerSpecOp

EventListenerPodTemplate sets the specified pod template of the EventListener.

func EventListenerReplicas

func EventListenerReplicas(replicas int32) EventListenerSpecOp

EventListenerReplicas sets the specified Replicas of the EventListener.

func EventListenerResources

func EventListenerResources(ops ...EventListenerResourceOp) EventListenerSpecOp

EventListenerResources set specified resources to the EventListener.

func EventListenerServiceAccount

func EventListenerServiceAccount(saName string) EventListenerSpecOp

EventListenerServiceAccount sets the specified ServiceAccountName of the EventListener.

func EventListenerTrigger

func EventListenerTrigger(ttName, apiVersion string, ops ...EventListenerTriggerOp) EventListenerSpecOp

EventListenerTrigger adds an EventListenerTrigger to the EventListenerSpec Triggers. Any number of EventListenerTriggerOp modifiers can be passed to create/modify it.

func EventListenerTriggerRef

func EventListenerTriggerRef(trName string) EventListenerSpecOp

EventListenerTriggerRef adds an EventListenerTrigger with TriggerRef to the EventListenerSpec Triggers.

type EventListenerStatusOp

type EventListenerStatusOp func(*v1alpha1.EventListenerStatus)

EventListenerStatusOp is an operation which modifies the EventListenerStatus.

func EventListenerAddress

func EventListenerAddress(hostname string) EventListenerStatusOp

EventListenerAddress sets the EventListenerAddress on the EventListenerStatus

func EventListenerCondition

func EventListenerCondition(t apis.ConditionType, status corev1.ConditionStatus, message, reason string) EventListenerStatusOp

EventListenerCondition sets the specified condition on the EventListenerStatus.

func EventListenerConfig

func EventListenerConfig(generatedResourceName string) EventListenerStatusOp

EventListenerConfig sets the EventListenerConfiguration on the EventListenerStatus.

type EventListenerTriggerOp

type EventListenerTriggerOp func(*v1alpha1.EventListenerTrigger)

EventListenerTriggerOp is an operation which modifies the Trigger.

func EventListenerCELInterceptor

func EventListenerCELInterceptor(filter string, ops ...EventInterceptorOp) EventListenerTriggerOp

EventListenerCELInterceptor adds a CEL filter to the EventListenerTrigger.

func EventListenerTriggerBinding

func EventListenerTriggerBinding(ref, kind, apiVersion string, ops ...TriggerBindingSpecOp) EventListenerTriggerOp

EventListenerTriggerBinding adds a Binding to the Trigger in EventListenerSpec Triggers.

func EventListenerTriggerInterceptor

func EventListenerTriggerInterceptor(name, version, kind, namespace string, ops ...EventInterceptorOp) EventListenerTriggerOp

EventListenerTriggerInterceptor adds an objectRef to an interceptor Service to the EventListenerTrigger.

func EventListenerTriggerName

func EventListenerTriggerName(name string) EventListenerTriggerOp

EventListenerTriggerName adds a Name to the Trigger in EventListenerSpec Triggers.

func EventListenerTriggerServiceAccount

func EventListenerTriggerServiceAccount(saName, namespace string) EventListenerTriggerOp

EventListenerTriggerServiceAccount set the specified ServiceAccountName of the EventListenerTrigger.

type MetaOp

type MetaOp interface{}

MetaOp is an interface that is used in other builders. Other builders should have a Meta function that accepts ...MetaOp where ObjectMetaOp/TypeMetaOp are the underlying type.

type ObjectMetaOp

type ObjectMetaOp func(m *metav1.ObjectMeta)

ObjectMetaOp is an operation which modifies the ObjectMeta.

func Annotation

func Annotation(key, value string) ObjectMetaOp

Annotation adds a single annotation to the ObjectMeta.

func Label

func Label(key, value string) ObjectMetaOp

Label adds a single label to the ObjectMeta.

type TriggerBindingOp

type TriggerBindingOp func(*v1alpha1.TriggerBinding)

TriggerBindingOp is an operation which modifies the TriggerBinding.

func TriggerBindingMeta

func TriggerBindingMeta(ops ...MetaOp) TriggerBindingOp

TriggerBindingMeta sets the Meta structs of the TriggerBinding. Any number of MetaOp modifiers can be passed.

func TriggerBindingSpec

func TriggerBindingSpec(ops ...TriggerBindingSpecOp) TriggerBindingOp

TriggerBindingSpec sets the specified spec of the TriggerBinding. Any number of TriggerBindingSpecOp modifiers can be passed.

type TriggerBindingSpecOp

type TriggerBindingSpecOp func(*v1alpha1.TriggerBindingSpec)

TriggerBindingSpecOp is an operation which modifies the TriggerBindingSpec.

func TriggerBindingParam

func TriggerBindingParam(name, value string) TriggerBindingSpecOp

TriggerBindingParam adds a param to the TriggerBindingSpec.

type TriggerInterceptorOp

type TriggerInterceptorOp func(*v1alpha1.TriggerInterceptor)

TriggerInterceptorOp is an operation which modifies the EventInterceptor.

func TriggerSpecCELOverlay

func TriggerSpecCELOverlay(key, expression string) TriggerInterceptorOp

TriggerSpecCELOverlay modifies CEL interceptor

func TriggerSpecInterceptorParam

func TriggerSpecInterceptorParam(name, value string) TriggerInterceptorOp

TriggerSpecInterceptorParam adds a parameter to the TriggerInterceptor.

type TriggerOp

type TriggerOp func(*v1alpha1.Trigger)

TriggerOp is an operation which modifies the Trigger.

func TriggerSpec

func TriggerSpec(ops ...TriggerSpecOp) TriggerOp

TriggerSpec sets the specified spec of the EventListener. Any number of EventListenerSpecOp modifiers can be passed to create/modify it.

type TriggerSpecOp

type TriggerSpecOp func(*v1alpha1.TriggerSpec)

TriggerSpecOp is an operation which modifies the EventListenerSpec.

func TriggerSpecBinding

func TriggerSpecBinding(ref, kind, name, apiVersion string, ops ...TriggerBindingSpecOp) TriggerSpecOp

TriggerSpecBinding adds a Binding to the Trigger in TriggerSpec.

func TriggerSpecCELInterceptor

func TriggerSpecCELInterceptor(filter string, ops ...TriggerInterceptorOp) TriggerSpecOp

TriggerSpecCELInterceptor adds a CEL filter to the TriggerSpecTrigger.

func TriggerSpecInterceptor

func TriggerSpecInterceptor(name, version, kind, namespace string, ops ...TriggerInterceptorOp) TriggerSpecOp

TriggerSpecInterceptor adds an objectRef to an interceptor Service to the TriggerSpec.

func TriggerSpecName

func TriggerSpecName(name string) TriggerSpecOp

TriggerSpecName adds a Name to the Trigger in TriggerSpec.

func TriggerSpecServiceAccountName

func TriggerSpecServiceAccountName(saName string) TriggerSpecOp

TriggerSpecServiceAccountName set the specified ServiceAccount of the Trigger.

func TriggerSpecTemplate

func TriggerSpecTemplate(ttName, apiVersion string) TriggerSpecOp

TriggerSpecTemplate adds an TriggerTemplate to the TriggerSpec.

type TriggerTemplateOp

type TriggerTemplateOp func(*v1alpha1.TriggerTemplate)

TriggerTemplateOp is an operation which modifies an TriggerTemplate struct.

func TriggerTemplateMeta

func TriggerTemplateMeta(ops ...MetaOp) TriggerTemplateOp

TriggerTemplateMeta sets the Meta structs of the TriggerTemplate. Any number of MetaOp modifiers can be passed.

func TriggerTemplateSpec

func TriggerTemplateSpec(ops ...TriggerTemplateSpecOp) TriggerTemplateOp

TriggerTemplateSpec sets the TriggerTemplateSpec. Any number of TriggerTemplate modifiers can be passed.

type TriggerTemplateSpecOp

type TriggerTemplateSpecOp func(*v1alpha1.TriggerTemplateSpec)

TriggerTemplateSpecOp is an operation which modifies a TriggerTemplateSpec struct.

func TriggerResourceTemplate

func TriggerResourceTemplate(resourceTemplate runtime.RawExtension) TriggerTemplateSpecOp

TriggerResourceTemplate adds a ResourceTemplate to the TriggerTemplateSpec.

func TriggerTemplateParam

func TriggerTemplateParam(name, description, defaultValue string) TriggerTemplateSpecOp

TriggerTemplateParam adds a ParamSpec to the TriggerTemplateSpec.

type TypeMetaOp

type TypeMetaOp func(m *metav1.TypeMeta)

TypeMetaOp is an operation which modifies the TypeMeta.

func TypeMeta

func TypeMeta(kind, apiVersion string) TypeMetaOp

TypeMeta sets the TypeMeta struct with default values.

Jump to

Keyboard shortcuts

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