Parcourir la source

test(delayed): add enable/disable test for delayed

firest il y a 3 ans
Parent
commit
3429eaabcd
1 fichiers modifiés avec 14 ajouts et 1 suppressions
  1. 14 1
      apps/emqx_modules/test/emqx_delayed_SUITE.erl

+ 14 - 1
apps/emqx_modules/test/emqx_delayed_SUITE.erl

@@ -55,13 +55,26 @@ end_per_testcase(_Case, _Config) ->
 %% Test cases
 %% Test cases
 %%--------------------------------------------------------------------
 %%--------------------------------------------------------------------
 
 
-t_load_case(_) ->
+t_enable_disable_case(_) ->
+    emqx_delayed:disable(),
     Hooks = emqx_hooks:lookup('message.publish'),
     Hooks = emqx_hooks:lookup('message.publish'),
     MFA = {emqx_delayed, on_message_publish, []},
     MFA = {emqx_delayed, on_message_publish, []},
     ?assertEqual(false, lists:keyfind(MFA, 2, Hooks)),
     ?assertEqual(false, lists:keyfind(MFA, 2, Hooks)),
+
     ok = emqx_delayed:enable(),
     ok = emqx_delayed:enable(),
     Hooks1 = emqx_hooks:lookup('message.publish'),
     Hooks1 = emqx_hooks:lookup('message.publish'),
     ?assertNotEqual(false, lists:keyfind(MFA, 2, Hooks1)),
     ?assertNotEqual(false, lists:keyfind(MFA, 2, Hooks1)),
+
+    Ts0 = integer_to_binary(erlang:system_time(second) + 10),
+    DelayedMsg0 = emqx_message:make(
+        ?MODULE, 1, <<"$delayed/", Ts0/binary, "/publish">>, <<"delayed_abs">>
+    ),
+    _ = on_message_publish(DelayedMsg0),
+    ?assertMatch(#{data := Datas} when Datas =/= [], emqx_delayed:list(#{})),
+
+    emqx_delayed:disable(),
+    ?assertEqual(false, lists:keyfind(MFA, 2, Hooks)),
+    ?assertMatch(#{data := []}, emqx_delayed:list(#{})),
     ok.
     ok.
 
 
 t_delayed_message(_) ->
 t_delayed_message(_) ->