From 0738dd41e44bc941859c83b63198fedce73f901b Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Tue, 21 Jul 2015 11:30:59 -0700 Subject: [PATCH] Addressed review comments Added server feature spec to echo metadata. Clarified client spec for testing metadata. Removed Status for tests that are now ready for implementation. Modified the spec for UnimplementedCall to take an Empty request. --- doc/interop-test-descriptions.md | 39 +++++++++++++++----------------- 1 file changed, 18 insertions(+), 21 deletions(-) diff --git a/doc/interop-test-descriptions.md b/doc/interop-test-descriptions.md index 4f32ab2822017..41ebc6bbe8fdd 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