testing

package
v1.9.2 Latest Latest
Warning

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

Go to latest
Published: Mar 16, 2021 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// MetadataReplyHeaders is a request header that contains values that will
	// be echoed back to the client as response headers. The format of the value
	// is "key: val". To have the server reply with more than one response
	// header, supply multiple values in request metadata.
	MetadataReplyHeaders = "reply-with-headers"
	// MetadataReplyTrailers is a request header that contains values that will
	// be echoed back to the client as response trailers. Its format its the
	// same as MetadataReplyHeaders.
	MetadataReplyTrailers = "reply-with-trailers"
	// MetadataFailEarly is a request header that, if present and not zero,
	// indicates that the RPC should fail immediately with that code.
	MetadataFailEarly = "fail-early"
	// MetadataFailLate is a request header that, if present and not zero,
	// indicates that the RPC should fail at the end with that code. This is
	// different from MetadataFailEarly only for streaming calls. An early
	// failure means the call to fail before any request stream is read or any
	// response stream is generated. A late failure means the entire request and
	// response streams will be consumed/processed and only then will the error
	// code be sent.
	MetadataFailLate = "fail-late"
)

Variables

View Source
var (
	PayloadType_name = map[int32]string{
		0: "COMPRESSABLE",
		1: "UNCOMPRESSABLE",
		2: "RANDOM",
	}
	PayloadType_value = map[string]int32{
		"COMPRESSABLE":   0,
		"UNCOMPRESSABLE": 1,
		"RANDOM":         2,
	}
)

Enum value maps for PayloadType.

Functions

func RegisterTestServiceServer

func RegisterTestServiceServer(s *grpc.Server, srv TestServiceServer)

func RegisterUnimplementedServiceServer

func RegisterUnimplementedServiceServer(s *grpc.Server, srv UnimplementedServiceServer)

Types

type EchoStatus

type EchoStatus struct {
	Code    int32  `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
	Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
	// contains filtered or unexported fields
}

A protobuf representation for grpc status. This is used by test clients to specify a status that the server should attempt to return.

func (*EchoStatus) Descriptor deprecated

func (*EchoStatus) Descriptor() ([]byte, []int)

Deprecated: Use EchoStatus.ProtoReflect.Descriptor instead.

func (*EchoStatus) GetCode

func (x *EchoStatus) GetCode() int32

func (*EchoStatus) GetMessage

func (x *EchoStatus) GetMessage() string

func (*EchoStatus) ProtoMessage

func (*EchoStatus) ProtoMessage()

func (*EchoStatus) ProtoReflect

func (x *EchoStatus) ProtoReflect() protoreflect.Message

func (*EchoStatus) Reset

func (x *EchoStatus) Reset()

func (*EchoStatus) String

func (x *EchoStatus) String() string

type Empty

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

func (*Empty) Descriptor deprecated

func (*Empty) Descriptor() ([]byte, []int)

Deprecated: Use Empty.ProtoReflect.Descriptor instead.

func (*Empty) ProtoMessage

func (*Empty) ProtoMessage()

func (*Empty) ProtoReflect

func (x *Empty) ProtoReflect() protoreflect.Message

func (*Empty) Reset

func (x *Empty) Reset()

func (*Empty) String

func (x *Empty) String() string

type Payload

type Payload struct {

	// The type of data in body.
	Type PayloadType `protobuf:"varint,1,opt,name=type,proto3,enum=testing.PayloadType" json:"type,omitempty"`
	// Primary contents of payload.
	Body []byte `protobuf:"bytes,2,opt,name=body,proto3" json:"body,omitempty"`
	// contains filtered or unexported fields
}

A block of data, to simply increase gRPC message size.

func (*Payload) Descriptor deprecated

func (*Payload) Descriptor() ([]byte, []int)

Deprecated: Use Payload.ProtoReflect.Descriptor instead.

func (*Payload) GetBody

func (x *Payload) GetBody() []byte

func (*Payload) GetType

func (x *Payload) GetType() PayloadType

func (*Payload) ProtoMessage

func (*Payload) ProtoMessage()

func (*Payload) ProtoReflect

func (x *Payload) ProtoReflect() protoreflect.Message

func (*Payload) Reset

func (x *Payload) Reset()

func (*Payload) String

func (x *Payload) String() string

type PayloadType

type PayloadType int32

The type of payload that should be returned.

const (
	// Compressable text format.
	PayloadType_COMPRESSABLE PayloadType = 0
	// Uncompressable binary format.
	PayloadType_UNCOMPRESSABLE PayloadType = 1
	// Randomly chosen from all other formats defined in this enum.
	PayloadType_RANDOM PayloadType = 2
)

func (PayloadType) Descriptor

func (PayloadType) Enum

func (x PayloadType) Enum() *PayloadType

func (PayloadType) EnumDescriptor deprecated

func (PayloadType) EnumDescriptor() ([]byte, []int)

Deprecated: Use PayloadType.Descriptor instead.

func (PayloadType) Number

func (x PayloadType) Number() protoreflect.EnumNumber

func (PayloadType) String

func (x PayloadType) String() string

func (PayloadType) Type

type ResponseParameters

type ResponseParameters struct {

	// Desired payload sizes in responses from the server.
	// If response_type is COMPRESSABLE, this denotes the size before compression.
	Size int32 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"`
	// Desired interval between consecutive responses in the response stream in
	// microseconds.
	IntervalUs int32 `protobuf:"varint,2,opt,name=interval_us,json=intervalUs,proto3" json:"interval_us,omitempty"`
	// contains filtered or unexported fields
}

