aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/cpp/util/cli_call_test.cc
diff options
context:
space:
mode:
authorGravatar Yang Gao <yangg@google.com>2015-06-16 00:43:25 -0700
committerGravatar Yang Gao <yangg@google.com>2015-06-16 00:43:25 -0700
commit102eccb63238f2b40e89d2ec1ed93a7771a82798 (patch)
tree08d6e3b841ba37ccf88fbf18281115bbb062d01f /test/cpp/util/cli_call_test.cc
parentac366f9c2e3736815c4445baa4ad4745d2b0b511 (diff)
Support sending and showing received metadata in grpc_cli
Diffstat (limited to 'test/cpp/util/cli_call_test.cc')
-rw-r--r--test/cpp/util/cli_call_test.cc20
1 files changed, 19 insertions, 1 deletions
diff --git a/test/cpp/util/cli_call_test.cc b/test/cpp/util/cli_call_test.cc
index 457a5e77de..fb6e926367 100644
--- a/test/cpp/util/cli_call_test.cc
+++ b/test/cpp/util/cli_call_test.cc
@@ -60,6 +60,14 @@ class TestServiceImpl : public ::grpc::cpp::test::util::TestService::Service {
public:
Status Echo(ServerContext* context, const EchoRequest* request,
EchoResponse* response) GRPC_OVERRIDE {
+ if (!context->client_metadata().empty()) {
+ for (std::multimap<grpc::string, grpc::string>::const_iterator iter =
+ context->client_metadata().begin();
+ iter != context->client_metadata().end(); ++iter) {
+ context->AddInitialMetadata(iter->first, iter->second);
+ }
+ }
+ context->AddTrailingMetadata("trailing_key", "trailing_value");
response->set_message(request->message());
return Status::OK;
}
@@ -106,6 +114,7 @@ TEST_F(CliCallTest, SimpleRpc) {
request.set_message("Hello");
ClientContext context;
+ context.AddMetadata("key1", "val1");
Status s = stub_->Echo(&context, request, &response);
EXPECT_EQ(response.message(), request.message());
EXPECT_TRUE(s.IsOk());
@@ -114,8 +123,17 @@ TEST_F(CliCallTest, SimpleRpc) {
grpc::string request_bin, response_bin, expected_response_bin;
EXPECT_TRUE(request.SerializeToString(&request_bin));
EXPECT_TRUE(response.SerializeToString(&expected_response_bin));
- CliCall::Call(channel_, kMethod, request_bin, &response_bin);
+ std::multimap<grpc::string, grpc::string> client_metadata,
+ server_initial_metadata, server_trailing_metadata;
+ client_metadata.insert(std::pair<grpc::string, grpc::string>("key1", "val1"));
+ Status s2 = CliCall::Call(channel_, kMethod, request_bin, &response_bin,
+ client_metadata, &server_initial_metadata,
+ &server_trailing_metadata);
+ EXPECT_TRUE(s2.IsOk());
+
EXPECT_EQ(expected_response_bin, response_bin);
+ EXPECT_EQ(context.GetServerInitialMetadata(), server_initial_metadata);
+ EXPECT_EQ(context.GetServerTrailingMetadata(), server_trailing_metadata);
}
} // namespace testing