Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,29 @@ testCases:
error:
code: CODE_UNIMPLEMENTED

- request:
testName: unary/no-terminal-status
streamType: STREAM_TYPE_UNARY
requestMessages:
- "@type": type.googleapis.com/connectrpc.conformance.v1.UnaryRequest
responseDefinition:
rawResponse:
status_code: 200
headers:
- name: content-type
value: [ "application/grpc" ]
stream:
items:
- flags: 0
payload:
binary_message:
"@type": "type.googleapis.com/connectrpc.conformance.v1.UnaryResponse"
otherAllowedErrorCodes:
- CODE_UNKNOWN
expectedResponse:
error:
code: CODE_INTERNAL

- request:
testName: client-stream/ok-but-no-response
streamType: STREAM_TYPE_CLIENT_STREAM
Expand Down Expand Up @@ -122,6 +145,81 @@ testCases:
error:
code: CODE_UNIMPLEMENTED

- request:
testName: server-stream/no-terminal-status
streamType: STREAM_TYPE_SERVER_STREAM
requestMessages:
- "@type": type.googleapis.com/connectrpc.conformance.v1.ServerStreamRequest
responseDefinition:
rawResponse:
status_code: 200
headers:
- name: content-type
value: [ "application/grpc" ]
stream:
items:
- flags: 0
payload:
binary_message:
"@type": "type.googleapis.com/connectrpc.conformance.v1.ServerStreamResponse"
otherAllowedErrorCodes:
- CODE_UNKNOWN
expectedResponse:
payloads:
- { }
error:
code: CODE_INTERNAL

- request:
testName: client-stream/no-terminal-status
streamType: STREAM_TYPE_CLIENT_STREAM
requestMessages:
- "@type": type.googleapis.com/connectrpc.conformance.v1.ClientStreamRequest
responseDefinition:
rawResponse:
status_code: 200
headers:
- name: content-type
value: [ "application/grpc" ]
stream:
items:
- flags: 0
payload:
binary_message:
"@type": "type.googleapis.com/connectrpc.conformance.v1.ClientStreamResponse"
otherAllowedErrorCodes:
- CODE_UNKNOWN
expectedResponse:
error:
code: CODE_INTERNAL

- request:
# The raw-response harness drains the request stream before returning
# the crafted response, so this uses half-duplex bidi only.
testName: bidi-stream/half-duplex/no-terminal-status
streamType: STREAM_TYPE_HALF_DUPLEX_BIDI_STREAM
requestMessages:
- "@type": type.googleapis.com/connectrpc.conformance.v1.BidiStreamRequest
responseDefinition:
rawResponse:
status_code: 200
headers:
- name: content-type
value: [ "application/grpc" ]
stream:
items:
- flags: 0
payload:
binary_message:
"@type": "type.googleapis.com/connectrpc.conformance.v1.BidiStreamResponse"
otherAllowedErrorCodes:
- CODE_UNKNOWN
expectedResponse:
payloads:
- { }
error:
code: CODE_INTERNAL

- request:
testName: trailers-only/ignore-header-if-body-present
streamType: STREAM_TYPE_UNARY
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,104 @@ testCases:
error:
code: CODE_UNIMPLEMENTED

- request:
testName: unary/no-terminal-status
streamType: STREAM_TYPE_UNARY
requestMessages:
- "@type": type.googleapis.com/connectrpc.conformance.v1.UnaryRequest
responseDefinition:
rawResponse:
statusCode: 200
headers:
- name: content-type
value: [ "application/grpc-web" ]
stream:
items:
- flags: 0
payload:
binary_message:
"@type": "type.googleapis.com/connectrpc.conformance.v1.UnaryResponse"
otherAllowedErrorCodes:
- CODE_UNKNOWN
expectedResponse:
error:
code: CODE_INTERNAL

- request:
testName: server-stream/no-terminal-status
streamType: STREAM_TYPE_SERVER_STREAM
requestMessages:
- "@type": type.googleapis.com/connectrpc.conformance.v1.ServerStreamRequest
responseDefinition:
rawResponse:
statusCode: 200
headers:
- name: content-type
value: [ "application/grpc-web" ]
stream:
items:
- flags: 0
payload:
binary_message:
"@type": "type.googleapis.com/connectrpc.conformance.v1.ServerStreamResponse"
otherAllowedErrorCodes:
- CODE_UNKNOWN
expectedResponse:
payloads:
- { }
error:
code: CODE_INTERNAL

- request:
testName: client-stream/no-terminal-status
streamType: STREAM_TYPE_CLIENT_STREAM
requestMessages:
- "@type": type.googleapis.com/connectrpc.conformance.v1.ClientStreamRequest
responseDefinition:
rawResponse:
statusCode: 200
headers:
- name: content-type
value: [ "application/grpc-web" ]
stream:
items:
- flags: 0
payload:
binary_message:
"@type": "type.googleapis.com/connectrpc.conformance.v1.ClientStreamResponse"
otherAllowedErrorCodes:
- CODE_UNKNOWN
expectedResponse:
error:
code: CODE_INTERNAL

- request:
# The raw-response harness drains the request stream before returning
# the crafted response, so this uses half-duplex bidi only.
testName: bidi-stream/half-duplex/no-terminal-status
streamType: STREAM_TYPE_HALF_DUPLEX_BIDI_STREAM
requestMessages:
- "@type": type.googleapis.com/connectrpc.conformance.v1.BidiStreamRequest
responseDefinition:
rawResponse:
statusCode: 200
headers:
- name: content-type
value: [ "application/grpc-web" ]
stream:
items:
- flags: 0
payload:
binary_message:
"@type": "type.googleapis.com/connectrpc.conformance.v1.BidiStreamResponse"
otherAllowedErrorCodes:
- CODE_UNKNOWN
expectedResponse:
payloads:
- { }
error:
code: CODE_INTERNAL

- request:
testName: trailers-only/missing-status
streamType: STREAM_TYPE_UNARY
Expand Down
9 changes: 9 additions & 0 deletions testing/grpcwebclient-known-failing.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,15 @@ gRPC-Web Unexpected Responses/**/unexpected-compression
gRPC-Web Unexpected Responses/**/multiple-responses
gRPC-Web Unexpected Responses/**/ok-but-no-response

# When the HTTP body ends without a terminal trailers frame, the official
# grpc-web client completes both RPCs without an error. The unary call also
# returns a payload even though the expected result has none.
# Keep these cases active as narrow known failures. The entries become stale
# only when the cases pass their full expectations, including error code and
# payload count.
Comment thread
EffortlessSteven marked this conversation as resolved.
Outdated
gRPC-Web Unexpected Responses/**/unary/no-terminal-status
gRPC-Web Unexpected Responses/**/server-stream/no-terminal-status

# The gRPC-Web client does not appear to actually implement the HTTP to gRPC status code
# mapping described in this part of the spec:
# https://github.com/grpc/grpc/blob/master/doc/http-grpc-status-mapping.md
Expand Down
Loading