diff options
author | ncteisen <ncteisen@gmail.com> | 2018-07-18 18:31:09 -0700 |
---|---|---|
committer | ncteisen <ncteisen@gmail.com> | 2018-07-19 08:15:49 -0700 |
commit | bbee13661c82c13e2f1b728c94f9535112f54d92 (patch) | |
tree | ed60505ea44cdde179e837ff13050445afe7809b /test | |
parent | 481c1d57e7fc92f74c79b9aa0f7c8f0eaa51000b (diff) |
Add channelz subchannel support
Diffstat (limited to 'test')
-rw-r--r-- | test/core/channel/channelz_test.cc | 29 | ||||
-rw-r--r-- | test/cpp/util/channel_trace_proto_helper.cc | 4 | ||||
-rw-r--r-- | test/cpp/util/channel_trace_proto_helper.h | 1 |
3 files changed, 34 insertions, 0 deletions
diff --git a/test/core/channel/channelz_test.cc b/test/core/channel/channelz_test.cc index ad5f86d934..b8e65ebfb3 100644 --- a/test/core/channel/channelz_test.cc +++ b/test/core/channel/channelz_test.cc @@ -163,6 +163,14 @@ void ValidateChannel(ChannelNode* channel, validate_channel_data_args args) { gpr_free(core_api_json_str); } +void ValidateSubchannel(SubchannelNode* subchannel, + validate_channel_data_args args) { + char* json_str = subchannel->RenderJsonString(); + grpc::testing::ValidateSubchannelProtoJsonTranslation(json_str); + ValidateCounters(json_str, args); + gpr_free(json_str); +} + grpc_millis GetLastCallStartedMillis(ChannelNode* channel) { ChannelNodePeer peer(channel); return peer.last_call_started_millis(); @@ -275,8 +283,29 @@ TEST(ChannelzGetTopChannelsTest, InternalChannelTest) { grpc_channel_destroy(internal_channel); } +class ChannelzSubchannelTest : public ::testing::TestWithParam<size_t> {}; + +TEST_P(ChannelzSubchannelTest, BasicTest) { + grpc_core::ExecCtx exec_ctx; + RefCountedPtr<SubchannelNode> channelz_subchannel = + MakeRefCounted<SubchannelNode>(GetParam()); + channelz_subchannel->RecordCallStarted(); + channelz_subchannel->RecordCallFailed(); + channelz_subchannel->RecordCallSucceeded(); + ValidateSubchannel(channelz_subchannel.get(), {1, 1, 1}); + channelz_subchannel->RecordCallStarted(); + channelz_subchannel->RecordCallFailed(); + channelz_subchannel->RecordCallSucceeded(); + channelz_subchannel->RecordCallStarted(); + channelz_subchannel->RecordCallFailed(); + channelz_subchannel->RecordCallSucceeded(); + ValidateSubchannel(channelz_subchannel.get(), {3, 3, 3}); +} + INSTANTIATE_TEST_CASE_P(ChannelzChannelTestSweep, ChannelzChannelTest, ::testing::Values(0, 1, 2, 6, 10, 15)); +INSTANTIATE_TEST_CASE_P(ChannelzSubchannelTestSweep, ChannelzSubchannelTest, + ::testing::Values(0, 1, 10, 15)); } // namespace testing } // namespace channelz diff --git a/test/cpp/util/channel_trace_proto_helper.cc b/test/cpp/util/channel_trace_proto_helper.cc index b4704bfe6a..e416a0375f 100644 --- a/test/cpp/util/channel_trace_proto_helper.cc +++ b/test/cpp/util/channel_trace_proto_helper.cc @@ -82,5 +82,9 @@ void ValidateGetChannelResponseProtoJsonTranslation(char* json_c_str) { json_c_str); } +void ValidateSubchannelProtoJsonTranslation(char* json_c_str) { + VaidateProtoJsonTranslation<grpc::channelz::v1::Subchannel>(json_c_str); +} + } // namespace testing } // namespace grpc diff --git a/test/cpp/util/channel_trace_proto_helper.h b/test/cpp/util/channel_trace_proto_helper.h index 18e3d54b6b..a1ebbcd110 100644 --- a/test/cpp/util/channel_trace_proto_helper.h +++ b/test/cpp/util/channel_trace_proto_helper.h @@ -26,6 +26,7 @@ void ValidateChannelTraceProtoJsonTranslation(char* json_c_str); void ValidateChannelProtoJsonTranslation(char* json_c_str); void ValidateGetTopChannelsResponseProtoJsonTranslation(char* json_c_str); void ValidateGetChannelResponseProtoJsonTranslation(char* json_c_str); +void ValidateSubchannelProtoJsonTranslation(char* json_c_str); } // namespace testing } // namespace grpc |