|
|
@ -483,18 +483,17 @@ library to obtain the authorization token |
|
|
|
* received SimpleResponse.oauth_scope is in `--oauth_scope` |
|
|
|
* received SimpleResponse.oauth_scope is in `--oauth_scope` |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Metadata (TODO: fix name) |
|
|
|
### custom_metadata |
|
|
|
|
|
|
|
|
|
|
|
Status: Not yet implementable |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This test verifies that custom metadata in either binary or ascii format can be |
|
|
|
This test verifies that custom metadata in either binary or ascii format can be |
|
|
|
sent in header and trailer. |
|
|
|
sent as initial-metadata by the client and as both initial- and trailing-metadata |
|
|
|
|
|
|
|
by the server. |
|
|
|
|
|
|
|
|
|
|
|
Server features: |
|
|
|
Server features: |
|
|
|
* [UnaryCall][] |
|
|
|
* [UnaryCall][] |
|
|
|
|
|
|
|
* [FullDuplexCall][] |
|
|
|
* [Compressable Payload][] |
|
|
|
* [Compressable Payload][] |
|
|
|
* Ability to receive custom metadata from client in header and send custom data |
|
|
|
* [Echo Metadata][] |
|
|
|
back to client in both header and trailer. (TODO: this is not defined) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Procedure: |
|
|
|
Procedure: |
|
|
|
1. While sending custom metadata (ascii + binary) in the header, client calls |
|
|
|
1. While sending custom metadata (ascii + binary) in the header, client calls |
|
|
@ -509,21 +508,29 @@ Procedure: |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
``` |
|
|
|
``` |
|
|
|
|
|
|
|
The client attaches custom metadata with the following keys and values: |
|
|
|
|
|
|
|
``` |
|
|
|
|
|
|
|
key: "x-grpc-test-echo-initial", value: "test_initial_metadata_value" |
|
|
|
|
|
|
|
key: "x-grpc-test-echo-trailing-bin", value: 0xababab |
|
|
|
|
|
|
|
``` |
|
|
|
|
|
|
|
2. Client repeats step 1. with FullDuplexCall instead of UnaryCall. |
|
|
|
|
|
|
|
|
|
|
|
Asserts: |
|
|
|
Asserts: |
|
|
|
* call was successful |
|
|
|
* call was successful |
|
|
|
* custom metadata is echoed back in the response header. |
|
|
|
* metadata with key `"x-grpc-test-echo-initial"` and value `"test_initial_metadata_value"`is received in the initial metadata. |
|
|
|
* custom metadata is echoed back in the response trailer. |
|
|
|
* metadata with key `"x-grpc-test-echo-trailing-bin"` and value `0xababab` is received in the trailing metadata. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### status_code_and_message |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Status: Not yet implementable |
|
|
|
### status_code_and_message |
|
|
|
|
|
|
|
|
|
|
|
This test verifies unary calls succeed in sending messages, and propagates back |
|
|
|
This test verifies unary calls succeed in sending messages, and propagates back |
|
|
|
status code and message sent along with the messages. |
|
|
|
status code and message sent along with the messages. |
|
|
|
|
|
|
|
|
|
|
|
Server features: |
|
|
|
Server features: |
|
|
|
* [UnaryCall][] |
|
|
|
* [UnaryCall][] |
|
|
|
|
|
|
|
* [FullDuplexCall][] |
|
|
|
|
|
|
|
* [Echo Status][] |
|
|
|
|
|
|
|
|
|
|
|
Procedure: |
|
|
|
Procedure: |
|
|
|
1. Client calls UnaryCall with: |
|
|
|
1. Client calls UnaryCall with: |
|
|
@ -536,6 +543,8 @@ Procedure: |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
``` |
|
|
|
``` |
|
|
|
|
|
|
|
2. Client repeats step 1. with FullDuplexCall instead of UnaryCall. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Asserts: |
|
|
|
Asserts: |
|
|
|
* received status code is the same with sent code |
|
|
|
* received status code is the same with sent code |
|
|
@ -543,21 +552,15 @@ Asserts: |
|
|
|
|
|
|
|
|
|
|
|
### unimplemented_method |
|
|
|
### unimplemented_method |
|
|
|
|
|
|
|
|
|
|
|
Status: Not yet implementable |
|
|
|
Status: Ready for implementation. Blocking beta. |
|
|
|
|
|
|
|
|
|
|
|
This test verifies calling unimplemented RPC method returns unimplemented |
|
|
|
This test verifies calling unimplemented RPC method returns the UNIMPLEMENTED status code. |
|
|
|
status. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Procedure: |
|
|
|
Procedure: |
|
|
|
* Client calls UnimplementedCall with: |
|
|
|
* Client calls `grpc.testing.UnimplementedService/UnimplementedCall` with an empty request (defined as `grpc.testing.Empty`): |
|
|
|
|
|
|
|
|
|
|
|
``` |
|
|
|
``` |
|
|
|
{ |
|
|
|
{ |
|
|
|
response_type: COMPRESSABLE |
|
|
|
|
|
|
|
response_size: 314159 |
|
|
|
|
|
|
|
payload:{ |
|
|
|
|
|
|
|
body: 271828 bytes of zeros |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
``` |
|
|
|
``` |
|
|
|
|
|
|
|
|
|
|
@ -767,6 +770,22 @@ When the client requests COMPRESSABLE payload, the response includes a payload |
|
|
|
of the size requested containing all zeros and the payload type is |
|
|
|
of the size requested containing all zeros and the payload type is |
|
|
|
COMPRESSABLE. |
|
|
|
COMPRESSABLE. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Echo Status |
|
|
|
|
|
|
|
[Echo Status]: #echo-status |
|
|
|
|
|
|
|
When the client sends a response_status in the request payload, the server closes |
|
|
|
|
|
|
|
the stream with the status code and messsage contained within said response_status. |
|
|
|
|
|
|
|
The server will not process any further messages on the stream sent by the client. |
|
|
|
|
|
|
|
This can be used by clients to verify correct handling of different status codes and |
|
|
|
|
|
|
|
associated status messages end-to-end. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Echo Metadata |
|
|
|
|
|
|
|
[Echo Metadata]: #echo-metadata |
|
|
|
|
|
|
|
When the client sends metadata with the key `"x-grpc-test-echo-initial"` with its |
|
|
|
|
|
|
|
request, the server sends back exactly this key and the corresponding value back to |
|
|
|
|
|
|
|
the client as part of initial metadata. When the client sends metadata with the key |
|
|
|
|
|
|
|
`"x-grpc-test-echo-trailing-bin"` with its request, the server sends back exactly this |
|
|
|
|
|
|
|
key and the corresponding value back to the client as trailing metadata. |
|
|
|
|
|
|
|
|
|
|
|
### Observe ResponseParameters.interval_us |
|
|
|
### Observe ResponseParameters.interval_us |
|
|
|
[Observe ResponseParameters.interval_us]: #observe-responseparametersinterval_us |
|
|
|
[Observe ResponseParameters.interval_us]: #observe-responseparametersinterval_us |
|
|
|
|
|
|
|
|
|
|
|