Mercurial > public > mercurial-scm > hg-stable
diff tests/test-check-interfaces.py @ 37009:8e89c2bec1f7
httppeer: refactor how httppeer is created (API)
Previously, we passed a bunch of arguments to httppeer.__init__,
validated them, then possibly constructed a valid instance.
A short while ago, we refactored sshpeer so all the validation and
setup work occurs before the constructor. We introduced a makepeer()
to hold most of this logic.
This commit gives httppeer the same treatment.
As a sign that the previous design was poor, __del__ no longer
conditionally checks for the presence of an attribute that may
not be defined (it is always defined in the new code).
.. api::
httppeer.httppeer.__init__ now takes additional arguments.
Instances should be obtained by calling httppeer.instance()
or httppeer.makepeer() instead.
Differential Revision: https://phab.mercurial-scm.org/D2725
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Wed, 07 Mar 2018 20:41:59 -0800 |
parents | 11ba1a96f946 |
children | 0dfb5672f015 |
line wrap: on
line diff
--- a/tests/test-check-interfaces.py Wed Jan 31 09:41:47 2018 +0100 +++ b/tests/test-check-interfaces.py Wed Mar 07 20:41:59 2018 -0800 @@ -50,10 +50,13 @@ def _restrictcapabilities(self, caps): pass +class dummyopener(object): + handlers = [] + # Facilitates testing sshpeer without requiring an SSH server. class badpeer(httppeer.httppeer): def __init__(self): - super(badpeer, self).__init__(uimod.ui(), 'http://localhost') + super(badpeer, self).__init__(None, None, None, dummyopener()) self.badattribute = True def badmethod(self): @@ -67,7 +70,7 @@ ui = uimod.ui() checkobject(badpeer()) - checkobject(httppeer.httppeer(ui, 'http://localhost')) + checkobject(httppeer.httppeer(None, None, None, dummyopener())) checkobject(localrepo.localpeer(dummyrepo())) checkobject(sshpeer.sshv1peer(ui, 'ssh://localhost/foo', None, dummypipe(), dummypipe(), None, None))