From 551743d9924cc4dfdde0dc51f7d22f72238d237e Mon Sep 17 00:00:00 2001 From: Denys Gonchar Date: Tue, 24 Jan 2023 12:40:56 +0100 Subject: [PATCH 1/3] fixing and updating deps --- rebar.config | 3 +-- rebar.lock | 19 +++++++++---------- tools/print-dots.sh | 2 +- 3 files changed, 11 insertions(+), 13 deletions(-) diff --git a/rebar.config b/rebar.config index 28fd3b16d62..55f427c7007 100644 --- a/rebar.config +++ b/rebar.config @@ -93,8 +93,7 @@ {bbmustache, "1.10.0"}, {recon, "2.5.1"}, {erlcloud, "3.5.5"}, - %% MR of jwerl - https://gitlab.com/glejeune/jwerl/-/merge_requests/13 - {jwerl, {git, "https://gitlab.com/vkatsuba/jwerl.git", {branch, "refactoring/otp-24"}}}, + {jwerl, "1.2.0"}, {csv, {git, "https://github.com/bszaf/csv.git", {branch, "master"}}}, %% Do not upgrade cpool to version 0.1.1, it has bugs {cpool, "0.1.0"}, diff --git a/rebar.lock b/rebar.lock index 9df863c1951..d78eaff3a6c 100644 --- a/rebar.lock +++ b/rebar.lock @@ -7,7 +7,7 @@ {<<"certifi">>,{pkg,<<"certifi">>,<<"2.3.1">>},2}, {<<"cowboy">>,{pkg,<<"cowboy">>,<<"2.9.0">>},0}, {<<"cowboy_swagger">>,{pkg,<<"cowboy_swagger">>,<<"2.2.2">>},0}, - {<<"cowlib">>,{pkg,<<"cowlib">>,<<"2.8.0">>},1}, + {<<"cowlib">>,{pkg,<<"cowlib">>,<<"2.11.0">>},1}, {<<"cpool">>,{pkg,<<"cpool">>,<<"0.1.0">>},0}, {<<"cqerl">>, {git,"https://github.com/esl/cqerl.git", @@ -20,7 +20,7 @@ {git,"https://github.com/bszaf/csv.git", {ref,"b0b854d8be2d69b0c6eb9bae5591008098973af9"}}, 0}, - {<<"eini">>,{pkg,<<"eini">>,<<"1.2.7">>},1}, + {<<"eini">>,{pkg,<<"eini">>,<<"1.2.9">>},1}, {<<"eodbc">>, {git,"https://github.com/arcusfelis/eodbc.git", {ref,"1823d8fe6f5fbe2d8724a9649b75ebd5b8738661"}}, @@ -76,10 +76,7 @@ {<<"jid">>,{pkg,<<"mongoose_jid">>,<<"1.0.0">>},0}, {<<"jiffy">>,{pkg,<<"jiffy">>,<<"1.0.8">>},0}, {<<"jsx">>,{pkg,<<"jsx">>,<<"2.9.0">>},1}, - {<<"jwerl">>, - {git,"https://gitlab.com/vkatsuba/jwerl.git", - {ref,"d03607fd14a6a7556f01014af84903a3df60ff5d"}}, - 0}, + {<<"jwerl">>,{pkg,<<"jwerl">>,<<"1.2.0">>},0}, {<<"lager">>,{pkg,<<"lager">>,<<"3.9.2">>},0}, {<<"lasse">>,{pkg,<<"lasse">>,<<"1.2.0">>},0}, {<<"lhttpc">>,{pkg,<<"lhttpc">>,<<"1.6.2">>},1}, @@ -167,10 +164,10 @@ {<<"certifi">>, <<"D0F424232390BF47D82DA8478022301C561CF6445B5B5FB6A84D49A9E76D2639">>}, {<<"cowboy">>, <<"865DD8B6607E14CF03282E10E934023A1BD8BE6F6BACF921A7E2A96D800CD452">>}, {<<"cowboy_swagger">>, <<"478F2236C59CBAD27CB581F9866559376BB1D196228D9744D12AC16B0589C628">>}, - {<<"cowlib">>, <<"FD0FF1787DB84AC415B8211573E9A30A3EBE71B5CBFF7F720089972B2319C8A4">>}, + {<<"cowlib">>, <<"0B9FF9C346629256C42EBE1EEB769A83C6CB771A6EE5960BD110AB0B9B872063">>}, {<<"cpool">>, <<"76222AA1DAC0F8089707167BD69D221EDA63DB65B8BD67DBF6E133075392EEDC">>}, {<<"credentials_obfuscation">>, <<"9FB57683B84899CA3546B384E59AB5D3054A9F334EBA50D74C82CD0AE82DD6CA">>}, - {<<"eini">>, <<"EFC9D836E88591A47550BD34CE964E21CA1369F8716B24F73CFEA513FA99F666">>}, + {<<"eini">>, <<"FCC3CBD49BBDD9A1D9735C7365DAFFCD84481CCE81E6CB80537883AA44AC4895">>}, {<<"epgsql">>, <<"A403534D03811C867E79405BB18D6061A5FCEF92ACF0236A9150AC93748CE143">>}, {<<"eredis">>, <<"0B8E9CFC2C00FA1374CD107EA63B49BE08D933DF2CF175E6A89B73DD9C380DE4">>}, {<<"erlang_pmp">>, <<"42FAA89EAF427B71533444F2B433D0010837636149595658499C356A5A39589B">>}, @@ -186,6 +183,7 @@ {<<"jid">>, <<"B6D8F9E3015CCB36868D5DB1E847C6176C4F7513360F11CA07B8B95DDC42421E">>}, {<<"jiffy">>, <<"60E36F00BE35E5AC6E6CF2D4CAF3BDF3103D4460AFF385F543A8D7DF2D6D9613">>}, {<<"jsx">>, <<"D2F6E5F069C00266CAD52FB15D87C428579EA4D7D73A33669E12679E203329DD">>}, + {<<"jwerl">>, <<"2A0EC870BE0B803BBEEE1463DC5AE05E3D64EEAE2ABC7DB4250ABC611FE7E320">>}, {<<"lager">>, <<"4CAB289120EB24964E3886BD22323CB5FEFE4510C076992A23AD18CF85413D8C">>}, {<<"lasse">>, <<"DB8F06983B235F6C4C86AC79BCF23EDDCA16FCCCAD1EB45F222852BB133BD793">>}, {<<"lhttpc">>, <<"044F16F0018C7AA7E945E9E9406C7F6035E0B8BC08BF77B00C78CE260E1071E3">>}, @@ -220,10 +218,10 @@ {<<"certifi">>, <<"E12D667D042C11D130594BAE2B0097E63836FE8B1E6D6B2CC48F8BB7A2CF7D68">>}, {<<"cowboy">>, <<"2C729F934B4E1AA149AFF882F57C6372C15399A20D54F65C8D67BEF583021BDE">>}, {<<"cowboy_swagger">>, <<"9BB013B8EE3B40F20FCC43D19785627984829ACBF2F051A45421B66DB6F0E7A1">>}, - {<<"cowlib">>, <<"79F954A7021B302186A950A32869DBC185523D99D3E44CE430CD1F3289F41ED4">>}, + {<<"cowlib">>, <<"2B3E9DA0B21C4565751A6D4901C20D1B4CC25CBB7FD50D91D2AB6DD287BC86A9">>}, {<<"cpool">>, <<"430E18DF4A9D584EB1ED0D196A87CC02E878AF5B4888BFDC9B65F86A96480E30">>}, {<<"credentials_obfuscation">>, <<"D28A89830E30698B075DE9A4DBE683A20685C6BED1E3B7DF744A0C06E6FF200A">>}, - {<<"eini">>, <<"CD604597DCDB8AD76CCBAAF8C303EF94136729BA4AD6ABC88A4AB800E6D8E99A">>}, + {<<"eini">>, <<"DA64AE8DB7C2F502E6F20CDF44CD3D9BE364412B87FF49FEBF282540F673DFCB">>}, {<<"epgsql">>, <<"6BE4910A02551F21EAB6F6F27D97B0D4B1DFFC617F1A64C8C95FDD45652FA9E1">>}, {<<"eredis">>, <<"D9B5ABEF2C2C8ABA8F32AA018203E0B3DC8B1157773B254AB1D4C2002317F1E1">>}, {<<"erlang_pmp">>, <<"58EB8E466B4A1A9E841E59B0CEAB03EFD22FC195BD1B11B1FC6DAE4536DA6A16">>}, @@ -239,6 +237,7 @@ {<<"jid">>, <<"D96C1223660E54549305252A3492500980505652AEB80950E201A3C446C4C9D2">>}, {<<"jiffy">>, <<"F9AE986BA5A0854EB48CF6A76192D9367086DA86C20197DA430630BE7C087A4E">>}, {<<"jsx">>, <<"8EE1DB1CABAFDD578A2776A6AAAE87C2A8CE54B47B59E9EC7DAB5D7EB71CD8DC">>}, + {<<"jwerl">>, <<"894C275CA4CF3A4F293541927CA3D7A2622B21D8BD70580EF70EACB0425F1941">>}, {<<"lager">>, <<"7F904D9E87A8CB7E66156ED31768D1C8E26EBA1D54F4BC85B1AA4AC1F6340C28">>}, {<<"lasse">>, <<"8081769683F73D76A718319A593F8551A0D3747404C51CCE5869CFC6AEDC7EDF">>}, {<<"lhttpc">>, <<"76B5FA6149D1E10D4B1FBC4EBD51D371DB19C1AB9F0A9ECF5B526440DF064E97">>}, diff --git a/tools/print-dots.sh b/tools/print-dots.sh index c413b7f2c49..76eb2242cb3 100755 --- a/tools/print-dots.sh +++ b/tools/print-dots.sh @@ -1,7 +1,7 @@ #!/bin/sh PIDFILE=/tmp/print-dots.pid -SLEEPTIME=10s +SLEEPTIME=10 loop () { while true; do From a34a3e59d03be8fd97eefee9f5c8568452fdb15b Mon Sep 17 00:00:00 2001 From: Denys Gonchar Date: Tue, 24 Jan 2023 15:45:15 +0100 Subject: [PATCH 2/3] extending push_integration_SUITE --- big_tests/tests/push_integration_SUITE.erl | 29 +++++++++++++++------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/big_tests/tests/push_integration_SUITE.erl b/big_tests/tests/push_integration_SUITE.erl index d3d6db7e2f9..5205ba205ee 100644 --- a/big_tests/tests/push_integration_SUITE.erl +++ b/big_tests/tests/push_integration_SUITE.erl @@ -54,7 +54,7 @@ groups() -> G = [ {pubsub_ful, [], basic_groups()}, {pubsub_less, [], basic_groups()}, - {integration_with_sm_and_offline_storage,[parallel], + {integration_with_sm_and_offline_storage,[], [ no_duplicates_default_plugin, sm_unack_messages_notified_default_plugin @@ -64,7 +64,7 @@ groups() -> immediate_notification, double_notification_with_two_sessions_in_resume ]}, - {pm_msg_notifications, [parallel], + {pm_msg_notifications, [], [ pm_msg_notify_on_apns_w_high_priority, pm_msg_notify_on_fcm_w_high_priority, @@ -78,7 +78,7 @@ groups() -> pm_msg_notify_on_fcm_silent, pm_msg_notify_on_apns_w_topic ]}, - {muclight_msg_notifications, [parallel], + {muclight_msg_notifications, [], [ muclight_msg_notify_on_apns_w_high_priority, muclight_msg_notify_on_fcm_w_high_priority, @@ -92,22 +92,22 @@ groups() -> muclight_msg_notify_on_fcm_silent, muclight_msg_notify_on_w_topic ]}, - {groupchat_notifications_with_inbox, [parallel], + {groupchat_notifications_with_inbox, [], [ muclight_inbox_msg_unread_count_apns, muclight_inbox_msg_unread_count_fcm, muclight_aff_change_fcm, muclight_aff_change_apns ]}, - {pm_notifications_with_inbox, [parallel], + {pm_notifications_with_inbox, [], [ inbox_msg_unread_count_apns, inbox_msg_unread_count_fcm, inbox_msg_reset_unread_count_apns, inbox_msg_reset_unread_count_fcm ]}, - {failure_cases_v3, [parallel], failure_cases()}, - {failure_cases_v2, [parallel], failure_cases()} + {failure_cases_v3, [], failure_cases()}, + {failure_cases_v2, [], failure_cases()} ], G. @@ -128,7 +128,6 @@ init_per_suite(Config) -> catch mongoose_push_mock:stop(), mongoose_push_mock:start(Config), Port = mongoose_push_mock:port(), - PoolOpts = [{strategy, available_worker}, {workers, 20}], HTTPOpts = [{server, "https://localhost:" ++ integer_to_list(Port)}], rpc(?RPC_SPEC, mongoose_wpool, start_configured_pools, @@ -173,10 +172,22 @@ end_per_group(_, Config) -> Config. init_per_testcase(CaseName, Config) -> + %% unfortunately meck:reset(Module) doesn't result + %% in 'valid' flag resetting (see meck_proc module), + %% so we have to unload existing mocking and mock + %% module again before running every test case. + catch rpc(?RPC_SPEC, meck, unload, [mod_event_pusher]), + rpc(?RPC_SPEC, meck, new, [mod_event_pusher, [no_link, passthrough]]), escalus:init_per_testcase(CaseName, Config). end_per_testcase(CaseName, Config) -> - escalus:end_per_testcase(CaseName, Config). + Valid = rpc(?RPC_SPEC, meck, validate, [mod_event_pusher]), + rpc(?RPC_SPEC, meck, unload, [mod_event_pusher]), + escalus:end_per_testcase(CaseName, Config), + case Valid of + false -> {fail, "mod_event_pusher crashed"}; + true -> ok + end. %%------------------------------------------------------------------------------------ %% GROUP integration_with_sm_and_offline_storage & enhanced_integration_with_sm From 078ef4b3f50194ef80d97c9ea052eb0f39eccaf2 Mon Sep 17 00:00:00 2001 From: Denys Gonchar Date: Tue, 24 Jan 2023 19:45:45 +0100 Subject: [PATCH 3/3] fixing mod_event_pusher:push_event/3 function --- src/event_pusher/mod_event_pusher.erl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/event_pusher/mod_event_pusher.erl b/src/event_pusher/mod_event_pusher.erl index 2d76c0677d8..33ddcf07c38 100644 --- a/src/event_pusher/mod_event_pusher.erl +++ b/src/event_pusher/mod_event_pusher.erl @@ -46,10 +46,11 @@ %% @doc Pushes the event to each backend registered with the event_pusher. -spec push_event(mongoose_acc:t(), Host :: jid:server(), Event :: event()) -> mongoose_acc:t(). push_event(Acc, Host, Event) -> + {ok, HostType} = mongoose_domain_api:get_host_type(Host), lists:foldl(fun(B, Acc0) -> B:push_event(Acc0, Host, Event) end, Acc, - ets:lookup_element(ets_name(Host), backends, 2)). + ets:lookup_element(ets_name(HostType), backends, 2)). %%-------------------------------------------------------------------- %% gen_mod API