Add test cases for 'reason/1'

This commit is contained in:
Feng Lee 2019-09-19 11:16:13 +08:00
parent 3705f4f929
commit 65cb9dbf38
2 changed files with 10 additions and 0 deletions

View File

@ -32,6 +32,10 @@
, on_client_disconnected/4
]).
-ifdef(TEST).
-export([ reason/1 ]).
-endif.
load(Env) ->
emqx_hooks:add('client.connected', {?MODULE, on_client_connected, [Env]}),
emqx_hooks:add('client.disconnected', {?MODULE, on_client_disconnected, [Env]}).

View File

@ -69,6 +69,12 @@ t_mod_presence(_) ->
ok = emqtt:disconnect(C1),
ok = emqx_mod_presence:unload([{qos, ?QOS_1}]).
t_mod_presence_reason(_) ->
?assertEqual(normal, emqx_mod_presence:reason(normal)),
?assertEqual(discarded, emqx_mod_presence:reason({shutdown, discarded})),
?assertEqual(tcp_error, emqx_mod_presence:reason({tcp_error, einval})),
?assertEqual(internal_error, emqx_mod_presence:reason(<<"unknown error">>)).
recv_and_check_presence(ClientId, Presence) ->
{ok, #{qos := ?QOS_1, topic := Topic, payload := Payload}} = receive_publish(100),
?assertMatch([<<"$SYS">>, <<"brokers">>, _Node, <<"clients">>, ClientId, Presence],