Repository navigation
Updated conformance tests to validate the connect protocol specification content-type updates - #1191
Conversation
Signed-off-by: Jon Bodner <jbodner@buf.build>
Signed-off-by: Jon Bodner <jbodner@buf.build>
…lers-only. Signed-off-by: Jon Bodner <jbodner@buf.build>
…ormance into jbodner/connect-go-v2
…e headers are sent immediately now. Signed-off-by: Jon Bodner <jbodner@buf.build>
…t in a defer Signed-off-by: Jon Bodner <jbodner@buf.build>
…he known failing until connect-go is updated as well. Signed-off-by: Jon Bodner <jbodner@buf.build>
…re charset Signed-off-by: Jon Bodner <jbodner@buf.build>
Signed-off-by: Jon Bodner <jbodner@buf.build>
Signed-off-by: Jon Bodner <jbodner@buf.build>
Signed-off-by: Jon Bodner <jbodner@buf.build>
Signed-off-by: Jon Bodner <jbodner@buf.build>
Signed-off-by: Jon Bodner <jbodner@buf.build>
Signed-off-by: Jon Bodner <jbodner@buf.build>
Implementation conformanceconnect-go, the reference implementation, has newly failing tests. They predict failures in its own CI.
Changed suites: Each implementation ran the suites with and without this pull request's changes, without known-failing lists, at the commit shown. Test cases whose results differed, or that couldn't run, ran once more with and without the changes (only with them for added suites), and those whose differences didn't repeat are listed as possibly flaky instead of newly failing or passing. The new failures and passes were then checked against the known-failing list each target passes to the runner. Results for Newly failing test casesTest cases that aren't in the known-failing list need an entry there, or a fix.
|
| Target | Test case | Permutations | In known-failing list |
|---|---|---|---|
io |
Connect JSON Content-Type Parameter Responses/server-stream/unknown-parameter-then-unsupported-charset |
3 | no |
io |
Connect JSON Content-Type Parameter Responses/server-stream/unsupported-charset |
3 | no |
io |
Connect JSON Content-Type Parameter Responses/unary/unknown-parameter-then-unsupported-charset |
3 | no |
io |
Connect JSON Content-Type Parameter Responses/unary/unsupported-charset |
3 | no |
web |
Connect JSON Content-Type Parameter Responses/server-stream/unknown-parameter-then-unsupported-charset |
3 | no |
web |
Connect JSON Content-Type Parameter Responses/server-stream/unsupported-charset |
3 | no |
web |
Connect JSON Content-Type Parameter Responses/unary/unknown-parameter-then-unsupported-charset |
3 | no |
web |
Connect JSON Content-Type Parameter Responses/unary/unsupported-charset |
3 | no |
connect-es
| Target | Test case | Permutations | In known-failing list |
|---|---|---|---|
node client |
Connect JSON Content-Type Parameter Responses/server-stream/charset-utf-8-quoted |
4 | no |
node client |
Connect JSON Content-Type Parameter Responses/server-stream/charset-utf-8-with-unknown-parameter |
4 | no |
node client |
Connect JSON Content-Type Parameter Responses/server-stream/unknown-parameter |
4 | no |
node client |
Connect JSON Content-Type Parameter Responses/server-stream/unknown-parameter-then-charset-utf-8 |
4 | no |
node client |
Connect JSON Content-Type Parameter Responses/server-stream/unknown-parameter-then-unsupported-charset |
4 | no |
node client |
Connect JSON Content-Type Parameter Responses/server-stream/unsupported-charset |
4 | no |
node client |
Connect JSON Content-Type Parameter Responses/unary/charset-utf-8-quoted |
4 | no |
node client |
Connect JSON Content-Type Parameter Responses/unary/charset-utf-8-with-unknown-parameter |
4 | no |
node client |
Connect JSON Content-Type Parameter Responses/unary/unknown-parameter |
4 | no |
node client |
Connect JSON Content-Type Parameter Responses/unary/unknown-parameter-then-charset-utf-8 |
4 | no |
node client |
Connect JSON Content-Type Parameter Responses/unary/unknown-parameter-then-unsupported-charset |
4 | no |
node client |
Connect JSON Content-Type Parameter Responses/unary/unsupported-charset |
4 | no |
node client |
Connect Proto Content-Type Parameter Responses/server-stream/unknown-parameter |
4 | no |
node client |
Connect Proto Content-Type Parameter Responses/unary/unknown-parameter |
4 | no |
node server |
Connect JSON Content-Type Parameter Requests/server-stream/charset-utf-8-quoted |
4 | no |
node server |
Connect JSON Content-Type Parameter Requests/server-stream/charset-utf-8-with-unknown-parameter |
4 | no |
node server |
Connect JSON Content-Type Parameter Requests/server-stream/unknown-parameter |
4 | no |
node server |
Connect JSON Content-Type Parameter Requests/server-stream/unknown-parameter-then-charset-utf-8 |
4 | no |
node server |
Connect JSON Content-Type Parameter Requests/unary/charset-utf-8-quoted |
4 | no |
node server |
Connect JSON Content-Type Parameter Requests/unary/charset-utf-8-with-unknown-parameter |
4 | no |
node server |
Connect JSON Content-Type Parameter Requests/unary/unknown-parameter |
4 | no |
node server |
Connect JSON Content-Type Parameter Requests/unary/unknown-parameter-then-charset-utf-8 |
4 | no |
node server |
Connect Proto Content-Type Parameter Requests/server-stream/charset-ignored |
4 | no |
node server |
Connect Proto Content-Type Parameter Requests/server-stream/unknown-parameter |
4 | no |
node server |
Connect Proto Content-Type Parameter Requests/unary/charset-ignored |
4 | no |
node server |
Connect Proto Content-Type Parameter Requests/unary/unknown-parameter |
4 | no |
fastify |
Connect JSON Content-Type Parameter Requests/server-stream/charset-utf-8-quoted |
4 | no |
fastify |
Connect JSON Content-Type Parameter Requests/server-stream/charset-utf-8-with-unknown-parameter |
4 | no |
fastify |
Connect JSON Content-Type Parameter Requests/server-stream/unknown-parameter |
4 | no |
fastify |
Connect JSON Content-Type Parameter Requests/server-stream/unknown-parameter-then-charset-utf-8 |
4 | no |
fastify |
Connect JSON Content-Type Parameter Requests/unary/charset-utf-8-quoted |
4 | no |
fastify |
Connect JSON Content-Type Parameter Requests/unary/charset-utf-8-with-unknown-parameter |
4 | no |
fastify |
Connect JSON Content-Type Parameter Requests/unary/unknown-parameter |
4 | no |
fastify |
Connect JSON Content-Type Parameter Requests/unary/unknown-parameter-then-charset-utf-8 |
4 | no |
fastify |
Connect Proto Content-Type Parameter Requests/server-stream/charset-ignored |
4 | no |
fastify |
Connect Proto Content-Type Parameter Requests/server-stream/unknown-parameter |
4 | no |
fastify |
Connect Proto Content-Type Parameter Requests/unary/charset-ignored |
4 | no |
fastify |
Connect Proto Content-Type Parameter Requests/unary/unknown-parameter |
4 | no |
express |
Connect JSON Content-Type Parameter Requests/server-stream/charset-utf-8-quoted |
2 | no |
express |
Connect JSON Content-Type Parameter Requests/server-stream/charset-utf-8-with-unknown-parameter |
2 | no |
express |
Connect JSON Content-Type Parameter Requests/server-stream/unknown-parameter |
2 | no |
express |
Connect JSON Content-Type Parameter Requests/server-stream/unknown-parameter-then-charset-utf-8 |
2 | no |
express |
Connect JSON Content-Type Parameter Requests/unary/charset-utf-8-quoted |
2 | no |
express |
Connect JSON Content-Type Parameter Requests/unary/charset-utf-8-with-unknown-parameter |
2 | no |
express |
Connect JSON Content-Type Parameter Requests/unary/unknown-parameter |
2 | no |
express |
Connect JSON Content-Type Parameter Requests/unary/unknown-parameter-then-charset-utf-8 |
2 | no |
express |
Connect Proto Content-Type Parameter Requests/server-stream/charset-ignored |
2 | no |
express |
Connect Proto Content-Type Parameter Requests/server-stream/unknown-parameter |
2 | no |
express |
Connect Proto Content-Type Parameter Requests/unary/charset-ignored |
2 | no |
express |
Connect Proto Content-Type Parameter Requests/unary/unknown-parameter |
2 | no |
Only 50 of 78 are shown. The job summaries list all of them.
connect-go
| Target | Test case | Permutations | In known-failing list |
|---|---|---|---|
client |
Connect JSON Content-Type Parameter Responses/server-stream/charset-utf-8 |
5 | no |
client |
Connect JSON Content-Type Parameter Responses/server-stream/charset-utf-8-quoted |
5 | no |
client |
Connect JSON Content-Type Parameter Responses/server-stream/charset-utf-8-uppercase |
5 | no |
client |
Connect JSON Content-Type Parameter Responses/server-stream/charset-utf-8-with-unknown-parameter |
5 | no |
client |
Connect JSON Content-Type Parameter Responses/server-stream/unknown-parameter |
5 | no |
client |
Connect JSON Content-Type Parameter Responses/server-stream/unknown-parameter-then-charset-utf-8 |
5 | no |
client |
Connect JSON Content-Type Parameter Responses/unary/charset-utf-8-quoted |
5 | no |
client |
Connect JSON Content-Type Parameter Responses/unary/charset-utf-8-uppercase |
5 | no |
client |
Connect JSON Content-Type Parameter Responses/unary/charset-utf-8-with-unknown-parameter |
5 | no |
client |
Connect JSON Content-Type Parameter Responses/unary/unknown-parameter |
5 | no |
client |
Connect JSON Content-Type Parameter Responses/unary/unknown-parameter-then-charset-utf-8 |
5 | no |
client |
Connect Proto Content-Type Parameter Responses/server-stream/unknown-parameter |
5 | no |
client |
Connect Proto Content-Type Parameter Responses/unary/unknown-parameter |
5 | no |
server |
Connect JSON Content-Type Parameter Requests/server-stream/charset-utf-8-with-unknown-parameter |
5 | no |
server |
Connect JSON Content-Type Parameter Requests/server-stream/unknown-parameter |
5 | no |
server |
Connect JSON Content-Type Parameter Requests/server-stream/unknown-parameter-then-charset-utf-8 |
5 | no |
server |
Connect JSON Content-Type Parameter Requests/unary/charset-utf-8-with-unknown-parameter |
5 | no |
server |
Connect JSON Content-Type Parameter Requests/unary/unknown-parameter |
5 | no |
server |
Connect JSON Content-Type Parameter Requests/unary/unknown-parameter-then-charset-utf-8 |
5 | no |
server |
Connect Proto Content-Type Parameter Requests/server-stream/charset-ignored |
5 | no |
server |
Connect Proto Content-Type Parameter Requests/server-stream/unknown-parameter |
5 | no |
server |
Connect Proto Content-Type Parameter Requests/unary/charset-ignored |
5 | no |
server |
Connect Proto Content-Type Parameter Requests/unary/unknown-parameter |
5 | no |
connect-kotlin
| Target | Test case | Permutations | In known-failing list |
|---|---|---|---|
client |
Connect JSON Content-Type Parameter Responses/server-stream/charset-utf-8 |
4 | no |
client |
Connect JSON Content-Type Parameter Responses/server-stream/charset-utf-8-quoted |
4 | no |
client |
Connect JSON Content-Type Parameter Responses/server-stream/charset-utf-8-uppercase |
4 | no |
client |
Connect JSON Content-Type Parameter Responses/server-stream/charset-utf-8-with-unknown-parameter |
4 | no |
client |
Connect JSON Content-Type Parameter Responses/server-stream/unknown-parameter |
4 | no |
client |
Connect JSON Content-Type Parameter Responses/server-stream/unknown-parameter-then-charset-utf-8 |
4 | no |
client |
Connect JSON Content-Type Parameter Responses/unary/charset-utf-8-quoted |
4 | no |
client |
Connect JSON Content-Type Parameter Responses/unary/charset-utf-8-uppercase |
4 | no |
client |
Connect JSON Content-Type Parameter Responses/unary/charset-utf-8-with-unknown-parameter |
4 | no |
client |
Connect JSON Content-Type Parameter Responses/unary/unknown-parameter |
4 | no |
client |
Connect JSON Content-Type Parameter Responses/unary/unknown-parameter-then-charset-utf-8 |
4 | no |
client |
Connect Proto Content-Type Parameter Responses/server-stream/unknown-parameter |
4 | no |
client |
Connect Proto Content-Type Parameter Responses/unary/unknown-parameter |
4 | no |
connect-py
| Target | Test case | Permutations | In known-failing list |
|---|---|---|---|
client |
Connect JSON Content-Type Parameter Responses/server-stream/charset-utf-8 |
5 | no |
client |
Connect JSON Content-Type Parameter Responses/server-stream/charset-utf-8-quoted |
5 | no |
client |
Connect JSON Content-Type Parameter Responses/server-stream/charset-utf-8-uppercase |
5 | no |
client |
Connect JSON Content-Type Parameter Responses/server-stream/charset-utf-8-with-unknown-parameter |
5 | no |
client |
Connect JSON Content-Type Parameter Responses/server-stream/unknown-parameter |
5 | no |
client |
Connect JSON Content-Type Parameter Responses/server-stream/unknown-parameter-then-charset-utf-8 |
5 | no |
client |
Connect JSON Content-Type Parameter Responses/unary/unknown-parameter-then-unsupported-charset |
5 | no |
client |
Connect JSON Content-Type Parameter Responses/unary/unsupported-charset |
5 | no |
client |
Connect Proto Content-Type Parameter Responses/server-stream/unknown-parameter |
5 | no |
server |
Connect JSON Content-Type Parameter Requests/server-stream/unknown-parameter-then-unsupported-charset |
5 | no |
server |
Connect JSON Content-Type Parameter Requests/server-stream/unsupported-charset |
5 | no |
server |
Connect JSON Content-Type Parameter Requests/unary/unknown-parameter-then-unsupported-charset |
5 | no |
server |
Connect JSON Content-Type Parameter Requests/unary/unsupported-charset |
5 | no |
connect-rust
| Target | Test case | Permutations | In known-failing list |
|---|---|---|---|
client |
Connect JSON Content-Type Parameter Responses/server-stream/unknown-parameter-then-unsupported-charset |
4 | no |
client |
Connect JSON Content-Type Parameter Responses/server-stream/unsupported-charset |
4 | no |
client |
Connect JSON Content-Type Parameter Responses/unary/unknown-parameter-then-unsupported-charset |
4 | no |
client |
Connect JSON Content-Type Parameter Responses/unary/unsupported-charset |
4 | no |
server |
Connect JSON Content-Type Parameter Requests/server-stream/unknown-parameter-then-unsupported-charset |
2 | no |
server |
Connect JSON Content-Type Parameter Requests/server-stream/unsupported-charset |
2 | no |
server |
Connect JSON Content-Type Parameter Requests/unary/unknown-parameter-then-unsupported-charset |
2 | no |
server |
Connect JSON Content-Type Parameter Requests/unary/unsupported-charset |
2 | no |
connect-swift
| Target | Test case | Permutations | In known-failing list |
|---|---|---|---|
client |
Connect JSON Content-Type Parameter Responses/server-stream/charset-utf-8 |
2 | no |
client |
Connect JSON Content-Type Parameter Responses/server-stream/charset-utf-8-quoted |
2 | no |
client |
Connect JSON Content-Type Parameter Responses/server-stream/charset-utf-8-uppercase |
2 | no |
client |
Connect JSON Content-Type Parameter Responses/server-stream/charset-utf-8-with-unknown-parameter |
2 | no |
client |
Connect JSON Content-Type Parameter Responses/server-stream/unknown-parameter |
2 | no |
client |
Connect JSON Content-Type Parameter Responses/server-stream/unknown-parameter-then-charset-utf-8 |
2 | no |
client |
Connect JSON Content-Type Parameter Responses/unary/unknown-parameter-then-unsupported-charset |
2 | no |
client |
Connect JSON Content-Type Parameter Responses/unary/unsupported-charset |
2 | no |
client |
Connect Proto Content-Type Parameter Responses/server-stream/unknown-parameter |
2 | no |
Signed-off-by: Jon Bodner <jbodner@buf.build>
|
/rerun connect-py connectrpc/connect-py#464 |
Implementation conformanceRerun of No tests newly fail.
Changed suites: Each implementation ran the suites with and without this pull request's changes, without known-failing lists, at the commit shown. Test cases whose results differed, or that couldn't run, ran once more with and without the changes (only with them for added suites), and those whose differences didn't repeat are listed as possibly flaky instead of newly failing or passing. The new failures and passes were then checked against the known-failing list each target passes to the runner. Results for |
There are spec updates for content-type and timeout: connectrpc/connectrpc.com#447 connectrpc/connectrpc.com#429 There are also conformance test updates to validate the spec updates: connectrpc/conformance#1193 connectrpc/conformance#1191 This PR updates connect-go to implement the spec updates and pass the conformance tests. --------- Signed-off-by: Jon Bodner <jbodner@buf.build>
connectrpc/connectrpc.com#447 updates the connect protocol specification to clarify how content-type parameters should be handled. This PR includes conformance tests to validate that implementations consistently follow those rules.
The reference implementation (connect-go) does not currently meet the updated specification, so there are some known failing conformance tests. A future update to connect-go will resolve these.