Configuration for a particular response.

func (*ResponseParameters) Descriptor deprecated

func (*ResponseParameters) Descriptor() ([]byte, []int)

Deprecated: Use ResponseParameters.ProtoReflect.Descriptor instead.

func (*ResponseParameters) GetIntervalUs

func (x *ResponseParameters) GetIntervalUs() int32

func (*ResponseParameters) GetSize

func (x *ResponseParameters) GetSize() int32

func (*ResponseParameters) ProtoMessage

func (*ResponseParameters) ProtoMessage()

func (*ResponseParameters) ProtoReflect

func (x *ResponseParameters) ProtoReflect() protoreflect.Message

func (*ResponseParameters) Reset

func (x *ResponseParameters) Reset()

func (*ResponseParameters) String

func (x *ResponseParameters) String() string

type SimpleRequest

type SimpleRequest struct {

	// Desired payload type in the response from the server.
	// If response_type is RANDOM, server randomly chooses one from other formats.
	ResponseType PayloadType `protobuf:"varint,1,opt,name=response_type,json=responseType,proto3,enum=testing.PayloadType" json:"response_type,omitempty"`
	// Desired payload size in the response from the server.
	// If response_type is COMPRESSABLE, this denotes the size before compression.
	ResponseSize int32 `protobuf:"varint,2,opt,name=response_size,json=responseSize,proto3" json:"response_size,omitempty"`
	// Optional input payload sent along with the request.
	Payload *Payload `protobuf:"bytes,3,opt,name=payload,proto3" json:"payload,omitempty"`
	// Whether SimpleResponse should include username.
	FillUsername bool `protobuf:"varint,4,opt,name=fill_username,json=fillUsername,proto3" json:"fill_username,omitempty"`
	// Whether SimpleResponse should include OAuth scope.
	FillOauthScope bool `protobuf:"varint,5,opt,name=fill_oauth_scope,json=fillOauthScope,proto3" json:"fill_oauth_scope,omitempty"`
	// Whether server should return a given status
	ResponseStatus *EchoStatus `protobuf:"bytes,7,opt,name=response_status,json=responseStatus,proto3" json:"response_status,omitempty"`
	// contains filtered or unexported fields
}

Unary request.

func (*SimpleRequest) Descriptor deprecated

func (*SimpleRequest) Descriptor() ([]byte, []int)

Deprecated: Use SimpleRequest.ProtoReflect.Descriptor instead.

func (*SimpleRequest) GetFillOauthScope

func (x *SimpleRequest) GetFillOauthScope() bool

func (*SimpleRequest) GetFillUsername

func (x *SimpleRequest) GetFillUsername() bool

func (*SimpleRequest) GetPayload

func (x *SimpleRequest) GetPayload() *Payload

func (*SimpleRequest) GetResponseSize

func (x *SimpleRequest) GetResponseSize() int32

func (*SimpleRequest) GetResponseStatus

func (x *SimpleRequest) GetResponseStatus() *EchoStatus

func (*SimpleRequest) GetResponseType

func (x *SimpleRequest) GetResponseType() PayloadType

func (*SimpleRequest) ProtoMessage

func (*SimpleRequest) ProtoMessage()

func (*SimpleRequest) ProtoReflect

func (x *SimpleRequest) ProtoReflect() protoreflect.Message

func (*SimpleRequest) Reset

func (x *SimpleRequest) Reset()

func (*SimpleRequest) String

func (x *SimpleRequest) String() string

type SimpleResponse

