vcs-http: explicitly pass in vcs-type into vcsserver.

This commit is contained in:
Marcin Kuzminski 2016-11-17 19:25:09 +01:00
parent d5210dfe63
commit f76d8139cb
3 changed files with 8 additions and 6 deletions

View file

@ -109,11 +109,11 @@ def connect_http(server_and_port):
session_factory = client_http.ThreadlocalSessionFactory()
connection.Git = client_http.RepoMaker(
server_and_port, '/git', session_factory)
server_and_port, '/git', 'git', session_factory)
connection.Hg = client_http.RepoMaker(
server_and_port, '/hg', session_factory)
server_and_port, '/hg', 'hg', session_factory)
connection.Svn = client_http.RepoMaker(
server_and_port, '/svn', session_factory)
server_and_port, '/svn', 'svn', session_factory)
connection.Service = client_http.ServiceConnection(
server_and_port, '/_service', session_factory)

View file

@ -56,10 +56,11 @@ EXCEPTIONS_MAP = {
class RepoMaker(object):
def __init__(self, server_and_port, backend_endpoint, session_factory):
def __init__(self, server_and_port, backend_endpoint, backend_type, session_factory):
self.url = urlparse.urljoin(
'http://%s' % server_and_port, backend_endpoint)
self._session_factory = session_factory
self.backend_type = backend_type
def __call__(self, path, config, with_wire=None):
log.debug('RepoMaker call on %s', path)
@ -77,6 +78,7 @@ class RepoMaker(object):
payload = {
'id': str(uuid.uuid4()),
'method': name,
'backend': self.backend_type,
'params': {'args': args, 'kwargs': kwargs}
}
return _remote_call(

View file

@ -70,7 +70,7 @@ def stub_session_factory(stub_session):
def test_repo_maker_uses_session_for_classmethods(stub_session_factory):
repo_maker = client_http.RepoMaker(
'server_and_port', 'endpoint', stub_session_factory)
'server_and_port', 'endpoint', 'test_dummy_scm', stub_session_factory)
repo_maker.example_call()
stub_session_factory().post.assert_called_with(
'http://server_and_port/endpoint', data=mock.ANY)
@ -79,7 +79,7 @@ def test_repo_maker_uses_session_for_classmethods(stub_session_factory):
def test_repo_maker_uses_session_for_instance_methods(
stub_session_factory, config):
repo_maker = client_http.RepoMaker(
'server_and_port', 'endpoint', stub_session_factory)
'server_and_port', 'endpoint', 'test_dummy_scm', stub_session_factory)
repo = repo_maker('stub_path', config)
repo.example_call()
stub_session_factory().post.assert_called_with(