package testutils

import "google.golang.org/grpc/xds/internal/testutils"

Package testutils provides utility types, for use in xds tests.

Index

Constants

const (
	// DefaultChanRecvTimeout is the default timeout for receive operations on the
	// underlying channel.
	DefaultChanRecvTimeout = 1 * time.Second
	// DefaultChanBufferSize is the default buffer size of the underlying channel.
	DefaultChanBufferSize = 1
)

Variables

var ErrRecvTimeout = errors.New("timed out when waiting for value on channel")

ErrRecvTimeout is an error to indicate that a receive operation on the channel timed out.

Types

type Channel

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

Channel wraps a generic channel and provides a timed receive operation.

func NewChannel

func NewChannel() *Channel

NewChannel returns a new Channel.

func NewChannelWithSize

func NewChannelWithSize(bufSize int) *Channel

NewChannelWithSize returns a new Channel with a buffer of bufSize.

func (*Channel) Receive

func (cwt *Channel) Receive() (interface{}, error)

Receive returns the value received on the underlying channel, or ErrRecvTimeout if DefaultChanRecvTimeout amount of time elapses.

func (*Channel) Send

func (cwt *Channel) Send(value interface{})

Send sends value on the underlying channel.

func (*Channel) TimedReceive

func (cwt *Channel) TimedReceive(timeout time.Duration) (interface{}, error)

TimedReceive returns the value received on the underlying channel, or ErrRecvTimeout if timeout amount of time elapsed.

type XDSClient

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

XDSClient is a fake implementation of an xds client. It exposes a bunch of channels to signal the occurrence of various events.

func NewXDSClient

func NewXDSClient() *XDSClient

NewXDSClient returns a new fake xds client.

func (*XDSClient) Close

func (xdsC *XDSClient) Close()

Close closes the xds client.

func (*XDSClient) InvokeWatchServiceCb

func (xdsC *XDSClient) InvokeWatchServiceCb(cluster string, err error)

InvokeWatchServiceCb invokes the registered service watch callback.

func (*XDSClient) WaitForWatchService

func (xdsC *XDSClient) WaitForWatchService() (string, error)

WaitForWatchService waits for WatchService to be invoked on this client within a reasonable timeout.

func (*XDSClient) WatchService

func (xdsC *XDSClient) WatchService(target string, callback func(xdsclient.ServiceUpdate, error)) func()

WatchService registers a LDS/RDS watch.

Source Files

channel.go xdsclient.go

Directories

PathSynopsis
xds/internal/testutils/fakexdsPackage fakexds provides fake implementation of multiple types, for use in xds tests.
Version
v1.26.0
Published
Dec 17, 2019
Platform
windows/amd64
Imports
3 packages
Last checked
35 minutes ago

Tools for package owners.