type SimpleResponse struct {

	// Payload to increase message size.
	Payload *Payload `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
	// The user the request came from, for verifying authentication was
	// successful when the client expected it.
	Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"`
	// OAuth scope.
	OauthScope string `protobuf:"bytes,3,opt,name=oauth_scope,json=oauthScope,proto3" json:"oauth_scope,omitempty"`
	// contains filtered or unexported fields
}

Unary response, as configured by the request.

func (*SimpleResponse) Descriptor deprecated

func (*SimpleResponse) Descriptor() ([]byte, []int)

Deprecated: Use SimpleResponse.ProtoReflect.Descriptor instead.

func (*SimpleResponse) GetOauthScope

func (x *SimpleResponse) GetOauthScope() string

func (*SimpleResponse) GetPayload

func (x *SimpleResponse) GetPayload() *Payload

func (*SimpleResponse) GetUsername

func (x *SimpleResponse) GetUsername() string

func (*SimpleResponse) ProtoMessage

func (*SimpleResponse) ProtoMessage()

func (*SimpleResponse) ProtoReflect

func (x *SimpleResponse) ProtoReflect() protoreflect.Message

func (*SimpleResponse) Reset

func (x *SimpleResponse) Reset()

func (*SimpleResponse) String

func (x *SimpleResponse) String() string

type StreamingInputCallRequest

type StreamingInputCallRequest struct {

	// Optional input payload sent along with the request.
	Payload *Payload `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
	// contains filtered or unexported fields
}

Client-streaming request.

func (*StreamingInputCallRequest) Descriptor deprecated

func (*StreamingInputCallRequest) Descriptor() ([]byte, []int)

Deprecated: Use StreamingInputCallRequest.ProtoReflect.Descriptor instead.

func (*StreamingInputCallRequest) GetPayload

func (x *StreamingInputCallRequest) GetPayload() *Payload

func (*StreamingInputCallRequest) ProtoMessage

func (*StreamingInputCallRequest) ProtoMessage()

func (*StreamingInputCallRequest) ProtoReflect

func (*StreamingInputCallRequest) Reset

func (x *StreamingInputCallRequest) Reset()

func (*StreamingInputCallRequest) String

func (x *StreamingInputCallRequest) String() string

type StreamingInputCallResponse

type StreamingInputCallResponse struct {

	// Aggregated size of payloads received from the client.
	AggregatedPayloadSize int32 `` /* 127-byte string literal not displayed */
	// contains filtered or unexported fields
}

Client-streaming response.

func (*StreamingInputCallResponse) Descriptor deprecated

func (*StreamingInputCallResponse) Descriptor() ([]byte, []int)

Deprecated: Use StreamingInputCallResponse.ProtoReflect.Descriptor instead.

func (*StreamingInputCallResponse) GetAggregatedPayloadSize

func (x *StreamingInputCallResponse) GetAggregatedPayloadSize() int32

func (*StreamingInputCallResponse) ProtoMessage

func (*StreamingInputCallResponse) ProtoMessage()

func (*StreamingInputCallResponse) ProtoReflect

func (*StreamingInputCallResponse) Reset

func (x *StreamingInputCallResponse) Reset()

func (*StreamingInputCallResponse) String

func (x *StreamingInputCallResponse) String() string

type StreamingOutputCallRequest

type StreamingOutputCallRequest struct {

	// Desired payload type in the response from the server.
	// If response_type is RANDOM, the payload from each response in the stream
	// might be of different types. This is to simulate a mixed type of payload
	// stream.
	ResponseType PayloadType `protobuf:"varint,1,opt,name=response_type,json=responseType,proto3,enum=testing.PayloadType" json:"response_type,omitempty"`
	// Configuration for each expected response message.
	ResponseParameters []*ResponseParameters `protobuf:"bytes,2,rep,name=response_parameters,json=responseParameters,proto3" json:"response_parameters,omitempty"`
	// Optional input payload sent along with the request.
	Payload *Payload `protobuf:"bytes,3,opt,name=payload,proto3" json:"payload,omitempty"`
	// Whether server should return a given status
	ResponseStatus *EchoStatus `protobuf:"bytes,7,opt,name=response_status,json=responseStatus,proto3" json:"response_status,omitempty"`
	// contains filtered or unexported fields
}

Server-streaming request.

func (*StreamingOutputCallRequest) Descriptor deprecated

func (*StreamingOutputCallRequest) Descriptor() ([]byte, []int)

Deprecated: Use StreamingOutputCallRequest.ProtoReflect.Descriptor instead.

func (*StreamingOutputCallRequest) GetPayload

func (x *StreamingOutputCallRequest) GetPayload() *Payload

func (*StreamingOutputCallRequest) GetResponseParameters

func (x *StreamingOutputCallRequest) GetResponseParameters() []*ResponseParameters

func (*StreamingOutputCallRequest) GetResponseStatus

func (x *StreamingOutputCallRequest) GetResponseStatus() *EchoStatus

func (*StreamingOutputCallRequest) GetResponseType

func (x *StreamingOutputCallRequest) GetResponseType() PayloadType

func (*StreamingOutputCallRequest) ProtoMessage

func (*StreamingOutputCallRequest) ProtoMessage()

func (*StreamingOutputCallRequest) ProtoReflect

func (*StreamingOutputCallRequest) Reset

func (x *StreamingOutputCallRequest) Reset()

func (*StreamingOutputCallRequest) String

func (x *StreamingOutputCallRequest) String() string

type StreamingOutputCallResponse

type StreamingOutputCallResponse struct {

	// Payload to increase response size.
	Payload *Payload `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
	// contains filtered or unexported fields
}

