aboutsummaryrefslogtreecommitdiff
path: root/test/ejabberd_SUITE.erl
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2014-07-27 13:02:46 +0400
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2014-07-27 13:06:20 +0400
commitabeaac1c11a2d4f374a837e957cd0388f90d03cf (patch)
treeefad4d3e492da863b7edfe46ba8b9796ef3fe96c /test/ejabberd_SUITE.erl
parentRe-generate the XMPP codec using updated xml_gen (diff)
Add tests for mod_announce
Diffstat (limited to 'test/ejabberd_SUITE.erl')
-rw-r--r--test/ejabberd_SUITE.erl39
1 files changed, 39 insertions, 0 deletions
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),