mirror of
https://github.com/Grasscutters/mitmproxy.git
synced 2024-11-23 08:11:00 +00:00
Reimplement test retrievals on pathoc and ditch requests
Requests uses urllib3, which has a connection pool that's not easy to disable (https://github.com/shazow/urllib3/issues/383).
This commit is contained in:
parent
a7522d9308
commit
d8c52964c7
@ -11,11 +11,11 @@ class TestApp(tutils.DaemonTests):
|
|||||||
|
|
||||||
def test_about(self):
|
def test_about(self):
|
||||||
r = self.getpath("/about")
|
r = self.getpath("/about")
|
||||||
assert r.ok
|
assert r.status_code == 200
|
||||||
|
|
||||||
def test_download(self):
|
def test_download(self):
|
||||||
r = self.getpath("/download")
|
r = self.getpath("/download")
|
||||||
assert r.ok
|
assert r.status_code == 200
|
||||||
|
|
||||||
def test_docs(self):
|
def test_docs(self):
|
||||||
assert self.getpath("/docs/pathod").status_code == 200
|
assert self.getpath("/docs/pathod").status_code == 200
|
||||||
|
@ -6,10 +6,6 @@ from netlib.exceptions import HttpException, TlsException
|
|||||||
import tutils
|
import tutils
|
||||||
|
|
||||||
|
|
||||||
import requests.packages.urllib3
|
|
||||||
requests.packages.urllib3.disable_warnings()
|
|
||||||
|
|
||||||
|
|
||||||
class TestPathod(object):
|
class TestPathod(object):
|
||||||
|
|
||||||
def test_logging(self):
|
def test_logging(self):
|
||||||
@ -150,8 +146,7 @@ class CommonTests(tutils.DaemonTests):
|
|||||||
assert len(self.d.log()) == 0
|
assert len(self.d.log()) == 0
|
||||||
|
|
||||||
def test_disconnect(self):
|
def test_disconnect(self):
|
||||||
rsp = self.get("202:b@100k:d200")
|
tutils.raises("unexpected eof", self.get, "202:b@100k:d200")
|
||||||
assert len(rsp.content) < 200
|
|
||||||
|
|
||||||
def test_parserr(self):
|
def test_parserr(self):
|
||||||
rsp = self.get("400:msg,b:")
|
rsp = self.get("400:msg,b:")
|
||||||
@ -163,7 +158,7 @@ class CommonTests(tutils.DaemonTests):
|
|||||||
assert rsp.content.strip() == "testfile"
|
assert rsp.content.strip() == "testfile"
|
||||||
|
|
||||||
def test_anchor(self):
|
def test_anchor(self):
|
||||||
rsp = self.getpath("anchor/foo")
|
rsp = self.getpath("/anchor/foo")
|
||||||
assert rsp.status_code == 202
|
assert rsp.status_code == 202
|
||||||
|
|
||||||
def test_invalid_first_line(self):
|
def test_invalid_first_line(self):
|
||||||
|
@ -3,6 +3,7 @@ import re
|
|||||||
import shutil
|
import shutil
|
||||||
import requests
|
import requests
|
||||||
from six.moves import cStringIO as StringIO
|
from six.moves import cStringIO as StringIO
|
||||||
|
import urllib
|
||||||
|
|
||||||
from netlib import tcp
|
from netlib import tcp
|
||||||
from netlib import utils
|
from netlib import utils
|
||||||
@ -66,7 +67,7 @@ class DaemonTests(object):
|
|||||||
if not (self.noweb or self.noapi):
|
if not (self.noweb or self.noapi):
|
||||||
self.d.clear_log()
|
self.d.clear_log()
|
||||||
|
|
||||||
def getpath(self, path, params=None):
|
def _getpath(self, path, params=None):
|
||||||
scheme = "https" if self.ssl else "http"
|
scheme = "https" if self.ssl else "http"
|
||||||
resp = requests.get(
|
resp = requests.get(
|
||||||
"%s://localhost:%s/%s" % (
|
"%s://localhost:%s/%s" % (
|
||||||
@ -79,8 +80,28 @@ class DaemonTests(object):
|
|||||||
)
|
)
|
||||||
return resp
|
return resp
|
||||||
|
|
||||||
|
def getpath(self, path, params=None):
|
||||||
|
logfp = StringIO()
|
||||||
|
c = pathoc.Pathoc(
|
||||||
|
("localhost", self.d.port),
|
||||||
|
ssl=self.ssl,
|
||||||
|
fp=logfp,
|
||||||
|
)
|
||||||
|
c.connect()
|
||||||
|
if params:
|
||||||
|
path = path + "?" + urllib.urlencode(params)
|
||||||
|
resp = c.request("get:%s" % path)
|
||||||
|
return resp
|
||||||
|
|
||||||
def get(self, spec):
|
def get(self, spec):
|
||||||
resp = requests.get(self.d.p(spec), verify=False)
|
logfp = StringIO()
|
||||||
|
c = pathoc.Pathoc(
|
||||||
|
("localhost", self.d.port),
|
||||||
|
ssl=self.ssl,
|
||||||
|
fp=logfp,
|
||||||
|
)
|
||||||
|
c.connect()
|
||||||
|
resp = c.request("get:/p/%s" % urllib.quote(spec).encode("string_escape"))
|
||||||
return resp
|
return resp
|
||||||
|
|
||||||
def pathoc(
|
def pathoc(
|
||||||
|
Loading…
Reference in New Issue
Block a user