diff --git a/src/emqttd_app.erl b/src/emqttd_app.erl index 011bd8fe5..899258c7b 100644 --- a/src/emqttd_app.erl +++ b/src/emqttd_app.erl @@ -159,8 +159,7 @@ load_mod({module, Name, Opts}) -> %% @doc Is module enabled? -spec(is_mod_enabled(Name :: atom()) -> boolean()). -is_mod_enabled(Name) -> - lists:keyfind(Name, 2, gen_conf:list(emqttd, module)). +is_mod_enabled(Name) -> lists:keyfind(Name, 2, gen_conf:list(emqttd, module)). %%-------------------------------------------------------------------- %% Start Listeners @@ -206,3 +205,18 @@ stop_listeners() -> lists:foreach(fun stop_listener/1, gen_conf:list(listener)). %% @private stop_listener({listener, Protocol, ListenOn, _Opts}) -> esockd:close(Protocol, ListenOn). +-ifdef(TEST). +-include_lib("eunit/include/eunit.hrl"). +merge_sockopts_test_() -> + Opts = [{acceptors, 16}, {max_clients, 512}], + ?_assert(merge_sockopts(Opts) == [{sockopts, [binary, {packet, raw}, {reuseaddr, true}, + {backlog, 512}, {nodelay, true}]}, {acceptors, 16}, {max_clients, 512}]). + +load_all_mods_test_() -> + ?_assert(load_all_mods() == ok). + +is_mod_enabled_test_() -> + ?_assert(is_mod_enabled(presence) == {module, presence, [{qos, 0}]}), + ?_assert(is_mod_enabled(test) == false). + +-endif. diff --git a/src/emqttd_ctl.erl b/src/emqttd_ctl.erl index 2f406bef0..1cd5d3055 100644 --- a/src/emqttd_ctl.erl +++ b/src/emqttd_ctl.erl @@ -133,3 +133,20 @@ noreply(State) -> next_seq(State = #state{seq = Seq}) -> State#state{seq = Seq + 1}. +-ifdef(TEST). +-include_lib("eunit/include/eunit.hrl"). +register_cmd_test_() -> + {setup, + fun() -> + {ok, InitState} = emqttd_ctl:init([]), + InitState + end, + fun(State) -> + ok = emqttd_ctl:terminate(shutdown, State) + end, + fun(State = #state{seq = Seq}) -> + emqttd_ctl:handle_cast({register_cmd, test0, {?MODULE, test0}, []}, State), + [?_assertMatch([{{0,test0},{?MODULE, test0}, []}], ets:lookup(?CMD_TAB, {Seq,test0}))] + end + }. +-endif.