diff --git a/BUILD b/BUILD index a9ed766c520..42210ae7199 100644 --- a/BUILD +++ b/BUILD @@ -2518,6 +2518,7 @@ grpc_cc_library( "include/grpc++/test/mock_stream.h", "include/grpc++/test/server_context_test_spouse.h", "include/grpcpp/test/channel_test_peer.h", + "include/grpcpp/test/client_context_test_peer.h", "include/grpcpp/test/default_reactor_test_peer.h", "include/grpcpp/test/mock_stream.h", "include/grpcpp/test/server_context_test_spouse.h", diff --git a/CMakeLists.txt b/CMakeLists.txt index 2f64c475146..f9e2dea1bbe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -811,6 +811,7 @@ if(gRPC_BUILD_TESTS) if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) add_dependencies(buildtests_cxx client_channel_stress_test) endif() + add_dependencies(buildtests_cxx client_context_test_peer_test) add_dependencies(buildtests_cxx client_interceptors_end2end_test) if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) add_dependencies(buildtests_cxx client_lb_end2end_test) @@ -903,6 +904,7 @@ if(gRPC_BUILD_TESTS) endif() add_dependencies(buildtests_cxx server_chttp2_test) add_dependencies(buildtests_cxx server_context_test_spouse_test) + add_dependencies(buildtests_cxx server_early_return_test) add_dependencies(buildtests_cxx server_interceptors_end2end_test) add_dependencies(buildtests_cxx server_registered_method_bad_client_test) @@ -3245,6 +3247,7 @@ foreach(_hdr include/grpc++/test/mock_stream.h include/grpc++/test/server_context_test_spouse.h include/grpcpp/test/channel_test_peer.h + include/grpcpp/test/client_context_test_peer.h include/grpcpp/test/default_reactor_test_peer.h include/grpcpp/test/mock_stream.h include/grpcpp/test/server_context_test_spouse.h diff --git a/build_autogenerated.yaml b/build_autogenerated.yaml index 2e7c4fa7d48..cd1ab85cdc6 100644 --- a/build_autogenerated.yaml +++ b/build_autogenerated.yaml @@ -2436,6 +2436,7 @@ libs: - include/grpc++/test/mock_stream.h - include/grpc++/test/server_context_test_spouse.h - include/grpcpp/test/channel_test_peer.h + - include/grpcpp/test/client_context_test_peer.h - include/grpcpp/test/default_reactor_test_peer.h - include/grpcpp/test/mock_stream.h - include/grpcpp/test/server_context_test_spouse.h diff --git a/include/grpcpp/test/client_context_test_peer.h b/include/grpcpp/test/client_context_test_peer.h index d41c85b9a20..4631873bcc8 100644 --- a/include/grpcpp/test/client_context_test_peer.h +++ b/include/grpcpp/test/client_context_test_peer.h @@ -32,13 +32,14 @@ class ClientContextTestPeer { explicit ClientContextTestPeer(ClientContext* const ctx) : ctx_(ctx) {} /// Inject metadata to the ClientContext for the test. The test peer - /// ##must be alive when a ClientContext::GetServerInitialMetadata is - /// called. - void AddMetadata(const std::string& key, const std::string& value) { - initial_metadata_storage_.insert( + /// must be alive when a ClientContext::GetServerInitialMetadata is called. + void AddServerInitialMetadata(const std::string& key, + const std::string& value) { + server_initial_metadata_storage_.insert( std::pair(key, value)); + ctx_->initial_metadata_received_ = true; ctx_->recv_initial_metadata_.map()->clear(); - for (const auto& item : initial_metadata_storage_) { + for (const auto& item : server_initial_metadata_storage_) { ctx_->recv_initial_metadata_.map()->insert( std::pair( item.first.c_str(), @@ -52,7 +53,7 @@ class ClientContextTestPeer { private: ClientContext* const ctx_; // not owned - std::multimap initial_metadata_storage_; + std::multimap server_initial_metadata_storage_; }; } // namespace testing diff --git a/test/cpp/test/BUILD b/test/cpp/test/BUILD index e970c6b752c..01ebb761dd3 100644 --- a/test/cpp/test/BUILD +++ b/test/cpp/test/BUILD @@ -21,6 +21,22 @@ grpc_package( visibility = "public", ) +grpc_cc_test( + name = "client_context_test_peer_test", + srcs = ["client_context_test_peer_test.cc"], + external_deps = [ + "gtest", + ], + deps = [ + "//:gpr", + "//:grpc", + "//:grpc++", + "//:grpc++_test", + "//test/core/util:grpc_test_util", + "//test/cpp/util:test_util", + ], +) + grpc_cc_test( name = "server_context_test_spouse_test", srcs = ["server_context_test_spouse_test.cc"],