1: -module(tr_util_SUITE). 2: -compile([export_all, nowarn_export_all]). 3: 4: -import(distributed_helper, [rpc/4, mim/0]). 5: 6: -include_lib("eunit/include/eunit.hrl"). 7: 8: all() -> 9: [c2s_hooks]. 10: 11: suite() -> 12: escalus:suite(). 13: 14: init_per_suite(Config) -> 15: rpc(mim(), tr, start, []), 16: escalus:init_per_suite(Config). 17: 18: end_per_suite(Config) -> 19: escalus:end_per_suite(Config), 20: rpc(mim(), tr, stop, []). 21: 22: init_per_testcase(CaseName, Config) -> 23: escalus:init_per_testcase(CaseName, Config). 24: 25: end_per_testcase(_CaseName, _Config) -> 26: rpc(mim(), tr, clean, []). 27: 28: c2s_hooks(Config) -> 29: escalus:fresh_story(Config, [{alice, 1}, {bob, 1}], fun c2s_hooks_story/2). 30: 31: c2s_hooks_story(Alice, Bob) -> 32: rpc(mim(), tr, trace, [[mongoose_c2s_hooks]]), 33: escalus_client:send(Alice, escalus_stanza:chat_to(Bob, <<"Hello">>)), 34: escalus:wait_for_stanza(Bob), 35: rpc(mim(), tr, stop_tracing, []), 36: AliceBareJid = escalus_utils:get_short_jid(Alice), 37: BobBareJid = escalus_utils:get_short_jid(Bob), 38: AliceJid = escalus_utils:get_jid(Alice), 39: BobJid = escalus_utils:get_jid(Bob), 40: ?assertMatch([#{name := <<"message">>, type := <<"chat">>, 41: jid := AliceJid, from := AliceJid, to := BobJid}, 42: #{name := <<"message">>, type := <<"chat">>, 43: jid := BobJid, from := AliceJid, to := BobJid}], 44: rpc(mim(), tr_util, c2s_elements_between_jids, [[AliceBareJid, BobBareJid]])).