Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// AllTransportTypes are all TransportTypes,
	AllTransportTypes = []TransportType{
		TransportTypeHTTP,
		TransportTypeTChannel,
		TransportTypeGRPC,
	}
)

Functions

func AssertClientAndServerCounters

func AssertClientAndServerCounters(t *testing.T, counterAssertions []CounterAssertion, clientSnapshot, serverSnapshot *metrics.Root)

    AssertClientAndServerCounters asserts expected counters on client and server snapshots

    func AssertClientAndServerHistograms

    func AssertClientAndServerHistograms(t *testing.T, histogramAssertions []HistogramAssertion,
    	clientSnapshot, serverSnapshot *metrics.Root)

      AssertClientAndServerHistograms asserts expected histograms on client and server snapshots

      func AssertCounters

      func AssertCounters(t *testing.T, counterAssertions []CounterAssertion, snapshot []metrics.Snapshot)

        AssertCounters asserts expected counters with metrics snapshot

        func AssertHistograms

        func AssertHistograms(t *testing.T, histogramAssertions []HistogramAssertion, snapshot []metrics.HistogramSnapshot)

          AssertHistograms asserts expected histograms with histogram snapshot

          func NewClientDispatcher

          func NewClientDispatcher(transportType TransportType, config *DispatcherConfig, logger *zap.Logger) (*yarpc.Dispatcher, error)

            NewClientDispatcher returns a new client Dispatcher.

            HTTP always will be configured as an outbound for Oneway. gRPC always will be configured as an outbound for Stream.

            func NewServerDispatcher

            func NewServerDispatcher(procedures []transport.Procedure, config *DispatcherConfig, logger *zap.Logger) (*yarpc.Dispatcher, error)

              NewServerDispatcher returns a new server Dispatcher.

              func WithClientInfo

              func WithClientInfo(serviceName string, procedures []transport.Procedure, transportType TransportType, logger *zap.Logger, f func(*ClientInfo) error) (err error)

                WithClientInfo wraps a function by setting up a client and server dispatcher and giving the function the client configuration to use in tests for the given TransportType.

                The server dispatcher will be brought up using all TransportTypes and with the serviceName. The client dispatcher will be brought up using the given TransportType for Unary, HTTP for Oneway, and the serviceName with a "-client" suffix.

                Types

                type ClientInfo

                type ClientInfo struct {
                	ClientConfig   transport.ClientConfig
                	GRPCClientConn *ggrpc.ClientConn
                	ContextWrapper *grpcctx.ContextWrapper
                }

                  ClientInfo holds the client info for testing.

                  type CounterAssertion

                  type CounterAssertion struct {
                  	Name  string
                  	Tags  map[string]string
                  	Value int
                  }

                    CounterAssertion holds expected counter metric

                    type DispatcherConfig

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

                      DispatcherConfig is the configuration for a Dispatcher.

                      func NewDispatcherConfig

                      func NewDispatcherConfig(serviceName string) (*DispatcherConfig, error)

                        NewDispatcherConfig returns a new DispatcherConfig with assigned ports.

                        func (*DispatcherConfig) GetPort

                        func (d *DispatcherConfig) GetPort(transportType TransportType) (uint16, error)

                          GetPort gets the port for the TransportType.

                          func (*DispatcherConfig) GetServiceName

                          func (d *DispatcherConfig) GetServiceName() string

                            GetServiceName gets the service name.

                            type HistogramAssertion

                            type HistogramAssertion struct {
                            	Name  string
                            	Tags  map[string]string
                            	Value []int64
                            
                            	// Values are not compared, rather length of values is asserted
                            	IgnoreValueCompare bool
                            	ValueLength        int
                            }

                              HistogramAssertion holds expected histogram metric

                              type TransportType

                              type TransportType int

                                TransportType is a transport type.

                                const (
                                	// TransportTypeHTTP represents using HTTP.
                                	TransportTypeHTTP TransportType = iota
                                	// TransportTypeTChannel represents using TChannel.
                                	TransportTypeTChannel
                                	// TransportTypeGRPC represents using GRPC.
                                	TransportTypeGRPC
                                )

                                func ParseTransportType

                                func ParseTransportType(s string) (TransportType, error)

                                  ParseTransportType parses a transport type from a string.

                                  func (TransportType) String

                                  func (t TransportType) String() string

                                    String returns a string representation of t.