From 52241a78048d84b2ce067948787505623bd0e7f8 Mon Sep 17 00:00:00 2001 From: Feng Lee Date: Wed, 9 Jan 2019 11:48:52 +0800 Subject: [PATCH] Add more test cases for code coverage --- test/emqx_router_SUITE.erl | 29 +++++++++++++++++++++++------ test/emqx_trie_SUITE.erl | 5 +++-- 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/test/emqx_router_SUITE.erl b/test/emqx_router_SUITE.erl index c115fd0cd..439866899 100644 --- a/test/emqx_router_SUITE.erl +++ b/test/emqx_router_SUITE.erl @@ -27,10 +27,13 @@ all() -> groups() -> [{route, [sequence], - [t_add_delete, + [t_mnesia, + t_add_delete, t_do_add_delete, t_match_routes, - t_has_routes]}]. + t_print_routes, + t_has_routes, + t_unexpected]}]. init_per_suite(Config) -> emqx_ct_broker_helpers:run_setup_steps(), @@ -46,18 +49,21 @@ init_per_testcase(_TestCase, Config) -> end_per_testcase(_TestCase, _Config) -> clear_tables(). +t_mnesia(_) -> + %% for coverage + ok = emqx_router:mnesia(copy). + t_add_delete(_) -> - ?R:add_route(<<"a/b/c">>, node()), + ?R:add_route(<<"a/b/c">>), ?R:add_route(<<"a/b/c">>, node()), ?R:add_route(<<"a/+/b">>, node()), ?assertEqual([<<"a/+/b">>, <<"a/b/c">>], lists:sort(?R:topics())), - ?R:delete_route(<<"a/b/c">>), ?R:delete_route(<<"a/+/b">>, node()), ?assertEqual([], ?R:topics()). t_do_add_delete(_) -> - ?R:do_add_route(<<"a/b/c">>, node()), + ?R:do_add_route(<<"a/b/c">>), ?R:do_add_route(<<"a/b/c">>, node()), ?R:do_add_route(<<"a/+/b">>, node()), ?assertEqual([<<"a/+/b">>, <<"a/b/c">>], lists:sort(?R:topics())), @@ -67,7 +73,7 @@ t_do_add_delete(_) -> ?assertEqual([], ?R:topics()). t_match_routes(_) -> - ?R:add_route(<<"a/b/c">>, node()), + ?R:add_route(<<"a/b/c">>), ?R:add_route(<<"a/+/c">>, node()), ?R:add_route(<<"a/b/#">>, node()), ?R:add_route(<<"#">>, node()), @@ -82,11 +88,22 @@ t_match_routes(_) -> ?R:delete_route(<<"#">>, node()), ?assertEqual([], lists:sort(?R:match_routes(<<"a/b/c">>))). +t_print_routes(_) -> + ?R:add_route("+/#"), + ?R:add_route("+/+"), + ?R:print_routes("a/b"). + t_has_routes(_) -> ?R:add_route(<<"devices/+/messages">>, node()), ?assert(?R:has_routes(<<"devices/+/messages">>)), ?R:delete_route(<<"devices/+/messages">>). +t_unexpected(_) -> + Router = emqx_misc:proc_name(?R, 1), + ?assertEqual(ignored, gen_server:call(Router, bad_request)), + ?assertEqual(ok, gen_server:cast(Router, bad_message)), + Router ! bad_info. + clear_tables() -> lists:foreach(fun mnesia:clear_table/1, [emqx_route, emqx_trie, emqx_trie_node]). diff --git a/test/emqx_trie_SUITE.erl b/test/emqx_trie_SUITE.erl index 043ce95f1..f10d13d0a 100644 --- a/test/emqx_trie_SUITE.erl +++ b/test/emqx_trie_SUITE.erl @@ -116,10 +116,11 @@ t_delete2(_) -> Fun = fun() -> ?TRIE:insert(<<"sensor">>), ?TRIE:insert(<<"sensor/1/metric/2">>), - ?TRIE:insert(<<"sensor/1/metric/3">>), + ?TRIE:insert(<<"sensor/+/metric/3">>), ?TRIE:delete(<<"sensor">>), ?TRIE:delete(<<"sensor/1/metric/2">>), - ?TRIE:delete(<<"sensor/1/metric/3">>), + ?TRIE:delete(<<"sensor/+/metric/3">>), + ?TRIE:delete(<<"sensor/+/metric/3">>), {?TRIE:lookup(<<"sensor">>), ?TRIE:lookup(<<"sensor/1">>)} end, ?assertEqual({atomic, {[], []}}, trans(Fun)).