Mercurial > hg
view tests/test-sshserver.py @ 35760:133a678673cb
clone: allow bundle2's stream clone with 'server.disablefullbundle'
The previous check was a bit too strict and would not recognize a get bundle
not requesting changegroup.
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Wed, 17 Jan 2018 16:38:32 +0100 |
parents | 047581ddb6ce |
children | 7764ff13318e |
line wrap: on
line source
from __future__ import absolute_import, print_function import io import unittest import silenttestrunner from mercurial import ( sshserver, wireproto, ) class SSHServerGetArgsTests(unittest.TestCase): def testparseknown(self): tests = [ ('* 0\nnodes 0\n', ['', {}]), ('* 0\nnodes 40\n1111111111111111111111111111111111111111\n', ['1111111111111111111111111111111111111111', {}]), ] for input, expected in tests: self.assertparse('known', input, expected) def assertparse(self, cmd, input, expected): server = mockserver(input) _func, spec = wireproto.commands[cmd] self.assertEqual(server.getargs(spec), expected) def mockserver(inbytes): ui = mockui(inbytes) repo = mockrepo(ui) return sshserver.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() if __name__ == '__main__': silenttestrunner.main(__name__)