~singpolyma/biboumi

ref: 14fe971183e5a281525827c8135965f57e15f73b biboumi/tests/end_to_end/scenarios/simple_channel_join.py -rw-r--r-- 936 bytes
14fe9711 — Emmanuel Gil Peyrot Don’t treat presence updates as MUC joins 3 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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}"),

)