aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorGravatar yangg <yangg@google.com>2014-12-18 10:24:04 -0800
committerGravatar Michael Lumish <mlumish@google.com>2014-12-19 13:14:58 -0800
commitda029e39b6cef1c21982312a5f4943dce1a20c80 (patch)
tree662f1dfab53c4fb845c3cbe729b8b05a34996e5d /test
parent336bf21127fb1e04f37f67467ceea85d8b78aa4a (diff)
Add a test where client side sees a deadline expired status.
The test is not completely right and I filed [] to track it. Change on 2014/12/18 by yangg <yangg@google.com> ------------- Created by MOE: http://code.google.com/p/moe-java MOE_MIGRATED_REVID=82442464
Diffstat (limited to 'test')
-rw-r--r--test/cpp/end2end/end2end_test.cc21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/cpp/end2end/end2end_test.cc b/test/cpp/end2end/end2end_test.cc
index b8f9fcf228..f32f99e048 100644
--- a/test/cpp/end2end/end2end_test.cc
+++ b/test/cpp/end2end/end2end_test.cc
@@ -157,6 +157,27 @@ TEST_F(End2endTest, MultipleRpcs) {
}
}
+// Set a 10us deadline and make sure proper error is returned.
+TEST_F(End2endTest, RpcDeadlineExpires) {
+ std::shared_ptr<ChannelInterface> channel =
+ CreateChannel(server_address_.str());
+ TestService::Stub* stub = TestService::NewStub(channel);
+ EchoRequest request;
+ EchoResponse response;
+ request.set_message("Hello");
+
+ ClientContext context;
+ std::chrono::system_clock::time_point deadline =
+ std::chrono::system_clock::now() + std::chrono::microseconds(10);
+ context.set_absolute_deadline(deadline);
+ Status s = stub->Echo(&context, request, &response);
+ // TODO(yangg) use correct error code when b/18793983 is fixed.
+ // EXPECT_EQ(StatusCode::DEADLINE_EXCEEDED, s.code());
+ EXPECT_EQ(StatusCode::CANCELLED, s.code());
+
+ delete stub;
+}
+
TEST_F(End2endTest, UnimplementedRpc) {
std::shared_ptr<ChannelInterface> channel =
CreateChannel(server_address_.str());