summaryrefslogtreecommitdiff
path: root/tests/end_to_end/scenarios/simple_channel_join.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/end_to_end/scenarios/simple_channel_join.py')
-rw-r--r--tests/end_to_end/scenarios/simple_channel_join.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/end_to_end/scenarios/simple_channel_join.py b/tests/end_to_end/scenarios/simple_channel_join.py
new file mode 100644
index 0000000..9beba3b
--- /dev/null
+++ b/tests/end_to_end/scenarios/simple_channel_join.py
@@ -0,0 +1,20 @@
+from scenarios import *
+
+def expect_self_join_presence(jid='{jid_one}/{resource_one}', chan='#foo', nick='{nick_one}', irc_server="{irc_server_one}"):
+ return (
+ expect_stanza("/presence[@to='" + jid +"'][@from='" + chan + "%" + irc_server + "/" + nick + "']/muc_user:x/muc_user:item[@affiliation='admin'][@role='moderator']",
+ "/presence/muc_user:x/muc_user:status[@code='100']", # Rooms are all non-anonymous
+ "/presence/muc_user:x/muc_user:status[@code='110']",
+ ),
+ expect_stanza("/message[@from='" + chan + "%" + irc_server + "'][@type='groupchat']/subject[not(text())]"),
+ )
+
+
+scenario = (
+ send_stanza("<presence from='{jid_one}/{resource_one}' to='#foo%{irc_server_one}/{nick_one}' ><x xmlns='http://jabber.org/protocol/muc'/></presence>"),
+ sequences.connection(),
+
+ expect_self_join_presence(jid = '{jid_one}/{resource_one}', chan = "#foo", nick = "{nick_one}"),
+
+)
+