conformancev1

package
v1.0.3 Latest Latest
Warning

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

Go to latest
Published: Aug 13, 2024 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ConformanceService_Unary_FullMethodName           = "/connectrpc.conformance.v1.ConformanceService/Unary"
	ConformanceService_ServerStream_FullMethodName    = "/connectrpc.conformance.v1.ConformanceService/ServerStream"
	ConformanceService_ClientStream_FullMethodName    = "/connectrpc.conformance.v1.ConformanceService/ClientStream"
	ConformanceService_BidiStream_FullMethodName      = "/connectrpc.conformance.v1.ConformanceService/BidiStream"
	ConformanceService_Unimplemented_FullMethodName   = "/connectrpc.conformance.v1.ConformanceService/Unimplemented"
	ConformanceService_IdempotentUnary_FullMethodName = "/connectrpc.conformance.v1.ConformanceService/IdempotentUnary"
)

Variables

View Source
var (
	HTTPVersion_name = map[int32]string{
		0: "HTTP_VERSION_UNSPECIFIED",
		1: "HTTP_VERSION_1",
		2: "HTTP_VERSION_2",
		3: "HTTP_VERSION_3",
	}
	HTTPVersion_value = map[string]int32{
		"HTTP_VERSION_UNSPECIFIED": 0,
		"HTTP_VERSION_1":           1,
		"HTTP_VERSION_2":           2,
		"HTTP_VERSION_3":           3,
	}
)

Enum value maps for HTTPVersion.

View Source
var (
	Protocol_name = map[int32]string{
		0: "PROTOCOL_UNSPECIFIED",
		1: "PROTOCOL_CONNECT",
		2: "PROTOCOL_GRPC",
		3: "PROTOCOL_GRPC_WEB",
	}
	Protocol_value = map[string]int32{
		"PROTOCOL_UNSPECIFIED": 0,
		"PROTOCOL_CONNECT":     1,
		"PROTOCOL_GRPC":        2,
		"PROTOCOL_GRPC_WEB":    3,
	}
)

Enum value maps for Protocol.

View Source
var (
	Codec_name = map[int32]string{
		0: "CODEC_UNSPECIFIED",
		1: "CODEC_PROTO",
		2: "CODEC_JSON",
		3: "CODEC_TEXT",
	}
	Codec_value = map[string]int32{
		"CODEC_UNSPECIFIED": 0,
		"CODEC_PROTO":       1,
		"CODEC_JSON":        2,
		"CODEC_TEXT":        3,
	}
)

Enum value maps for Codec.

View Source
var (
	Compression_name = map[int32]string{
		0: "COMPRESSION_UNSPECIFIED",
		1: "COMPRESSION_IDENTITY",
		2: "COMPRESSION_GZIP",
		3: "COMPRESSION_BR",
		4: "COMPRESSION_ZSTD",
		5: "COMPRESSION_DEFLATE",
		6: "COMPRESSION_SNAPPY",
	}
	Compression_value = map[string]int32{
		"COMPRESSION_UNSPECIFIED": 0,
		"COMPRESSION_IDENTITY":    1,
		"COMPRESSION_GZIP":        2,
		"COMPRESSION_BR":          3,
		"COMPRESSION_ZSTD":        4,
		"COMPRESSION_DEFLATE":     5,
		"COMPRESSION_SNAPPY":      6,
	}
)

Enum value maps for Compression.

View Source
var (
	StreamType_name = map[int32]string{
		0: "STREAM_TYPE_UNSPECIFIED",
		1: "STREAM_TYPE_UNARY",
		2: "STREAM_TYPE_CLIENT_STREAM",
		3: "STREAM_TYPE_SERVER_STREAM",
		4: "STREAM_TYPE_HALF_DUPLEX_BIDI_STREAM",
		5: "STREAM_TYPE_FULL_DUPLEX_BIDI_STREAM",
	}
	StreamType_value = map[string]int32{
		"STREAM_TYPE_UNSPECIFIED":             0,
		"STREAM_TYPE_UNARY":                   1,
		"STREAM_TYPE_CLIENT_STREAM":           2,
		"STREAM_TYPE_SERVER_STREAM":           3,
		"STREAM_TYPE_HALF_DUPLEX_BIDI_STREAM": 4,
		"STREAM_TYPE_FULL_DUPLEX_BIDI_STREAM": 5,
	}
)

Enum value maps for StreamType.

View Source
var (
	Code_name = map[int32]string{
		0:  "CODE_UNSPECIFIED",
		1:  "CODE_CANCELED",
		2:  "CODE_UNKNOWN",
		3:  "CODE_INVALID_ARGUMENT",
		4:  "CODE_DEADLINE_EXCEEDED",
		5:  "CODE_NOT_FOUND",
		6:  "CODE_ALREADY_EXISTS",
		7:  "CODE_PERMISSION_DENIED",
		8:  "CODE_RESOURCE_EXHAUSTED",
		9:  "CODE_FAILED_PRECONDITION",
		10: "CODE_ABORTED",
		11: "CODE_OUT_OF_RANGE",
		12: "CODE_UNIMPLEMENTED",
		13: "CODE_INTERNAL",
		14: "CODE_UNAVAILABLE",
		15: "CODE_DATA_LOSS",
		16: "CODE_UNAUTHENTICATED",
	}
	Code_value = map[string]int32{
		"CODE_UNSPECIFIED":         0,
		"CODE_CANCELED":            1,
		"CODE_UNKNOWN":             2,
		"CODE_INVALID_ARGUMENT":    3,
		"CODE_DEADLINE_EXCEEDED":   4,
		"CODE_NOT_FOUND":           5,
		"CODE_ALREADY_EXISTS":      6,
		"CODE_PERMISSION_DENIED":   7,
		"CODE_RESOURCE_EXHAUSTED":  8,
		"CODE_FAILED_PRECONDITION": 9,
		"CODE_ABORTED":             10,
		"CODE_OUT_OF_RANGE":        11,
		"CODE_UNIMPLEMENTED":       12,
		"CODE_INTERNAL":            13,
		"CODE_UNAVAILABLE":         14,
		"CODE_DATA_LOSS":           15,
		"CODE_UNAUTHENTICATED":     16,
	}
)

Enum value maps for Code.

View Source
var (
	TestSuite_TestMode_name = map[int32]string{
		0: "TEST_MODE_UNSPECIFIED",
		1: "TEST_MODE_CLIENT",
		2: "TEST_MODE_SERVER",
	}
	TestSuite_TestMode_value = map[string]int32{
		"TEST_MODE_UNSPECIFIED": 0,
		"TEST_MODE_CLIENT":      1,
		"TEST_MODE_SERVER":      2,
	}
)

Enum value maps for TestSuite_TestMode.

View Source
var (
	TestSuite_ConnectVersionMode_name = map[int32]string{
		0: "CONNECT_VERSION_MODE_UNSPECIFIED",
		1: "CONNECT_VERSION_MODE_REQUIRE",
		2: "CONNECT_VERSION_MODE_IGNORE",
	}
	TestSuite_ConnectVersionMode_value = map[string]int32{
		"CONNECT_VERSION_MODE_UNSPECIFIED": 0,
		"CONNECT_VERSION_MODE_REQUIRE":     1,
		"CONNECT_VERSION_MODE_IGNORE":      2,
	}
)

Enum value maps for TestSuite_ConnectVersionMode.

View Source
var ConformanceService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "connectrpc.conformance.v1.ConformanceService",
	HandlerType: (*ConformanceServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Unary",
			Handler:    _ConformanceService_Unary_Handler,
		},
		{
			MethodName: "Unimplemented",
			Handler:    _ConformanceService_Unimplemented_Handler,
		},
		{
			MethodName: "IdempotentUnary",
			Handler:    _ConformanceService_IdempotentUnary_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "ServerStream",
			Handler:       _ConformanceService_ServerStream_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "ClientStream",
			Handler:       _ConformanceService_ClientStream_Handler,
			ClientStreams: true,
		},
		{
			StreamName:    "BidiStream",
			Handler:       _ConformanceService_BidiStream_Handler,
			ServerStreams: true,
			ClientStreams: true,
		},
	},
	Metadata: "connectrpc/conformance/v1/service.proto",
}

ConformanceService_ServiceDesc is the grpc.ServiceDesc for ConformanceService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

View Source
var File_connectrpc_conformance_v1_client_compat_proto protoreflect.FileDescriptor
View Source
var File_connectrpc_conformance_v1_config_proto protoreflect.FileDescriptor
View Source
var File_connectrpc_conformance_v1_server_compat_proto protoreflect.FileDescriptor
View Source
var File_connectrpc_conformance_v1_service_proto protoreflect.FileDescriptor
View Source
var File_connectrpc_conformance_v1_suite_proto protoreflect.FileDescriptor

Functions

func RegisterConformanceServiceServer

func RegisterConformanceServiceServer(s grpc.ServiceRegistrar, srv ConformanceServiceServer)

Types

type BidiStreamRequest

type BidiStreamRequest struct {

	// Tells the server how to reply; required in the first message
	// in the stream. Should be ignored in subsequent messages.
	ResponseDefinition *StreamResponseDefinition `protobuf:"bytes,1,opt,name=response_definition,json=responseDefinition,proto3" json:"response_definition,omitempty"`
	// Tells the server whether it should wait for each request
	// before sending a response.
	//
	// If true, it indicates the server should effectively interleave the
	// stream so messages are sent in request->response pairs.
	//
	// If false, then the response stream will be sent once all request messages
	// are finished sending with the only delays between messages
	// being the optional fixed milliseconds defined in the response
	// definition.
	//
	// This field is only relevant in the first message in the stream
	// and should be ignored in subsequent messages.
	FullDuplex bool `protobuf:"varint,2,opt,name=full_duplex,json=fullDuplex,proto3" json:"full_duplex,omitempty"`
	// Additional data for subsequent messages in the stream. Also
	// used to pad the request size to test large request messages.
	RequestData []byte `protobuf:"bytes,3,opt,name=request_data,json=requestData,proto3" json:"request_data,omitempty"`
	// contains filtered or unexported fields
}

func (*BidiStreamRequest) Descriptor deprecated

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

Deprecated: Use BidiStreamRequest.ProtoReflect.Descriptor instead.

func (*BidiStreamRequest) GetFullDuplex

func (x *BidiStreamRequest) GetFullDuplex() bool

func (*BidiStreamRequest) GetRequestData

func (x *BidiStreamRequest) GetRequestData() []byte

func (*BidiStreamRequest) GetResponseDefinition

func (x *BidiStreamRequest) GetResponseDefinition() *StreamResponseDefinition

func (*BidiStreamRequest) ProtoMessage

func (*BidiStreamRequest) ProtoMessage()

func (*BidiStreamRequest) ProtoReflect

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

func (*BidiStreamRequest) Reset

func (x *BidiStreamRequest) Reset()

func (*BidiStreamRequest) String

func (x *BidiStreamRequest) String() string

type BidiStreamResponse

