Files
biboumi/tests/end_to_end/scenarios/iq_gateway.py
T

32 lines
1.6 KiB
Python

from scenarios import *
def _test_case(input: str, output: str):
return (
send_stanza(f"<iq type='set' to='{{biboumi_host}}' from='{{jid_one}}/{{resource_one}}' id='iq1' xmlns='jabber:client'><query xmlns='jabber:iq:gateway'><prompt>{input}</prompt></query></iq>"),
expect_stanza(f"/iq[@type='result'][@to='{{jid_one}}/{{resource_one}}'][@from='{{biboumi_host}}']/gateway:query/gateway:jid[text()='{output}']"),
)
def _error_case(input: str):
return (
send_stanza(f"<iq type='set' to='{{biboumi_host}}' from='{{jid_one}}/{{resource_one}}' id='iq1' xmlns='jabber:client'><query xmlns='jabber:iq:gateway'><prompt>{input}</prompt></query></iq>"),
expect_stanza(f"/iq[@type='error'][@to='{{jid_one}}/{{resource_one}}'][@from='{{biboumi_host}}']/error[@type='modify']/stanza:bad-request"),
)
scenario = (
*_test_case("ircs://{irc_host_one}/%23test", "#test%{irc_host_one}@{biboumi_host}"),
*_test_case("ircs://{irc_host_one}/#test", "#test%{irc_host_one}@{biboumi_host}"),
*_test_case("irc://{irc_host_one}/%23test", "#test%{irc_host_one}@{biboumi_host}"),
*_test_case("irc://{irc_host_one}/#test", "#test%{irc_host_one}@{biboumi_host}"),
*_test_case("#test%{irc_host_one}", "#test%{irc_host_one}@{biboumi_host}"),
*_test_case("{nick_one}%{irc_host_one}", "{lower_nick_one}%{irc_host_one}@{biboumi_host}"),
*_error_case(""),
*_error_case("#test"),
*_error_case("{lower_nick_one}"),
*_error_case("irc:///#test"),
*_error_case("irc://"),
*_error_case("irc:// asdf"),
*_error_case("ircs:///#test"),
*_error_case("ircs://"),
*_error_case("ircs:// asdf"),
)