|
|
|
@ -918,6 +918,26 @@ bool InteropClient::DoCacheableUnary() { |
|
|
|
|
// second response is a cached copy of the first response
|
|
|
|
|
GPR_ASSERT(response2.payload().body() == response1.payload().body()); |
|
|
|
|
|
|
|
|
|
// Request 3
|
|
|
|
|
// Modify the request body so it will not get a cache hit
|
|
|
|
|
ts = gpr_now(GPR_CLOCK_PRECISE); |
|
|
|
|
timestamp = std::to_string((long long unsigned)ts.tv_nsec); |
|
|
|
|
SimpleRequest request1; |
|
|
|
|
request1.mutable_payload()->set_body(timestamp.c_str(), timestamp.size()); |
|
|
|
|
ClientContext context3; |
|
|
|
|
SimpleResponse response3; |
|
|
|
|
context3.set_cacheable(true); |
|
|
|
|
context3.AddMetadata("x-user-ip", "1.2.3.4"); |
|
|
|
|
Status s3 = |
|
|
|
|
serviceStub_.Get()->CacheableUnaryCall(&context3, request1, &response3); |
|
|
|
|
if (!AssertStatusOk(s3)) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
gpr_log(GPR_DEBUG, "response 3 payload: %s", |
|
|
|
|
response3.payload().body().c_str()); |
|
|
|
|
|
|
|
|
|
// Check that the response is different from the previous response.
|
|
|
|
|
GPR_ASSERT(response3.payload().body() != response1.payload().body()); |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|