aboutsummaryrefslogtreecommitdiff
path: root/test/ejabberd_SUITE.erl
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2013-09-24 18:40:32 +1000
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2013-09-24 18:59:20 +1000
commit07c8bf50640f6cdee74517c6c17fdded698d1fb3 (patch)
tree63d5965317e8dc9154160f8a2870c195d200edae /test/ejabberd_SUITE.erl
parentBetter web-handlers detection (diff)
Fix roster version support
Diffstat (limited to 'test/ejabberd_SUITE.erl')
-rw-r--r--test/ejabberd_SUITE.erl24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/ejabberd_SUITE.erl b/test/ejabberd_SUITE.erl
index 904d2bf66..52d3e695a 100644
--- a/test/ejabberd_SUITE.erl
+++ b/test/ejabberd_SUITE.erl
@@ -161,6 +161,7 @@ db_tests() ->
presence_broadcast,
last,
roster_get,
+ roster_ver,
private,
privacy,
blocking,
@@ -308,6 +309,29 @@ roster_get(Config) ->
send_recv(Config, #iq{type = get, sub_els = [#roster{}]}),
disconnect(Config).
+roster_ver(Config) ->
+ %% Get initial "ver"
+ #iq{type = result, sub_els = [#roster{ver = Ver1, items = []}]} =
+ send_recv(Config, #iq{type = get,
+ sub_els = [#roster{ver = <<"">>}]}),
+ %% Should receive empty IQ-result
+ #iq{type = result, sub_els = []} =
+ send_recv(Config, #iq{type = get,
+ sub_els = [#roster{ver = Ver1}]}),
+ %% Attempting to subscribe to server's JID
+ send(Config, #presence{type = subscribe, to = server_jid(Config)}),
+ %% Receive a single roster push with the new "ver"
+ #iq{type = set, sub_els = [#roster{ver = Ver2}]} = recv(),
+ %% Requesting roster with the previous "ver". Should receive Ver2 again
+ #iq{type = result, sub_els = [#roster{ver = Ver2}]} =
+ send_recv(Config, #iq{type = get,
+ sub_els = [#roster{ver = Ver1}]}),
+ %% Now requesting roster with the newest "ver". Should receive empty IQ.
+ #iq{type = result, sub_els = []} =
+ send_recv(Config, #iq{type = get,
+ sub_els = [#roster{ver = Ver2}]}),
+ disconnect(Config).
+
presence(Config) ->
send(Config, #presence{}),
JID = my_jid(Config),