From c0b15c402b7bfb17d497292c639001332e521473 Mon Sep 17 00:00:00 2001 From: Zhongwen Deng Date: Tue, 30 May 2023 10:28:00 +0800 Subject: [PATCH] test: add test for delayed update --- .../src/emqx_auto_subscribe.app.src | 2 +- .../src/emqx_auto_subscribe.erl | 2 ++ apps/emqx_modules/src/emqx_delayed.erl | 1 + apps/emqx_modules/src/emqx_modules.app.src | 2 +- apps/emqx_modules/test/emqx_delayed_SUITE.erl | 15 +++++++++++++++ 5 files changed, 20 insertions(+), 2 deletions(-) diff --git a/apps/emqx_auto_subscribe/src/emqx_auto_subscribe.app.src b/apps/emqx_auto_subscribe/src/emqx_auto_subscribe.app.src index d6f6f4058..1296996b6 100644 --- a/apps/emqx_auto_subscribe/src/emqx_auto_subscribe.app.src +++ b/apps/emqx_auto_subscribe/src/emqx_auto_subscribe.app.src @@ -1,7 +1,7 @@ %% -*- mode: erlang -*- {application, emqx_auto_subscribe, [ {description, "Auto subscribe Application"}, - {vsn, "0.1.4"}, + {vsn, "0.1.5"}, {registered, []}, {mod, {emqx_auto_subscribe_app, []}}, {applications, [ diff --git a/apps/emqx_auto_subscribe/src/emqx_auto_subscribe.erl b/apps/emqx_auto_subscribe/src/emqx_auto_subscribe.erl index 7453eabdb..32892992a 100644 --- a/apps/emqx_auto_subscribe/src/emqx_auto_subscribe.erl +++ b/apps/emqx_auto_subscribe/src/emqx_auto_subscribe.erl @@ -18,6 +18,8 @@ -include_lib("emqx/include/emqx_hooks.hrl"). +-behaviour(emqx_config_handler). + -define(HOOK_POINT, 'client.connected'). -define(MAX_AUTO_SUBSCRIBE, 20). diff --git a/apps/emqx_modules/src/emqx_delayed.erl b/apps/emqx_modules/src/emqx_delayed.erl index 85313c181..5a4f1fc3e 100644 --- a/apps/emqx_modules/src/emqx_delayed.erl +++ b/apps/emqx_modules/src/emqx_delayed.erl @@ -17,6 +17,7 @@ -module(emqx_delayed). -behaviour(gen_server). +-behaviour(emqx_config_handler). -include_lib("emqx/include/emqx.hrl"). -include_lib("emqx/include/types.hrl"). diff --git a/apps/emqx_modules/src/emqx_modules.app.src b/apps/emqx_modules/src/emqx_modules.app.src index 078bed0d7..55995fea4 100644 --- a/apps/emqx_modules/src/emqx_modules.app.src +++ b/apps/emqx_modules/src/emqx_modules.app.src @@ -1,7 +1,7 @@ %% -*- mode: erlang -*- {application, emqx_modules, [ {description, "EMQX Modules"}, - {vsn, "5.0.15"}, + {vsn, "5.0.16"}, {modules, []}, {applications, [kernel, stdlib, emqx, emqx_ctl]}, {mod, {emqx_modules_app, []}}, diff --git a/apps/emqx_modules/test/emqx_delayed_SUITE.erl b/apps/emqx_modules/test/emqx_delayed_SUITE.erl index 8c271f0c1..56eff8bfc 100644 --- a/apps/emqx_modules/test/emqx_delayed_SUITE.erl +++ b/apps/emqx_modules/test/emqx_delayed_SUITE.erl @@ -274,3 +274,18 @@ subscribe_proc() -> 2000 end end. + +t_delayed_load_unload(_Config) -> + Conf = emqx:get_raw_config([delayed]), + Conf1 = Conf#{<<"max_delayed_messages">> => 1234}, + ?assertMatch({ok, _}, emqx:update_config([delayed], Conf1#{<<"enable">> := true})), + ?assert(is_hooks_exist()), + ?assertEqual(1234, emqx:get_config([delayed, max_delayed_messages])), + ?assertMatch({ok, _}, emqx:update_config([delayed], Conf1#{<<"enable">> := false})), + ?assertNot(is_hooks_exist()), + ?assertMatch({ok, _}, emqx:update_config([delayed], Conf)), + ok. + +is_hooks_exist() -> + Hooks = emqx_hooks:lookup('message.publish'), + false =/= lists:keyfind({emqx_delayed, on_message_publish, []}, 2, Hooks).