Server-streaming response, as configured by the request and parameters.

func (*StreamingOutputCallResponse) Descriptor deprecated

func (*StreamingOutputCallResponse) Descriptor() ([]byte, []int)

Deprecated: Use StreamingOutputCallResponse.ProtoReflect.Descriptor instead.

func (*StreamingOutputCallResponse) GetPayload

func (x *StreamingOutputCallResponse) GetPayload() *Payload

func (*StreamingOutputCallResponse) ProtoMessage

func (*StreamingOutputCallResponse) ProtoMessage()

func (*StreamingOutputCallResponse) ProtoReflect

func (*StreamingOutputCallResponse) Reset

func (x *StreamingOutputCallResponse) Reset()

func (*StreamingOutputCallResponse) String

func (x *StreamingOutputCallResponse) String() string

type TestServer

type TestServer struct{}

TestServer implements the TestService interface defined in example.proto.

func (TestServer) EmptyCall

func (TestServer) EmptyCall(ctx context.Context, req *Empty) (*Empty, error)

EmptyCall accepts one empty request and issues one empty response.

func (TestServer) FullDuplexCall

FullDuplexCall accepts a sequence of requests with each request served by the server immediately. As one request could lead to multiple responses, this interface demonstrates the idea of full duplexing.

func (TestServer) HalfDuplexCall

HalfDuplexCall accepts a sequence of requests and issues a sequence of responses. The server buffers all the client requests and then serves them in order. A stream of responses is returned to the client once the client half-closes the stream.

func (TestServer) StreamingInputCall

func (TestServer) StreamingInputCall(str TestService_StreamingInputCallServer) error

StreamingInputCall accepts a sequence of requests and issues one response (streamed upload). The server returns the aggregated size of client payloads as the result.

func (TestServer) StreamingOutputCall

StreamingOutputCall accepts one request and issues a sequence of responses (streamed download). The server returns the payload with client desired type and sizes as specified in the request's ResponseParameters.

func (TestServer) UnaryCall

func (TestServer) UnaryCall(ctx context.Context, req *SimpleRequest) (*SimpleResponse, error)

UnaryCall accepts one request and issues one response. The response includes the client's payload as-is.

type TestServiceClient

type TestServiceClient interface {
	// One empty request followed by one empty response.
	EmptyCall(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error)
	// One request followed by one response.
	// The server returns the client payload as-is.
	UnaryCall(ctx context.Context, in *SimpleRequest, opts ...grpc.CallOption) (*SimpleResponse, error)
	// One request followed by a sequence of responses (streamed download).
	// The server returns the payload with client desired type and sizes.
	StreamingOutputCall(ctx context.Context, in *StreamingOutputCallRequest, opts ...grpc.CallOption) (TestService_StreamingOutputCallClient, error)
	// A sequence of requests followed by one response (streamed upload).
	// The server returns the aggregated size of client payload as the result.
	StreamingInputCall(ctx context.Context, opts ...grpc.CallOption) (TestService_StreamingInputCallClient, error)
	// A sequence of requests with each request served by the server immediately.
	// As one request could lead to multiple responses, this interface
	// demonstrates the idea of full duplexing.
	FullDuplexCall(ctx context.Context, opts ...grpc.CallOption) (TestService_FullDuplexCallClient, error)
	// A sequence of requests followed by a sequence of responses.
	// The server buffers all the client requests and then serves them in order. A
	// stream of responses are returned to the client when the server starts with
	// first request.
	HalfDuplexCall(ctx context.Context, opts ...grpc.CallOption) (TestService_HalfDuplexCallClient, error)
}

