From abeaac1c11a2d4f374a837e957cd0388f90d03cf Mon Sep 17 00:00:00 2001 From: Evgeniy Khramtsov Date: Sun, 27 Jul 2014 13:02:46 +0400 Subject: [PATCH] Add tests for mod_announce --- test/ejabberd_SUITE.erl | 39 +++++++++++++++++++++++++++ test/ejabberd_SUITE_data/ejabberd.yml | 4 +++ 2 files changed, 43 insertions(+) diff --git a/test/ejabberd_SUITE.erl b/test/ejabberd_SUITE.erl index e362913a1..2c0fcc214 100644 --- a/test/ejabberd_SUITE.erl +++ b/test/ejabberd_SUITE.erl @@ -206,6 +206,8 @@ db_tests(riak) -> [offline_master, offline_slave]}, {test_muc, [parallel], [muc_master, muc_slave]}, + {test_announce, [parallel], + [announce_master, announce_slave]}, {test_roster_remove, [parallel], [roster_remove_master, roster_remove_slave]}]; @@ -233,6 +235,8 @@ db_tests(mnesia) -> [carbons_master, carbons_slave]}, {test_muc, [parallel], [muc_master, muc_slave]}, + {test_announce, [parallel], + [announce_master, announce_slave]}, {test_roster_remove, [parallel], [roster_remove_master, roster_remove_slave]}]; @@ -259,6 +263,8 @@ db_tests(_) -> [offline_master, offline_slave]}, {test_muc, [parallel], [muc_master, muc_slave]}, + {test_announce, [parallel], + [announce_master, announce_slave]}, {test_roster_remove, [parallel], [roster_remove_master, roster_remove_slave]}]. @@ -1273,6 +1279,39 @@ muc_slave(Config) -> role = none}]}]} = recv(), disconnect(Config). +announce_master(Config) -> + MyJID = my_jid(Config), + ServerJID = server_jid(Config), + Peer = ?config(slave, Config), + MotdJID = jlib:jid_replace_resource(ServerJID, <<"announce/motd">>), + MotdDelJID = jlib:jid_replace_resource(ServerJID, <<"announce/motd/delete">>), + MotdText = #text{data = <<"motd">>}, + send(Config, #presence{}), + #presence{from = MyJID} = recv(), + %% Set message of the day + send(Config, #message{to = MotdJID, body = [MotdText]}), + %% Receive this message back + #message{from = ServerJID, body = [MotdText]} = recv(), + wait_for_slave(Config), + %% Peer becomes available and then unavailable + #presence{from = Peer} = recv(), + #presence{from = Peer, type = unavailable} = recv(), + %% Delete message of the day + send(Config, #message{to = MotdDelJID}), + disconnect(Config). + +announce_slave(Config) -> + MyJID = my_jid(Config), + ServerJID = server_jid(Config), + Peer = ?config(master, Config), + MotdText = #text{data = <<"motd">>}, + wait_for_master(Config), + send(Config, #presence{}), + ?recv3(#presence{from = Peer}, + #presence{from = MyJID}, + #message{from = ServerJID, body = [MotdText]}), + disconnect(Config). + offline_master(Config) -> Peer = ?config(slave, Config), LPeer = jlib:jid_remove_resource(Peer), diff --git a/test/ejabberd_SUITE_data/ejabberd.yml b/test/ejabberd_SUITE_data/ejabberd.yml index 50b6540bb..f096fc53f 100644 --- a/test/ejabberd_SUITE_data/ejabberd.yml +++ b/test/ejabberd_SUITE_data/ejabberd.yml @@ -11,6 +11,7 @@ host_config: modules: mod_announce: db_type: odbc + access: local mod_blocking: db_type: odbc mod_caps: @@ -64,6 +65,7 @@ Welcome to this XMPP server." modules: mod_announce: db_type: odbc + access: local mod_blocking: db_type: odbc mod_caps: @@ -110,6 +112,7 @@ Welcome to this XMPP server." modules: mod_announce: db_type: internal + access: local mod_blocking: db_type: internal mod_caps: @@ -158,6 +161,7 @@ Welcome to this XMPP server." modules: mod_announce: db_type: riak + access: local mod_blocking: db_type: riak mod_caps: