yarpctest

package
v1.32.1 Latest Latest
Warning

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

Go to latest
Published: Aug 7, 2018 License: MIT Imports: 9 Imported by: 0

Documentation

Overview

Package yarpctest provides utilities to test YARPC services and clients.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ChooserNop added in v1.27.0

func ChooserNop(nop string) func(*FakePeerChooser)

ChooserNop is a fake option for NewFakePeerChooser that sets a nop var. It's fake.

func FakePeerChooserPreset added in v1.9.0

func FakePeerChooserPreset() yarpcconfig.PeerChooserPreset

FakePeerChooserPreset is a PeerChooserPreset which builds a FakePeerList buind to a FakePeerListUpdater.

func FakePeerChooserSpec added in v1.27.0

func FakePeerChooserSpec() yarpcconfig.PeerChooserSpec

FakePeerChooserSpec returns a configurator spec for the fake-chooser FakePeerChooser peer selection strategy, suitable for passing to Configurator.MustRegisterPeerChooser.

func FakePeerListSpec added in v1.9.0

func FakePeerListSpec() yarpcconfig.PeerListSpec

FakePeerListSpec returns a configurator spec for the fake-list FakePeerList peer selection strategy, suitable for passing to Configurator.MustRegisterPeerList.

func FakePeerListUpdaterSpec added in v1.9.0

func FakePeerListUpdaterSpec() yarpcconfig.PeerListUpdaterSpec

FakePeerListUpdaterSpec returns a configurator spec for the fake-updater FakePeerListUpdater type, suitable for passing to Configurator.MustRegisterPeerListUpdaterSpec.

func FakeTransportSpec added in v1.9.0

func FakeTransportSpec() yarpcconfig.TransportSpec

FakeTransportSpec returns a configurator spec for the fake-transport transport type, suitable for passing to Configurator.MustRegisterTransport.

func ListNop added in v1.9.0

func ListNop(nop string) func(*FakePeerList)

ListNop is a fake option for NewFakePeerList that sets a nop var. It's fake.

func NewFakeConfigurator added in v1.9.0

func NewFakeConfigurator(opts ...yarpcconfig.Option) *yarpcconfig.Configurator

NewFakeConfigurator returns a configurator with fake-transport, fake-peer-list, and fake-peer-list-updater specs already registered, suitable for testing the configurator.

func UpdaterNop added in v1.9.0

func UpdaterNop(nop string) func(*FakePeerListUpdater)

UpdaterNop is a fake option for NewFakePeerListUpdater that sets a nop var. It's fake.

func Watch added in v1.9.0

func Watch(u *FakePeerListUpdater)

Watch is a fake option for NewFakePeerListUpdater that enables "watch". It's fake.

Types

type FakeOutbound added in v1.9.0

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

FakeOutbound is a unary outbound for the FakeTransport. It is fake.

func (*FakeOutbound) Call added in v1.9.0

Call pretends to send a unary RPC, but actually just returns an error.

func (*FakeOutbound) CallOneway added in v1.27.0

func (o *FakeOutbound) CallOneway(ctx context.Context, req *transport.Request) (transport.Ack, error)

CallOneway pretends to send a oneway RPC, but actually just returns an error.

func (*FakeOutbound) CallStream added in v1.27.0

CallStream pretends to send a Stream RPC, but actually just returns an error.

func (*FakeOutbound) Chooser added in v1.9.0

func (o *FakeOutbound) Chooser() peer.Chooser

Chooser returns theis FakeOutbound's peer chooser.

func (*FakeOutbound) IsRunning added in v1.9.0

func (o *FakeOutbound) IsRunning() bool

IsRunning returns whether the fake outbound is running.

func (*FakeOutbound) NopOption added in v1.9.0

func (o *FakeOutbound) NopOption() string

NopOption returns this FakeOutbound's nopOption. It is fake.

func (*FakeOutbound) Start added in v1.9.0

func (o *FakeOutbound) Start() error

Start starts the fake outbound and its chooser.

func (*FakeOutbound) Stop added in v1.9.0

func (o *FakeOutbound) Stop() error

Stop stops the fake outbound and its chooser.

func (*FakeOutbound) Transports added in v1.9.0

func (o *FakeOutbound) Transports() []transport.Transport

Transports returns the FakeTransport that owns this outbound.

