summaryrefslogtreecommitdiff
path: root/test/ejabberd_SUITE.erl
diff options
context:
space:
mode:
authorEvgeny Khramtsov <xramtsov@gmail.com>2016-05-25 11:56:47 +0400
committerEvgeny Khramtsov <xramtsov@gmail.com>2016-05-25 11:56:47 +0400
commit14b53fbcb02e3c3c9b8ef95080819998490ae073 (patch)
tree5e1a307e7be14e6fd379e9ecc88181228e3b5250 /test/ejabberd_SUITE.erl
parentMerge pull request #1126 from weiss/muc-send-affiliation (diff)
parentXEP-0198: Add 'h' attribute to <failed/> element (diff)
Merge pull request #1131 from weiss/failed-resume-h
XEP-0198: Indicate number of handled stanzas if resumption fails
Diffstat (limited to 'test/ejabberd_SUITE.erl')
-rw-r--r--test/ejabberd_SUITE.erl14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/ejabberd_SUITE.erl b/test/ejabberd_SUITE.erl
index 0fadcd61..924b84e2 100644
--- a/test/ejabberd_SUITE.erl
+++ b/test/ejabberd_SUITE.erl
@@ -203,6 +203,8 @@ init_per_testcase(TestCase, OrigConfig) ->
auth(connect(Config));
sm_resume ->
auth(connect(Config));
+ sm_resume_failed ->
+ auth(connect(Config));
test_open_session ->
bind(auth(connect(Config)));
_ when IsMaster or IsSlave ->
@@ -231,6 +233,7 @@ no_db_tests() ->
stats,
sm,
sm_resume,
+ sm_resume_failed,
disco]},
{test_proxy65, [parallel],
[proxy65_master, proxy65_slave]}].
@@ -641,6 +644,17 @@ sm_resume(Config) ->
?recv1(#message{from = ServerJID, to = MyJID, body = [Txt]}),
?recv1(#sm_r{}),
send(Config, #sm_a{h = 1, xmlns = ?NS_STREAM_MGMT_3}),
+ %% Send another stanza to increment the server's 'h' for sm_resume_failed.
+ send(Config, #presence{to = ServerJID}),
+ close_socket(Config),
+ {save_config, set_opt(sm_previd, ID, Config)}.
+
+sm_resume_failed(Config) ->
+ {sm_resume, SMConfig} = ?config(saved_config, Config),
+ ID = ?config(sm_previd, SMConfig),
+ ct:sleep(5000), % Wait for session to time out.
+ send(Config, #sm_resume{previd = ID, h = 1, xmlns = ?NS_STREAM_MGMT_3}),
+ ?recv1(#sm_failed{reason = 'item-not-found', h = 4}),
disconnect(Config).
private(Config) ->