type BidiStreamResponse struct {

	// The conformance payload to respond with
	Payload *ConformancePayload `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
	// contains filtered or unexported fields
}

func (*BidiStreamResponse) Descriptor deprecated

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

Deprecated: Use BidiStreamResponse.ProtoReflect.Descriptor instead.

func (*BidiStreamResponse) GetPayload

func (x *BidiStreamResponse) GetPayload() *ConformancePayload

func (*BidiStreamResponse) ProtoMessage

func (*BidiStreamResponse) ProtoMessage()

func (*BidiStreamResponse) ProtoReflect

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

func (*BidiStreamResponse) Reset

func (x *BidiStreamResponse) Reset()

func (*BidiStreamResponse) String

func (x *BidiStreamResponse) String() string

type ClientCompatRequest

type ClientCompatRequest struct {

	// The name of the test that this request is performing.
	// When writing test cases, this is a required field.
	TestName string `protobuf:"bytes,1,opt,name=test_name,json=testName,proto3" json:"test_name,omitempty"`
	// Test suite YAML definitions should NOT set values for these next
	// nine fields (fields 2 - 10). They are automatically populated by the test
	// runner. If a test is specific to one of these values, it should instead be
	// indicated in the test suite itself (where it defines the required
	// features and relevant values for these fields).
	//
	// The HTTP version to use for the test (i.e. HTTP/1.1, HTTP/2, HTTP/3).
	HttpVersion HTTPVersion `` /* 138-byte string literal not displayed */
	// The protocol to use for the test (i.e. Connect, gRPC, gRPC-web).
	Protocol Protocol `protobuf:"varint,3,opt,name=protocol,proto3,enum=connectrpc.conformance.v1.Protocol" json:"protocol,omitempty"`
	// The codec to use for the test (i.e. JSON, proto/binary).
	Codec Codec `protobuf:"varint,4,opt,name=codec,proto3,enum=connectrpc.conformance.v1.Codec" json:"codec,omitempty"`
	// The compression to use for the test (i.e. brotli, gzip, identity).
	Compression Compression `protobuf:"varint,5,opt,name=compression,proto3,enum=connectrpc.conformance.v1.Compression" json:"compression,omitempty"`
	// The server host that this request will be sent to.
	Host string `protobuf:"bytes,6,opt,name=host,proto3" json:"host,omitempty"`
	// The server port that this request will be sent to.
	Port uint32 `protobuf:"varint,7,opt,name=port,proto3" json:"port,omitempty"`
	// If non-empty, the server is using TLS. The bytes are the
	// server's PEM-encoded certificate, which the client should
	// verify and trust.
	ServerTlsCert []byte `protobuf:"bytes,8,opt,name=server_tls_cert,json=serverTlsCert,proto3" json:"server_tls_cert,omitempty"`
	// If present, the client certificate credentials to use to
	// authenticate with the server. This will only be present
	// when server_tls_cert is non-empty.
	ClientTlsCreds *TLSCreds `protobuf:"bytes,9,opt,name=client_tls_creds,json=clientTlsCreds,proto3" json:"client_tls_creds,omitempty"`
	// If non-zero, indicates the maximum size in bytes for a message.
	// If the server sends anything larger, the client should reject it.
	MessageReceiveLimit uint32 `protobuf:"varint,10,opt,name=message_receive_limit,json=messageReceiveLimit,proto3" json:"message_receive_limit,omitempty"`
	// The fully-qualified name of the service this test will interact with.
	// If specified, method must also be specified.
	// If not specified, defaults to "connectrpc.conformance.v1.ConformanceService".
	Service *string `protobuf:"bytes,11,opt,name=service,proto3,oneof" json:"service,omitempty"`
	// The method on `service` that will be called.
	// If specified, service must also be specified.
	// If not specified, the test runner will auto-populate this field based on the stream_type.
	Method *string `protobuf:"bytes,12,opt,name=method,proto3,oneof" json:"method,omitempty"`
	// The stream type of `method` (i.e. unary, client stream, server stream, full-duplex bidi
	// stream, or half-duplex bidi stream).
	// When writing test cases, this is a required field.
	StreamType StreamType `` /* 135-byte string literal not displayed */
	// If protocol indicates Connect and stream type indicates
	// Unary, this instructs the client to use a GET HTTP method
	// when making the request.
	UseGetHttpMethod bool `protobuf:"varint,14,opt,name=use_get_http_method,json=useGetHttpMethod,proto3" json:"use_get_http_method,omitempty"`
	// Any request headers that should be sent as part of the request.
	// These include only custom header metadata. Headers that are
	// part of the relevant protocol (such as "content-type", etc) should
	// not be stated here.
	RequestHeaders []*Header `protobuf:"bytes,15,rep,name=request_headers,json=requestHeaders,proto3" json:"request_headers,omitempty"`
	// The actual request messages that will sent to the server.
	// The type URL for all entries should be equal to the request type of the
	// method.
	// There must be exactly one for unary and server stream methods but
	// can be zero or more for client and bidi stream methods.
	// For client and bidi stream methods, all entries will have the
	// same type URL.
	RequestMessages []*anypb.Any `protobuf:"bytes,16,rep,name=request_messages,json=requestMessages,proto3" json:"request_messages,omitempty"`
	// The timeout, in milliseconds, for the request. This is equivalent to a
	// deadline for the request. If unset, there will be no timeout.
	TimeoutMs *uint32 `protobuf:"varint,17,opt,name=timeout_ms,json=timeoutMs,proto3,oneof" json:"timeout_ms,omitempty"`
	// Wait this many milliseconds before sending a request message.
	// For client or bidi stream methods, this delay should be
	// applied before each request sent.
	RequestDelayMs uint32 `protobuf:"varint,18,opt,name=request_delay_ms,json=requestDelayMs,proto3" json:"request_delay_ms,omitempty"`
	// If present, the client should cancel the RPC instead of
	// allowing to complete normally.
	Cancel *ClientCompatRequest_Cancel `protobuf:"bytes,19,opt,name=cancel,proto3" json:"cancel,omitempty"`
	// The following field is only used by the reference client. If
	// you are implementing a client under test, you may ignore it
	// or respond with an error if the client receives a request where
	// it is set.
	//
	// When this field is present, it defines the actual HTTP request
	// that will be sent. The above group of fields must still be
	// provided and valid so that the reference client knows how it
	// should try to interpret the server's response.
	RawRequest *RawHTTPRequest `protobuf:"bytes,20,opt,name=raw_request,json=rawRequest,proto3" json:"raw_request,omitempty"`
	// contains filtered or unexported fields
}

Describes one call the client should make. The client reads these from stdin and, for each one, invokes an RPC as directed and writes the results (in the form of a ClientCompatResponse message) to stdout.

func (*ClientCompatRequest) Descriptor deprecated

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

Deprecated: Use ClientCompatRequest.ProtoReflect.Descriptor instead.

func (*ClientCompatRequest) GetCancel

func (*ClientCompatRequest) GetClientTlsCreds

func (x *ClientCompatRequest) GetClientTlsCreds() *TLSCreds

func (*ClientCompatRequest) GetCodec

func (x *ClientCompatRequest) GetCodec() Codec

func (*ClientCompatRequest) GetCompression

func (x *ClientCompatRequest) GetCompression() Compression

func (*ClientCompatRequest) GetHost

func (x *ClientCompatRequest) GetHost() string

func (*ClientCompatRequest) GetHttpVersion

func (x *ClientCompatRequest) GetHttpVersion() HTTPVersion

func (*ClientCompatRequest) GetMessageReceiveLimit

func (x *ClientCompatRequest) GetMessageReceiveLimit() uint32

func (*ClientCompatRequest) GetMethod

func (x *ClientCompatRequest) GetMethod() string

func (*ClientCompatRequest) GetPort

func (x *ClientCompatRequest) GetPort() uint32

func (*ClientCompatRequest) GetProtocol

func (x *ClientCompatRequest) GetProtocol() Protocol

func (*ClientCompatRequest) GetRawRequest

func (x *ClientCompatRequest) GetRawRequest() *RawHTTPRequest

func (*ClientCompatRequest) GetRequestDelayMs

func (x *ClientCompatRequest) GetRequestDelayMs() uint32

func (*ClientCompatRequest) GetRequestHeaders

func (x *ClientCompatRequest) GetRequestHeaders() []*Header

func (*ClientCompatRequest) GetRequestMessages

func (x *ClientCompatRequest) GetRequestMessages() []*anypb.Any

func (*ClientCompatRequest) GetServerTlsCert

func (x *ClientCompatRequest) GetServerTlsCert() []byte

func (*ClientCompatRequest) GetService

func (x *ClientCompatRequest) GetService() string

func (*ClientCompatRequest) GetStreamType

func (x *ClientCompatRequest) GetStreamType() StreamType

func (*ClientCompatRequest) GetTestName

func (x *ClientCompatRequest) GetTestName() string

func (*ClientCompatRequest) GetTimeoutMs

func (x *ClientCompatRequest) GetTimeoutMs() uint32

func (*ClientCompatRequest) GetUseGetHttpMethod

func (x *ClientCompatRequest) GetUseGetHttpMethod() bool

func (*ClientCompatRequest) ProtoMessage

func (*ClientCompatRequest) ProtoMessage()

func (*ClientCompatRequest) ProtoReflect

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

func (*ClientCompatRequest) Reset

func (x *ClientCompatRequest) Reset()

func (*ClientCompatRequest) String

func (x *ClientCompatRequest) String() string

type ClientCompatRequest_Cancel

type ClientCompatRequest_Cancel struct {

	// These fields determine the timing of cancellation.
	// If none are present, the client should cancel immediately
	// after all request messages are sent and the send side is
	// closed (as if the after_close_send_ms field were present
	// and zero).
	//
	// Types that are assignable to CancelTiming:
	//
	//	*ClientCompatRequest_Cancel_BeforeCloseSend
	//	*ClientCompatRequest_Cancel_AfterCloseSendMs
	//	*ClientCompatRequest_Cancel_AfterNumResponses
	CancelTiming isClientCompatRequest_Cancel_CancelTiming `protobuf_oneof:"cancel_timing"`
	// contains filtered or unexported fields
}

func (*ClientCompatRequest_Cancel) Descriptor deprecated

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

Deprecated: Use ClientCompatRequest_Cancel.ProtoReflect.Descriptor instead.

func (*ClientCompatRequest_Cancel) GetAfterCloseSendMs

func (x *ClientCompatRequest_Cancel) GetAfterCloseSendMs() uint32

func (*ClientCompatRequest_Cancel) GetAfterNumResponses

func (x *ClientCompatRequest_Cancel) GetAfterNumResponses() uint32

func (*ClientCompatRequest_Cancel) GetBeforeCloseSend

func (x *ClientCompatRequest_Cancel) GetBeforeCloseSend() *emptypb.Empty

func (*ClientCompatRequest_Cancel) GetCancelTiming

func (m *ClientCompatRequest_Cancel) GetCancelTiming() isClientCompatRequest_Cancel_CancelTiming

func (*ClientCompatRequest_Cancel) ProtoMessage

func (*ClientCompatRequest_Cancel) ProtoMessage()

func (*ClientCompatRequest_Cancel) ProtoReflect

func (*ClientCompatRequest_Cancel) Reset

func (x *ClientCompatRequest_Cancel) Reset()

func (*ClientCompatRequest_Cancel) String

func (x *ClientCompatRequest_Cancel) String() string

type ClientCompatRequest_Cancel_AfterCloseSendMs

type ClientCompatRequest_Cancel_AfterCloseSendMs struct {
	// When present, the client should delay for this many
	// milliseconds after closing the send side of the stream
	// and then cancel.
	//
	// This applies to all types of RPCs.
	//
	// For unary and server stream RPCs, where the API usually
	// does not allow explicitly closing the send side, the
	// cancellation should be done immediately after invoking
	// the RPC (which should implicitly send the one-and-only
	// request and then close the send-side).
	//
	// For APIs where unary RPCs block until the response
	// is received, there is no point after the request is
	// sent but before a response is received to cancel. So
	// the client must arrange for the RPC to be canceled
	// asynchronously before invoking the blocking unary call.
	AfterCloseSendMs uint32 `protobuf:"varint,2,opt,name=after_close_send_ms,json=afterCloseSendMs,proto3,oneof"`
}

type ClientCompatRequest_Cancel_AfterNumResponses

type ClientCompatRequest_Cancel_AfterNumResponses struct {
	// When present, the client should cancel right after
	// reading this number of response messages from the stream.
	// When present, this will be greater than zero.
	//
	// This applies only to server and bidi stream RPCs.
	AfterNumResponses uint32 `protobuf:"varint,3,opt,name=after_num_responses,json=afterNumResponses,proto3,oneof"`
}

type ClientCompatRequest_Cancel_BeforeCloseSend

type ClientCompatRequest_Cancel_BeforeCloseSend struct {
	// When present, the client should cancel *instead of*
	// closing the send side of the stream, after all requests
	// have been sent.
	//
	// This applies only to client and bidi stream RPCs.
	BeforeCloseSend *emptypb.Empty `protobuf:"bytes,1,opt,name=before_close_send,json=beforeCloseSend,proto3,oneof"`
}

type ClientCompatResponse

type ClientCompatResponse struct {

	// The test name that this response applies to.
	TestName string `protobuf:"bytes,1,opt,name=test_name,json=testName,proto3" json:"test_name,omitempty"`
	// These fields determine the outcome of the request.
	//
	// With regards to errors, any unexpected errors that prevent the client from
	// issuing the RPC and following the instructions implied by the request can
	// be reported as an error. These would be errors creating an RPC client from
	// the request parameters or unsupported/illegal values in the request
	// (e.g. a unary request that defines zero or multiple request messages).
	//
	// However, once the RPC is issued, any resulting error should instead be encoded in response.
	//
	// Types that are assignable to Result:
	//
	//	*ClientCompatResponse_Response
	//	*ClientCompatResponse_Error
	Result isClientCompatResponse_Result `protobuf_oneof:"result"`
	// contains filtered or unexported fields
}

The outcome of one ClientCompatRequest.

func (*ClientCompatResponse) Descriptor deprecated

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

Deprecated: Use ClientCompatResponse.ProtoReflect.Descriptor instead.

func (*ClientCompatResponse) GetError

func (x *ClientCompatResponse) GetError() *ClientErrorResult

func (*ClientCompatResponse) GetResponse

func (x *ClientCompatResponse) GetResponse() *ClientResponseResult

func (*ClientCompatResponse) GetResult

func (m *ClientCompatResponse) GetResult() isClientCompatResponse_Result

func (*ClientCompatResponse) GetTestName

func (x *ClientCompatResponse) GetTestName() string

func (*ClientCompatResponse) ProtoMessage

func (*ClientCompatResponse) ProtoMessage()

func (*ClientCompatResponse) ProtoReflect

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

func (*ClientCompatResponse) Reset

func (x *ClientCompatResponse) Reset()

func (*ClientCompatResponse) String

func (x *ClientCompatResponse) String() string

type ClientCompatResponse_Error

type ClientCompatResponse_Error struct {
	Error *ClientErrorResult `protobuf:"bytes,3,opt,name=error,proto3,oneof"`
}

type ClientCompatResponse_Response

type ClientCompatResponse_Response struct {
	Response *ClientResponseResult `protobuf:"bytes,2,opt,name=response,proto3,oneof"`
}

type ClientErrorResult

type ClientErrorResult struct {

	// A message describing the error that occurred. This string will be shown to
	// users running conformance tests so it should include any relevant details
	// that may help troubleshoot or remedy the error.
	Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
	// contains filtered or unexported fields
}

The client is not able to fulfill the ClientCompatRequest. This may be due to a runtime error or an unexpected internal error such as the requested protocol not being supported. This is completely independent of the actual RPC invocation.

func (*ClientErrorResult) Descriptor deprecated

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

Deprecated: Use ClientErrorResult.ProtoReflect.Descriptor instead.

func (*ClientErrorResult) GetMessage

func (x *ClientErrorResult) GetMessage() string

func (*ClientErrorResult) ProtoMessage

func (*ClientErrorResult) ProtoMessage()

func (*ClientErrorResult) ProtoReflect

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

func (*ClientErrorResult) Reset

func (x *ClientErrorResult) Reset()

func (*ClientErrorResult) String

func (x *ClientErrorResult) String() string

type ClientResponseResult

type ClientResponseResult struct {

	// All response headers read from the response.
	ResponseHeaders []*Header `protobuf:"bytes,1,rep,name=response_headers,json=responseHeaders,proto3" json:"response_headers,omitempty"`
	// Servers should echo back payloads that they received as part of the request.
	// This field should contain all the payloads the server echoed back. Note that
	// There will be zero-to-one for unary and client stream methods and
	// zero-to-many for server and bidi stream methods.
	Payloads []*ConformancePayload `protobuf:"bytes,2,rep,name=payloads,proto3" json:"payloads,omitempty"`
	// The error received from the actual RPC invocation. Note this is not representative
	// of a runtime error and should always be the proto equivalent of a Connect
	// or gRPC error.
	Error *Error `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
	// All response headers read from the response.
	ResponseTrailers []*Header `protobuf:"bytes,4,rep,name=response_trailers,json=responseTrailers,proto3" json:"response_trailers,omitempty"`
	// The number of messages that were present in the request but that could not be
	// sent because an error occurred before finishing the upload.
	NumUnsentRequests int32 `protobuf:"varint,5,opt,name=num_unsent_requests,json=numUnsentRequests,proto3" json:"num_unsent_requests,omitempty"`
	// The following field is only set by the reference client. It communicates
	// the underlying HTTP status code of the server's response.
	// If you are implementing a client-under-test, you should ignore this field
	// and leave it unset.
	HttpStatusCode *int32 `protobuf:"varint,6,opt,name=http_status_code,json=httpStatusCode,proto3,oneof" json:"http_status_code,omitempty"`
	// This field is used only by the reference client, and it can be used
	// to provide additional feedback about problems observed in the server
	// response or in client processing of the response. If non-empty, the test
	// case is considered failed even if the result above matches all expectations.
	// If you are implementing a client-under-test, you should ignore this field
	// and leave it unset.
	Feedback []string `protobuf:"bytes,7,rep,name=feedback,proto3" json:"feedback,omitempty"`
	// contains filtered or unexported fields
}

