diff options
author | Abhishek Kumar <abhikumar@google.com> | 2015-04-23 14:59:49 -0700 |
---|---|---|
committer | Abhishek Kumar <abhikumar@google.com> | 2015-04-23 14:59:49 -0700 |
commit | d774c5cadb7dab2562901d82d55e921b168b637d (patch) | |
tree | 020596dd7ad1336d14ab8c9766b64ed8d7ddcc5f /test/cpp/end2end/end2end_test.cc | |
parent | 3afd92ff511f52db3ecf892d9af65053323c89cb (diff) |
Test client stream cancellation and fix bug exposed by the test.
Diffstat (limited to 'test/cpp/end2end/end2end_test.cc')
-rw-r--r-- | test/cpp/end2end/end2end_test.cc | 21 |
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(); |