aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc/interop-test-descriptions.md
diff options
context:
space:
mode:
authorGravatar Makarand Dharmapurikar <makarandd@google.com>2016-09-27 18:15:54 -0700
committerGravatar Makarand Dharmapurikar <makarandd@google.com>2016-09-27 18:15:54 -0700
commit42511cfd8b7c56c176c819311ea4dd4ade4df960 (patch)
tree02c9b33431a1f3fc2643200de175b1f5d73bc840 /doc/interop-test-descriptions.md
parent1ed0b8e3d72abcc4788e89cab4caa4e8c0083985 (diff)
Addressed review feedback
1. modified documentation 2. changed test slightly to make it more robust to accidental cache hits
Diffstat (limited to 'doc/interop-test-descriptions.md')
-rw-r--r--doc/interop-test-descriptions.md27
1 files changed, 19 insertions, 8 deletions
diff --git a/doc/interop-test-descriptions.md b/doc/interop-test-descriptions.md
index 5b3ad2335c..e3a41b1295 100644
--- a/doc/interop-test-descriptions.md
+++ b/doc/interop-test-descriptions.md
@@ -65,21 +65,21 @@ ensure that the proto serialized to zero bytes.*
This test verifies that gRPC requests marked as cacheable use GET verb instead
of POST, and that server sets appropriate cache control headers for the response
to be cached by a proxy. This interop test requires that the server is behind
-a caching proxy. It is NOT expected to pass if client is accessing the server
-directly.
+a caching proxy. Use of current timestamp in the request prevents accidental
+cache matches left over from previous tests.
Server features:
* [CacheableUnaryCall][]
Procedure:
- 1. Client calls CacheableUnaryCall twice, and compares the two responses.
- The server generates a unique response (timestamp) for each request.
- If the second response was delivered from cache, then both responses will
- be the same.
+ 1. Client calls CacheableUnaryCall with `SimpleRequest` request with payload
+ set to current timestamp.
+ 2. Client calls CacheableUnaryCall with `SimpleRequest` request again
+ immediately with the same payload as the previous request.
Client asserts:
-* call was successful
-* responses are the same.
+* Both calls were successful
+* The payload body of both responses is the same.
### large_unary
@@ -962,6 +962,17 @@ payload body of size `SimpleRequest.response_size` bytes and type as appropriate
for the `SimpleRequest.response_type`. If the server does not support the
`response_type`, then it should fail the RPC with `INVALID_ARGUMENT`.
+### CacheableUnaryCall
+
+Server gets the default Empty proto as the request. It returns the
+SimpleResponse proto with the payload set to current timestamp string.
+In addition it adds
+ 1. cache control headers such that the response can be cached by proxies in
+ the response path. Server should be behind a caching proxy for this test
+ to pass.
+ 2. adds a `x-user-ip` header with `1.2.3.4` to the response. This is done
+ since some proxys such as GFE will not cache requests from localhost.
+
### CompressedResponse
[CompressedResponse]: #compressedresponse