The result of a ClientCompatRequest, which may or may not be successful. The client will build this message and return it back to the test runner.

func (*ClientResponseResult) Descriptor deprecated

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

Deprecated: Use ClientResponseResult.ProtoReflect.Descriptor instead.

func (*ClientResponseResult) GetError

func (x *ClientResponseResult) GetError() *Error

func (*ClientResponseResult) GetFeedback

func (x *ClientResponseResult) GetFeedback() []string

func (*ClientResponseResult) GetHttpStatusCode

func (x *ClientResponseResult) GetHttpStatusCode() int32

func (*ClientResponseResult) GetNumUnsentRequests

func (x *ClientResponseResult) GetNumUnsentRequests() int32

func (*ClientResponseResult) GetPayloads

func (x *ClientResponseResult) GetPayloads() []*ConformancePayload

func (*ClientResponseResult) GetResponseHeaders

func (x *ClientResponseResult) GetResponseHeaders() []*Header

func (*ClientResponseResult) GetResponseTrailers

func (x *ClientResponseResult) GetResponseTrailers() []*Header

func (*ClientResponseResult) ProtoMessage

func (*ClientResponseResult) ProtoMessage()

func (*ClientResponseResult) ProtoReflect

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

func (*ClientResponseResult) Reset

func (x *ClientResponseResult) Reset()

func (*ClientResponseResult) String

func (x *ClientResponseResult) String() string

type ClientStreamRequest

type ClientStreamRequest struct {

	// Tells the server how to reply once all client messages are
	// complete. Required in the first message in the stream, but
	// should be ignored in subsequent messages.
	ResponseDefinition *UnaryResponseDefinition `protobuf:"bytes,1,opt,name=response_definition,json=responseDefinition,proto3" json:"response_definition,omitempty"`
	// Additional data for subsequent messages in the stream. Also
	// used to pad the request size to test large request messages.
	RequestData []byte `protobuf:"bytes,2,opt,name=request_data,json=requestData,proto3" json:"request_data,omitempty"`
	// contains filtered or unexported fields
}

func (*ClientStreamRequest) Descriptor deprecated

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

Deprecated: Use ClientStreamRequest.ProtoReflect.Descriptor instead.

func (*ClientStreamRequest) GetRequestData

func (x *ClientStreamRequest) GetRequestData() []byte

func (*ClientStreamRequest) GetResponseDefinition

func (x *ClientStreamRequest) GetResponseDefinition() *UnaryResponseDefinition

func (*ClientStreamRequest) ProtoMessage

func (*ClientStreamRequest) ProtoMessage()

func (*ClientStreamRequest) ProtoReflect

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

func (*ClientStreamRequest) Reset

func (x *ClientStreamRequest) Reset()

func (*ClientStreamRequest) String

func (x *ClientStreamRequest) String() string

type ClientStreamResponse

