Add more test cases for code coverage
This commit is contained in:
parent
d27c824ed8
commit
52241a7804
|
@ -27,10 +27,13 @@ all() ->
|
||||||
|
|
||||||
groups() ->
|
groups() ->
|
||||||
[{route, [sequence],
|
[{route, [sequence],
|
||||||
[t_add_delete,
|
[t_mnesia,
|
||||||
|
t_add_delete,
|
||||||
t_do_add_delete,
|
t_do_add_delete,
|
||||||
t_match_routes,
|
t_match_routes,
|
||||||
t_has_routes]}].
|
t_print_routes,
|
||||||
|
t_has_routes,
|
||||||
|
t_unexpected]}].
|
||||||
|
|
||||||
init_per_suite(Config) ->
|
init_per_suite(Config) ->
|
||||||
emqx_ct_broker_helpers:run_setup_steps(),
|
emqx_ct_broker_helpers:run_setup_steps(),
|
||||||
|
@ -46,18 +49,21 @@ init_per_testcase(_TestCase, Config) ->
|
||||||
end_per_testcase(_TestCase, _Config) ->
|
end_per_testcase(_TestCase, _Config) ->
|
||||||
clear_tables().
|
clear_tables().
|
||||||
|
|
||||||
|
t_mnesia(_) ->
|
||||||
|
%% for coverage
|
||||||
|
ok = emqx_router:mnesia(copy).
|
||||||
|
|
||||||
t_add_delete(_) ->
|
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/c">>, node()),
|
||||||
?R:add_route(<<"a/+/b">>, node()),
|
?R:add_route(<<"a/+/b">>, node()),
|
||||||
?assertEqual([<<"a/+/b">>, <<"a/b/c">>], lists:sort(?R:topics())),
|
?assertEqual([<<"a/+/b">>, <<"a/b/c">>], lists:sort(?R:topics())),
|
||||||
|
|
||||||
?R:delete_route(<<"a/b/c">>),
|
?R:delete_route(<<"a/b/c">>),
|
||||||
?R:delete_route(<<"a/+/b">>, node()),
|
?R:delete_route(<<"a/+/b">>, node()),
|
||||||
?assertEqual([], ?R:topics()).
|
?assertEqual([], ?R:topics()).
|
||||||
|
|
||||||
t_do_add_delete(_) ->
|
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/c">>, node()),
|
||||||
?R:do_add_route(<<"a/+/b">>, node()),
|
?R:do_add_route(<<"a/+/b">>, node()),
|
||||||
?assertEqual([<<"a/+/b">>, <<"a/b/c">>], lists:sort(?R:topics())),
|
?assertEqual([<<"a/+/b">>, <<"a/b/c">>], lists:sort(?R:topics())),
|
||||||
|
@ -67,7 +73,7 @@ t_do_add_delete(_) ->
|
||||||
?assertEqual([], ?R:topics()).
|
?assertEqual([], ?R:topics()).
|
||||||
|
|
||||||
t_match_routes(_) ->
|
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/+/c">>, node()),
|
||||||
?R:add_route(<<"a/b/#">>, node()),
|
?R:add_route(<<"a/b/#">>, node()),
|
||||||
?R:add_route(<<"#">>, node()),
|
?R:add_route(<<"#">>, node()),
|
||||||
|
@ -82,11 +88,22 @@ t_match_routes(_) ->
|
||||||
?R:delete_route(<<"#">>, node()),
|
?R:delete_route(<<"#">>, node()),
|
||||||
?assertEqual([], lists:sort(?R:match_routes(<<"a/b/c">>))).
|
?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(_) ->
|
t_has_routes(_) ->
|
||||||
?R:add_route(<<"devices/+/messages">>, node()),
|
?R:add_route(<<"devices/+/messages">>, node()),
|
||||||
?assert(?R:has_routes(<<"devices/+/messages">>)),
|
?assert(?R:has_routes(<<"devices/+/messages">>)),
|
||||||
?R:delete_route(<<"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() ->
|
clear_tables() ->
|
||||||
lists:foreach(fun mnesia:clear_table/1, [emqx_route, emqx_trie, emqx_trie_node]).
|
lists:foreach(fun mnesia:clear_table/1, [emqx_route, emqx_trie, emqx_trie_node]).
|
||||||
|
|
||||||
|
|
|
@ -116,10 +116,11 @@ t_delete2(_) ->
|
||||||
Fun = fun() ->
|
Fun = fun() ->
|
||||||
?TRIE:insert(<<"sensor">>),
|
?TRIE:insert(<<"sensor">>),
|
||||||
?TRIE:insert(<<"sensor/1/metric/2">>),
|
?TRIE:insert(<<"sensor/1/metric/2">>),
|
||||||
?TRIE:insert(<<"sensor/1/metric/3">>),
|
?TRIE:insert(<<"sensor/+/metric/3">>),
|
||||||
?TRIE:delete(<<"sensor">>),
|
?TRIE:delete(<<"sensor">>),
|
||||||
?TRIE:delete(<<"sensor/1/metric/2">>),
|
?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">>)}
|
{?TRIE:lookup(<<"sensor">>), ?TRIE:lookup(<<"sensor/1">>)}
|
||||||
end,
|
end,
|
||||||
?assertEqual({atomic, {[], []}}, trans(Fun)).
|
?assertEqual({atomic, {[], []}}, trans(Fun)).
|
||||||
|
|
Loading…
Reference in New Issue