testclient

package
v0.14.2-0...-43ec88f Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddObjectsFromPath

func AddObjectsFromPath(path string, o ObjectRetriever) error

AddObjectsFromPath loads the JSON or YAML file containing Kubernetes API resources and adds them to the provided ObjectRetriever.

Types

type Fake

type Fake struct {
	Actions []FakeAction
	Watch   watch.Interface
	Err     error

	// ReactFn is an optional function that will be invoked with the provided action
	// and return a response. It can implement scenario specific behavior. The type
	// of object returned must match the expected type from the caller (even if nil).
	ReactFn ReactionFunc
}

Fake implements client.Interface. Meant to be embedded into a struct to get a default implementation. This makes faking out just the method you want to test easier.

func NewSimpleFake

func NewSimpleFake(objects ...runtime.Object) *Fake

NewSimpleFake returns a client that will respond with the provided objects

func (*Fake) Endpoints

func (c *Fake) Endpoints(namespace string) client.EndpointsInterface

func (*Fake) Events

func (c *Fake) Events(namespace string) client.EventInterface

func (*Fake) Invokes

func (c *Fake) Invokes(action FakeAction, obj runtime.Object) (runtime.Object, error)

Invokes records the provided FakeAction and then invokes the ReactFn (if provided). obj is expected to be of the same type a normal call would return.

func (*Fake) LimitRanges

func (c *Fake) LimitRanges(namespace string) client.LimitRangeInterface

func (*Fake) Namespaces

func (c *Fake) Namespaces() client.NamespaceInterface

func (*Fake) Nodes

func (c *Fake) Nodes() client.NodeInterface

func (*Fake) PersistentVolumeClaims

func (c *Fake) PersistentVolumeClaims(namespace string) client.PersistentVolumeClaimInterface

func (*Fake) PersistentVolumes

func (c *Fake) PersistentVolumes() client.PersistentVolumeInterface

func (*Fake) Pods

func (c *Fake) Pods(namespace string) client.PodInterface

func (*Fake) ReplicationControllers

func (c *Fake) ReplicationControllers(namespace string) client.ReplicationControllerInterface

func (*Fake) ResourceQuotas

func (c *Fake) ResourceQuotas(namespace string) client.ResourceQuotaInterface

func (*Fake) Secrets

func (c *Fake) Secrets(namespace string) client.SecretsInterface

func (*Fake) ServerAPIVersions

func (c *Fake) ServerAPIVersions() (*api.APIVersions, error)

func (*Fake) ServerVersion

func (c *Fake) ServerVersion() (*version.Info, error)

func (*Fake) Services

func (c *Fake) Services(namespace string) client.ServiceInterface

type FakeAction

type FakeAction struct {
	Action string
	Value  interface{}
}

type FakeEndpoints

type FakeEndpoints struct {
	Fake      *Fake
	Namespace string
}

FakeEndpoints implements EndpointInterface. Meant to be embedded into a struct to get a default implementation. This makes faking out just the method you want to test easier.

func (*FakeEndpoints) Create

func (c *FakeEndpoints) Create(endpoints *api.Endpoints) (*api.Endpoints, error)

func (*FakeEndpoints) Get

func (c *FakeEndpoints) Get(name string) (*api.Endpoints, error)

func (*FakeEndpoints) List

func (c *FakeEndpoints) List(selector labels.Selector) (*api.EndpointsList, error)

func (*FakeEndpoints) Update

func (c *FakeEndpoints) Update(endpoints *api.Endpoints) (*api.Endpoints, error)

func (*FakeEndpoints) Watch

func (c *FakeEndpoints) Watch(label labels.Selector, field fields.Selector, resourceVersion string) (watch.Interface, error)

type FakeEvents

type FakeEvents struct {
	Fake *Fake
}

FakeEvents implements EventInterface. Meant to be embedded into a struct to get a default implementation. This makes faking out just the method you want to test easier.

func (*FakeEvents) Create

func (c *FakeEvents) Create(event *api.Event) (*api.Event, error)

Create makes a new event. Returns the copy of the event the server returns, or an error.

func (*FakeEvents) Delete

func (c *FakeEvents) Delete(name string) error

func (*FakeEvents) Get

func (c *FakeEvents) Get(id string) (*api.Event, error)

Get returns the given event, or an error.