TestServiceClient is the client API for TestService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

type TestServiceServer

type TestServiceServer interface {
	// One empty request followed by one empty response.
	EmptyCall(context.Context, *Empty) (*Empty, error)
	// One request followed by one response.
	// The server returns the client payload as-is.
	UnaryCall(context.Context, *SimpleRequest) (*SimpleResponse, error)
	// One request followed by a sequence of responses (streamed download).
	// The server returns the payload with client desired type and sizes.
	StreamingOutputCall(*StreamingOutputCallRequest, TestService_StreamingOutputCallServer) error
	// A sequence of requests followed by one response (streamed upload).
	// The server returns the aggregated size of client payload as the result.
	StreamingInputCall(TestService_StreamingInputCallServer) error
	// A sequence of requests with each request served by the server immediately.
	// As one request could lead to multiple responses, this interface
	// demonstrates the idea of full duplexing.
	FullDuplexCall(TestService_FullDuplexCallServer) error
	// A sequence of requests followed by a sequence of responses.
	// The server buffers all the client requests and then serves them in order. A
	// stream of responses are returned to the client when the server starts with
	// first request.
	HalfDuplexCall(TestService_HalfDuplexCallServer) error
}

TestServiceServer is the server API for TestService service.

type TestService_FullDuplexCallClient

type TestService_FullDuplexCallClient interface {
	Send(*StreamingOutputCallRequest) error
	Recv() (*StreamingOutputCallResponse, error)
	grpc.ClientStream
}

type TestService_FullDuplexCallServer

type TestService_FullDuplexCallServer interface {
	Send(*StreamingOutputCallResponse) error
	Recv() (*StreamingOutputCallRequest, error)
	grpc.ServerStream
}

type TestService_HalfDuplexCallClient

type TestService_HalfDuplexCallClient interface {
	Send(*StreamingOutputCallRequest) error
	Recv() (*StreamingOutputCallResponse, error)
	grpc.ClientStream
}

type TestService_HalfDuplexCallServer

type TestService_HalfDuplexCallServer interface {
	Send(*StreamingOutputCallResponse) error
	Recv() (*StreamingOutputCallRequest, error)
	grpc.ServerStream
}

type TestService_StreamingInputCallClient

type TestService_StreamingInputCallClient interface {
	Send(*StreamingInputCallRequest) error
	CloseAndRecv() (*StreamingInputCallResponse, error)
	grpc.ClientStream
}

type TestService_StreamingInputCallServer

type TestService_StreamingInputCallServer interface {
	SendAndClose(*StreamingInputCallResponse) error
	Recv() (*StreamingInputCallRequest, error)
	grpc.ServerStream
}

type TestService_StreamingOutputCallClient

type TestService_StreamingOutputCallClient interface {
	Recv() (*StreamingOutputCallResponse, error)
	grpc.ClientStream
}

type TestService_StreamingOutputCallServer

type TestService_StreamingOutputCallServer interface {
	Send(*StreamingOutputCallResponse) error
	grpc.ServerStream
}

type UnimplementedServiceClient

type UnimplementedServiceClient interface {
	// A call that no server should implement
	UnimplementedCall(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error)
}

UnimplementedServiceClient is the client API for UnimplementedService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

type UnimplementedServiceServer

type UnimplementedServiceServer interface {
	// A call that no server should implement
	UnimplementedCall(context.Context, *Empty) (*Empty, error)
}

UnimplementedServiceServer is the server API for UnimplementedService service.

type UnimplementedTestServiceServer

type UnimplementedTestServiceServer struct {
}

UnimplementedTestServiceServer can be embedded to have forward compatible implementations.

func (*UnimplementedTestServiceServer) EmptyCall

func (*UnimplementedTestServiceServer) FullDuplexCall

func (*UnimplementedTestServiceServer) HalfDuplexCall

func (*UnimplementedTestServiceServer) StreamingInputCall

func (*UnimplementedTestServiceServer) UnaryCall

type UnimplementedUnimplementedServiceServer

type UnimplementedUnimplementedServiceServer struct {
}

UnimplementedUnimplementedServiceServer can be embedded to have forward compatible implementations.

func (*UnimplementedUnimplementedServiceServer) UnimplementedCall

Directories

Path Synopsis
cmd
testserver
Command testserver spins up a test GRPC server.
Command testserver spins up a test GRPC server.

Jump to

Keyboard shortcuts

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