package connectrpc.conformance.v1

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

service ConformanceService

service.proto:27

The service implemented by conformance test servers. This is implemented by the reference servers, used to test clients, and is expected to be implemented by test servers, since this is the service used by reference clients. Test servers must implement the service as described.

message ClientCompatRequest

client_compat.proto:29

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.

Used in: TestCase

message ClientCompatRequest.Cancel

client_compat.proto:102

Used in: ClientCompatRequest

message ClientCompatResponse

client_compat.proto:155

The outcome of one ClientCompatRequest.

message ClientErrorResult

client_compat.proto:209

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.

Used in: ClientCompatResponse

message ClientResponseResult

client_compat.proto:175

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.

Used in: ClientCompatResponse, TestCase

enum Code

config.proto:158

Used in: Error, TestCase

enum Codec

config.proto:132

Used in: ClientCompatRequest, ConfigCase, Features, TestSuite

enum Compression

config.proto:139

Used in: ClientCompatRequest, ConfigCase, Features, MessageContents, TestSuite

message Config

config.proto:21

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

message ConfigCase

config.proto:89

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.

TODO: we could probably model some of the constraints on what is a valid vs. invalid config case using protovalidate rules

Used in: Config

message ConformancePayload

service.proto:291

Used in: BidiStreamResponse, ClientResponseResult, ClientStreamResponse, IdempotentUnaryResponse, ServerStreamResponse, UnaryResponse

message ConformancePayload.ConnectGetInfo

service.proto:320

Used in: RequestInfo

message ConformancePayload.RequestInfo

service.proto:298

Used in: ConformancePayload

message Error

service.proto:327

An error definition used for specifying a desired error response

Used in: ClientResponseResult, StreamResponseDefinition, UnaryResponseDefinition

message Features

config.proto:39

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.

TODO: we could probably model some of the constraints on what are valid vs. invalid (i.e. conflicting/impossible) features using protovalidate rules

Used in: Config

enum HTTPVersion

config.proto:115

Used in: ClientCompatRequest, ConfigCase, Features, ServerCompatRequest, TestSuite

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

Used in: ClientCompatRequest, ClientResponseResult, ConformancePayload.ConnectGetInfo, ConformancePayload.RequestInfo, RawHTTPRequest, RawHTTPResponse, StreamResponseDefinition, UnaryResponseDefinition, WireDetails

message MessageContents

service.proto:388

MessageContents represents a message in a request body.

Used in: RawHTTPRequest, RawHTTPRequest.EncodedQueryParam, RawHTTPResponse, StreamContents.StreamItem

enum Protocol

config.proto:122

Used in: ClientCompatRequest, ConfigCase, Features, ServerCompatRequest, TestSuite

message RawHTTPRequest

service.proto:354

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.

Used in: ClientCompatRequest

message RawHTTPRequest.EncodedQueryParam

service.proto:368

Used in: RawHTTPRequest

message RawHTTPResponse

service.proto:419

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.

Used in: StreamResponseDefinition, UnaryResponseDefinition

message ServerCompatRequest

server_compat.proto:35

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.

message ServerCompatResponse

server_compat.proto:86

The outcome of one ServerCompatRequest.

message StreamContents

service.proto:406

StreamContents represents a sequence of messages in a request body.

Used in: RawHTTPRequest, RawHTTPResponse

message StreamContents.StreamItem

service.proto:409

Used in: StreamContents

message StreamResponseDefinition

service.proto:174

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

Used in: BidiStreamRequest, ServerStreamRequest

enum StreamType

config.proto:149

Used in: ClientCompatRequest, ConfigCase, Features

message TLSCreds

config.proto:181

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

Used in: ClientCompatRequest, ServerCompatRequest

message TestCase

suite.proto:93

Used in: TestSuite

message TestCase.ExpandedSize

suite.proto:116

Used in: TestCase

message TestSuite

suite.proto:27

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.

enum TestSuite.ConnectVersionMode

suite.proto:67

Used in: TestSuite

enum TestSuite.TestMode

suite.proto:36

Used in: TestSuite

message UnaryResponseDefinition

service.proto:145

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.

Used in: ClientStreamRequest, IdempotentUnaryRequest, UnaryRequest

message WireDetails

client_compat.proto:219

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.