func (*FakeEvents) GetFieldSelector

func (c *FakeEvents) GetFieldSelector(involvedObjectName, involvedObjectNamespace, involvedObjectKind, involvedObjectUID *string) fields.Selector

func (*FakeEvents) List

func (c *FakeEvents) List(label labels.Selector, field fields.Selector) (*api.EventList, error)

List returns a list of events matching the selectors.

func (*FakeEvents) Search

func (c *FakeEvents) Search(objOrRef runtime.Object) (*api.EventList, error)

Search returns a list of events matching the specified object.

func (*FakeEvents) Update

func (c *FakeEvents) Update(event *api.Event) (*api.Event, error)

Update replaces an existing event. Returns the copy of the event the server returns, or an error.

func (*FakeEvents) Watch

func (c *FakeEvents) Watch(label labels.Selector, field fields.Selector, resourceVersion string) (watch.Interface, error)

Watch starts watching for events matching the given selectors.

type FakeLimitRanges

type FakeLimitRanges struct {
	Fake      *Fake
	Namespace string
}

FakeLimitRanges implements PodsInterface. Meant to be embedded into a struct to get a default implementation. This makes faking out just the methods you want to test easier.

func (*FakeLimitRanges) Create

func (c *FakeLimitRanges) Create(limitRange *api.LimitRange) (*api.LimitRange, error)

func (*FakeLimitRanges) Delete

func (c *FakeLimitRanges) Delete(name string) error

func (*FakeLimitRanges) Get

func (c *FakeLimitRanges) Get(name string) (*api.LimitRange, error)

func (*FakeLimitRanges) List

func (c *FakeLimitRanges) List(selector labels.Selector) (*api.LimitRangeList, error)

func (*FakeLimitRanges) Update

func (c *FakeLimitRanges) Update(limitRange *api.LimitRange) (*api.LimitRange, error)

func (*FakeLimitRanges) Watch

func (c *FakeLimitRanges) Watch(label labels.Selector, field fields.Selector, resourceVersion string) (watch.Interface, error)

type FakeNamespaces

type FakeNamespaces struct {
	Fake *Fake
}

FakeNamespaces implements NamespacesInterface. Meant to be embedded into a struct to get a default implementation. This makes faking out just the methods you want to test easier.

func (*FakeNamespaces) Create

func (c *FakeNamespaces) Create(namespace *api.Namespace) (*api.Namespace, error)

func (*FakeNamespaces) Delete

func (c *FakeNamespaces) Delete(name string) error

func (*FakeNamespaces) Finalize

func (c *FakeNamespaces) Finalize(namespace *api.Namespace) (*api.Namespace, error)

func (*FakeNamespaces) Get

func (c *FakeNamespaces) Get(name string) (*api.Namespace, error)

func (*FakeNamespaces) List

func (c *FakeNamespaces) List(labels labels.Selector, field fields.Selector) (*api.NamespaceList, error)

func (*FakeNamespaces) Status

func (c *FakeNamespaces) Status(namespace *api.Namespace) (*api.Namespace, error)

func (*FakeNamespaces) Update

func (c *FakeNamespaces) Update(namespace *api.Namespace) (*api.Namespace, error)

func (*FakeNamespaces) Watch

func (c *FakeNamespaces) Watch(label labels.Selector, field fields.Selector, resourceVersion string) (watch.Interface, error)

type FakeNodes

type FakeNodes struct {
	Fake *Fake
}

FakeNodes implements MinionInterface. Meant to be embedded into a struct to get a default implementation. This makes faking out just the method you want to test easier.

func (*FakeNodes) Create

func (c *FakeNodes) Create(minion *api.Node) (*api.Node, error)

func (*FakeNodes) Delete

func (c *FakeNodes) Delete(name string) error

func (*FakeNodes) Get

func (c *FakeNodes) Get(name string) (*api.Node, error)

func (*FakeNodes) List

func (c *FakeNodes) List(selector labels.Selector) (*api.NodeList, error)

func (*FakeNodes) Update

func (c *FakeNodes) Update(minion *api.Node) (*api.Node, error)

func (*FakeNodes) Watch

func (c *FakeNodes) Watch(label labels.Selector, field fields.Selector, resourceVersion string) (watch.Interface, error)

type FakePersistentVolumeClaims

