fake

package
v1.7.7 Latest Latest
Warning

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

Go to latest
Published: Sep 28, 2017 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Package fake is a test-double implementation of cloudprovider Interface, LoadBalancer and Instances. It is useful for testing.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type FakeBalancer

type FakeBalancer struct {
	Name           string
	Region         string
	LoadBalancerIP string
	Ports          []v1.ServicePort
	Hosts          []*v1.Node
}

FakeBalancer is a fake storage of balancer information

type FakeCloud

type FakeCloud struct {
	Exists        bool
	Err           error
	Calls         []string
	Addresses     []v1.NodeAddress
	ExtID         map[types.NodeName]string
	InstanceTypes map[types.NodeName]string
	Machines      []types.NodeName
	NodeResources *v1.NodeResources
	ClusterList   []string
	MasterName    string
	ExternalIP    net.IP
	Balancers     map[string]FakeBalancer
	UpdateCalls   []FakeUpdateBalancerCall
	RouteMap      map[string]*FakeRoute
	Lock          sync.Mutex
	Provider      string

	cloudprovider.Zone
	// contains filtered or unexported fields
}

FakeCloud is a test-double implementation of Interface, LoadBalancer, Instances, and Routes. It is useful for testing.

func (*FakeCloud) AddSSHKeyToAllInstances

func (f *FakeCloud) AddSSHKeyToAllInstances(user string, keyData []byte) error

func (*FakeCloud) ClearCalls

func (f *FakeCloud) ClearCalls()

ClearCalls clears internal record of method calls to this FakeCloud.

func (*FakeCloud) Clusters

func (f *FakeCloud) Clusters() (cloudprovider.Clusters, bool)

func (*FakeCloud) CreateRoute

func (f *FakeCloud) CreateRoute(clusterName string, nameHint string, route *cloudprovider.Route) error

func (*FakeCloud) CurrentNodeName

func (f *FakeCloud) CurrentNodeName(hostname string) (types.NodeName, error)

Implementation of Instances.CurrentNodeName

func (*FakeCloud) DeleteRoute

func (f *FakeCloud) DeleteRoute(clusterName string, route *cloudprovider.Route) error

func (*FakeCloud) EnsureLoadBalancer added in v1.2.0

func (f *FakeCloud) EnsureLoadBalancer(clusterName string, service *v1.Service, nodes []*v1.Node) (*v1.LoadBalancerStatus, error)

EnsureLoadBalancer is a test-spy implementation of LoadBalancer.EnsureLoadBalancer. It adds an entry "create" into the internal method call record.

func (*FakeCloud) EnsureLoadBalancerDeleted added in v1.2.0

func (f *FakeCloud) EnsureLoadBalancerDeleted(clusterName string, service *v1.Service) error

EnsureLoadBalancerDeleted is a test-spy implementation of LoadBalancer.EnsureLoadBalancerDeleted. It adds an entry "delete" into the internal method call record.

func (*FakeCloud) ExternalID

func (f *FakeCloud) ExternalID(nodeName types.NodeName) (string, error)

ExternalID is a test-spy implementation of Instances.ExternalID. It adds an entry "external-id" into the internal method call record. It returns an external id to the mapped instance name, if not found, it will return "ext-{instance}"

func (*FakeCloud) GetLoadBalancer added in v1.2.0

func (f *FakeCloud) GetLoadBalancer(clusterName string, service *v1.Service) (*v1.LoadBalancerStatus, bool, error)

GetLoadBalancer is a stub implementation of LoadBalancer.GetLoadBalancer.

func (*FakeCloud) GetZone

func (f *FakeCloud) GetZone() (cloudprovider.Zone, error)

func (*FakeCloud) Initialize added in v1.7.1

func (f *FakeCloud) Initialize(clientBuilder controller.ControllerClientBuilder)

Initialize passes a Kubernetes clientBuilder interface to the cloud provider

func (*FakeCloud) InstanceID

func (f *FakeCloud) InstanceID(nodeName types.NodeName) (string, error)

InstanceID returns the cloud provider ID of the node with the specified Name.

func (*FakeCloud) InstanceType added in v1.2.0

func (f *FakeCloud) InstanceType(instance types.NodeName) (string, error)

InstanceType returns the type of the specified instance.

func (*FakeCloud) InstanceTypeByProviderID added in v1.7.1

func (f *FakeCloud) InstanceTypeByProviderID(providerID string) (string, error)

InstanceTypeByProviderID returns the type of the specified instance.

func (*FakeCloud) Instances

func (f *FakeCloud) Instances() (cloudprovider.Instances, bool)

Instances returns a fake implementation of Instances.

Actually it just returns f itself.

func (*FakeCloud) List

func (f *FakeCloud) List(filter string) ([]types.NodeName, error)

List is a test-spy implementation of Instances.List. It adds an entry "list" into the internal method call record.

func (*FakeCloud) ListClusters

func (f *FakeCloud) ListClusters() ([]string, error)

func (*FakeCloud) ListRoutes

func (f *FakeCloud) ListRoutes(clusterName string) ([]*cloudprovider.Route, error)

func (*FakeCloud) LoadBalancer added in v1.2.0

func (f *FakeCloud) LoadBalancer() (cloudprovider.LoadBalancer, bool)

LoadBalancer returns a fake implementation of LoadBalancer. Actually it just returns f itself.

func (*FakeCloud) Master

func (f *FakeCloud) Master(name string) (string, error)

func (*FakeCloud) NodeAddresses

func (f *FakeCloud) NodeAddresses(instance types.NodeName) ([]v1.NodeAddress, error)

NodeAddresses is a test-spy implementation of Instances.NodeAddresses. It adds an entry "node-addresses" into the internal method call record.

func (*FakeCloud) NodeAddressesByProviderID added in v1.7.1

func (f *FakeCloud) NodeAddressesByProviderID(providerID string) ([]v1.NodeAddress, error)

NodeAddressesByProviderID is a test-spy implementation of Instances.NodeAddressesByProviderID. It adds an entry "node-addresses-by-provider-id" into the internal method call record.

func (*FakeCloud) ProviderName

func (f *FakeCloud) ProviderName() string

ProviderName returns the cloud provider ID.

func (*FakeCloud) Routes

func (f *FakeCloud) Routes() (cloudprovider.Routes, bool)

func (*FakeCloud) ScrubDNS added in v1.1.1

func (f *FakeCloud) ScrubDNS(nameservers, searches []string) (nsOut, srchOut []string)

ScrubDNS filters DNS settings for pods.

func (*FakeCloud) UpdateLoadBalancer added in v1.2.0

func (f *FakeCloud) UpdateLoadBalancer(clusterName string, service *v1.Service, nodes []*v1.Node) error

UpdateLoadBalancer is a test-spy implementation of LoadBalancer.UpdateLoadBalancer. It adds an entry "update" into the internal method call record.

func (*FakeCloud) Zones

func (f *FakeCloud) Zones() (cloudprovider.Zones, bool)

type FakeRoute

type FakeRoute struct {
	ClusterName string
	Route       cloudprovider.Route
}

type FakeUpdateBalancerCall

type FakeUpdateBalancerCall struct {
	Service *v1.Service
	Hosts   []*v1.Node
}

Jump to

Keyboard shortcuts

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