aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorGravatar Abhishek Kumar <abhikumar@google.com>2015-04-23 14:59:49 -0700
committerGravatar Abhishek Kumar <abhikumar@google.com>2015-04-23 14:59:49 -0700
commitd774c5cadb7dab2562901d82d55e921b168b637d (patch)
tree020596dd7ad1336d14ab8c9766b64ed8d7ddcc5f /test
parent3afd92ff511f52db3ecf892d9af65053323c89cb (diff)
Test client stream cancellation and fix bug exposed by the test.
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 2d3b405d1c..48174ec127 100644
--- a/test/cpp/end2end/end2end_test.cc
+++ b/test/cpp/end2end/end2end_test.cc
@@ -491,6 +491,27 @@ TEST_F(End2endTest, ServerCancelsRpc) {
EXPECT_TRUE(s.details().empty());
}
+// Client cancels request stream after sending two messages
+TEST_F(End2endTest, ClientCancelsRequestStream) {
+ ResetStub();
+ EchoRequest request;
+ EchoResponse response;
+ ClientContext context;
+ request.set_message("hello");
+
+ auto stream = stub_->RequestStream(&context, &response);
+ EXPECT_TRUE(stream->Write(request));
+ EXPECT_TRUE(stream->Write(request));
+
+ context.TryCancel();
+
+ Status s = stream->Finish();
+ EXPECT_EQ(grpc::StatusCode::CANCELLED, s.code());
+
+ EXPECT_EQ(response.message(), "");
+
+}
+
// Client cancels server stream after sending some messages
TEST_F(End2endTest, ClientCancelsResponseStream) {
ResetStub();