diff options
Diffstat (limited to 'tests/end_to_end/scenarios/simple_channel_join.py')
-rw-r--r-- | tests/end_to_end/scenarios/simple_channel_join.py | 21 |
1 files changed, 21 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..b09d6be --- /dev/null +++ b/tests/end_to_end/scenarios/simple_channel_join.py @@ -0,0 +1,21 @@ +from scenarios import * + +def expect_self_join_presence(jid, chan, nick, irc_server="{irc_server_one}"): + return ( + expect_stanza("/message/body[text()='Mode " + chan + " [+nt] by irc.localhost']"), + 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}' />"), + sequences.connection(), + + expect_self_join_presence(jid = '{jid_one}/{resource_one}', chan = "#foo", nick = "{nick_one}"), + +) + |