From da5f2544068bf6cbc8977f2c3704bf2330640342 Mon Sep 17 00:00:00 2001 From: Siraaj Khandkar Date: Thu, 20 Aug 2015 10:46:03 -0400 Subject: [PATCH] Test StatsD consumer's send. --- test/beam_stats_consumer_statsd_SUITE.erl | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/test/beam_stats_consumer_statsd_SUITE.erl b/test/beam_stats_consumer_statsd_SUITE.erl index f34d003..47a00f7 100644 --- a/test/beam_stats_consumer_statsd_SUITE.erl +++ b/test/beam_stats_consumer_statsd_SUITE.erl @@ -1,5 +1,7 @@ -module(beam_stats_consumer_statsd_SUITE). +-include_lib("beam_stats/include/beam_stats.hrl"). + -export( [ all/0 , groups/0 @@ -12,6 +14,7 @@ , t_statsd_msg_add_name_prefix/1 , t_statsd_msg_to_bin/1 , t_node_id_to_bin/1 + , t_send/1 ]). -define(statsd_module, beam_stats_consumer_statsd). @@ -31,6 +34,7 @@ groups() -> , t_statsd_msg_add_name_prefix , t_statsd_msg_to_bin , t_node_id_to_bin + , t_send ], Properties = [], [{?GROUP, Properties, Tests}]. @@ -53,3 +57,21 @@ t_statsd_msg_to_bin(_Cfg) -> t_node_id_to_bin(_Cfg) -> ?statsd_module:ct_test__node_id_to_bin(_Cfg). + +t_send(_Cfg) -> + BEAMStats = #beam_stats + { timestamp = {1, 2, 3} + , node_id = 'node_foo@host_bar' + , memory = [{mem_type_foo, 1}] + }, + ServerPort = 8125, + {ok, ServerSocket} = gen_udp:open(ServerPort, [binary, {active, false}]), + BEAMStatsQ = queue:in(BEAMStats, queue:new()), + Options = [{dst_port, ServerPort}], + {_, State1} = beam_stats_consumer_statsd:init(Options), + State2 = beam_stats_consumer_statsd:consume(BEAMStatsQ, State1), + {} = beam_stats_consumer_statsd:terminate(State2), + ResultOfReceive = gen_udp:recv(ServerSocket, 0), + ok = gen_udp:close(ServerSocket), + {ok, {_, _, Data}} = ResultOfReceive, + <<"beam_stats.node_foo_host_bar.mem_type_foo:1|g\n">> = Data. -- 2.20.1