type ClientStreamResponse struct {

	// The conformance payload to respond with
	Payload *ConformancePayload `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
	// contains filtered or unexported fields
}

func (*ClientStreamResponse) Descriptor deprecated

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

Deprecated: Use ClientStreamResponse.ProtoReflect.Descriptor instead.

func (*ClientStreamResponse) GetPayload

func (x *ClientStreamResponse) GetPayload() *ConformancePayload

func (*ClientStreamResponse) ProtoMessage

func (*ClientStreamResponse) ProtoMessage()

func (*ClientStreamResponse) ProtoReflect

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

func (*ClientStreamResponse) Reset

func (x *ClientStreamResponse) Reset()

func (*ClientStreamResponse) String

func (x *ClientStreamResponse) String() string

type Code

type Code int32
const (
	Code_CODE_UNSPECIFIED         Code = 0
	Code_CODE_CANCELED            Code = 1
	Code_CODE_UNKNOWN             Code = 2
	Code_CODE_INVALID_ARGUMENT    Code = 3
	Code_CODE_DEADLINE_EXCEEDED   Code = 4
	Code_CODE_NOT_FOUND           Code = 5
	Code_CODE_ALREADY_EXISTS      Code = 6
	Code_CODE_PERMISSION_DENIED   Code = 7
	Code_CODE_RESOURCE_EXHAUSTED  Code = 8
	Code_CODE_FAILED_PRECONDITION Code = 9
	Code_CODE_ABORTED             Code = 10
	Code_CODE_OUT_OF_RANGE        Code = 11
	Code_CODE_UNIMPLEMENTED       Code = 12
	Code_CODE_INTERNAL            Code = 13
	Code_CODE_UNAVAILABLE         Code = 14
	Code_CODE_DATA_LOSS           Code = 15
	Code_CODE_UNAUTHENTICATED     Code = 16
)

func (Code) Descriptor

func (Code) Descriptor() protoreflect.EnumDescriptor

func (Code) Enum

func (x Code) Enum() *Code

func (Code) EnumDescriptor deprecated

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

Deprecated: Use Code.Descriptor instead.

func (Code) Number

func (x Code) Number() protoreflect.EnumNumber

func (Code) String

func (x Code) String() string

func (Code) Type

func (Code) Type() protoreflect.EnumType

type Codec

type Codec int32
const (
	Codec_CODEC_UNSPECIFIED Codec = 0
	Codec_CODEC_PROTO       Codec = 1
	Codec_CODEC_JSON        Codec = 2
	// Deprecated: Marked as deprecated in connectrpc/conformance/v1/config.proto.
	Codec_CODEC_TEXT Codec = 3 // not used; will be ignored
)

func (Codec) Descriptor

func (Codec) Descriptor() protoreflect.EnumDescriptor

func (Codec) Enum

func (x Codec) Enum() *Codec

func (Codec) EnumDescriptor deprecated

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

Deprecated: Use Codec.Descriptor instead.

func (Codec) Number

func (x Codec) Number() protoreflect.EnumNumber

func (Codec) String

func (x Codec) String() string

func (Codec) Type

func (Codec) Type() protoreflect.EnumType

type Compression

type Compression int32
const (
	Compression_COMPRESSION_UNSPECIFIED Compression = 0
	Compression_COMPRESSION_IDENTITY    Compression = 1
	Compression_COMPRESSION_GZIP        Compression = 2
	Compression_COMPRESSION_BR          Compression = 3
	Compression_COMPRESSION_ZSTD        Compression = 4
	Compression_COMPRESSION_DEFLATE     Compression = 5
	Compression_COMPRESSION_SNAPPY      Compression = 6
)

func (Compression) Descriptor

func (Compression) Enum

func (x Compression) Enum() *Compression

func (Compression) EnumDescriptor deprecated

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

Deprecated: Use Compression.Descriptor instead.

func (Compression) Number

func (x Compression) Number() protoreflect.EnumNumber

func (Compression) String

func (x Compression) String() string

func (Compression) Type

type Config

type Config struct {

	// The features supported by the client or server under test.
	// This is used to filter the set of test cases that are run.
	// If absent, an empty message is used. See Features for more
	// on how empty/absent fields are interpreted.
	Features *Features `protobuf:"bytes,1,opt,name=features,proto3" json:"features,omitempty"`
	// This can indicate additional permutations that are supported
	// that might otherwise be excluded based on the above features.
	IncludeCases []*ConfigCase `protobuf:"bytes,2,rep,name=include_cases,json=includeCases,proto3" json:"include_cases,omitempty"`
	// This can indicates permutations that are not supported even
	// though their support might be implied by the above features.
	ExcludeCases []*ConfigCase `protobuf:"bytes,3,rep,name=exclude_cases,json=excludeCases,proto3" json:"exclude_cases,omitempty"`
	// contains filtered or unexported fields
}

Config defines the configuration for running conformance tests. This enumerates all of the "flavors" of the test suite to run.

func (*Config) Descriptor deprecated

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

Deprecated: Use Config.ProtoReflect.Descriptor instead.

func (*Config) GetExcludeCases

func (x *Config) GetExcludeCases() []*ConfigCase

func (*Config) GetFeatures

func (x *Config) GetFeatures() *Features

func (*Config) GetIncludeCases

func (x *Config) GetIncludeCases() []*ConfigCase

func (*Config) ProtoMessage

func (*Config) ProtoMessage()

func (*Config) ProtoReflect

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

func (*Config) Reset

func (x *Config) Reset()

func (*Config) String

func (x *Config) String() string

type ConfigCase

type ConfigCase struct {

	// If unspecified, indicates cases for all versions.
	Version HTTPVersion `protobuf:"varint,1,opt,name=version,proto3,enum=connectrpc.conformance.v1.HTTPVersion" json:"version,omitempty"`
	// If unspecified, indicates cases for all protocols.
	Protocol Protocol `protobuf:"varint,2,opt,name=protocol,proto3,enum=connectrpc.conformance.v1.Protocol" json:"protocol,omitempty"`
	// If unspecified, indicates cases for all codecs.
	Codec Codec `protobuf:"varint,3,opt,name=codec,proto3,enum=connectrpc.conformance.v1.Codec" json:"codec,omitempty"`
	// If unspecified, indicates cases for all compression algorithms.
	Compression Compression `protobuf:"varint,4,opt,name=compression,proto3,enum=connectrpc.conformance.v1.Compression" json:"compression,omitempty"`
	// If unspecified, indicates cases for all stream types.
	StreamType StreamType `` /* 134-byte string literal not displayed */
	// If absent, indicates cases for plaintext (no TLS) but also for
	// TLS if features indicate that TLS is supported.
	UseTls *bool `protobuf:"varint,6,opt,name=use_tls,json=useTls,proto3,oneof" json:"use_tls,omitempty"`
	// If absent, indicates cases without client certs but also cases
	// that use client certs if features indicate they are supported.
	UseTlsClientCerts *bool `protobuf:"varint,7,opt,name=use_tls_client_certs,json=useTlsClientCerts,proto3,oneof" json:"use_tls_client_certs,omitempty"`
	// If absent, indicates cases that do not test message receive
	// limits but also cases that do test message receive limits if
	// features indicate they are supported.
	UseMessageReceiveLimit *bool `` /* 138-byte string literal not displayed */
	// contains filtered or unexported fields
}

ConfigCase represents a single resolved configuration case. When tests are run, the Config and the supported features therein are used to compute all of the cases relevant to the implementation under test. These configuration cases are then used to select which test cases are applicable.

func (*ConfigCase) Descriptor deprecated

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

Deprecated: Use ConfigCase.ProtoReflect.Descriptor instead.

func (*ConfigCase) GetCodec

func (x *ConfigCase) GetCodec() Codec

func (*ConfigCase) GetCompression

func (x *ConfigCase) GetCompression() Compression

func (*ConfigCase) GetProtocol

func (x *ConfigCase) GetProtocol() Protocol

func (*ConfigCase) GetStreamType

func (x *ConfigCase) GetStreamType() StreamType

func (*ConfigCase) GetUseMessageReceiveLimit

func (x *ConfigCase) GetUseMessageReceiveLimit() bool

func (*ConfigCase) GetUseTls

func (x *ConfigCase) GetUseTls() bool

func (*ConfigCase) GetUseTlsClientCerts

func (x *ConfigCase) GetUseTlsClientCerts() bool

func (*ConfigCase) GetVersion

func (x *ConfigCase) GetVersion() HTTPVersion

func (*ConfigCase) ProtoMessage

func (*ConfigCase) ProtoMessage()

func (*ConfigCase) ProtoReflect

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

func (*ConfigCase) Reset

func (x *ConfigCase) Reset()

func (*ConfigCase) String

func (x *ConfigCase) String() string

type ConformancePayload

type ConformancePayload struct {

	// Any response data specified in the response definition to the server should be
	// echoed back here.
	Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
	// Echoes back information about the request stream observed so far.
	RequestInfo *ConformancePayload_RequestInfo `protobuf:"bytes,2,opt,name=request_info,json=requestInfo,proto3" json:"request_info,omitempty"`
	// contains filtered or unexported fields
}

func (*ConformancePayload) Descriptor deprecated

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

Deprecated: Use ConformancePayload.ProtoReflect.Descriptor instead.

func (*ConformancePayload) GetData

func (x *ConformancePayload) GetData() []byte

func (*ConformancePayload) GetRequestInfo

func (*ConformancePayload) ProtoMessage

func (*ConformancePayload) ProtoMessage()

func (*ConformancePayload) ProtoReflect

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

func (*ConformancePayload) Reset

func (x *ConformancePayload) Reset()

func (*ConformancePayload) String

func (x *ConformancePayload) String() string

type ConformancePayload_ConnectGetInfo

type ConformancePayload_ConnectGetInfo struct {

	// The query params observed in the request URL.
	QueryParams []*Header `protobuf:"bytes,1,rep,name=query_params,json=queryParams,proto3" json:"query_params,omitempty"`
	// contains filtered or unexported fields
}

func (*ConformancePayload_ConnectGetInfo) Descriptor deprecated

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

Deprecated: Use ConformancePayload_ConnectGetInfo.ProtoReflect.Descriptor instead.

func (*ConformancePayload_ConnectGetInfo) GetQueryParams

func (x *ConformancePayload_ConnectGetInfo) GetQueryParams() []*Header

func (*ConformancePayload_ConnectGetInfo) ProtoMessage

func (*ConformancePayload_ConnectGetInfo) ProtoMessage()

func (*ConformancePayload_ConnectGetInfo) ProtoReflect

func (*ConformancePayload_ConnectGetInfo) Reset

func (*ConformancePayload_ConnectGetInfo) String

type ConformancePayload_RequestInfo

type ConformancePayload_RequestInfo struct {

	// The server echos back the request headers it observed here.
	RequestHeaders []*Header `protobuf:"bytes,1,rep,name=request_headers,json=requestHeaders,proto3" json:"request_headers,omitempty"`
	// The timeout observed that was included in the request. Other timeouts use a
	// type of uint32, but we want to be lenient here to allow whatever value the RPC
	// server observes, even if it's outside the range of uint32.
	TimeoutMs *int64 `protobuf:"varint,2,opt,name=timeout_ms,json=timeoutMs,proto3,oneof" json:"timeout_ms,omitempty"`
	// The server should echo back all requests received.
	// For unary and server-streaming requests, this should always contain a single request
	// For client-streaming and half-duplex bidi-streaming, this should contain
	// all client requests in the order received and be present in each response.
	// For full-duplex bidirectional-streaming, this should contain all requests in the order
	// they were received since the last sent response.
	Requests []*anypb.Any `protobuf:"bytes,3,rep,name=requests,proto3" json:"requests,omitempty"`
	// If present, the request used the Connect protocol and a GET method. This
	// captures other relevant information about the request. If a server implementation
	// is unable to populate this (due to the server framework not exposing all of these
	// details to application code), it may be an empty message. This implies that the
	// server framework, at a minimum, at least expose to application code whether the
	// request used GET vs. POST.
	ConnectGetInfo *ConformancePayload_ConnectGetInfo `protobuf:"bytes,4,opt,name=connect_get_info,json=connectGetInfo,proto3" json:"connect_get_info,omitempty"`
	// contains filtered or unexported fields
}

func (*ConformancePayload_RequestInfo) Descriptor deprecated

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

Deprecated: Use ConformancePayload_RequestInfo.ProtoReflect.Descriptor instead.

func (*ConformancePayload_RequestInfo) GetConnectGetInfo

func (*ConformancePayload_RequestInfo) GetRequestHeaders

func (x *ConformancePayload_RequestInfo) GetRequestHeaders() []*Header

func (*ConformancePayload_RequestInfo) GetRequests

func (x *ConformancePayload_RequestInfo) GetRequests() []*anypb.Any

func (*ConformancePayload_RequestInfo) GetTimeoutMs

func (x *ConformancePayload_RequestInfo) GetTimeoutMs() int64

func (*ConformancePayload_RequestInfo) ProtoMessage

func (*ConformancePayload_RequestInfo) ProtoMessage()

func (*ConformancePayload_RequestInfo) ProtoReflect

func (*ConformancePayload_RequestInfo) Reset

func (x *ConformancePayload_RequestInfo) Reset()

func (*ConformancePayload_RequestInfo) String

type ConformanceServiceClient

type ConformanceServiceClient interface {
	// A unary operation. The request indicates the response headers and trailers
	// and also indicates either a response message or an error to send back.
	//
	// Response message data is specified as bytes. The service should echo back
	// request properties in the ConformancePayload and then include the message
	// data in the data field.
	//
	// If the response_delay_ms duration is specified, the server should wait the
	// given duration after reading the request before sending the corresponding
	// response.
	//
	// Servers should allow the response definition to be unset in the request and
	// if it is, set no response headers or trailers and return no response data.
	// The returned payload should only contain the request info.
	Unary(ctx context.Context, in *UnaryRequest, opts ...grpc.CallOption) (*UnaryResponse, error)
	// A server-streaming operation. The request indicates the response headers,
	// response messages, trailers, and an optional error to send back. The
	// response data should be sent in the order indicated, and the server should
	// wait between sending response messages as indicated.
	//
	// Response message data is specified as bytes. The service should echo back
	// request properties in the first ConformancePayload, and then include the
	// message data in the data field. Subsequent messages after the first one
	// should contain only the data field.
	//
	// Servers should immediately send response headers on the stream before sleeping
	// for any specified response delay and/or sending the first message so that
	// clients can be unblocked reading response headers.
	//
	// If a response definition is not specified OR is specified, but response data
	// is empty, the server should skip sending anything on the stream. When there
	// are no responses to send, servers should throw an error if one is provided
	// and return without error if one is not. Stream headers and trailers should
	// still be set on the stream if provided regardless of whether a response is
	// sent or an error is thrown.
	ServerStream(ctx context.Context, in *ServerStreamRequest, opts ...grpc.CallOption) (ConformanceService_ServerStreamClient, error)
	// A client-streaming operation. The first request indicates the response
	// headers and trailers and also indicates either a response message or an
	// error to send back.
	//
	// Response message data is specified as bytes. The service should echo back
	// request properties, including all request messages in the order they were
	// received, in the ConformancePayload and then include the message data in
	// the data field.
	//
	// If the input stream is empty, the server's response will include no data,
	// only the request properties (headers, timeout).
	//
	// Servers should only read the response definition from the first message in
	// the stream and should ignore any definition set in subsequent messages.
	//
	// Servers should allow the response definition to be unset in the request and
	// if it is, set no response headers or trailers and return no response data.
	// The returned payload should only contain the request info.
	ClientStream(ctx context.Context, opts ...grpc.CallOption) (ConformanceService_ClientStreamClient, error)
	// A bidirectional-streaming operation. The first request indicates the response
	// headers, response messages, trailers, and an optional error to send back.
	// The response data should be sent in the order indicated, and the server
	// should wait between sending response messages as indicated.
	//
	// Response message data is specified as bytes and should be included in the
	// data field of the ConformancePayload in each response.
	//
	// Servers should send responses indicated according to the rules of half duplex
	// vs. full duplex streams. Once all responses are sent, the server should either
	// return an error if specified or close the stream without error.
	//
	// Servers should immediately send response headers on the stream before sleeping
	// for any specified response delay and/or sending the first message so that
	// clients can be unblocked reading response headers.
	//
	// If a response definition is not specified OR is specified, but response data
	// is empty, the server should skip sending anything on the stream. Stream
	// headers and trailers should always be set on the stream if provided
	// regardless of whether a response is sent or an error is thrown.
	//
	// If the full_duplex field is true:
	//   - the handler should read one request and then send back one response, and
	//     then alternate, reading another request and then sending back another response, etc.
	//
	//   - if the server receives a request and has no responses to send, it
	//     should throw the error specified in the request.
	//
	//   - the service should echo back all request properties in the first response
	//     including the last received request. Subsequent responses should only
	//     echo back the last received request.
	//
	//   - if the response_delay_ms duration is specified, the server should wait the given
	//     duration after reading the request before sending the corresponding
	//     response.
	//
	// If the full_duplex field is false:
	//   - the handler should read all requests until the client is done sending.
	//     Once all requests are read, the server should then send back any responses
	//     specified in the response definition.
	//
	//   - the server should echo back all request properties, including all request
	//     messages in the order they were received, in the first response. Subsequent
	//     responses should only include the message data in the data field.
	//
	//   - if the response_delay_ms duration is specified, the server should wait that
	//     long in between sending each response message.
	BidiStream(ctx context.Context, opts ...grpc.CallOption) (ConformanceService_BidiStreamClient, error)
	// A unary endpoint that the server should not implement and should instead
	// return an unimplemented error when invoked.
	Unimplemented(ctx context.Context, in *UnimplementedRequest, opts ...grpc.CallOption) (*UnimplementedResponse, error)
	// A unary endpoint denoted as having no side effects (i.e. idempotent).
	// Implementations should use an HTTP GET when invoking this endpoint and
	// leverage query parameters to send data.
	IdempotentUnary(ctx context.Context, in *IdempotentUnaryRequest, opts ...grpc.CallOption) (*IdempotentUnaryResponse, error)
}

ConformanceServiceClient is the client API for ConformanceService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

type ConformanceServiceServer

type ConformanceServiceServer interface {
	// A unary operation. The request indicates the response headers and trailers
	// and also indicates either a response message or an error to send back.
	//
	// Response message data is specified as bytes. The service should echo back
	// request properties in the ConformancePayload and then include the message
	// data in the data field.
	//
	// If the response_delay_ms duration is specified, the server should wait the
	// given duration after reading the request before sending the corresponding
	// response.
	//
	// Servers should allow the response definition to be unset in the request and
	// if it is, set no response headers or trailers and return no response data.
	// The returned payload should only contain the request info.
	Unary(context.Context, *UnaryRequest) (*UnaryResponse, error)
	// A server-streaming operation. The request indicates the response headers,
	// response messages, trailers, and an optional error to send back. The
	// response data should be sent in the order indicated, and the server should
	// wait between sending response messages as indicated.
	//
	// Response message data is specified as bytes. The service should echo back
	// request properties in the first ConformancePayload, and then include the
	// message data in the data field. Subsequent messages after the first one
	// should contain only the data field.
	//
	// Servers should immediately send response headers on the stream before sleeping
	// for any specified response delay and/or sending the first message so that
	// clients can be unblocked reading response headers.
	//
	// If a response definition is not specified OR is specified, but response data
	// is empty, the server should skip sending anything on the stream. When there
	// are no responses to send, servers should throw an error if one is provided
	// and return without error if one is not. Stream headers and trailers should
	// still be set on the stream if provided regardless of whether a response is
	// sent or an error is thrown.
	ServerStream(*ServerStreamRequest, ConformanceService_ServerStreamServer) error
	// A client-streaming operation. The first request indicates the response
	// headers and trailers and also indicates either a response message or an
	// error to send back.
	//
	// Response message data is specified as bytes. The service should echo back
	// request properties, including all request messages in the order they were
	// received, in the ConformancePayload and then include the message data in
	// the data field.
	//
	// If the input stream is empty, the server's response will include no data,
	// only the request properties (headers, timeout).
	//
	// Servers should only read the response definition from the first message in
	// the stream and should ignore any definition set in subsequent messages.
	//
	// Servers should allow the response definition to be unset in the request and
	// if it is, set no response headers or trailers and return no response data.
	// The returned payload should only contain the request info.
	ClientStream(ConformanceService_ClientStreamServer) error
	// A bidirectional-streaming operation. The first request indicates the response
	// headers, response messages, trailers, and an optional error to send back.
	// The response data should be sent in the order indicated, and the server
	// should wait between sending response messages as indicated.
	//
	// Response message data is specified as bytes and should be included in the
	// data field of the ConformancePayload in each response.
	//
	// Servers should send responses indicated according to the rules of half duplex
	// vs. full duplex streams. Once all responses are sent, the server should either
	// return an error if specified or close the stream without error.
	//
	// Servers should immediately send response headers on the stream before sleeping
	// for any specified response delay and/or sending the first message so that
	// clients can be unblocked reading response headers.
	//
	// If a response definition is not specified OR is specified, but response data
	// is empty, the server should skip sending anything on the stream. Stream
	// headers and trailers should always be set on the stream if provided
	// regardless of whether a response is sent or an error is thrown.
	//
	// If the full_duplex field is true:
	//   - the handler should read one request and then send back one response, and
	//     then alternate, reading another request and then sending back another response, etc.
	//
	//   - if the server receives a request and has no responses to send, it
	//     should throw the error specified in the request.
	//
	//   - the service should echo back all request properties in the first response
	//     including the last received request. Subsequent responses should only
	//     echo back the last received request.
	//
	//   - if the response_delay_ms duration is specified, the server should wait the given
	//     duration after reading the request before sending the corresponding
	//     response.
	//
	// If the full_duplex field is false:
	//   - the handler should read all requests until the client is done sending.
	//     Once all requests are read, the server should then send back any responses
	//     specified in the response definition.
	//
	//   - the server should echo back all request properties, including all request
	//     messages in the order they were received, in the first response. Subsequent
	//     responses should only include the message data in the data field.
	//
	//   - if the response_delay_ms duration is specified, the server should wait that
	//     long in between sending each response message.
	BidiStream(ConformanceService_BidiStreamServer) error
	// A unary endpoint that the server should not implement and should instead
	// return an unimplemented error when invoked.
	Unimplemented(context.Context, *UnimplementedRequest) (*UnimplementedResponse, error)
	// A unary endpoint denoted as having no side effects (i.e. idempotent).
	// Implementations should use an HTTP GET when invoking this endpoint and
	// leverage query parameters to send data.
	IdempotentUnary(context.Context, *IdempotentUnaryRequest) (*IdempotentUnaryResponse, error)
	// contains filtered or unexported methods
}

ConformanceServiceServer is the server API for ConformanceService service. All implementations must embed UnimplementedConformanceServiceServer for forward compatibility

type ConformanceService_BidiStreamClient

type ConformanceService_BidiStreamClient interface {
	Send(*BidiStreamRequest) error
	Recv() (*BidiStreamResponse, error)
	grpc.ClientStream
}

type ConformanceService_BidiStreamServer

type ConformanceService_BidiStreamServer interface {
	Send(*BidiStreamResponse) error
	Recv() (*BidiStreamRequest, error)
	grpc.ServerStream
}

type ConformanceService_ClientStreamClient

type ConformanceService_ClientStreamClient interface {
	Send(*ClientStreamRequest) error
	CloseAndRecv() (*ClientStreamResponse, error)
	grpc.ClientStream
}

type ConformanceService_ClientStreamServer

type ConformanceService_ClientStreamServer interface {
	SendAndClose(*ClientStreamResponse) error
	Recv() (*ClientStreamRequest, error)
	grpc.ServerStream
}

type ConformanceService_ServerStreamClient

type ConformanceService_ServerStreamClient interface {
	Recv() (*ServerStreamResponse, error)
	grpc.ClientStream
}

type ConformanceService_ServerStreamServer

type ConformanceService_ServerStreamServer interface {
	Send(*ServerStreamResponse) error
	grpc.ServerStream
}

type Error

type Error struct {

	// The error code.
	// For a list of Connect error codes see: https://connectrpc.com/docs/protocol#error-codes
	Code Code `protobuf:"varint,1,opt,name=code,proto3,enum=connectrpc.conformance.v1.Code" json:"code,omitempty"`
	// If this value is absent in a test case response definition, the contents of the
	// actual error message will not be checked. This is useful for certain kinds of
	// error conditions where the exact message to be used is not specified, only the
	// code.
	Message *string `protobuf:"bytes,2,opt,name=message,proto3,oneof" json:"message,omitempty"`
	// Errors in Connect and gRPC protocols can have arbitrary messages
	// attached to them, which are known as error details.
	Details []*anypb.Any `protobuf:"bytes,3,rep,name=details,proto3" json:"details,omitempty"`
	// contains filtered or unexported fields
}

An error definition used for specifying a desired error response

func (*Error) Descriptor deprecated

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

Deprecated: Use Error.ProtoReflect.Descriptor instead.

func (*Error) GetCode

func (x *Error) GetCode() Code

func (*Error) GetDetails

func (x *Error) GetDetails() []*anypb.Any

func (*Error) GetMessage

func (x *Error) GetMessage() string

func (*Error) ProtoMessage

func (*Error) ProtoMessage()

func (*Error) ProtoReflect

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

func (*Error) Reset

func (x *Error) Reset()

func (*Error) String

func (x *Error) String() string

type Features

type Features struct {

	// Supported HTTP versions.
	// If empty, HTTP 1.1 and HTTP/2 are assumed.
	Versions []HTTPVersion `protobuf:"varint,1,rep,packed,name=versions,proto3,enum=connectrpc.conformance.v1.HTTPVersion" json:"versions,omitempty"`
	// Supported protocols.
	// If empty, all three are assumed: Connect, gRPC, and gRPC-Web.
	Protocols []Protocol `protobuf:"varint,2,rep,packed,name=protocols,proto3,enum=connectrpc.conformance.v1.Protocol" json:"protocols,omitempty"`
	// Supported codecs.
	// If empty, "proto" and "json" are assumed.
	Codecs []Codec `protobuf:"varint,3,rep,packed,name=codecs,proto3,enum=connectrpc.conformance.v1.Codec" json:"codecs,omitempty"`
	// Supported compression algorithms.
	// If empty, "identity" and "gzip" are assumed.
	Compressions []Compression `` /* 128-byte string literal not displayed */
	// Supported stream types.
	// If empty, all stream types are assumed. This is usually for
	// clients, since some client environments may not be able to
	// support certain kinds of streaming operations, especially
	// bidirectional streams.
	StreamTypes []StreamType `` /* 144-byte string literal not displayed */
	// Whether H2C (unencrypted, non-TLS HTTP/2 over cleartext) is supported.
	// If absent, true is assumed.
	SupportsH2C *bool `protobuf:"varint,6,opt,name=supports_h2c,json=supportsH2c,proto3,oneof" json:"supports_h2c,omitempty"`
	// Whether TLS is supported.
	// If absent, true is assumed.
	SupportsTls *bool `protobuf:"varint,7,opt,name=supports_tls,json=supportsTls,proto3,oneof" json:"supports_tls,omitempty"`
	// Whether the client supports TLS certificates.
	// If absent, false is assumed. This should not be set if
	// supports_tls is false.
	SupportsTlsClientCerts *bool `` /* 138-byte string literal not displayed */
	// Whether trailers are supported.
	// If absent, true is assumed. If false, implies that gRPC protocol is not allowed.
	SupportsTrailers *bool `protobuf:"varint,9,opt,name=supports_trailers,json=supportsTrailers,proto3,oneof" json:"supports_trailers,omitempty"`
	// Whether half duplex bidi streams are supported over HTTP/1.1.
	// If absent, false is assumed.
	SupportsHalfDuplexBidiOverHttp1 *bool `` /* 170-byte string literal not displayed */
	// Whether Connect via GET is supported.
	// If absent, true is assumed.
	SupportsConnectGet *bool `protobuf:"varint,11,opt,name=supports_connect_get,json=supportsConnectGet,proto3,oneof" json:"supports_connect_get,omitempty"`
	// Whether a message receive limit is supported.
	// If absent, true is assumed.
	SupportsMessageReceiveLimit *bool `` /* 154-byte string literal not displayed */
	// contains filtered or unexported fields
}

Features define the feature set that a client or server supports. They are used to determine the server configurations and test cases that will be run. They are defined in YAML files and are specified as part of the --conf flag to the test runner.

func (*Features) Descriptor deprecated

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

Deprecated: Use Features.ProtoReflect.Descriptor instead.

func (*Features) GetCodecs

func (x *Features) GetCodecs() []Codec

func (*Features) GetCompressions

func (x *Features) GetCompressions() []Compression

func (*Features) GetProtocols

func (x *Features) GetProtocols() []Protocol

func (*Features) GetStreamTypes

func (x *Features) GetStreamTypes() []StreamType

func (*Features) GetSupportsConnectGet

func (x *Features) GetSupportsConnectGet() bool

func (*Features) GetSupportsH2C

func (x *Features) GetSupportsH2C() bool

func (*Features) GetSupportsHalfDuplexBidiOverHttp1

func (x *Features) GetSupportsHalfDuplexBidiOverHttp1() bool

func (*Features) GetSupportsMessageReceiveLimit

func (x *Features) GetSupportsMessageReceiveLimit() bool

func (*Features) GetSupportsTls

func (x *Features) GetSupportsTls() bool

func (*Features) GetSupportsTlsClientCerts

func (x *Features) GetSupportsTlsClientCerts() bool

func (*Features) GetSupportsTrailers

func (x *Features) GetSupportsTrailers() bool

func (*Features) GetVersions

func (x *Features) GetVersions() []HTTPVersion

func (*Features) ProtoMessage

func (*Features) ProtoMessage()

func (*Features) ProtoReflect

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

func (*Features) Reset

func (x *Features) Reset()

func (*Features) String

func (x *Features) String() string

type HTTPVersion

type HTTPVersion int32
const (
	HTTPVersion_HTTP_VERSION_UNSPECIFIED HTTPVersion = 0
	HTTPVersion_HTTP_VERSION_1           HTTPVersion = 1
	HTTPVersion_HTTP_VERSION_2           HTTPVersion = 2
	HTTPVersion_HTTP_VERSION_3           HTTPVersion = 3
)

func (HTTPVersion) Descriptor

func (HTTPVersion) Enum

func (x HTTPVersion) Enum() *HTTPVersion

func (HTTPVersion) EnumDescriptor deprecated

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

Deprecated: Use HTTPVersion.Descriptor instead.

func (HTTPVersion) Number

func (x HTTPVersion) Number() protoreflect.EnumNumber

func (HTTPVersion) String

func (x HTTPVersion) String() string

func (HTTPVersion) Type

type Header struct {

	// Header/trailer name (key).
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Header/trailer value. This is repeated to explicitly support headers and
	// trailers where a key is repeated. In such a case, these values must be in
	// the same order as which values appeared in the header or trailer block.
	Value []string `protobuf:"bytes,2,rep,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

A tuple of name and values (ASCII) for a header or trailer entry.

func (*Header) Descriptor deprecated

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

Deprecated: Use Header.ProtoReflect.Descriptor instead.

func (*Header) GetName

func (x *Header) GetName() string

func (*Header) GetValue

func (x *Header) GetValue() []string

func (*Header) ProtoMessage

func (*Header) ProtoMessage()

func (*Header) ProtoReflect

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

func (*Header) Reset

func (x *Header) Reset()

func (*Header) String

func (x *Header) String() string

type IdempotentUnaryRequest

type IdempotentUnaryRequest struct {

	// The response definition which should be returned in the conformance payload
	ResponseDefinition *UnaryResponseDefinition `protobuf:"bytes,1,opt,name=response_definition,json=responseDefinition,proto3" json:"response_definition,omitempty"`
	// Additional data. Only used to pad the request size to test large request messages.
	RequestData []byte `protobuf:"bytes,2,opt,name=request_data,json=requestData,proto3" json:"request_data,omitempty"`
	// contains filtered or unexported fields
}

func (*IdempotentUnaryRequest) Descriptor deprecated

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

Deprecated: Use IdempotentUnaryRequest.ProtoReflect.Descriptor instead.

func (*IdempotentUnaryRequest) GetRequestData

func (x *IdempotentUnaryRequest) GetRequestData() []byte

func (*IdempotentUnaryRequest) GetResponseDefinition

func (x *IdempotentUnaryRequest) GetResponseDefinition() *UnaryResponseDefinition

func (*IdempotentUnaryRequest) ProtoMessage

func (*IdempotentUnaryRequest) ProtoMessage()

func (*IdempotentUnaryRequest) ProtoReflect

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

func (*IdempotentUnaryRequest) Reset

func (x *IdempotentUnaryRequest) Reset()

func (*IdempotentUnaryRequest) String

func (x *IdempotentUnaryRequest) String() string

type IdempotentUnaryResponse

type IdempotentUnaryResponse struct {

	// The conformance payload to respond with.
	Payload *ConformancePayload `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
	// contains filtered or unexported fields
}

func (*IdempotentUnaryResponse) Descriptor deprecated

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

Deprecated: Use IdempotentUnaryResponse.ProtoReflect.Descriptor instead.

func (*IdempotentUnaryResponse) GetPayload

func (*IdempotentUnaryResponse) ProtoMessage

func (*IdempotentUnaryResponse) ProtoMessage()

func (*IdempotentUnaryResponse) ProtoReflect

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

func (*IdempotentUnaryResponse) Reset

func (x *IdempotentUnaryResponse) Reset()

func (*IdempotentUnaryResponse) String

func (x *IdempotentUnaryResponse) String() string

type MessageContents

type MessageContents struct {

	// The message data can be defined in one of three ways.
	//
	// Types that are assignable to Data:
	//
	//	*MessageContents_Binary
	//	*MessageContents_Text
	//	*MessageContents_BinaryMessage
	Data isMessageContents_Data `protobuf_oneof:"data"`
	// If specified and not identity, the above data will be
	// compressed using the given algorithm.
	Compression Compression `protobuf:"varint,4,opt,name=compression,proto3,enum=connectrpc.conformance.v1.Compression" json:"compression,omitempty"`
	// contains filtered or unexported fields
}

MessageContents represents a message in a request body.

func (*MessageContents) Descriptor deprecated

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

Deprecated: Use MessageContents.ProtoReflect.Descriptor instead.

func (*MessageContents) GetBinary

func (x *MessageContents) GetBinary() []byte

func (*MessageContents) GetBinaryMessage

func (x *MessageContents) GetBinaryMessage() *anypb.Any

func (*MessageContents) GetCompression

func (x *MessageContents) GetCompression() Compression

func (*MessageContents) GetData

func (m *MessageContents) GetData() isMessageContents_Data

func (*MessageContents) GetText

func (x *MessageContents) GetText() string

func (*MessageContents) ProtoMessage

func (*MessageContents) ProtoMessage()

func (*MessageContents) ProtoReflect

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

func (*MessageContents) Reset

func (x *MessageContents) Reset()

func (*MessageContents) String

func (x *MessageContents) String() string

type MessageContents_Binary

type MessageContents_Binary struct {
	// Arbitrary bytes.
	Binary []byte `protobuf:"bytes,1,opt,name=binary,proto3,oneof"`
}

type MessageContents_BinaryMessage

type MessageContents_BinaryMessage struct {
	// An actual message. The message inside the Any will be
	// serialized to the protobuf binary formats, and the
	// resulting bytes will be the contents.
	BinaryMessage *anypb.Any `protobuf:"bytes,3,opt,name=binary_message,json=binaryMessage,proto3,oneof"`
}

type MessageContents_Text

type MessageContents_Text struct {
	// Arbitrary text.
	Text string `protobuf:"bytes,2,opt,name=text,proto3,oneof"`
}

type Protocol

type Protocol int32
const (
	Protocol_PROTOCOL_UNSPECIFIED Protocol = 0
	Protocol_PROTOCOL_CONNECT     Protocol = 1
	Protocol_PROTOCOL_GRPC        Protocol = 2
	Protocol_PROTOCOL_GRPC_WEB    Protocol = 3
)

func (Protocol) Descriptor

func (Protocol) Descriptor() protoreflect.EnumDescriptor

func (Protocol) Enum

func (x Protocol) Enum() *Protocol

func (Protocol) EnumDescriptor deprecated

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

Deprecated: Use Protocol.Descriptor instead.

func (Protocol) Number

func (x Protocol) Number() protoreflect.EnumNumber

func (Protocol) String

func (x Protocol) String() string

func (Protocol) Type

type RawHTTPRequest

type RawHTTPRequest struct {

	// The HTTP verb (i.e. GET , POST).
	Verb string `protobuf:"bytes,1,opt,name=verb,proto3" json:"verb,omitempty"`
	// The URI to send the request to.
	Uri string `protobuf:"bytes,2,opt,name=uri,proto3" json:"uri,omitempty"`
	// Any headers to set on the request.
	Headers []*Header `protobuf:"bytes,3,rep,name=headers,proto3" json:"headers,omitempty"`
	// These query params will be encoded and added to the uri before
	// the request is sent.
	RawQueryParams []*Header `protobuf:"bytes,4,rep,name=raw_query_params,json=rawQueryParams,proto3" json:"raw_query_params,omitempty"`
	// This provides an easier way to define a complex binary query param
	// than having to write literal base64-encoded bytes in raw_query_params.
	EncodedQueryParams []*RawHTTPRequest_EncodedQueryParam `protobuf:"bytes,5,rep,name=encoded_query_params,json=encodedQueryParams,proto3" json:"encoded_query_params,omitempty"`
	// Types that are assignable to Body:
	//
	//	*RawHTTPRequest_Unary
	//	*RawHTTPRequest_Stream
	Body isRawHTTPRequest_Body `protobuf_oneof:"body"`
	// contains filtered or unexported fields
}

RawHTTPRequest models a raw HTTP request. This can be used to craft custom requests with odd properties (including certain kinds of malformed requests) to test edge cases in servers.

func (*RawHTTPRequest) Descriptor deprecated

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

Deprecated: Use RawHTTPRequest.ProtoReflect.Descriptor instead.

func (*RawHTTPRequest) GetBody

func (m *RawHTTPRequest) GetBody() isRawHTTPRequest_Body

func (*RawHTTPRequest) GetEncodedQueryParams

func (x *RawHTTPRequest) GetEncodedQueryParams() []*RawHTTPRequest_EncodedQueryParam

func (*RawHTTPRequest) GetHeaders

func (x *RawHTTPRequest) GetHeaders() []*Header

func (*RawHTTPRequest) GetRawQueryParams

func (x *RawHTTPRequest) GetRawQueryParams() []*Header

func (*RawHTTPRequest) GetStream

func (x *RawHTTPRequest) GetStream() *StreamContents

func (*RawHTTPRequest) GetUnary

func (x *RawHTTPRequest) GetUnary() *MessageContents

func (*RawHTTPRequest) GetUri

func (x *RawHTTPRequest) GetUri() string

func (*RawHTTPRequest) GetVerb

func (x *RawHTTPRequest) GetVerb() string

func (*RawHTTPRequest) ProtoMessage

func (*RawHTTPRequest) ProtoMessage()

func (*RawHTTPRequest) ProtoReflect

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

func (*RawHTTPRequest) Reset

func (x *RawHTTPRequest) Reset()

func (*RawHTTPRequest) String

func (x *RawHTTPRequest) String() string

type RawHTTPRequest_EncodedQueryParam

type RawHTTPRequest_EncodedQueryParam struct {

	// Query param name.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Query param value.
	Value *MessageContents `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// If true, the message contents will be base64-encoded and the
	// resulting string used as the query parameter value.
	Base64Encode bool `protobuf:"varint,3,opt,name=base64_encode,json=base64Encode,proto3" json:"base64_encode,omitempty"`
	// contains filtered or unexported fields
}

func (*RawHTTPRequest_EncodedQueryParam) Descriptor deprecated

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

Deprecated: Use RawHTTPRequest_EncodedQueryParam.ProtoReflect.Descriptor instead.

func (*RawHTTPRequest_EncodedQueryParam) GetBase64Encode

func (x *RawHTTPRequest_EncodedQueryParam) GetBase64Encode() bool

func (*RawHTTPRequest_EncodedQueryParam) GetName

func (*RawHTTPRequest_EncodedQueryParam) GetValue

func (*RawHTTPRequest_EncodedQueryParam) ProtoMessage

func (*RawHTTPRequest_EncodedQueryParam) ProtoMessage()

func (*RawHTTPRequest_EncodedQueryParam) ProtoReflect

func (*RawHTTPRequest_EncodedQueryParam) Reset

func (*RawHTTPRequest_EncodedQueryParam) String

type RawHTTPRequest_Stream

type RawHTTPRequest_Stream struct {
	// The body is a stream, encoded using a five-byte
	// prefix before each item in the stream.
	Stream *StreamContents `protobuf:"bytes,7,opt,name=stream,proto3,oneof"`
}

type RawHTTPRequest_Unary

type RawHTTPRequest_Unary struct {
	// The body is a single message.
	Unary *MessageContents `protobuf:"bytes,6,opt,name=unary,proto3,oneof"`
}

type RawHTTPResponse

type RawHTTPResponse struct {

	// If status code is not specified, it will default to a 200 response code.
	StatusCode uint32 `protobuf:"varint,1,opt,name=status_code,json=statusCode,proto3" json:"status_code,omitempty"`
	// Headers to be set on the response.
	Headers []*Header `protobuf:"bytes,2,rep,name=headers,proto3" json:"headers,omitempty"`
	// Types that are assignable to Body:
	//
	//	*RawHTTPResponse_Unary
	//	*RawHTTPResponse_Stream
	Body isRawHTTPResponse_Body `protobuf_oneof:"body"`
	// Trailers to be set on the response.
	Trailers []*Header `protobuf:"bytes,5,rep,name=trailers,proto3" json:"trailers,omitempty"`
	// contains filtered or unexported fields
}

RawHTTPResponse models a raw HTTP response. This can be used to craft custom responses with odd properties (including certain kinds of malformed responses) to test edge cases in clients.

func (*RawHTTPResponse) Descriptor deprecated

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

Deprecated: Use RawHTTPResponse.ProtoReflect.Descriptor instead.

func (*RawHTTPResponse) GetBody

func (m *RawHTTPResponse) GetBody() isRawHTTPResponse_Body

func (*RawHTTPResponse) GetHeaders

func (x *RawHTTPResponse) GetHeaders() []*Header

func (*RawHTTPResponse) GetStatusCode

func (x *RawHTTPResponse) GetStatusCode() uint32

func (*RawHTTPResponse) GetStream

func (x *RawHTTPResponse) GetStream() *StreamContents

func (*RawHTTPResponse) GetTrailers

func (x *RawHTTPResponse) GetTrailers() []*Header

func (*RawHTTPResponse) GetUnary

func (x *RawHTTPResponse) GetUnary() *MessageContents

func (*RawHTTPResponse) ProtoMessage

func (*RawHTTPResponse) ProtoMessage()

func (*RawHTTPResponse) ProtoReflect

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

func (*RawHTTPResponse) Reset

func (x *RawHTTPResponse) Reset()

func (*RawHTTPResponse) String

func (x *RawHTTPResponse) String() string

type RawHTTPResponse_Stream

type RawHTTPResponse_Stream struct {
	// The body is a stream, encoded using a five-byte
	// prefix before each item in the stream.
	Stream *StreamContents `protobuf:"bytes,4,opt,name=stream,proto3,oneof"`
}

type RawHTTPResponse_Unary

type RawHTTPResponse_Unary struct {
	// The body is a single message.
	Unary *MessageContents `protobuf:"bytes,3,opt,name=unary,proto3,oneof"`
}

type ServerCompatRequest

type ServerCompatRequest struct {

	// Signals to the server that it must support at least this protocol. Note
	// that it is fine to support others.
	// For example if `PROTOCOL_CONNECT` is specified, the server _must_ support
	// at least Connect, but _may_ also support gRPC or gRPC-web.
	Protocol Protocol `protobuf:"varint,1,opt,name=protocol,proto3,enum=connectrpc.conformance.v1.Protocol" json:"protocol,omitempty"`
	// Signals to the server the minimum HTTP version to support. As with
	// `protocol`, it is fine to support other versions. For example, if
	// `HTTP_VERSION_2` is specified, the server _must_ support HTTP/2, but _may_ also
	// support HTTP/1.1 or HTTP/3.
	HttpVersion HTTPVersion `` /* 138-byte string literal not displayed */
	// If true, generate a certificate that clients will be configured to trust
	// when connecting and return it in the `pem_cert` field of the `ServerCompatResponse`.
	// The certificate can be any TLS certificate where the subject matches the
	// value sent back in the `host` field of the `ServerCompatResponse`.
	// Self-signed certificates (and `localhost` as the subject) are allowed.
	// If false, the server should not use TLS and instead use
	// a plain-text/unencrypted socket.
	UseTls bool `protobuf:"varint,4,opt,name=use_tls,json=useTls,proto3" json:"use_tls,omitempty"`
	// If non-empty, the clients will use certificates to authenticate
	// themselves. This value is a PEM-encoded cert that should be
	// trusted by the server. When non-empty, the server should require
	// that clients provide certificates and they should validate that
	// the certificate presented is valid.
	//
	// This will always be empty if use_tls is false.
	ClientTlsCert []byte `protobuf:"bytes,5,opt,name=client_tls_cert,json=clientTlsCert,proto3" json:"client_tls_cert,omitempty"`
	// If non-zero, indicates the maximum size in bytes for a message.
	// If the client sends anything larger, the server should reject it.
	MessageReceiveLimit uint32 `protobuf:"varint,6,opt,name=message_receive_limit,json=messageReceiveLimit,proto3" json:"message_receive_limit,omitempty"`
	// If use_tls is true, this provides details for a self-signed TLS
	// cert that the server may use.
	//
	// The provided certificate is only good for loopback communication:
	// it uses "localhost" and "127.0.0.1" as the IP and DNS names in
	// the certificate's subject. If the server needs a different subject
	// or the client is in an environment where configuring trust of a
	// self-signed certificate is difficult or infeasible.
	//
	// If the server implementation chooses to use these credentials,
	// it must echo back the certificate in the ServerCompatResponse and
	// should also leave the host field empty or explicitly set to
	// "127.0.0.1".
	//
	// If it chooses to use a different certificate and key, it must send
	// back the corresponding certificate in the ServerCompatResponse.
	ServerCreds *TLSCreds `protobuf:"bytes,7,opt,name=server_creds,json=serverCreds,proto3" json:"server_creds,omitempty"`
	// contains filtered or unexported fields
}

Describes one configuration for an RPC server. The server is expected to expose the connectrpc.conformance.v1.ConformanceService RPC service. The configuration does not include a port. The process should pick an available port, which is typically done by using port zero (0) when creating a network listener so that the OS selects an available ephemeral port.

These properties are read from stdin. Once the server is listening, details about the server, in the form of a ServerCompatResponse, are written to stdout.

Each test process is expected to start only one RPC server. When testing multiple configurations, multiple test processes will be started, each with different properties.

func (*ServerCompatRequest) Descriptor deprecated

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

Deprecated: Use ServerCompatRequest.ProtoReflect.Descriptor instead.

func (*ServerCompatRequest) GetClientTlsCert

func (x *ServerCompatRequest) GetClientTlsCert() []byte

func (*ServerCompatRequest) GetHttpVersion

func (x *ServerCompatRequest) GetHttpVersion() HTTPVersion

func (*ServerCompatRequest) GetMessageReceiveLimit

func (x *ServerCompatRequest) GetMessageReceiveLimit() uint32

func (*ServerCompatRequest) GetProtocol

func (x *ServerCompatRequest) GetProtocol() Protocol

func (*ServerCompatRequest) GetServerCreds

func (x *ServerCompatRequest) GetServerCreds() *TLSCreds

func (*ServerCompatRequest) GetUseTls

func (x *ServerCompatRequest) GetUseTls() bool

func (*ServerCompatRequest) ProtoMessage

func (*ServerCompatRequest) ProtoMessage()

func (*ServerCompatRequest) ProtoReflect

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

func (*ServerCompatRequest) Reset

func (x *ServerCompatRequest) Reset()

func (*ServerCompatRequest) String

func (x *ServerCompatRequest) String() string

type ServerCompatResponse

type ServerCompatResponse struct {

	// The host where the server is running. This should usually be `127.0.0.1`,
	// unless your program actually starts a remote server to which the client
	// should connect.
	Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
	// The port where the server is listening.
	Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
	// The TLS certificate, in PEM format, if `use_tls` was set
	// to `true`. Clients will verify this certificate when connecting via TLS.
	// If `use_tls` was set to `false`, this should always be empty.
	PemCert []byte `protobuf:"bytes,3,opt,name=pem_cert,json=pemCert,proto3" json:"pem_cert,omitempty"`
	// contains filtered or unexported fields
}

The outcome of one ServerCompatRequest.

func (*ServerCompatResponse) Descriptor deprecated

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

Deprecated: Use ServerCompatResponse.ProtoReflect.Descriptor instead.

func (*ServerCompatResponse) GetHost

func (x *ServerCompatResponse) GetHost() string

func (*ServerCompatResponse) GetPemCert

func (x *ServerCompatResponse) GetPemCert() []byte

func (*ServerCompatResponse) GetPort

func (x *ServerCompatResponse) GetPort() uint32

func (*ServerCompatResponse) ProtoMessage

func (*ServerCompatResponse) ProtoMessage()

func (*ServerCompatResponse) ProtoReflect

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

func (*ServerCompatResponse) Reset

func (x *ServerCompatResponse) Reset()

func (*ServerCompatResponse) String

func (x *ServerCompatResponse) String() string

type ServerStreamRequest

type ServerStreamRequest struct {

	// The response definition which should be returned in the conformance payload.
	ResponseDefinition *StreamResponseDefinition `protobuf:"bytes,1,opt,name=response_definition,json=responseDefinition,proto3" json:"response_definition,omitempty"`
	// Additional data. Only used to pad the request size to test large request messages.
	RequestData []byte `protobuf:"bytes,2,opt,name=request_data,json=requestData,proto3" json:"request_data,omitempty"`
	// contains filtered or unexported fields
}

func (*ServerStreamRequest) Descriptor deprecated

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

Deprecated: Use ServerStreamRequest.ProtoReflect.Descriptor instead.

func (*ServerStreamRequest) GetRequestData

func (x *ServerStreamRequest) GetRequestData() []byte

func (*ServerStreamRequest) GetResponseDefinition

func (x *ServerStreamRequest) GetResponseDefinition() *StreamResponseDefinition

func (*ServerStreamRequest) ProtoMessage

func (*ServerStreamRequest) ProtoMessage()

func (*ServerStreamRequest) ProtoReflect

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

func (*ServerStreamRequest) Reset

func (x *ServerStreamRequest) Reset()

func (*ServerStreamRequest) String

func (x *ServerStreamRequest) String() string

type ServerStreamResponse

type ServerStreamResponse struct {

	// The conformance payload to respond with
	Payload *ConformancePayload `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
	// contains filtered or unexported fields
}

func (*ServerStreamResponse) Descriptor deprecated

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

Deprecated: Use ServerStreamResponse.ProtoReflect.Descriptor instead.

func (*ServerStreamResponse) GetPayload

func (x *ServerStreamResponse) GetPayload() *ConformancePayload

func (*ServerStreamResponse) ProtoMessage

func (*ServerStreamResponse) ProtoMessage()

func (*ServerStreamResponse) ProtoReflect

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

func (*ServerStreamResponse) Reset

func (x *ServerStreamResponse) Reset()

func (*ServerStreamResponse) String

func (x *ServerStreamResponse) String() string

type StreamContents

type StreamContents struct {

	// The messages in the stream.
	Items []*StreamContents_StreamItem `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	// contains filtered or unexported fields
}

StreamContents represents a sequence of messages in a request body.

func (*StreamContents) Descriptor deprecated

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

Deprecated: Use StreamContents.ProtoReflect.Descriptor instead.

func (*StreamContents) GetItems

func (x *StreamContents) GetItems() []*StreamContents_StreamItem

func (*StreamContents) ProtoMessage

func (*StreamContents) ProtoMessage()

func (*StreamContents) ProtoReflect

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

func (*StreamContents) Reset

func (x *StreamContents) Reset()

func (*StreamContents) String

func (x *StreamContents) String() string

type StreamContents_StreamItem

type StreamContents_StreamItem struct {
	Flags   uint32           `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"`         // must be in the range 0 to 255.
	Length  *uint32          `protobuf:"varint,2,opt,name=length,proto3,oneof" json:"length,omitempty"` // if absent use actual length of payload
	Payload *MessageContents `protobuf:"bytes,3,opt,name=payload,proto3" json:"payload,omitempty"`
	// contains filtered or unexported fields
}

func (*StreamContents_StreamItem) Descriptor deprecated

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

Deprecated: Use StreamContents_StreamItem.ProtoReflect.Descriptor instead.

func (*StreamContents_StreamItem) GetFlags

func (x *StreamContents_StreamItem) GetFlags() uint32

func (*StreamContents_StreamItem) GetLength

func (x *StreamContents_StreamItem) GetLength() uint32

func (*StreamContents_StreamItem) GetPayload

func (x *StreamContents_StreamItem) GetPayload() *MessageContents

func (*StreamContents_StreamItem) ProtoMessage

func (*StreamContents_StreamItem) ProtoMessage()

func (*StreamContents_StreamItem) ProtoReflect

func (*StreamContents_StreamItem) Reset

func (x *StreamContents_StreamItem) Reset()

func (*StreamContents_StreamItem) String

func (x *StreamContents_StreamItem) String() string

type StreamResponseDefinition

type StreamResponseDefinition struct {

	// Response headers to send
	ResponseHeaders []*Header `protobuf:"bytes,1,rep,name=response_headers,json=responseHeaders,proto3" json:"response_headers,omitempty"`
	// Response data to send
	ResponseData [][]byte `protobuf:"bytes,2,rep,name=response_data,json=responseData,proto3" json:"response_data,omitempty"`
	// Wait this many milliseconds before sending each response message
	ResponseDelayMs uint32 `protobuf:"varint,3,opt,name=response_delay_ms,json=responseDelayMs,proto3" json:"response_delay_ms,omitempty"`
	// Optional error to raise, but only after sending any response messages.
	// In the event an immediate error is thrown before any responses are sent,
	// (i.e. the equivalent of a trailers-only response), then servers should
	// build a RequestInfo message with available information and append that to
	// the error details.
	Error *Error `protobuf:"bytes,4,opt,name=error,proto3" json:"error,omitempty"`
	// Response trailers to send - together with the error if present
	ResponseTrailers []*Header `protobuf:"bytes,5,rep,name=response_trailers,json=responseTrailers,proto3" json:"response_trailers,omitempty"`
	// This field is only used by the reference server. If you are implementing a
	// server under test, you can ignore this field or respond with an error if the
	// server receives a request where it is set.
	//
	// For test definitions, this field should be used instead of the above fields.
	RawResponse *RawHTTPResponse `protobuf:"bytes,6,opt,name=raw_response,json=rawResponse,proto3" json:"raw_response,omitempty"`
	// contains filtered or unexported fields
}

A definition of responses to be sent from a streaming endpoint. Can be used to define responses for server-streaming or bidi-streaming calls.

func (*StreamResponseDefinition) Descriptor deprecated

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

Deprecated: Use StreamResponseDefinition.ProtoReflect.Descriptor instead.

func (*StreamResponseDefinition) GetError

func (x *StreamResponseDefinition) GetError() *Error

func (*StreamResponseDefinition) GetRawResponse

func (x *StreamResponseDefinition) GetRawResponse() *RawHTTPResponse

func (*StreamResponseDefinition) GetResponseData

func (x *StreamResponseDefinition) GetResponseData() [][]byte

func (*StreamResponseDefinition) GetResponseDelayMs

func (x *StreamResponseDefinition) GetResponseDelayMs() uint32

func (*StreamResponseDefinition) GetResponseHeaders

func (x *StreamResponseDefinition) GetResponseHeaders() []*Header

func (*StreamResponseDefinition) GetResponseTrailers

func (x *StreamResponseDefinition) GetResponseTrailers() []*Header

func (*StreamResponseDefinition) ProtoMessage

func (*StreamResponseDefinition) ProtoMessage()

func (*StreamResponseDefinition) ProtoReflect

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

func (*StreamResponseDefinition) Reset

func (x *StreamResponseDefinition) Reset()

func (*StreamResponseDefinition) String

func (x *StreamResponseDefinition) String() string

type StreamType

type StreamType int32
const (
	StreamType_STREAM_TYPE_UNSPECIFIED             StreamType = 0
	StreamType_STREAM_TYPE_UNARY                   StreamType = 1
	StreamType_STREAM_TYPE_CLIENT_STREAM           StreamType = 2
	StreamType_STREAM_TYPE_SERVER_STREAM           StreamType = 3
	StreamType_STREAM_TYPE_HALF_DUPLEX_BIDI_STREAM StreamType = 4
	StreamType_STREAM_TYPE_FULL_DUPLEX_BIDI_STREAM StreamType = 5
)

func (StreamType) Descriptor

func (StreamType) Descriptor() protoreflect.EnumDescriptor

func (StreamType) Enum

func (x StreamType) Enum() *StreamType

func (StreamType) EnumDescriptor deprecated

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

Deprecated: Use StreamType.Descriptor instead.

func (StreamType) Number

func (x StreamType) Number() protoreflect.EnumNumber

func (StreamType) String

func (x StreamType) String() string

func (StreamType) Type

type TLSCreds

type TLSCreds struct {
	Cert []byte `protobuf:"bytes,1,opt,name=cert,proto3" json:"cert,omitempty"`
	Key  []byte `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
	// contains filtered or unexported fields
}

TLSCreds represents credentials for TLS. It includes both a certificate and corresponding private key. Both are encoded in PEM format.

func (*TLSCreds) Descriptor deprecated

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

Deprecated: Use TLSCreds.ProtoReflect.Descriptor instead.

func (*TLSCreds) GetCert

func (x *TLSCreds) GetCert() []byte

func (*TLSCreds) GetKey

func (x *TLSCreds) GetKey() []byte

func (*TLSCreds) ProtoMessage

func (*TLSCreds) ProtoMessage()

func (*TLSCreds) ProtoReflect

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

func (*TLSCreds) Reset

func (x *TLSCreds) Reset()

func (*TLSCreds) String

func (x *TLSCreds) String() string

type TestCase

type TestCase struct {

	// Defines the RPC that the client should invoke. The first eight fields
	// are not fully specified. Instead the first field, test_name, must be
	// present but is a prefix -- other characteristics that identify one
	// permutation of the test case will be appended to this name. The next
	// seven fields (http_version, protocol, codec, compression, host, port,
	// and server_tls_cert) must not be present. They are all populated by
	// the test harness based on the test environment (e.g. actual server and
	//
	//	port to use) and characteristics of a single permutation.
	Request *ClientCompatRequest `protobuf:"bytes,1,opt,name=request,proto3" json:"request,omitempty"`
	// To support extremely large messages, as well as very precisely-sized
	// messages, without having to encode them fully or perfectly in YAML
	// test cases, this value can be specified. When non-empty, this value
	// should have no more entries than there are messages in the request
	// stream. The first value is applied to the first request message, and
	// so on. For each entry, if the size is present, it is used to expand
	// the data field in the request (which is actually part of the response
	// definition). The specified size is added to the current limit on
	// message size that the server will accept. That sum is the size of the
	// the serialized message that will be sent, and the data field will be
	// padded as needed to reach that size.
	ExpandRequests []*TestCase_ExpandedSize `protobuf:"bytes,2,rep,name=expand_requests,json=expandRequests,proto3" json:"expand_requests,omitempty"`
	// Defines the expected response to the above RPC. The expected response for
	// a test is auto-generated based on the request details. The conformance runner
	// will determine what the response should be according to the values specified
	// in the test suite and individual test cases.
	//
	// This value can also be specified explicitly in the test case YAML. However,
	// this is typically only needed for exception test cases. If the expected
	// response is mostly re-stating the response definition that appears in the
	// requests, test cases should rely on the auto-generation if possible.
	// Otherwise, specifying an expected response can make the test YAML overly
	// verbose and harder to read, write, and maintain.
	//
	// If the test induces behavior that prevents the server from sending or client
	// from receiving the full response definition, it will be necessary to define
	// the expected response explicitly. Timeouts, cancellations, and exceeding
	// message size limits are good examples of this.
	//
	// Specifying an expected response explicitly in test definitions will override
	// the auto-generation of the test runner.
	ExpectedResponse *ClientResponseResult `protobuf:"bytes,3,opt,name=expected_response,json=expectedResponse,proto3" json:"expected_response,omitempty"`
	// When expected_response indicates that an error is expected, in some cases, the
	// actual error code returned may be flexible. In that case, this field provides
	// other acceptable error codes, in addition to the one indicated in the
	// expected_response. As long as the actual error's code matches any of these, the
	// error is considered conformant, and the test case can pass.
	OtherAllowedErrorCodes []Code `` /* 175-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*TestCase) Descriptor deprecated

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

Deprecated: Use TestCase.ProtoReflect.Descriptor instead.

func (*TestCase) GetExpandRequests

func (x *TestCase) GetExpandRequests() []*TestCase_ExpandedSize

func (*TestCase) GetExpectedResponse

func (x *TestCase) GetExpectedResponse() *ClientResponseResult

func (*TestCase) GetOtherAllowedErrorCodes

func (x *TestCase) GetOtherAllowedErrorCodes() []Code

func (*TestCase) GetRequest

func (x *TestCase) GetRequest() *ClientCompatRequest

func (*TestCase) ProtoMessage

func (*TestCase) ProtoMessage()

func (*TestCase) ProtoReflect

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

func (*TestCase) Reset

func (x *TestCase) Reset()

func (*TestCase) String

func (x *TestCase) String() string

type TestCase_ExpandedSize

type TestCase_ExpandedSize struct {

	// The size, in bytes, relative to the limit. For example, to expand to a
	// size that is exactly equal to the limit, this should be set to zero.
	// Any value greater than zero indicates that the request size will be that
	// many bytes over the limit.
	SizeRelativeToLimit *int32 `` /* 129-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*TestCase_ExpandedSize) Descriptor deprecated

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

Deprecated: Use TestCase_ExpandedSize.ProtoReflect.Descriptor instead.

func (*TestCase_ExpandedSize) GetSizeRelativeToLimit

func (x *TestCase_ExpandedSize) GetSizeRelativeToLimit() int32

func (*TestCase_ExpandedSize) ProtoMessage

func (*TestCase_ExpandedSize) ProtoMessage()

func (*TestCase_ExpandedSize) ProtoReflect

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

func (*TestCase_ExpandedSize) Reset

func (x *TestCase_ExpandedSize) Reset()

func (*TestCase_ExpandedSize) String

func (x *TestCase_ExpandedSize) String() string

type TestSuite

type TestSuite struct {

	// Test suite name. When writing test suites, this is a required field.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The mode (client or server) that this test suite applies to. This is used
	// in conjunction with the `--mode` flag passed to the conformance runner
	// binary. If the mode on the suite is set to client, the tests will only be
	// run if `--mode client` is set on the command to the test runner.
	// Likewise if mode is server. If this is unset, the test case will be run in both modes.
	Mode TestSuite_TestMode `protobuf:"varint,2,opt,name=mode,proto3,enum=connectrpc.conformance.v1.TestSuite_TestMode" json:"mode,omitempty"`
	// The actual test cases in the suite.
	TestCases []*TestCase `protobuf:"bytes,3,rep,name=test_cases,json=testCases,proto3" json:"test_cases,omitempty"`
	// If non-empty, the protocols to which this suite applies. If empty,
	// this suite applies to all protocols.
	RelevantProtocols []Protocol `` /* 160-byte string literal not displayed */
	// If non-empty, the HTTP versions to which this suite applies. If empty,
	// this suite applies to all HTTP versions.
	RelevantHttpVersions []HTTPVersion `` /* 174-byte string literal not displayed */
	// If non-empty, the codecs to which this suite applies. If empty, this
	// suite applies to all codecs.
	RelevantCodecs []Codec `` /* 148-byte string literal not displayed */
	// If non-empty, the compression encodings to which this suite applies.
	// If empty, this suite applies to all encodings.
	RelevantCompressions []Compression `` /* 172-byte string literal not displayed */
	// Indicates the Connect version validation behavior that this suite
	// relies on.
	ConnectVersionMode TestSuite_ConnectVersionMode `` /* 178-byte string literal not displayed */
	// If true, the cases in this suite rely on TLS and will only be run against
	// TLS server configurations.
	ReliesOnTls bool `protobuf:"varint,9,opt,name=relies_on_tls,json=reliesOnTls,proto3" json:"relies_on_tls,omitempty"`
	// If true, the cases in this suite rely on the client using TLS
	// certificates to authenticate with the server. (Should only be
	// true if relies_on_tls is also true.)
	ReliesOnTlsClientCerts bool `` /* 135-byte string literal not displayed */
	// If true, the cases in this suite rely on the Connect GET protocol.
	ReliesOnConnectGet bool `protobuf:"varint,11,opt,name=relies_on_connect_get,json=reliesOnConnectGet,proto3" json:"relies_on_connect_get,omitempty"`
	// If true, the cases in this suite rely on support for limiting the
	// size of received messages. When true, mode should be set to indicate
	// whether it is the client or the server that must support the limit.
	ReliesOnMessageReceiveLimit bool `` /* 150-byte string literal not displayed */
	// contains filtered or unexported fields
}

TestSuite represents a set of conformance test cases. This is also the schema used for the structure of a YAML test file. Each YAML file represents a test suite, which can contain numerous cases. Each test suite has various properties that indicate the kinds of features that are tested. Test suites may be skipped based on whether the client or server under test implements these features.

func (*TestSuite) Descriptor deprecated

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

Deprecated: Use TestSuite.ProtoReflect.Descriptor instead.

func (*TestSuite) GetConnectVersionMode

func (x *TestSuite) GetConnectVersionMode() TestSuite_ConnectVersionMode

func (*TestSuite) GetMode

func (x *TestSuite) GetMode() TestSuite_TestMode

func (*TestSuite) GetName

func (x *TestSuite) GetName() string

func (*TestSuite) GetRelevantCodecs

func (x *TestSuite) GetRelevantCodecs() []Codec

func (*TestSuite) GetRelevantCompressions

func (x *TestSuite) GetRelevantCompressions() []Compression

func (*TestSuite) GetRelevantHttpVersions

func (x *TestSuite) GetRelevantHttpVersions() []HTTPVersion

func (*TestSuite) GetRelevantProtocols

func (x *TestSuite) GetRelevantProtocols() []Protocol

func (*TestSuite) GetReliesOnConnectGet

func (x *TestSuite) GetReliesOnConnectGet() bool

func (*TestSuite) GetReliesOnMessageReceiveLimit

func (x *TestSuite) GetReliesOnMessageReceiveLimit() bool

func (*TestSuite) GetReliesOnTls

func (x *TestSuite) GetReliesOnTls() bool

func (*TestSuite) GetReliesOnTlsClientCerts

func (x *TestSuite) GetReliesOnTlsClientCerts() bool

func (*TestSuite) GetTestCases

func (x *TestSuite) GetTestCases() []*TestCase

func (*TestSuite) ProtoMessage

func (*TestSuite) ProtoMessage()

func (*TestSuite) ProtoReflect

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

func (*TestSuite) Reset

func (x *TestSuite) Reset()

func (*TestSuite) String

func (x *TestSuite) String() string

type TestSuite_ConnectVersionMode

type TestSuite_ConnectVersionMode int32
const (
	// Used when the suite is agnostic to the server's validation
	// behavior.
	TestSuite_CONNECT_VERSION_MODE_UNSPECIFIED TestSuite_ConnectVersionMode = 0
	// Used when the suite relies on the server validating the presence
	// and correctness of the Connect version header or query param.
	TestSuite_CONNECT_VERSION_MODE_REQUIRE TestSuite_ConnectVersionMode = 1
	// Used when the suite relies on the server ignore any Connect
	// header or query param.
	TestSuite_CONNECT_VERSION_MODE_IGNORE TestSuite_ConnectVersionMode = 2
)

func (TestSuite_ConnectVersionMode) Descriptor

func (TestSuite_ConnectVersionMode) Enum

func (TestSuite_ConnectVersionMode) EnumDescriptor deprecated

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

Deprecated: Use TestSuite_ConnectVersionMode.Descriptor instead.

func (TestSuite_ConnectVersionMode) Number

func (TestSuite_ConnectVersionMode) String

func (TestSuite_ConnectVersionMode) Type

type TestSuite_TestMode

type TestSuite_TestMode int32
const (
	// Used when the test suite does not apply to a particular mode. Such tests
	// are run, regardless of the current test mode, to verify both clients and
	// servers under test.
	TestSuite_TEST_MODE_UNSPECIFIED TestSuite_TestMode = 0
	// Indicates tests that are intended to be used only for a client-under-test.
	// These cases can induce very particular and/or aberrant responses from the
	// reference server, to verify how the client reacts to such responses.
	TestSuite_TEST_MODE_CLIENT TestSuite_TestMode = 1
	// Indicates tests that are intended to be used only for a server-under-test.
	// These cases can induce very particular and/or aberrant requests from the
	// reference client, to verify how the server reacts to such requests.
	TestSuite_TEST_MODE_SERVER TestSuite_TestMode = 2
)

func (TestSuite_TestMode) Descriptor

func (TestSuite_TestMode) Enum

func (TestSuite_TestMode) EnumDescriptor deprecated

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

Deprecated: Use TestSuite_TestMode.Descriptor instead.

func (TestSuite_TestMode) Number

func (TestSuite_TestMode) String

func (x TestSuite_TestMode) String() string

func (TestSuite_TestMode) Type

type UnaryRequest

type UnaryRequest struct {

	// The response definition which should be returned in the conformance payload
	ResponseDefinition *UnaryResponseDefinition `protobuf:"bytes,1,opt,name=response_definition,json=responseDefinition,proto3" json:"response_definition,omitempty"`
	// Additional data. Only used to pad the request size to test large request messages.
	RequestData []byte `protobuf:"bytes,2,opt,name=request_data,json=requestData,proto3" json:"request_data,omitempty"`
	// contains filtered or unexported fields
}

func (*UnaryRequest) Descriptor deprecated

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

Deprecated: Use UnaryRequest.ProtoReflect.Descriptor instead.

func (*UnaryRequest) GetRequestData

func (x *UnaryRequest) GetRequestData() []byte

func (*UnaryRequest) GetResponseDefinition

func (x *UnaryRequest) GetResponseDefinition() *UnaryResponseDefinition

func (*UnaryRequest) ProtoMessage

func (*UnaryRequest) ProtoMessage()

func (*UnaryRequest) ProtoReflect

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

func (*UnaryRequest) Reset

func (x *UnaryRequest) Reset()

func (*UnaryRequest) String

func (x *UnaryRequest) String() string

type UnaryResponse

type UnaryResponse struct {

	// The conformance payload to respond with.
	Payload *ConformancePayload `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
	// contains filtered or unexported fields
}

func (*UnaryResponse) Descriptor deprecated

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

Deprecated: Use UnaryResponse.ProtoReflect.Descriptor instead.

func (*UnaryResponse) GetPayload

func (x *UnaryResponse) GetPayload() *ConformancePayload

func (*UnaryResponse) ProtoMessage

func (*UnaryResponse) ProtoMessage()

func (*UnaryResponse) ProtoReflect

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

func (*UnaryResponse) Reset

func (x *UnaryResponse) Reset()

func (*UnaryResponse) String

func (x *UnaryResponse) String() string

type UnaryResponseDefinition

type UnaryResponseDefinition struct {

	// Response headers to send
	ResponseHeaders []*Header `protobuf:"bytes,1,rep,name=response_headers,json=responseHeaders,proto3" json:"response_headers,omitempty"`
	// Types that are assignable to Response:
	//
	//	*UnaryResponseDefinition_ResponseData
	//	*UnaryResponseDefinition_Error
	Response isUnaryResponseDefinition_Response `protobuf_oneof:"response"`
	// Response trailers to send - together with the error if present
	ResponseTrailers []*Header `protobuf:"bytes,4,rep,name=response_trailers,json=responseTrailers,proto3" json:"response_trailers,omitempty"`
	// Wait this many milliseconds before sending a response message
	ResponseDelayMs uint32 `protobuf:"varint,6,opt,name=response_delay_ms,json=responseDelayMs,proto3" json:"response_delay_ms,omitempty"`
	// This field is only used by the reference server. If you are implementing a
	// server under test, you can ignore this field or respond with an error if the
	// server receives a request where it is set.
	//
	// For test definitions, this field should be used instead of the above fields.
	RawResponse *RawHTTPResponse `protobuf:"bytes,5,opt,name=raw_response,json=rawResponse,proto3" json:"raw_response,omitempty"`
	// contains filtered or unexported fields
}

A definition of a response to be sent from a single-response endpoint. Can be used to define a response for unary or client-streaming calls.

func (*UnaryResponseDefinition) Descriptor deprecated

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

Deprecated: Use UnaryResponseDefinition.ProtoReflect.Descriptor instead.

func (*UnaryResponseDefinition) GetError

func (x *UnaryResponseDefinition) GetError() *Error

func (*UnaryResponseDefinition) GetRawResponse

func (x *UnaryResponseDefinition) GetRawResponse() *RawHTTPResponse

func (*UnaryResponseDefinition) GetResponse

func (m *UnaryResponseDefinition) GetResponse() isUnaryResponseDefinition_Response

func (*UnaryResponseDefinition) GetResponseData

func (x *UnaryResponseDefinition) GetResponseData() []byte

func (*UnaryResponseDefinition) GetResponseDelayMs

func (x *UnaryResponseDefinition) GetResponseDelayMs() uint32

func (*UnaryResponseDefinition) GetResponseHeaders

func (x *UnaryResponseDefinition) GetResponseHeaders() []*Header

func (*UnaryResponseDefinition) GetResponseTrailers

func (x *UnaryResponseDefinition) GetResponseTrailers() []*Header

func (*UnaryResponseDefinition) ProtoMessage

func (*UnaryResponseDefinition) ProtoMessage()

func (*UnaryResponseDefinition) ProtoReflect

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

func (*UnaryResponseDefinition) Reset

func (x *UnaryResponseDefinition) Reset()

func (*UnaryResponseDefinition) String

func (x *UnaryResponseDefinition) String() string

type UnaryResponseDefinition_Error

type UnaryResponseDefinition_Error struct {
	// Error to raise instead of response message
	// Servers should build a RequestInfo and append it to the details of the
	// requested error.
	Error *Error `protobuf:"bytes,3,opt,name=error,proto3,oneof"`
}

type UnaryResponseDefinition_ResponseData

type UnaryResponseDefinition_ResponseData struct {
	// Response data to send
	ResponseData []byte `protobuf:"bytes,2,opt,name=response_data,json=responseData,proto3,oneof"`
}

type UnimplementedConformanceServiceServer

type UnimplementedConformanceServiceServer struct {
}

UnimplementedConformanceServiceServer must be embedded to have forward compatible implementations.

func (UnimplementedConformanceServiceServer) BidiStream

func (UnimplementedConformanceServiceServer) ClientStream

func (UnimplementedConformanceServiceServer) IdempotentUnary

func (UnimplementedConformanceServiceServer) ServerStream

func (UnimplementedConformanceServiceServer) Unary

func (UnimplementedConformanceServiceServer) Unimplemented

type UnimplementedRequest

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

func (*UnimplementedRequest) Descriptor deprecated

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

Deprecated: Use UnimplementedRequest.ProtoReflect.Descriptor instead.

func (*UnimplementedRequest) ProtoMessage

func (*UnimplementedRequest) ProtoMessage()

func (*UnimplementedRequest) ProtoReflect

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

func (*UnimplementedRequest) Reset

func (x *UnimplementedRequest) Reset()

func (*UnimplementedRequest) String

func (x *UnimplementedRequest) String() string

type UnimplementedResponse

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

func (*UnimplementedResponse) Descriptor deprecated

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

Deprecated: Use UnimplementedResponse.ProtoReflect.Descriptor instead.

func (*UnimplementedResponse) ProtoMessage

func (*UnimplementedResponse) ProtoMessage()

func (*UnimplementedResponse) ProtoReflect

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

func (*UnimplementedResponse) Reset

func (x *UnimplementedResponse) Reset()

func (*UnimplementedResponse) String

func (x *UnimplementedResponse) String() string

type UnsafeConformanceServiceServer

type UnsafeConformanceServiceServer interface {
	// contains filtered or unexported methods
}

UnsafeConformanceServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to ConformanceServiceServer will result in compilation errors.

type WireDetails

type WireDetails struct {

	// The HTTP status code of the response.
	ActualStatusCode int32 `protobuf:"varint,1,opt,name=actual_status_code,json=actualStatusCode,proto3" json:"actual_status_code,omitempty"`
	// When processing an error from a Connect server, this should contain
	// the actual JSON received on the wire.
	ConnectErrorRaw *structpb.Struct `protobuf:"bytes,2,opt,name=connect_error_raw,json=connectErrorRaw,proto3" json:"connect_error_raw,omitempty"`
	// Any HTTP trailers observed after the response body. These do NOT
	// include trailers that conveyed via the body, as done in the gRPC-Web
	// and Connect streaming protocols.
	ActualHttpTrailers []*Header `protobuf:"bytes,3,rep,name=actual_http_trailers,json=actualHttpTrailers,proto3" json:"actual_http_trailers,omitempty"`
	// Any trailers that were transmitted in the final message of the
	// response body for a gRPC-Web response. This could differ from the
	// ClientResponseResult.response_trailers field since the RPC client
	// library might canonicalize keys and it might choose to remove
	// "grpc-status" et al from the set of metadata. This field will
	// capture all of the entries and their exact on-the-wire spelling
	// and formatting.
	ActualGrpcwebTrailers *string `` /* 132-byte string literal not displayed */
	// contains filtered or unexported fields
}

Details about various values as observed on the wire. This message is used only by the reference client when reporting results and should not be populated by clients under test.

func (*WireDetails) Descriptor deprecated

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

Deprecated: Use WireDetails.ProtoReflect.Descriptor instead.

func (*WireDetails) GetActualGrpcwebTrailers

func (x *WireDetails) GetActualGrpcwebTrailers() string

func (*WireDetails) GetActualHttpTrailers

func (x *WireDetails) GetActualHttpTrailers() []*Header

func (*WireDetails) GetActualStatusCode

func (x *WireDetails) GetActualStatusCode() int32

func (*WireDetails) GetConnectErrorRaw

func (x *WireDetails) GetConnectErrorRaw() *structpb.Struct

func (*WireDetails) ProtoMessage

func (*WireDetails) ProtoMessage()

func (*WireDetails) ProtoReflect

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

func (*WireDetails) Reset

func (x *WireDetails) Reset()

func (*WireDetails) String

func (x *WireDetails) String() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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