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,
[{description, "EMQ X Retainer"},
{vsn, "4.3.2"}, % strict semver, bump manually!
{vsn, "4.3.3"}, % strict semver, bump manually!
{modules, []},
{registered, [emqx_retainer_sup]},
{applications, [kernel,stdlib]},

View File

@ -1,15 +1,14 @@
%% -*-: erlang -*-
%% -*- mode: erlang -*-
{VSN,
[
{<<"4\\.3\\.[0-1]+">>, [
{load_module, emqx_retainer, brutal_purge, soft_purge, []}
]},
{<<".*">>, []}
],
[
{<<"4\\.3\\.[0-1]+">>, [
{load_module, emqx_retainer, brutal_purge, soft_purge, []}
]},
{<<".*">>, []}
]
}.
[{"4.3.2",
[{load_module,emqx_retainer_cli,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",
[{load_module,emqx_retainer_cli,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"]) ->
case mnesia:dirty_all_keys(?TAB) of
[] -> 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;
cmd(["clean"]) ->
@ -55,4 +57,3 @@ cmd(_) ->
unload() ->
emqx_ctl:unregister_command(retainer).

View File

@ -23,18 +23,32 @@
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.
end_per_testcase(_TestCase, Config) ->
Config.
emqx_retainer:clean(<<"#">>).
% t_cmd(_) ->
% error('TODO').
t_cmd(_) ->
{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(_) ->
% error('TODO').
% t_load(_) ->
% error('TODO').