Skip to content

Commit

Permalink
Modifying tests of mod_last
Browse files Browse the repository at this point in the history
  • Loading branch information
Janusz Jakubiec authored and Janusz Jakubiec committed Feb 22, 2022
1 parent 6920779 commit 05af86f
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 15 deletions.
7 changes: 6 additions & 1 deletion big_tests/tests/last_SUITE.erl
Original file line number Diff line number Diff line change
Expand Up @@ -162,5 +162,10 @@ get_last_activity(Stanza) ->
get_last_status(Stanza) ->
exml_query:path(Stanza, [{element, <<"query">>}, cdata]).

required_modules(riak) ->
[{mod_last, #{backend => riak,
iqdisc => one_queue,
riak => #{bucket_type => <<"last">>}}}];
required_modules(Backend) ->
[{mod_last, [{backend, Backend}]}].
[{mod_last, #{backend => Backend,
iqdisc => one_queue}}].
14 changes: 9 additions & 5 deletions src/mod_last.erl
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,8 @@
remove_user/3,
on_presence_update/5,
session_cleanup/5,
remove_domain/3]).
remove_domain/3,
remove_unused_backend_opts/1]).

%% API
-export([store_last_info/5,
Expand Down Expand Up @@ -75,11 +76,9 @@
start(HostType, #{iqdisc := IQDisc} = Opts) ->

mod_last_backend:init(HostType, Opts),

[gen_iq_handler:add_iq_handler_for_domain(HostType, ?NS_LAST, Component, Fn, #{}, IQDisc) ||
{Component, Fn} <- iq_handlers()],
ejabberd_hooks:add(hooks(HostType)),
ok.
ejabberd_hooks:add(hooks(HostType)).

-spec stop(mongooseim:host_type()) -> ok.
stop(HostType) ->
Expand Down Expand Up @@ -114,14 +113,19 @@ config_spec() ->
defaults = #{<<"iqdisc">> => one_queue,
<<"backend">> => mnesia
},
format_items = map
format_items = map,
process = fun ?MODULE:remove_unused_backend_opts/1
}.

remove_unused_backend_opts(Opts = #{backend := riak}) -> Opts;
remove_unused_backend_opts(Opts) -> maps:remove(riak, Opts).

riak_config_spec() ->
#section{items = #{<<"bucket_type">> => #option{type = binary,
validate = non_empty}
},
defaults = #{<<"bucket_type">> => <<"last">>},
include = always,
format_items = map
}.

Expand Down
6 changes: 4 additions & 2 deletions test/common/config_parser_helper.erl
Original file line number Diff line number Diff line change
Expand Up @@ -497,7 +497,7 @@ all_modules() ->
#{name => <<"friendly-spirits">>,
urls => [<<"spirit1@localhost">>, <<"spirit2@localhost">>],
modules => [mod_muc, mod_disco]}]}),
mod_last => [{backend, mnesia}, {iqdisc, {queues, 10}}],
mod_last => #{backend => mnesia, iqdisc => {queues, 10}},
mod_shared_roster_ldap =>
[{ldap_base, "ou=Users,dc=ejd,dc=com"},
{ldap_filter, "(objectClass=inetOrgPerson)"},
Expand Down Expand Up @@ -651,7 +651,7 @@ pgsql_modules() ->
mod_amp => [], mod_blocking => [], mod_bosh => default_mod_config(mod_bosh),
mod_carboncopy => [], mod_commands => [],
mod_disco => mod_config(mod_disco, #{users_can_see_hidden_services => false}),
mod_last => [{backend, rdbms}],
mod_last => #{backend => rdbms, iqdisc => one_queue},
mod_muc_commands => [], mod_muc_light_commands => [],
mod_offline => [{backend, rdbms}],
mod_privacy => [{backend, rdbms}],
Expand Down Expand Up @@ -826,6 +826,8 @@ default_mod_config(mod_disco) ->
users_can_see_hidden_services => true, iqdisc => one_queue};
default_mod_config(mod_extdisco) ->
#{iqdisc => no_queue, service => []};
default_mod_config(mod_last) ->
#{iqdisc => one_queue, backend => mnesia};
default_mod_config(mod_inbox) ->
#{backend => rdbms,
groupchat => [muclight],
Expand Down
14 changes: 7 additions & 7 deletions test/config_parser_SUITE.erl
Original file line number Diff line number Diff line change
Expand Up @@ -2116,14 +2116,14 @@ mod_keystore_keys(_Config) ->
<<"path">> => <<"does/not/exists">>}])).

mod_last(_Config) ->
check_iqdisc(mod_last),
check_iqdisc_map(mod_last),
check_module_defaults(mod_last),
T = fun(Opts) -> #{<<"modules">> => #{<<"mod_last">> => Opts}} end,
M = fun(Cfg) -> modopts(mod_last, Cfg) end,
?cfgh(M([{backend, mnesia}]),
T(#{<<"backend">> => <<"mnesia">>})),
?cfgh(M([{bucket_type, <<"test">>}]),
T(#{<<"riak">> => #{<<"bucket_type">> => <<"test">>}})),

P = [modules, mod_last],
?cfgh(P ++ [backend], mnesia, T(#{<<"backend">> => <<"mnesia">>})),
?cfgh(P ++ [riak, bucket_type], <<"last">>, T(#{<<"backend">> => <<"riak">>})),
?cfgh(P ++ [riak, bucket_type], <<"test">>,
T(#{<<"backend">> => <<"riak">>, <<"riak">> => #{<<"bucket_type">> => <<"test">>}})),
?errh(T(#{<<"backend">> => <<"frontend">>})),
?errh(T(#{<<"riak">> => #{<<"bucket_type">> => 1}})).

Expand Down

0 comments on commit 05af86f

Please sign in to comment.