##// END OF EJS Templates
phabricator: make user searches case-insensitive...
phabricator: make user searches case-insensitive User names in conduit are case insensitive, but when looking for "FOO" it would return "foo" instead and we'd think the user didn't exist. So lower case both the query and the response when comparing them. Differential Revision: https://phab.mercurial-scm.org/D5934

File last commit:

r41321:cf8677cd default
r41854:570e62f1 default
Show More
test-sshserver.py
59 lines | 1.6 KiB | text/x-python | PythonLexer
from __future__ import absolute_import, print_function
import io
import unittest
import silenttestrunner
from mercurial import (
wireprotoserver,
wireprotov1server,
)
from mercurial.utils import (
procutil,
)
class SSHServerGetArgsTests(unittest.TestCase):
def testparseknown(self):
tests = [
(b'* 0\nnodes 0\n', [b'', {}]),
(b'* 0\nnodes 40\n1111111111111111111111111111111111111111\n',
[b'1111111111111111111111111111111111111111', {}]),
]
for input, expected in tests:
self.assertparse(b'known', input, expected)
def assertparse(self, cmd, input, expected):
server = mockserver(input)
proto = wireprotoserver.sshv1protocolhandler(server._ui,
server._fin,
server._fout)
_func, spec = wireprotov1server.commands[cmd]
self.assertEqual(proto.getargs(spec), expected)
def mockserver(inbytes):
ui = mockui(inbytes)
repo = mockrepo(ui)
return wireprotoserver.sshserver(ui, repo)
class mockrepo(object):
def __init__(self, ui):
self.ui = ui
class mockui(object):
def __init__(self, inbytes):
self.fin = io.BytesIO(inbytes)
self.fout = io.BytesIO()
self.ferr = io.BytesIO()
def protectfinout(self):
return self.fin, self.fout
def restorefinout(self, fin, fout):
pass
if __name__ == '__main__':
# Don't call into msvcrt to set BytesIO to binary mode
procutil.setbinary = lambda fp: True
silenttestrunner.main(__name__)