Also support caps on irc server JIDs
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
from scenarios import *
|
||||
|
||||
scenario = (
|
||||
# IRC server JIDs advertise caps for their own disco info
|
||||
send_stanza("<iq type='get' id='get6' from='{jid_one}/{resource_one}' to='{irc_server_one}'><query xmlns='http://jabber.org/protocol/disco#info'/></iq>"),
|
||||
expect_stanza("/iq[@from='{irc_server_one}'][@to='{jid_one}/{resource_one}'][@type='result']/disco_info:query/disco_info:identity[@category='gateway'][@type='irc']",
|
||||
"/iq/disco_info:query/disco_info:feature[@var='http://jabber.org/protocol/disco#info']",
|
||||
"/iq/disco_info:query/disco_info:feature[@var='http://jabber.org/protocol/caps']"
|
||||
),
|
||||
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(),
|
||||
scenarios.simple_channel_join.expect_self_join_presence(),
|
||||
send_stanza("<presence from='{jid_one}/{resource_one}' to='{irc_server_one}' type='subscribe'/>"),
|
||||
expect_stanza("/presence[@from='{irc_server_one}'][@to='{jid_one}'][@type='subscribed']"),
|
||||
expect_stanza("/presence[@from='{irc_server_one}'][@to='{jid_one}']/caps:c[@hash='sha-1'][@node][@ver]",
|
||||
after = (
|
||||
save_value("server_ver", extract_attribute("/presence/caps:c[@hash='sha-1'][@node][@ver]", "ver")),
|
||||
save_value("server_node", extract_attribute("/presence/caps:c[@hash='sha-1'][@node][@ver]", "node")),
|
||||
)
|
||||
),
|
||||
send_stanza("<iq type='get' id='get8' from='{jid_one}/{resource_one}' to='{irc_server_one}'><query xmlns='http://jabber.org/protocol/disco#info' node='{server_node}#{server_ver}'/></iq>"),
|
||||
expect_stanza("/iq[@from='{irc_server_one}'][@type='result']/disco_info:query[@node='{server_node}#{server_ver}']"),
|
||||
)
|
||||
Reference in New Issue
Block a user