test(retainer): testcase for stop_publish_clear_msg

This commit is contained in:
JianBo He 2021-12-01 17:00:43 +08:00
parent 8aaa2e8333
commit e323b66285
1 changed files with 15 additions and 0 deletions

View File

@ -42,6 +42,8 @@ init_per_testcase(TestCase, Config) ->
case TestCase of
t_message_expiry_2 ->
application:set_env(emqx_retainer, expiry_interval, 2000);
t_stop_publish_clear_msg ->
application:set_env(emqx_retainer, stop_publish_clear_msg, true);
_ ->
application:set_env(emqx_retainer, expiry_interval, 0)
end,
@ -173,6 +175,19 @@ t_clean(_) ->
ok = emqtt:disconnect(C1).
t_stop_publish_clear_msg(_) ->
{ok, C1} = emqtt:start_link([{clean_start, true}, {proto_ver, v5}]),
{ok, _} = emqtt:connect(C1),
emqtt:publish(C1, <<"retained/0">>, <<"this is a retained message 0">>, [{qos, 0}, {retain, true}]),
{ok, #{}, [0]} = emqtt:subscribe(C1, <<"retained/#">>, [{qos, 0}, {rh, 0}]),
?assertEqual(1, length(receive_messages(1))),
emqtt:publish(C1, <<"retained/0">>, <<"">>, [{qos, 0}, {retain, true}]),
?assertEqual(0, length(receive_messages(1))),
ok = emqtt:disconnect(C1).
%%--------------------------------------------------------------------
%% Helper functions
%%--------------------------------------------------------------------