diff --git a/doc/interop-test-descriptions.md b/doc/interop-test-descriptions.md index 4f32ab28220175fd1c6caeaa20af681e65f44345..41ebc6bbe8fdd7348af738ea7171445d4787bf69 100644 --- a/doc/interop-test-descriptions.md +++ b/doc/interop-test-descriptions.md @@ -394,8 +394,6 @@ Asserts: ### custom_metadata -Status: Ready for implementation, beta requirement. - This test verifies that custom metadata in either binary or ascii format can be sent as initial-metadata by the client and as both initial- and trailing-metadata by the server. @@ -404,8 +402,7 @@ Server features: * [UnaryCall][] * [FullDuplexCall][] * [Compressable Payload][] -* Ability to receive custom metadata from client in header and send custom data - back to client in both header and trailer. +* [Echo Metadata][] Procedure: 1. While sending custom metadata (ascii + binary) in the header, client calls @@ -420,25 +417,22 @@ Procedure: } } ``` -The client attaches custom metadata with the following keys: +The client attaches custom metadata with the following keys and values: ``` - "x-grpc-test-echo-initial" - or - "x-grpc-test-echo-trailing" + key: "x-grpc-test-echo-initial", value: "test_initial_metadata_value" + key: "x-grpc-test-echo-trailing", value: 0xababab ``` 2. Client repeats step 1. with FullDuplexCall instead of UnaryCall. Asserts: * call was successful -* metadata with key `"x-grpc-test-echo-initial"` is received in the initial metadata. -* metadata with key `"x-grpc-test-echo-trailing"` is received in the trailing metadata. +* metadata with key `"x-grpc-test-echo-initial"` and value `"test_initial_metadata_value"`is received in the initial metadata. +* metadata with key `"x-grpc-test-echo-trailing"` and value `0xababab` is received in the trailing metadata. ### status_code_and_message -Status: Ready for implementation, beta requirement. - This test verifies unary calls succeed in sending messages, and propagates back status code and message sent along with the messages. @@ -472,15 +466,10 @@ Status: Ready for implementation. Blocking beta. This test verifies calling unimplemented RPC method returns the UNIMPLEMENTED status code. Procedure: -* Client calls UnimplementedCall with: +* Client calls UnimplementedCall with an empty request (defined as `grpc.testing.Empty`): ``` { - response_type: COMPRESSABLE - response_size: 314159 - payload:{ - body: 271828 bytes of zeros - } } ``` @@ -697,11 +686,19 @@ COMPRESSABLE. ### Echo Status [Echo Status]: #echo-status -When the client sends a response_status in the request payload, the server returns -exactly the status code and messsage contained within said response_status. This -can be used by clients to verify correct handling of different status codes and +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"` 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-responseparametersinterval_us