diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2016-06-03 14:55:35 +1200 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2016-06-03 14:55:35 +1200 |
commit | 08e4cd2a40778a1a10eef1bba0d2c167f6edeea9 (patch) | |
tree | a36d0a637ae2a46c8425c56439927ff04392b5ef /test/pathod/tutils.py | |
parent | 25671b91bd16d7c355742a6094addad00e331af5 (diff) | |
parent | a2d13714a6d73595820e8ca7bdada3a4eabec36e (diff) | |
download | mitmproxy-08e4cd2a40778a1a10eef1bba0d2c167f6edeea9.tar.gz mitmproxy-08e4cd2a40778a1a10eef1bba0d2c167f6edeea9.tar.bz2 mitmproxy-08e4cd2a40778a1a10eef1bba0d2c167f6edeea9.zip |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'test/pathod/tutils.py')
-rw-r--r-- | test/pathod/tutils.py | 48 |
1 files changed, 35 insertions, 13 deletions
diff --git a/test/pathod/tutils.py b/test/pathod/tutils.py index f7bb22e5..b9f38d86 100644 --- a/test/pathod/tutils.py +++ b/test/pathod/tutils.py @@ -3,6 +3,7 @@ import re import shutil import requests from six.moves import cStringIO as StringIO +import urllib from netlib import tcp from netlib import utils @@ -63,10 +64,11 @@ class DaemonTests(object): shutil.rmtree(cls.confdir) def teardown(self): + self.d.wait_for_silence() if not (self.noweb or self.noapi): self.d.clear_log() - def getpath(self, path, params=None): + def _getpath(self, path, params=None): scheme = "https" if self.ssl else "http" resp = requests.get( "%s://localhost:%s/%s" % ( @@ -79,9 +81,29 @@ class DaemonTests(object): ) return resp + def getpath(self, path, params=None): + logfp = StringIO() + c = pathoc.Pathoc( + ("localhost", self.d.port), + ssl=self.ssl, + fp=logfp, + ) + with c.connect(): + if params: + path = path + "?" + urllib.urlencode(params) + resp = c.request("get:%s" % path) + return resp + def get(self, spec): - resp = requests.get(self.d.p(spec), verify=False) - return resp + logfp = StringIO() + c = pathoc.Pathoc( + ("localhost", self.d.port), + ssl=self.ssl, + fp=logfp, + ) + with c.connect(): + resp = c.request("get:/p/%s" % urllib.quote(spec).encode("string_escape")) + return resp def pathoc( self, @@ -106,16 +128,16 @@ class DaemonTests(object): fp=logfp, use_http2=use_http2, ) - c.connect(connect_to) - ret = [] - for i in specs: - resp = c.request(i) - if resp: - ret.append(resp) - for frm in c.wait(): - ret.append(frm) - c.stop() - return ret, logfp.getvalue() + with c.connect(connect_to): + ret = [] + for i in specs: + resp = c.request(i) + if resp: + ret.append(resp) + for frm in c.wait(): + ret.append(frm) + c.stop() + return ret, logfp.getvalue() tmpdir = tutils.tmpdir |