summaryrefslogtreecommitdiff
path: root/tests/end_to_end/scenarios/execute_disconnect_user_adhoc_command.py
diff options
context:
space:
mode:
authorlouiz’ <louiz@louiz.org>2019-10-10 11:10:25 +0200
committerlouiz’ <louiz@louiz.org>2019-10-31 02:27:42 +0100
commitbd41bc8b0270b83e0efd331eb010fa4347a2ef67 (patch)
treeeffa42881359bbc9878a7f6181dafd10f4b9e83e /tests/end_to_end/scenarios/execute_disconnect_user_adhoc_command.py
parentcec396f6ebd578b3b4b03bb7c6ace1dc634a2c79 (diff)
downloadbiboumi-bd41bc8b0270b83e0efd331eb010fa4347a2ef67.tar.gz
biboumi-bd41bc8b0270b83e0efd331eb010fa4347a2ef67.tar.bz2
biboumi-bd41bc8b0270b83e0efd331eb010fa4347a2ef67.tar.xz
biboumi-bd41bc8b0270b83e0efd331eb010fa4347a2ef67.zip
Split all the e2e tests in their own files
Some duplication is avoided, but most importantly: it’s much much cleaner, easier to find, functions have been cleaned up (functools.partial usages are now hidden), etc.
Diffstat (limited to 'tests/end_to_end/scenarios/execute_disconnect_user_adhoc_command.py')
-rw-r--r--tests/end_to_end/scenarios/execute_disconnect_user_adhoc_command.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/end_to_end/scenarios/execute_disconnect_user_adhoc_command.py b/tests/end_to_end/scenarios/execute_disconnect_user_adhoc_command.py
new file mode 100644
index 0000000..25d5f6b
--- /dev/null
+++ b/tests/end_to_end/scenarios/execute_disconnect_user_adhoc_command.py
@@ -0,0 +1,20 @@
+from scenarios import *
+
+from scenarios.simple_channel_join import expect_self_join_presence
+
+scenario = (
+ sequences.handshake(),
+ send_stanza("<presence from='{jid_admin}/{resource_one}' to='#foo%{irc_server_one}/{nick_one}' />"),
+ sequences.connection("irc.localhost", '{jid_admin}/{resource_one}'),
+ expect_self_join_presence(jid = '{jid_admin}/{resource_one}', chan = "#foo", nick = "{nick_one}"),
+
+ send_stanza("<iq type='set' id='command1' from='{jid_admin}/{resource_one}' to='{biboumi_host}'><command xmlns='http://jabber.org/protocol/commands' node='disconnect-user' action='execute' /></iq>"),
+ expect_stanza("/iq[@type='result']/commands:command[@node='disconnect-user'][@sessionid][@status='executing']",
+ "/iq/commands:command/commands:actions/commands:complete",
+ after = save_value("sessionid", extract_attribute("/iq/commands:command[@node='disconnect-user']", "sessionid"))
+ ),
+ send_stanza("<iq type='set' id='command2' from='{jid_admin}/{resource_one}' to='{biboumi_host}'><command xmlns='http://jabber.org/protocol/commands' node='disconnect-user' sessionid='{sessionid}' action='complete'><x xmlns='jabber:x:data' type='submit'><field var='jids'><value>{jid_admin}</value></field><field var='quit-message'><value>Disconnected by e2e</value></field></x></command></iq>"),
+ expect_stanza("/iq[@type='result']/commands:command[@node='disconnect-user'][@status='completed']/commands:note[@type='info'][text()='1 user has been disconnected.']"),
+ # Note, charybdis ignores our QUIT message, so we can't test it
+ expect_stanza("/presence[@type='unavailable'][@to='{jid_admin}/{resource_one}'][@from='#foo%{irc_server_one}/{nick_one}']"),
+)