diff options
author | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2013-06-26 03:00:27 +1000 |
---|---|---|
committer | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2013-06-26 03:06:11 +1000 |
commit | c05edabe58dfc7b2e1c2ee9bf66daf33b200b7bf (patch) | |
tree | ca3e51e6184f700abbf39d6d98509689cb7af966 /test/ejabberd_SUITE.erl | |
parent | fix feature build on node disco#info (diff) |
Add more pubsub test cases
Diffstat (limited to 'test/ejabberd_SUITE.erl')
-rw-r--r-- | test/ejabberd_SUITE.erl | 62 |
1 files changed, 56 insertions, 6 deletions
diff --git a/test/ejabberd_SUITE.erl b/test/ejabberd_SUITE.erl index 00531309b..d93c37e79 100644 --- a/test/ejabberd_SUITE.erl +++ b/test/ejabberd_SUITE.erl @@ -243,6 +243,10 @@ db_tests() -> [roster_remove_master, roster_remove_slave]}]. +%% db_tests() -> +%% [{single_user, [sequence], +%% [test_register, pubsub]}]. + ldap_tests() -> [{ldap_tests, [sequence], [test_auth, @@ -255,6 +259,9 @@ groups() -> {mysql, [sequence], db_tests()}, {pgsql, [sequence], db_tests()}]. +%% all() -> +%% [{group, mnesia}]. + all() -> [{group, ldap}, {group, no_db}, @@ -659,18 +666,23 @@ pubsub(Config) -> Node = <<"presence">>, Item = #pubsub_item{id = ItemID, sub_els = [#presence{}]}, #iq{type = result, - sub_els = [#pubsub{publish = {<<"presence">>, - [#pubsub_item{id = ItemID}]}}]} = + sub_els = [#pubsub{publish = #pubsub_publish{ + node = Node, + items = [#pubsub_item{id = ItemID}]}}]} = send_recv(Config, #iq{type = set, to = pubsub_jid(Config), - sub_els = [#pubsub{publish = {Node, [Item]}}]}), + sub_els = [#pubsub{publish = #pubsub_publish{ + node = Node, + items = [Item]}}]}), %% Subscribe to node "presence" - I = send(Config, + I1 = send(Config, #iq{type = set, to = pubsub_jid(Config), - sub_els = [#pubsub{subscribe = {Node, my_jid(Config)}}]}), + sub_els = [#pubsub{subscribe = #pubsub_subscribe{ + node = Node, + jid = my_jid(Config)}}]}), ?recv2( #message{sub_els = [#pubsub_event{}, #delay{}]}, - #iq{type = result, id = I}), + #iq{type = result, id = I1}), %% Get subscriptions true = is_feature_advertised(Config, ?PUBSUB("retrieve-subscriptions")), #iq{type = result, @@ -687,6 +699,44 @@ pubsub(Config) -> [#pubsub_affiliation{node = Node, type = owner}]}]} = send_recv(Config, #iq{type = get, to = pubsub_jid(Config), sub_els = [#pubsub{affiliations = []}]}), + %% Get subscription options + true = is_feature_advertised(Config, ?PUBSUB("subscription-options")), + #iq{type = result, sub_els = [#pubsub{options = #pubsub_options{ + node = Node}}]} = + send_recv(Config, + #iq{type = get, to = pubsub_jid(Config), + sub_els = [#pubsub{options = #pubsub_options{ + node = Node, + jid = my_jid(Config)}}]}), + %% Fetching published items from node "presence" + #iq{type = result, + sub_els = [#pubsub{items = #pubsub_items{ + node = Node, + items = [Item]}}]} = + send_recv(Config, + #iq{type = get, to = pubsub_jid(Config), + sub_els = [#pubsub{items = #pubsub_items{node = Node}}]}), + %% Deleting the item from the node + true = is_feature_advertised(Config, ?PUBSUB("delete-items")), + I2 = send(Config, + #iq{type = set, to = pubsub_jid(Config), + sub_els = [#pubsub{retract = #pubsub_retract{ + node = Node, + items = [#pubsub_item{id = ItemID}]}}]}), + ?recv2( + #iq{type = result, id = I2, sub_els = []}, + #message{sub_els = [#pubsub_event{ + items = [#pubsub_event_items{ + node = Node, + retract = [ItemID]}]}, + #shim{headers = [{<<"Collection">>, Node}]}]}), + %% Unsubscribe from node "presence" + #iq{type = result, sub_els = []} = + send_recv(Config, + #iq{type = set, to = pubsub_jid(Config), + sub_els = [#pubsub{unsubscribe = #pubsub_unsubscribe{ + node = Node, + jid = my_jid(Config)}}]}), disconnect(Config). auth_md5(Config) -> |