adjust to netlib changes

This commit is contained in:
Maximilian Hils 2015-09-26 17:40:22 +02:00
parent a163dba582
commit fa722e0290
6 changed files with 27 additions and 29 deletions

View File

@ -290,9 +290,9 @@ class Pathoc(tcp.TCPClient):
self.sslinfo = None
if self.ssl:
try:
alpn_protos = [http.ALPN_PROTO_HTTP1]
alpn_protos = [b'http/1.1']
if self.use_http2:
alpn_protos.append(http.ALPN_PROTO_H2)
alpn_protos.append(b'h2')
self.convert_to_ssl(
sni=self.sni,
@ -424,7 +424,7 @@ class Pathoc(tcp.TCPClient):
finally:
if resp:
lg("<< %s %s: %s bytes" % (
resp.status_code, utils.xrepr(resp.msg), len(resp.body)
resp.status_code, utils.xrepr(resp.msg), len(resp.content)
))
if resp.status_code in self.ignorecodes:
lg.suppress()

View File

@ -41,7 +41,7 @@ class SSLOptions(object):
ssl_options=tcp.SSL_DEFAULT_OPTIONS,
ciphers=None,
certs=None,
alpn_select=http.ALPN_PROTO_H2,
alpn_select=b'h2',
):
self.confdir = confdir
self.cn = cn
@ -140,7 +140,7 @@ class PathodHandler(tcp.BaseHandler):
path = req.path
http_version = req.http_version
headers = req.headers
body = req.body
body = req.content
clientcert = None
if self.clientcert:
@ -259,7 +259,7 @@ class PathodHandler(tcp.BaseHandler):
return
alp = self.get_alpn_proto_negotiated()
if alp == http.ALPN_PROTO_H2:
if alp == b'h2':
self.protocol = protocols.http2.HTTP2Protocol(self)
self.use_http2 = True

View File

@ -7,7 +7,7 @@ class TestApp(tutils.DaemonTests):
def test_index(self):
r = self.getpath("/")
assert r.status_code == 200
assert r.body
assert r.content
def test_about(self):
r = self.getpath("/about")
@ -38,48 +38,48 @@ class TestApp(tutils.DaemonTests):
def test_response_preview(self):
r = self.getpath("/response_preview", params=dict(spec="200"))
assert r.status_code == 200
assert 'Response' in r.body
assert 'Response' in r.content
r = self.getpath("/response_preview", params=dict(spec="foo"))
assert r.status_code == 200
assert 'Error' in r.body
assert 'Error' in r.content
r = self.getpath("/response_preview", params=dict(spec="200:b@100m"))
assert r.status_code == 200
assert "too large" in r.body
assert "too large" in r.content
r = self.getpath("/response_preview", params=dict(spec="200:b@5k"))
assert r.status_code == 200
assert 'Response' in r.body
assert 'Response' in r.content
r = self.getpath(
"/response_preview",
params=dict(
spec="200:b<nonexistent"))
assert r.status_code == 200
assert 'File access denied' in r.body
assert 'File access denied' in r.content
r = self.getpath("/response_preview", params=dict(spec="200:b<file"))
assert r.status_code == 200
assert 'testfile' in r.body
assert 'testfile' in r.content
def test_request_preview(self):
r = self.getpath("/request_preview", params=dict(spec="get:/"))
assert r.status_code == 200
assert 'Request' in r.body
assert 'Request' in r.content
r = self.getpath("/request_preview", params=dict(spec="foo"))
assert r.status_code == 200
assert 'Error' in r.body
assert 'Error' in r.content
r = self.getpath("/request_preview", params=dict(spec="get:/:b@100m"))
assert r.status_code == 200
assert "too large" in r.body
assert "too large" in r.content
r = self.getpath("/request_preview", params=dict(spec="get:/:b@5k"))
assert r.status_code == 200
assert 'Request' in r.body
assert 'Request' in r.content
r = self.getpath("/request_preview", params=dict(spec=""))
assert r.status_code == 200
assert 'empty spec' in r.body
assert 'empty spec' in r.content

View File

@ -47,7 +47,7 @@ class _TestDaemon:
)
c.connect()
resp = c.request("get:/api/info")
assert tuple(json.loads(resp.body)["version"]) == version.IVERSION
assert tuple(json.loads(resp.content)["version"]) == version.IVERSION
def tval(
self,
@ -94,7 +94,7 @@ class TestDaemonSSL(_TestDaemon):
ssloptions = pathod.SSLOptions(
request_client_cert=True,
sans=["test1.com", "test2.com"],
alpn_select=http.ALPN_PROTO_H2,
alpn_select=b'h2',
)
def test_sni(self):
@ -107,7 +107,7 @@ class TestDaemonSSL(_TestDaemon):
c.connect()
c.request("get:/p/200")
r = c.request("get:/api/log")
d = json.loads(r.body)
d = json.loads(r.content)
assert d["log"][0]["request"]["sni"] == "foobar.com"
def test_showssl(self):
@ -123,7 +123,7 @@ class TestDaemonSSL(_TestDaemon):
c.connect()
c.request("get:/p/200")
r = c.request("get:/api/log")
d = json.loads(r.body)
d = json.loads(r.content)
assert d["log"][0]["request"]["clientcert"]["keyinfo"]
def test_http2_without_ssl(self):

View File

@ -52,7 +52,7 @@ class TestNoApi(tutils.DaemonTests):
assert self.getpath("/log").status_code == 404
r = self.getpath("/")
assert r.status_code == 200
assert not "Log" in r.body
assert not "Log" in r.content
class TestNotAfterConnect(tutils.DaemonTests):
@ -120,7 +120,7 @@ class TestNocraft(tutils.DaemonTests):
def test_nocraft(self):
r = self.get(r"200:b'\xf0'")
assert r.status_code == 800
assert "Crafting disabled" in r.body
assert "Crafting disabled" in r.content
class CommonTests(tutils.DaemonTests):
@ -153,7 +153,7 @@ class CommonTests(tutils.DaemonTests):
def test_disconnect(self):
rsp = self.get("202:b@100k:d200")
assert len(rsp.body) < 200
assert len(rsp.content) < 200
def test_parserr(self):
rsp = self.get("400:msg,b:")
@ -162,7 +162,7 @@ class CommonTests(tutils.DaemonTests):
def test_static(self):
rsp = self.get("200:b<file")
assert rsp.status_code == 200
assert rsp.body.strip() == "testfile"
assert rsp.content.strip() == "testfile"
def test_anchor(self):
rsp = self.getpath("anchor/foo")
@ -202,7 +202,7 @@ class CommonTests(tutils.DaemonTests):
def test_source_access_denied(self):
rsp = self.get("200:b</foo")
assert rsp.status_code == 800
assert "File access denied" in rsp.body
assert "File access denied" in rsp.content
def test_proxy(self):
r, _ = self.pathoc([r"get:'http://foo.com/p/202':da"])

View File

@ -73,12 +73,10 @@ class DaemonTests(object):
verify=False,
params=params
)
resp.body = resp.content
return resp
def get(self, spec):
resp = requests.get(self.d.p(spec), verify=False)
resp.body = resp.content
return resp
def pathoc(