diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2011-09-09 14:49:34 +1200 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2011-09-09 14:49:34 +1200 |
commit | 28daa93268dc0f488c53d49a6d6eb1f6fb76d533 (patch) | |
tree | 121fd9d33c9ce089738c5d901d07b0913f491e2d /test | |
parent | 362fdf9bae85250634c59d07b60158ff642a12c0 (diff) | |
download | mitmproxy-28daa93268dc0f488c53d49a6d6eb1f6fb76d533.tar.gz mitmproxy-28daa93268dc0f488c53d49a6d6eb1f6fb76d533.tar.bz2 mitmproxy-28daa93268dc0f488c53d49a6d6eb1f6fb76d533.zip |
Basic infrastructure for request and response body size limits.
Diffstat (limited to 'test')
-rw-r--r-- | test/test_proxy.py | 41 | ||||
-rw-r--r-- | test/tutils.py | 2 |
2 files changed, 37 insertions, 6 deletions
diff --git a/test/test_proxy.py b/test/test_proxy.py index 16b6034c..f0b54681 100644 --- a/test/test_proxy.py +++ b/test/test_proxy.py @@ -1,22 +1,52 @@ import cStringIO, time import libpry -from libmproxy import proxy, controller, utils, dump +from libmproxy import proxy, controller, utils, dump, flow class u_read_chunked(libpry.AutoTree): def test_all(self): s = cStringIO.StringIO("1\r\na\r\n0\r\n") - libpry.raises(IOError, proxy.read_chunked, s) + libpry.raises(IOError, proxy.read_chunked, s, None) s = cStringIO.StringIO("1\r\na\r\n0\r\n\r\n") - assert proxy.read_chunked(s) == "a" + assert proxy.read_chunked(s, None) == "a" s = cStringIO.StringIO("\r\n") - libpry.raises(IOError, proxy.read_chunked, s) + libpry.raises(IOError, proxy.read_chunked, s, None) s = cStringIO.StringIO("1\r\nfoo") - libpry.raises(IOError, proxy.read_chunked, s) + libpry.raises(IOError, proxy.read_chunked, s, None) + s = cStringIO.StringIO("foo\r\nfoo") + libpry.raises(proxy.ProxyError, proxy.read_chunked, s, None) + + +class Dummy: pass + +class u_read_http_body(libpry.AutoTree): + def test_all(self): + + d = Dummy() + h = flow.Headers() + s = cStringIO.StringIO("testing") + assert proxy.read_http_body(s, d, h, False, None) == "" + + h["content-length"] = ["foo"] + s = cStringIO.StringIO("testing") + libpry.raises(proxy.ProxyError, proxy.read_http_body, s, d, h, False, None) + + h["content-length"] = [5] + s = cStringIO.StringIO("testing") + assert len(proxy.read_http_body(s, d, h, False, None)) == 5 + s = cStringIO.StringIO("testing") + libpry.raises(proxy.ProxyError, proxy.read_http_body, s, d, h, False, 4) + + + h = flow.Headers() + s = cStringIO.StringIO("testing") + assert len(proxy.read_http_body(s, d, h, True, 4)) == 4 + s = cStringIO.StringIO("testing") + assert len(proxy.read_http_body(s, d, h, True, 100)) == 7 class u_parse_request_line(libpry.AutoTree): @@ -69,4 +99,5 @@ tests = [ uFileLike(), u_parse_request_line(), u_read_chunked(), + u_read_http_body(), ] diff --git a/test/tutils.py b/test/tutils.py index f7a49577..bed99caf 100644 --- a/test/tutils.py +++ b/test/tutils.py @@ -50,7 +50,7 @@ HTTPS_PORT = random.randint(30000, 40000) class TestMaster(controller.Master): def __init__(self, port, testq): - serv = proxy.ProxyServer(proxy.SSLConfig("data/testkey.pem"), port) + serv = proxy.ProxyServer(proxy.ProxyConfig("data/testkey.pem"), port) controller.Master.__init__(self, serv) self.testq = testq self.log = [] |