type FakeOutboundConfig added in v1.9.0

type FakeOutboundConfig struct {
	yarpcconfig.PeerChooser

	Nop string `config:"nop,interpolate"`
}

FakeOutboundConfig configures the FakeOutbound.

type FakeOutboundOption added in v1.9.0

type FakeOutboundOption func(*FakeOutbound)

FakeOutboundOption is an option for FakeTransport.NewOutbound.

func NopOutboundOption added in v1.9.0

func NopOutboundOption(nopOption string) FakeOutboundOption

NopOutboundOption returns an option to set the "nopOption" for a FakeTransport.NewOutbound. The nopOption has no effect exists only to verify that the option was passed, via `FakeOutbound.NopOption()`.

func OutboundCallOverride added in v1.9.0

func OutboundCallOverride(callable OutboundCallable) FakeOutboundOption

OutboundCallOverride returns an option to set the "callOverride" for a FakeTransport.NewOutbound. This can be used to set the functionality for the FakeOutbound's `Call` function.

type FakePeer added in v1.8.0

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

FakePeer is a fake peer with an identifier.

func (*FakePeer) EndRequest added in v1.8.0

func (p *FakePeer) EndRequest()

EndRequest decrements pending request count.

func (*FakePeer) Identifier added in v1.8.0

func (p *FakePeer) Identifier() string

Identifier returns the fake peer identifier.

func (*FakePeer) StartRequest added in v1.8.0

func (p *FakePeer) StartRequest()

StartRequest increments pending request count.

func (*FakePeer) Status added in v1.8.0

func (p *FakePeer) Status() peer.Status

Status returns the fake peer status.

type FakePeerChooser added in v1.27.0

type FakePeerChooser struct {
	transport.Lifecycle
	// contains filtered or unexported fields
}

FakePeerChooser is a fake peer chooser.

func NewFakePeerChooser added in v1.27.0

func NewFakePeerChooser(opts ...FakePeerChooserOption) *FakePeerChooser

NewFakePeerChooser returns a fake peer list.

func (*FakePeerChooser) Choose added in v1.27.0

func (c *FakePeerChooser) Choose(ctx context.Context, req *transport.Request) (peer.Peer, func(error), error)

Choose pretends to choose a peer, but actually always returns an error. It's fake.

func (*FakePeerChooser) Nop added in v1.27.0

func (c *FakePeerChooser) Nop() string

Nop returns the Peer Chooser's nop variable.

type FakePeerChooserConfig added in v1.27.0

type FakePeerChooserConfig struct {
	Nop string `config:"nop,interpolate"`
}

FakePeerChooserConfig configures the FakePeerChooser.

type FakePeerChooserOption added in v1.27.0

type FakePeerChooserOption func(*FakePeerChooser)

FakePeerChooserOption is an option for NewFakePeerChooser.

type FakePeerList added in v1.9.0

type FakePeerList struct {
	transport.Lifecycle
	// contains filtered or unexported fields
}

FakePeerList is a fake peer list.

func NewFakePeerList added in v1.9.0

func NewFakePeerList(opts ...FakePeerListOption) *FakePeerList

NewFakePeerList returns a fake peer list.

func (*FakePeerList) Choose added in v1.9.0

func (c *FakePeerList) Choose(ctx context.Context, req *transport.Request) (peer.Peer, func(error), error)

Choose pretends to choose a peer, but actually always returns an error. It's fake.

func (*FakePeerList) Nop added in v1.9.0

func (c *FakePeerList) Nop() string

Nop returns the Peer List's nop variable.

func (*FakePeerList) Update added in v1.9.0

func (c *FakePeerList) Update(up peer.ListUpdates) error

Update pretends to add or remove peers.

type FakePeerListConfig added in v1.9.0

type FakePeerListConfig struct {
	Nop string `config:"nop,interpolate"`
}

FakePeerListConfig configures the FakePeerList.

type FakePeerListOption added in v1.9.0

type FakePeerListOption func(*FakePeerList)

FakePeerListOption is an option for NewFakePeerList.

type FakePeerListUpdater added in v1.9.0

type FakePeerListUpdater struct {
	transport.Lifecycle
	// contains filtered or unexported fields
}

FakePeerListUpdater is a fake peer list updater. It doesn't actually update a peer list.

func NewFakePeerListUpdater added in v1.9.0