type FakePersistentVolumeClaims struct {
	Fake      *Fake
	Namespace string
}

func (*FakePersistentVolumeClaims) Create

func (c *FakePersistentVolumeClaims) Create(persistentVolumeClaims *api.PersistentVolumeClaim) (*api.PersistentVolumeClaim, error)

func (*FakePersistentVolumeClaims) Delete

func (c *FakePersistentVolumeClaims) Delete(name string) error

func (*FakePersistentVolumeClaims) Get

func (*FakePersistentVolumeClaims) List

func (*FakePersistentVolumeClaims) Update

func (c *FakePersistentVolumeClaims) Update(persistentVolumeClaims *api.PersistentVolumeClaim) (*api.PersistentVolumeClaim, error)

func (*FakePersistentVolumeClaims) Watch

func (c *FakePersistentVolumeClaims) Watch(label labels.Selector, field fields.Selector, resourceVersion string) (watch.Interface, error)

type FakePersistentVolumes

type FakePersistentVolumes struct {
	Fake      *Fake
	Namespace string
}

func (*FakePersistentVolumes) Create

func (c *FakePersistentVolumes) Create(persistentVolumes *api.PersistentVolume) (*api.PersistentVolume, error)

func (*FakePersistentVolumes) Delete

func (c *FakePersistentVolumes) Delete(name string) error

func (*FakePersistentVolumes) Get

func (*FakePersistentVolumes) List

func (*FakePersistentVolumes) Update

func (c *FakePersistentVolumes) Update(persistentVolumes *api.PersistentVolume) (*api.PersistentVolume, error)

func (*FakePersistentVolumes) Watch

func (c *FakePersistentVolumes) Watch(label labels.Selector, field fields.Selector, resourceVersion string) (watch.Interface, error)

type FakePods

type FakePods struct {
	Fake      *Fake
	Namespace string
}

FakePods implements PodsInterface. Meant to be embedded into a struct to get a default implementation. This makes faking out just the methods you want to test easier.

func (*FakePods) Bind

func (c *FakePods) Bind(bind *api.Binding) error

func (*FakePods) Create

func (c *FakePods) Create(pod *api.Pod) (*api.Pod, error)

func (*FakePods) Delete

func (c *FakePods) Delete(name string) error

func (*FakePods) Get

func (c *FakePods) Get(name string) (*api.Pod, error)

func (*FakePods) List

func (c *FakePods) List(selector labels.Selector) (*api.PodList, error)

func (*FakePods) Update

func (c *FakePods) Update(pod *api.Pod) (*api.Pod, error)

func (*FakePods) UpdateStatus

func (c *FakePods) UpdateStatus(pod *api.Pod) (*api.Pod, error)

func (*FakePods) Watch

func (c *FakePods) Watch(label labels.Selector, field fields.Selector, resourceVersion string) (watch.Interface, error)

type FakeReplicationControllers

type FakeReplicationControllers struct {
	Fake      *Fake
	Namespace string
}

FakeReplicationControllers implements ReplicationControllerInterface. Meant to be embedded into a struct to get a default implementation. This makes faking out just the method you want to test easier.

func (*FakeReplicationControllers) Create

func (*FakeReplicationControllers) Delete

func (c *FakeReplicationControllers) Delete(name string) error

func (*FakeReplicationControllers) Get

func (*FakeReplicationControllers) List

func (*FakeReplicationControllers) Update

func (*FakeReplicationControllers) Watch

func (c *FakeReplicationControllers) Watch(label labels.Selector, field fields.Selector, resourceVersion string) (watch.Interface, error)

type FakeResourceQuotas

type FakeResourceQuotas struct {
	Fake      *Fake
	Namespace string
}

FakeResourceQuotas implements ResourceQuotaInterface. Meant to be embedded into a struct to get a default implementation. This makes faking out just the methods you want to test easier.

func (*FakeResourceQuotas) Create

func (c *FakeResourceQuotas) Create(resourceQuota *api.ResourceQuota) (*api.ResourceQuota, error)

func (*FakeResourceQuotas) Delete

func (c *FakeResourceQuotas) Delete(name string) error

func (*FakeResourceQuotas) Get

func (c *FakeResourceQuotas) Get(name string) (*api.ResourceQuota, error)

