Merge pull request #6573 from k32/fix-retainer-topic-printing

fix(retainer): Fix topic printing
This commit is contained in:
k32 2021-12-29 19:22:20 +01:00 committed by GitHub
commit 2240c3e790
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 36 additions and 22 deletions

View File

@ -1,6 +1,6 @@
{application, emqx_retainer, {application, emqx_retainer,
[{description, "EMQ X Retainer"}, [{description, "EMQ X Retainer"},
{vsn, "4.3.2"}, % strict semver, bump manually! {vsn, "4.3.3"}, % strict semver, bump manually!
{modules, []}, {modules, []},
{registered, [emqx_retainer_sup]}, {registered, [emqx_retainer_sup]},
{applications, [kernel,stdlib]}, {applications, [kernel,stdlib]},

View File

@ -1,15 +1,14 @@
%% -*-: erlang -*- %% -*- mode: erlang -*-
{VSN, {VSN,
[ [{"4.3.2",
{<<"4\\.3\\.[0-1]+">>, [ [{load_module,emqx_retainer_cli,brutal_purge,soft_purge,[]}]},
{load_module, emqx_retainer, brutal_purge, soft_purge, []} {<<"4\\.3\\.[0-1]">>,
]}, [{load_module,emqx_retainer_cli,brutal_purge,soft_purge,[]},
{<<".*">>, []} {load_module,emqx_retainer,brutal_purge,soft_purge,[]}]},
], {<<".*">>,[]}],
[ [{"4.3.2",
{<<"4\\.3\\.[0-1]+">>, [ [{load_module,emqx_retainer_cli,brutal_purge,soft_purge,[]}]},
{load_module, emqx_retainer, brutal_purge, soft_purge, []} {<<"4\\.3\\.[0-1]">>,
]}, [{load_module,emqx_retainer_cli,brutal_purge,soft_purge,[]},
{<<".*">>, []} {load_module,emqx_retainer,brutal_purge,soft_purge,[]}]},
] {<<".*">>,[]}]}.
}.

View File

@ -33,7 +33,9 @@ cmd(["info"]) ->
cmd(["topics"]) -> cmd(["topics"]) ->
case mnesia:dirty_all_keys(?TAB) of case mnesia:dirty_all_keys(?TAB) of
[] -> ignore; [] -> ignore;
Topics -> lists:foreach(fun(Topic) -> emqx_ctl:print("~s~n", [Topic]) end, Topics) Topics -> lists:foreach(fun(Topic) ->
emqx_ctl:print("~s~n", [emqx_topic:join(Topic)])
end, Topics)
end; end;
cmd(["clean"]) -> cmd(["clean"]) ->
@ -55,4 +57,3 @@ cmd(_) ->
unload() -> unload() ->
emqx_ctl:unregister_command(retainer). emqx_ctl:unregister_command(retainer).

View File

@ -23,18 +23,32 @@
all() -> emqx_ct:all(?MODULE). all() -> emqx_ct:all(?MODULE).
init_per_testcase(_TestCase, Config) -> init_per_suite(Config) ->
emqx_ct_helpers:start_apps([emqx_retainer]),
Config.
end_per_suite(_Config) ->
emqx_ct_helpers:stop_apps([emqx_retainer]).
init_per_testcase(TestCase, Config) ->
Config. Config.
end_per_testcase(_TestCase, Config) -> end_per_testcase(_TestCase, Config) ->
Config. emqx_retainer:clean(<<"#">>).
% t_cmd(_) -> t_cmd(_) ->
% error('TODO'). {ok, C1} = emqtt:start_link([{clean_start, true}, {proto_ver, v5}]),
{ok, _} = emqtt:connect(C1),
emqtt:publish(C1, <<"/retained">>, <<"this is a retained message">>, [{qos, 0}, {retain, true}]),
emqtt:publish(C1, <<"/retained/2">>, <<"this is a retained message">>, [{qos, 0}, {retain, true}]),
timer:sleep(1000),
?assertMatch(ok, emqx_retainer_cli:cmd(["topics"])),
?assertMatch(ok, emqx_retainer_cli:cmd(["info"])),
?assertMatch(ok, emqx_retainer_cli:cmd(["clean", "retained"])),
?assertMatch(ok, emqx_retainer_cli:cmd(["clean"])).
% t_unload(_) -> % t_unload(_) ->
% error('TODO'). % error('TODO').
% t_load(_) -> % t_load(_) ->
% error('TODO'). % error('TODO').