func NewFakePeerListUpdater(opts ...FakePeerListUpdaterOption) *FakePeerListUpdater

NewFakePeerListUpdater returns a new FakePeerListUpdater, applying any passed options.

func (*FakePeerListUpdater) Nop added in v1.9.0

func (u *FakePeerListUpdater) Nop() string

Nop returns the nop variable.

func (*FakePeerListUpdater) Watch added in v1.9.0

func (u *FakePeerListUpdater) Watch() bool

Watch returns whether the peer list updater was configured to "watch". It is fake.

type FakePeerListUpdaterConfig added in v1.9.0

type FakePeerListUpdaterConfig struct {
	FakeUpdater string `config:"fake-updater"`
	Nop         string `config:"nop,interpolate"`
	Watch       bool   `config:"watch"`
}

FakePeerListUpdaterConfig configures a fake-updater FakePeerListUpdater. It has a fake "watch" property that adds the Watch option for NewFakePeerListUpdater when you build a peer list with this config.

type FakePeerListUpdaterOption added in v1.9.0

type FakePeerListUpdaterOption func(*FakePeerListUpdater)

FakePeerListUpdaterOption is an option for NewFakePeerListUpdater.

type FakeTransport added in v1.8.0

type FakeTransport struct {
	transport.Lifecycle
	// contains filtered or unexported fields
}

FakeTransport is a fake transport.

func NewFakeTransport added in v1.8.0

func NewFakeTransport(opts ...FakeTransportOption) *FakeTransport

NewFakeTransport returns a fake transport.

func (*FakeTransport) NewOutbound added in v1.9.0

func (t *FakeTransport) NewOutbound(c peer.Chooser, opts ...FakeOutboundOption) *FakeOutbound

NewOutbound returns a FakeOutbound with a given peer chooser and options.

func (*FakeTransport) NopOption added in v1.9.0

func (t *FakeTransport) NopOption() string

NopOption returns the configured nopOption. It's fake.

func (*FakeTransport) Peer added in v1.32.0

func (t *FakeTransport) Peer(id peer.Identifier) *FakePeer

Peer returns the persistent peer object for that peer identifier for the lifetime of the fake transport.

func (*FakeTransport) ReleasePeer added in v1.8.0

func (t *FakeTransport) ReleasePeer(id peer.Identifier, ps peer.Subscriber) error

ReleasePeer does nothing.

func (*FakeTransport) RetainPeer added in v1.8.0

func (t *FakeTransport) RetainPeer(id peer.Identifier, ps peer.Subscriber) (peer.Peer, error)

RetainPeer returns a fake peer.

func (*FakeTransport) SimulateConnect added in v1.32.0

func (t *FakeTransport) SimulateConnect(id peer.Identifier)

SimulateConnect simulates a connection to the peer, marking the peer as available and notifying subscribers.

func (*FakeTransport) SimulateDisconnect added in v1.32.0

func (t *FakeTransport) SimulateDisconnect(id peer.Identifier)

SimulateDisconnect simulates a disconnection to the peer, marking the peer as unavailable and notifying subscribers.

type FakeTransportConfig added in v1.9.0

type FakeTransportConfig struct {
	Nop string `config:"nop,interpolate"`
}

FakeTransportConfig configures the FakeTransport.

type FakeTransportOption added in v1.9.0

type FakeTransportOption func(*FakeTransport)

FakeTransportOption is an option for NewFakeTransport.

func InitialConnectionStatus added in v1.32.0

func InitialConnectionStatus(s peer.ConnectionStatus) FakeTransportOption

InitialConnectionStatus specifies the initial connection status for new peers of this transport. This is Available by default. With the status set to Unavailable, the test may manual simmulate connection and disconnection with the SimulateConnect and SimulateDisconnect methods.

func NopTransportOption added in v1.9.0

func NopTransportOption(nopOption string) FakeTransportOption

NopTransportOption returns a no-op option for NewFakeTransport. The option exists to verify that options work.

type OutboundCallable added in v1.9.0

type OutboundCallable func(ctx context.Context, req *transport.Request) (*transport.Response, error)

OutboundCallable is a function that will be called for for an outbound's `Call` method.

Directories

Path Synopsis
Package recorder records & replay yarpc requests on the client side.
Package recorder records & replay yarpc requests on the client side.

Jump to

Keyboard shortcuts

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