diff options
author | 2018-10-25 22:25:49 -0700 | |
---|---|---|
committer | 2018-10-25 22:25:49 -0700 | |
commit | 560963bd8bff262ae2db420ce31536ae7ec62311 (patch) | |
tree | 9537b2409111920fa2f0ec47bcec62c481eee664 /test/cpp/end2end | |
parent | 312feb4202b6b5b1b5049102cb8b4b4ebac44551 (diff) |
Add sync unknown method test
Diffstat (limited to 'test/cpp/end2end')
-rw-r--r-- | test/cpp/end2end/server_interceptors_end2end_test.cc | 45 |
1 files changed, 44 insertions, 1 deletions
diff --git a/test/cpp/end2end/server_interceptors_end2end_test.cc b/test/cpp/end2end/server_interceptors_end2end_test.cc index 49e4f13670..3c7e0df042 100644 --- a/test/cpp/end2end/server_interceptors_end2end_test.cc +++ b/test/cpp/end2end/server_interceptors_end2end_test.cc @@ -559,7 +559,7 @@ TEST_F(ServerInterceptorsAsyncEnd2endTest, UnimplementedRpcTest) { EXPECT_EQ("", recv_status.error_message()); // Make sure all 20 dummy interceptors were run - // EXPECT_EQ(DummyInterceptor::GetNumTimesRun(), 20); + EXPECT_EQ(DummyInterceptor::GetNumTimesRun(), 20); server->Shutdown(); cq->Shutdown(); @@ -570,6 +570,49 @@ TEST_F(ServerInterceptorsAsyncEnd2endTest, UnimplementedRpcTest) { grpc_recycle_unused_port(port); } +class ServerInterceptorsSyncUnimplementedEnd2endTest : public ::testing::Test { +}; + +TEST_F(ServerInterceptorsSyncUnimplementedEnd2endTest, UnimplementedRpcTest) { + DummyInterceptor::Reset(); + int port = grpc_pick_unused_port_or_die(); + string server_address = "localhost:" + std::to_string(port); + ServerBuilder builder; + TestServiceImpl service; + builder.RegisterService(&service); + builder.AddListeningPort(server_address, InsecureServerCredentials()); + std::vector<std::unique_ptr<experimental::ServerInterceptorFactoryInterface>> + creators; + for (auto i = 0; i < 20; i++) { + creators.push_back(std::unique_ptr<DummyInterceptorFactory>( + new DummyInterceptorFactory())); + } + builder.experimental().SetInterceptorCreators(std::move(creators)); + auto server = builder.BuildAndStart(); + + ChannelArguments args; + std::shared_ptr<Channel> channel = + CreateChannel(server_address, InsecureChannelCredentials()); + std::unique_ptr<grpc::testing::UnimplementedEchoService::Stub> stub; + stub = grpc::testing::UnimplementedEchoService::NewStub(channel); + EchoRequest send_request; + EchoResponse recv_response; + + ClientContext cli_ctx; + send_request.set_message("Hello"); + Status recv_status = + stub->Unimplemented(&cli_ctx, send_request, &recv_response); + + EXPECT_EQ(StatusCode::UNIMPLEMENTED, recv_status.error_code()); + EXPECT_EQ("", recv_status.error_message()); + + // Make sure all 20 dummy interceptors were run + EXPECT_EQ(DummyInterceptor::GetNumTimesRun(), 20); + + server->Shutdown(); + grpc_recycle_unused_port(port); +} + } // namespace } // namespace testing } // namespace grpc |