Add test case for http_reporter
diff --git a/test/jaeger_passage_repoter_tests.erl b/test/jaeger_passage_repoter_tests.erl
index 7aa1dd0..7f034bb 100644
--- a/test/jaeger_passage_repoter_tests.erl
+++ b/test/jaeger_passage_repoter_tests.erl
@@ -6,27 +6,72 @@
%%------------------------------------------------------------------------------
%% Test Cases
%%------------------------------------------------------------------------------
-basic_test() ->
+basic_udp_test() ->
{ok, _} = application:ensure_all_started(jaeger_passage),
- %% Starts `test_reporter'
- {ok, Reporter} = jaeger_passage_reporter:start(test_reporter),
- [test_reporter] = jaeger_passage_reporter:which_reporters(),
+ %% Starts `udp_reporter'
+ {ok, Reporter} = jaeger_passage_reporter:start(udp_reporter),
+ [udp_reporter] = jaeger_passage_reporter:which_reporters(),
%% Registers `test_tracer'
Context = jaeger_passage_span_context,
Sampler = passage_sampler_all:new(),
- ok = passage_tracer_registry:register(test_tracer, Context, Sampler, Reporter),
+ ok = passage_tracer_registry:register(udp_tracer, Context, Sampler, Reporter),
%% Starts and finishes spans
- passage_pd:start_span(test_root, [{tracer, test_tracer}]),
+ passage_pd:start_span(test_root, [{tracer, udp_tracer}]),
passage_pd:start_span(test_child),
passage_pd:log(#{message => "Hello World"}),
passage_pd:finish_span(),
passage_pd:finish_span(),
timer:sleep(50),
- ok = jaeger_passage_reporter:stop(test_reporter),
+ ok = jaeger_passage_reporter:stop(udp_reporter),
[] = jaeger_passage_reporter:which_reporters(),
ok = application:stop(jaeger_passage).
+
+basic_http_test() ->
+ {ok, _} = application:ensure_all_started(jaeger_passage),
+
+ %% Starts `http_reporter'
+ {ok, Reporter} = jaeger_passage_reporter:start(http_reporter, [
+ {protocol, http},
+ {http_client, fun http_client/5}
+ ]),
+ [http_reporter] = jaeger_passage_reporter:which_reporters(),
+
+ %% Registers `test_tracer'
+ Context = jaeger_passage_span_context,
+ Sampler = passage_sampler_all:new(),
+ ok = passage_tracer_registry:register(http_tracer, Context, Sampler, Reporter),
+
+ %% Starts and finishes spans
+ passage_pd:start_span(test_root, [{tracer, http_tracer}]),
+ passage_pd:start_span(test_child),
+ passage_pd:log(#{message => "Hello World"}),
+ passage_pd:finish_span(),
+ passage_pd:finish_span(),
+ timer:sleep(50),
+
+ ok = jaeger_passage_reporter:stop(http_reporter),
+ [] = jaeger_passage_reporter:which_reporters(),
+
+ ok = application:stop(jaeger_passage).
+
+error_http_test() ->
+ {ok, _} = application:ensure_all_started(jaeger_passage),
+
+ %% Starts `http_reporter'
+ ?assertMatch({error, {{badarg, _}, _}}, jaeger_passage_reporter:start(http_reporter, [
+ {protocol, http}
+ ])),
+
+ %% Starts `http_reporter'
+ ?assertError(badarg, jaeger_passage_reporter:start(http_reporter, [
+ {protocol, undefined}
+ ])).
+
+
+http_client(_URI, _Method, _Headers, _Encoded, _Options) ->
+ ok.
\ No newline at end of file