]> granicus.if.org Git - ejabberd/commitdiff
Add tests for mod_announce
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>
Sun, 27 Jul 2014 09:02:46 +0000 (13:02 +0400)
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>
Sun, 27 Jul 2014 09:06:20 +0000 (13:06 +0400)
test/ejabberd_SUITE.erl
test/ejabberd_SUITE_data/ejabberd.yml

index e362913a10febf2bb27bfbfaad62b8c8e6a0a45b..2c0fcc2141124ebcc32fd6b5a1d76edb338a3017 100644 (file)
@@ -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),
index 50b6540bb440115db086e657a2b78d46dca818bd..f096fc53f97937cfe3964c87bf907c8cf54b312b 100644 (file)
@@ -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: