24 lines
1.6 KiB
Python
24 lines
1.6 KiB
Python
from scenarios import *
|
|
|
|
scenario = (
|
|
send_stanza("<presence id='get1' from='{jid_one}/{resource_one}' to='{biboumi_host}' xmlns='jabber:component:accept'></presence>"),
|
|
expect_stanza("/presence/caps:c[@hash='sha-1'][@node][@ver]",
|
|
after = (
|
|
save_value("ver", extract_attribute("/presence/caps:c[@hash='sha-1'][@node][@ver]", "ver")),
|
|
save_value("node", extract_attribute("/presence/caps:c[@hash='sha-1'][@node][@ver]", "node")),
|
|
)
|
|
),
|
|
# Assert node and ver are consistent
|
|
send_stanza("<presence id='get2' from='{jid_one}/{resource_one}' to='{biboumi_host}' xmlns='jabber:component:accept'></presence>"),
|
|
expect_stanza("/presence/caps:c[@hash='sha-1'][@node='{node}'][@ver='{ver}']"),
|
|
# If we ask for this node then we should get it back
|
|
send_stanza("<iq type='get' id='get3' from='{jid_one}/{resource_one}' to='{biboumi_host}'><query xmlns='http://jabber.org/protocol/disco#info' node='{node}#{ver}' /></iq>"),
|
|
expect_stanza("/iq/disco_info:query[@node='{node}#{ver}']"),
|
|
# But if we ask for invalid values then we don't
|
|
send_stanza("<iq type='get' id='get4' from='{jid_one}/{resource_one}' to='{biboumi_host}' xmlns='jabber:component:accept'><query xmlns='http://jabber.org/protocol/disco#info' node='{node}#asdf' /></iq>"),
|
|
expect_stanza("!/iq/disco_info:query[@node='{node}#{ver}']"),
|
|
send_stanza("<iq type='get' id='get5' from='{jid_one}/{resource_one}' to='{biboumi_host}' xmlns='jabber:component:accept'><query xmlns='http://jabber.org/protocol/disco#info' node='asdf' /></iq>"),
|
|
expect_stanza("!/iq/disco_info:query[@node='{node}#{ver}']"),
|
|
)
|
|
|