summaryrefslogtreecommitdiff
path: root/tests/end_to_end/scenarios/basic_subscribe_unsubscribe.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/end_to_end/scenarios/basic_subscribe_unsubscribe.py')
-rw-r--r--tests/end_to_end/scenarios/basic_subscribe_unsubscribe.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/end_to_end/scenarios/basic_subscribe_unsubscribe.py b/tests/end_to_end/scenarios/basic_subscribe_unsubscribe.py
new file mode 100644
index 0000000..cbcfeb6
--- /dev/null
+++ b/tests/end_to_end/scenarios/basic_subscribe_unsubscribe.py
@@ -0,0 +1,23 @@
+from scenarios import *
+
+scenario = (
+ sequences.handshake(),
+
+ # Mutual subscription exchange
+ send_stanza("<presence from='{jid_one}' to='{biboumi_host}' type='subscribe' id='subid1' />"),
+ expect_stanza("/presence[@type='subscribed'][@id='subid1']"),
+
+ # Get the current presence of the biboumi gateway
+ expect_stanza("/presence"),
+
+ expect_stanza("/presence[@type='subscribe']"),
+ send_stanza("<presence from='{jid_one}' to='{biboumi_host}' type='subscribed' />"),
+
+ # Unsubscribe
+ send_stanza("<presence from='{jid_one}' to='{biboumi_host}' type='unsubscribe' id='unsubid1' />"),
+ expect_stanza("/presence[@type='unavailable']"),
+ expect_stanza("/presence[@type='unsubscribed']"),
+ expect_stanza("/presence[@type='unsubscribe']"),
+ send_stanza("<presence from='{jid_one}' to='{biboumi_host}' type='unavailable' />"),
+ send_stanza("<presence from='{jid_one}' to='{biboumi_host}' type='unsubscribed' />"),
+)