from scenarios import * def _test_case(input: str, output: str): return ( send_stanza(f"{input}"), 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"{input}"), 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"), )