func (*FakeResourceQuotas) List

func (*FakeResourceQuotas) Update

func (c *FakeResourceQuotas) Update(resourceQuota *api.ResourceQuota) (*api.ResourceQuota, error)

func (*FakeResourceQuotas) UpdateStatus

func (c *FakeResourceQuotas) UpdateStatus(resourceQuota *api.ResourceQuota) (*api.ResourceQuota, error)

func (*FakeResourceQuotas) Watch

func (c *FakeResourceQuotas) Watch(label labels.Selector, field fields.Selector, resourceVersion string) (watch.Interface, error)

type FakeSecrets

type FakeSecrets struct {
	Fake      *Fake
	Namespace string
}

Fake implements SecretInterface. Meant to be embedded into a struct to get a default implementation. This makes faking out just the method you want to test easier.

func (*FakeSecrets) Create

func (c *FakeSecrets) Create(secret *api.Secret) (*api.Secret, error)

func (*FakeSecrets) Delete

func (c *FakeSecrets) Delete(name string) error

func (*FakeSecrets) Get

func (c *FakeSecrets) Get(name string) (*api.Secret, error)

func (*FakeSecrets) List

func (c *FakeSecrets) List(labels labels.Selector, field fields.Selector) (*api.SecretList, error)

func (*FakeSecrets) Update

func (c *FakeSecrets) Update(secret *api.Secret) (*api.Secret, error)

func (*FakeSecrets) Watch

func (c *FakeSecrets) Watch(label labels.Selector, field fields.Selector, resourceVersion string) (watch.Interface, error)

type FakeServices

type FakeServices struct {
	Fake      *Fake
	Namespace string
}

Fake implements ServiceInterface. Meant to be embedded into a struct to get a default implementation. This makes faking out just the method you want to test easier.

func (*FakeServices) Create

func (c *FakeServices) Create(service *api.Service) (*api.Service, error)

func (*FakeServices) Delete

func (c *FakeServices) Delete(name string) error

func (*FakeServices) Get

func (c *FakeServices) Get(name string) (*api.Service, error)

func (*FakeServices) List

func (c *FakeServices) List(selector labels.Selector) (*api.ServiceList, error)

func (*FakeServices) Update

func (c *FakeServices) Update(service *api.Service) (*api.Service, error)

func (*FakeServices) Watch

func (c *FakeServices) Watch(label labels.Selector, field fields.Selector, resourceVersion string) (watch.Interface, error)

type ObjectRetriever

type ObjectRetriever interface {
	// Kind should return a resource or a list of resources (depending on the provided kind and
	// name). It should return an error if the caller should communicate an error to the server.
	Kind(kind, name string) (runtime.Object, error)
	// Add adds a runtime object for test purposes into this object.
	Add(runtime.Object) error
}

ObjectRetriever abstracts the implementation for retrieving or setting generic objects. It is intended to be used to fake calls to a server by returning objects based on their kind and name.

func NewObjects

func NewObjects(scheme *runtime.Scheme) ObjectRetriever

NewObjects implements the ObjectRetriever interface by introspecting the objects provided to Add() and returning them when the Kind method is invoked. If an api.List object is provided to Add(), each child item is added. If an object is added that is itself a list (PodList, ServiceList) then that is added to the "PodList" kind. If no PodList is added, the retriever will take any loaded Pods and return them in a list. If an api.Status is added, and the Details.Kind field is set, that status will be returned instead (as an error if Status != Success, or as a runtime.Object if Status == Success). If multiple PodLists are provided, they will be returned in order by the Kind call, and the last PodList will be reused for subsequent calls.

type ReactionFunc

type ReactionFunc func(FakeAction) (runtime.Object, error)

ReactionFunc is a function that returns an object or error for a given Action

func ObjectReaction

func ObjectReaction(o ObjectRetriever, mapper meta.RESTMapper) ReactionFunc

ObjectReaction returns a ReactionFunc that takes a generic action string of the form <verb>-<resource> or <verb>-<subresource>-<resource> and attempts to return a runtime Object or error that matches the requested action. For instance, list-replicationControllers should attempt to return a list of replication controllers. This method delegates to the ObjectRetriever interface to satisfy retrieval of lists or retrieval of single items. TODO: add support for sub resources

Jump to

Keyboard shortcuts

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