Resolved merge conflicts
diff --git a/doc/interop-test-descriptions.md b/doc/interop-test-descriptions.md
index 3ee5d0f..6115fe1 100644
--- a/doc/interop-test-descriptions.md
+++ b/doc/interop-test-descriptions.md
@@ -483,18 +483,17 @@
* received SimpleResponse.oauth_scope is in `--oauth_scope`
-### Metadata (TODO: fix name)
-
-Status: Not yet implementable
+### custom_metadata
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:
* [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. (TODO: this is not defined)
+* [Echo Metadata][]
Procedure:
1. While sending custom metadata (ascii + binary) in the header, client calls
@@ -509,21 +508,29 @@
}
}
```
+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", value: 0xababab
+ ```
+ 2. Client repeats step 1. with FullDuplexCall instead of UnaryCall.
Asserts:
* call was successful
-* custom metadata is echoed back in the response header.
-* custom metadata is echoed back in the response trailer.
+* 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: Not yet implementable
-
This test verifies unary calls succeed in sending messages, and propagates back
status code and message sent along with the messages.
Server features:
* [UnaryCall][]
+* [FullDuplexCall][]
+* [Echo Status][]
Procedure:
1. Client calls UnaryCall with:
@@ -536,6 +543,8 @@
}
}
```
+2. Client repeats step 1. with FullDuplexCall instead of UnaryCall.
+
Asserts:
* received status code is the same with sent code
@@ -543,21 +552,15 @@
### unimplemented_method
-Status: Not yet implementable
+Status: Ready for implementation. Blocking beta.
-This test verifies calling unimplemented RPC method returns unimplemented
-status.
+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
- }
}
```
@@ -767,6 +770,22 @@
of the size requested containing all zeros and the payload type is
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"` 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