v1.0.0-rc1
Pre-releaseWhat's Changed
This is a release candidate for the initial release of the Connect Conformance Tests.
Prior to this release, this repo contained "cross tests" to verify interoperability
between various Connect client and server implementations and gRPC client and server
implementations. This previous structure required new client implementations to
manually implement all test cases in a way that could be run against a variety of
server implementations. Server implementations would run various client test
implementations against their server implementation.
The new model introduced with this release (hopefully culminating soon in a v1.0.0)
is data-driven and requires client implementations to write a generic client that
can read request definitions over stdin, issue RPCs, and then write the results to
stdout. Similarly, server implementations write a server that implements a generic
ConformanceService interface and reads configuration from stdin and writes status
to stdout. This allows new test cases to be written declaratively (via YAML files)
in this repo, and then to automatically run these cases against all clients and
servers without any bespoke code being written in the various implementations.
The new model also introduces new "reference" client and server implementations
which are used to verify other implementations. These implementations can identify
conformance issues that a typical RPC client or server implementation would not.
Instead of publishing Docker images for the variety of clients and servers that the
prior versions of this repo offered, there is a single statically-linked binary,
connectconformance, which is the test runner. This test runner program embeds the
reference client and server implementation as well as all test case data.
New Contributors
In alphabetical order, this release contains contributions from:
Full Changelog: 0d0d9b5...v1.0.0-rc1