summaryrefslogtreecommitdiff
path: root/tests/end_to_end/scenarios/leave_unjoined_chan.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/end_to_end/scenarios/leave_unjoined_chan.py')
-rw-r--r--tests/end_to_end/scenarios/leave_unjoined_chan.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/end_to_end/scenarios/leave_unjoined_chan.py b/tests/end_to_end/scenarios/leave_unjoined_chan.py
new file mode 100644
index 0000000..322dd5d
--- /dev/null
+++ b/tests/end_to_end/scenarios/leave_unjoined_chan.py
@@ -0,0 +1,17 @@
+from scenarios import *
+
+scenario = (
+ sequences.handshake(),
+ send_stanza("<presence from='{jid_one}/{resource_one}' to='#foo%{irc_server_one}/{nick_one}' />"),
+ sequences.connection("irc.localhost", '{jid_one}/{resource_one}'),
+ expect_stanza("/message"),
+ expect_stanza("/presence"),
+ expect_stanza("/message"),
+
+ send_stanza("<presence from='{jid_two}/{resource_two}' to='#foo%{irc_server_one}/{nick_one}' />"),
+ sequences.connection_begin("irc.localhost", '{jid_two}/{resource_two}'),
+
+ expect_stanza("/message[@to='{jid_two}/{resource_two}'][@type='chat']/body[text()='irc.localhost: {nick_one}: Nickname is already in use.']"),
+ expect_stanza("/presence[@type='error']/error[@type='cancel'][@code='409']/stanza:conflict"),
+ send_stanza("<presence from='{jid_two}/{resource_two}' to='#foo%{irc_server_one}/{nick_one}' type='unavailable' />")
+)