diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2012-02-20 10:34:32 +1300 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2012-02-20 10:39:00 +1300 |
commit | 2616f490fee1b732aa0853318d67a550fc561cc4 (patch) | |
tree | b93ebc1f266682f422791fc63ad15ce3d5d0467d /test | |
parent | 25a06c3ec18a9ed49f34213024330aed59cb5322 (diff) | |
download | mitmproxy-2616f490fee1b732aa0853318d67a550fc561cc4.tar.gz mitmproxy-2616f490fee1b732aa0853318d67a550fc561cc4.tar.bz2 mitmproxy-2616f490fee1b732aa0853318d67a550fc561cc4.zip |
Rename Headers class to ODict
ODict is an ordered dictionary class that will be useful in many other parts of
our API.
Diffstat (limited to 'test')
-rw-r--r-- | test/test_filt.py | 4 | ||||
-rw-r--r-- | test/test_flow.py | 64 | ||||
-rw-r--r-- | test/test_proxy.py | 48 | ||||
-rw-r--r-- | test/tutils.py | 4 |
4 files changed, 62 insertions, 58 deletions
diff --git a/test/test_filt.py b/test/test_filt.py index dfb2b3e1..6c9df232 100644 --- a/test/test_filt.py +++ b/test/test_filt.py @@ -74,7 +74,7 @@ class uParsing(libpry.AutoTree): class uMatching(libpry.AutoTree): def req(self): conn = flow.ClientConnect(("one", 2222)) - headers = flow.Headers() + headers = flow.ODict() headers["header"] = ["qvalue"] return flow.Request( conn, @@ -89,7 +89,7 @@ class uMatching(libpry.AutoTree): def resp(self): q = self.req() - headers = flow.Headers() + headers = flow.ODict() headers["header_response"] = ["svalue"] return flow.Response( q, diff --git a/test/test_flow.py b/test/test_flow.py index 3e126263..250127a9 100644 --- a/test/test_flow.py +++ b/test/test_flow.py @@ -617,7 +617,7 @@ class uFlowMaster(libpry.AutoTree): class uRequest(libpry.AutoTree): def test_simple(self): - h = flow.Headers() + h = flow.ODict() h["test"] = ["test"] c = flow.ClientConnect(("addr", 2222)) r = flow.Request(c, "host", 22, "https", "GET", "/", h, "content") @@ -639,7 +639,7 @@ class uRequest(libpry.AutoTree): assert r._assemble(True) def test_getset_form_urlencoded(self): - h = flow.Headers() + h = flow.ODict() h["content-type"] = [flow.HDR_FORM_URLENCODED] d = [("one", "two"), ("three", "four")] r = flow.Request(None, "host", 22, "https", "GET", "/", h, utils.urlencode(d)) @@ -653,7 +653,7 @@ class uRequest(libpry.AutoTree): assert not r.get_form_urlencoded() def test_getset_query(self): - h = flow.Headers() + h = flow.ODict() r = flow.Request(None, "host", 22, "https", "GET", "/foo?x=y&a=b", h, "content") q = r.get_query() @@ -676,7 +676,7 @@ class uRequest(libpry.AutoTree): assert r.get_query() == qv def test_anticache(self): - h = flow.Headers() + h = flow.ODict() r = flow.Request(None, "host", 22, "https", "GET", "/", h, "content") h["if-modified-since"] = ["test"] h["if-none-match"] = ["test"] @@ -685,7 +685,7 @@ class uRequest(libpry.AutoTree): assert not "if-none-match" in r.headers def test_getset_state(self): - h = flow.Headers() + h = flow.ODict() h["test"] = ["test"] c = flow.ClientConnect(("addr", 2222)) r = flow.Request(c, "host", 22, "https", "GET", "/", h, "content") @@ -753,7 +753,7 @@ class uRequest(libpry.AutoTree): class uResponse(libpry.AutoTree): def test_simple(self): - h = flow.Headers() + h = flow.ODict() h["test"] = ["test"] c = flow.ClientConnect(("addr", 2222)) req = flow.Request(c, "host", 22, "https", "GET", "/", h, "content") @@ -798,7 +798,7 @@ class uResponse(libpry.AutoTree): def test_getset_state(self): - h = flow.Headers() + h = flow.ODict() h["test"] = ["test"] c = flow.ClientConnect(("addr", 2222)) req = flow.Request(c, "host", 22, "https", "GET", "/", h, "content") @@ -884,52 +884,14 @@ class uClientConnect(libpry.AutoTree): assert c3 == c -class uHeaders(libpry.AutoTree): +class uODict(libpry.AutoTree): def setUp(self): - self.hd = flow.Headers() + self.hd = flow.ODict() def test_str_err(self): - h = flow.Headers() + h = flow.ODict() libpry.raises(ValueError, h.__setitem__, "key", "foo") - def test_read_simple(self): - data = """ - Header: one - Header2: two - \r\n - """ - data = textwrap.dedent(data) - data = data.strip() - s = StringIO(data) - self.hd.read(s) - assert self.hd["header"] == ["one"] - assert self.hd["header2"] == ["two"] - - def test_read_multi(self): - data = """ - Header: one - Header: two - \r\n - """ - data = textwrap.dedent(data) - data = data.strip() - s = StringIO(data) - self.hd.read(s) - assert self.hd["header"] == ["one", "two"] - - def test_read_continued(self): - data = """ - Header: one - \ttwo - Header2: three - \r\n - """ - data = textwrap.dedent(data) - data = data.strip() - s = StringIO(data) - self.hd.read(s) - assert self.hd["header"] == ['one\r\n two'] - def test_dictToHeader1(self): self.hd.add("one", "uno") self.hd.add("two", "due") @@ -953,7 +915,7 @@ class uHeaders(libpry.AutoTree): assert out.find(expected2) >= 0 def test_match_re(self): - h = flow.Headers() + h = flow.ODict() h.add("one", "uno") h.add("two", "due") h.add("two", "tre") @@ -966,7 +928,7 @@ class uHeaders(libpry.AutoTree): self.hd.add("foo", 2) self.hd.add("bar", 3) state = self.hd._get_state() - nd = flow.Headers._from_state(state) + nd = flow.ODict._from_state(state) assert nd == self.hd def test_copy(self): @@ -1005,5 +967,5 @@ tests = [ uResponse(), uError(), uClientConnect(), - uHeaders(), + uODict(), ] diff --git a/test/test_proxy.py b/test/test_proxy.py index f0b54681..8120bbbe 100644 --- a/test/test_proxy.py +++ b/test/test_proxy.py @@ -1,4 +1,5 @@ -import cStringIO, time +import cStringIO, time, textwrap +from cStringIO import StringIO import libpry from libmproxy import proxy, controller, utils, dump, flow @@ -27,7 +28,7 @@ class u_read_http_body(libpry.AutoTree): def test_all(self): d = Dummy() - h = flow.Headers() + h = flow.ODict() s = cStringIO.StringIO("testing") assert proxy.read_http_body(s, d, h, False, None) == "" @@ -42,7 +43,7 @@ class u_read_http_body(libpry.AutoTree): libpry.raises(proxy.ProxyError, proxy.read_http_body, s, d, h, False, 4) - h = flow.Headers() + h = flow.ODict() s = cStringIO.StringIO("testing") assert len(proxy.read_http_body(s, d, h, True, 4)) == 4 s = cStringIO.StringIO("testing") @@ -94,10 +95,51 @@ class uProxyError(libpry.AutoTree): assert repr(p) +class u_read_headers(libpry.AutoTree): + def test_read_simple(self): + data = """ + Header: one + Header2: two + \r\n + """ + data = textwrap.dedent(data) + data = data.strip() + s = StringIO(data) + headers = proxy.read_headers(s) + assert headers["header"] == ["one"] + assert headers["header2"] == ["two"] + + def test_read_multi(self): + data = """ + Header: one + Header: two + \r\n + """ + data = textwrap.dedent(data) + data = data.strip() + s = StringIO(data) + headers = proxy.read_headers(s) + assert headers["header"] == ["one", "two"] + + def test_read_continued(self): + data = """ + Header: one + \ttwo + Header2: three + \r\n + """ + data = textwrap.dedent(data) + data = data.strip() + s = StringIO(data) + headers = proxy.read_headers(s) + assert headers["header"] == ['one\r\n two'] + + tests = [ uProxyError(), uFileLike(), u_parse_request_line(), u_read_chunked(), u_read_http_body(), + u_read_headers() ] diff --git a/test/tutils.py b/test/tutils.py index bed99caf..87977b1c 100644 --- a/test/tutils.py +++ b/test/tutils.py @@ -7,7 +7,7 @@ import random def treq(conn=None): if not conn: conn = flow.ClientConnect(("address", 22)) - headers = flow.Headers() + headers = flow.ODict() headers["header"] = ["qvalue"] return flow.Request(conn, "host", 80, "http", "GET", "/path", headers, "content") @@ -15,7 +15,7 @@ def treq(conn=None): def tresp(req=None): if not req: req = treq() - headers = flow.Headers() + headers = flow.ODict() headers["header_response"] = ["svalue"] return flow.Response(req, 200, "message", headers, "content_response") |