from scenarios import * scenario = ( send_stanza(""), sequences.connection("irc.localhost", '{jid_one}/{resource_one}'), expect_stanza("/presence"), expect_stanza("/message"), send_stanza(""), expect_stanza("/presence"), expect_stanza("/message"), send_stanza(""), expect_stanza("/presence"), expect_stanza("/message"), send_stanza(""), expect_stanza("/presence"), expect_stanza("/message"), send_stanza(""), expect_stanza("/presence"), expect_stanza("/message"), send_stanza(""), expect_stanza("/presence"), expect_stanza("/message"), send_stanza(""), expect_stanza("/presence"), expect_stanza("/message"), send_stanza(""), expect_stanza("/presence"), expect_stanza("/message"), send_stanza(""), expect_stanza("/presence"), expect_stanza("/message"), send_stanza(""), expect_stanza("/presence"), expect_stanza("/message"), send_stanza("3"), expect_stanza("/iq[@type='result']/disco_items:query", "count(/iq/disco_items:query/disco_items:item[@jid])=3", "/iq/disco_items:query/rsm:set/rsm:first[@index='0']", "/iq/disco_items:query/rsm:set/rsm:last", after = save_value("last", lambda stanza: extract_text("/iq/disco_items:query/rsm:set/rsm:last", stanza))), send_stanza("{last}3"), expect_stanza("/iq[@type='result']/disco_items:query", "count(/iq/disco_items:query/disco_items:item[@jid])=3", "/iq/disco_items:query/rsm:set/rsm:first[@index='3']", "/iq/disco_items:query/rsm:set/rsm:last", after = save_value("last", lambda stanza: extract_text("/iq/disco_items:query/rsm:set/rsm:last", stanza))), send_stanza("{last}3"), expect_stanza("/iq[@type='result']/disco_items:query", "count(/iq/disco_items:query/disco_items:item[@jid])=3", "/iq/disco_items:query/rsm:set/rsm:first[@index='6']", "/iq/disco_items:query/rsm:set/rsm:last", after = save_value("last", lambda stanza: extract_text("/iq/disco_items:query/rsm:set/rsm:last", stanza))), send_stanza("{last}3"), expect_stanza("/iq[@type='result']/disco_items:query", "count(/iq/disco_items:query/disco_items:item[@jid])=1", "/iq/disco_items:query/rsm:set/rsm:first[@index='9']", "/iq/disco_items:query/rsm:set/rsm:last", "/iq/disco_items:query/rsm:set/rsm:count[text()='10']"), send_stanza(""), send_stanza(""), send_stanza(""), send_stanza(""), send_stanza(""), send_stanza(""), send_stanza(""), send_stanza(""), send_stanza(""), send_stanza(""), expect_stanza("/presence[@type='unavailable']"), expect_stanza("/presence[@type='unavailable']"), expect_stanza("/presence[@type='unavailable']"), expect_stanza("/presence[@type='unavailable']"), expect_stanza("/presence[@type='unavailable']"), expect_stanza("/presence[@type='unavailable']"), expect_stanza("/presence[@type='unavailable']"), expect_stanza("/presence[@type='unavailable']"), expect_stanza("/presence[@type='unavailable']"), expect_stanza("/presence[@type='unavailable']"), )