[Zope-dev] AcceleratedHTTPCache and virtual hosting (collector
1447)
Jens Vagelpohl
jens at dataflake.org
Sat Dec 3 11:08:16 EST 2005
On 3 Dec 2005, at 15:57, Paul Winkler wrote:
> One thought that occurs to me is to replace httplib.HTTPConnection
> with
> a mock object of some sort that allows easy verification of its input.
> So we assume that httplib works, as a proper unit test should I think.
> How to do this? One idea is to monkeypatch httplib during the
> course of
> the test case, and replace and then when the test finishes,
> restore the
> old httplib.HTTPConnection. But this idea smells pretty bad to me.
> Another thought: Maybe before doing anything else, I should make the
> client class used by AcceleratedHTTPCache configurable, so I can more
> easily get a mock in there. Something like:
I like the secondary route, but I'm not sure the production code
should contain "testing only" turds. :)
I have done the first route on many occasions, mostly with the
LDAPUserFolder where I actually replace a class in the python-ldap
module with one that fakes out a LDAP connection object so I can
operate on it:
# Do some namespace manipulation to make use of FakeLDAP
from Products.LDAPUserFolder.tests import FakeLDAP
sys.modules['ldap'] = FakeLDAP
This could also be done in setUp/tearDown, which I should really do
because this code does not clean up after itself. If you happened to
run other code after running the test and with the same running
interpreter that just happens to use the python-ldap module you'd be
in bad shape ;)
jens
More information about the Zope-Dev
mailing list