diff options
author | Shadab Zafar <dufferzafar0@gmail.com> | 2016-07-30 21:08:15 +0530 |
---|---|---|
committer | Shadab Zafar <dufferzafar0@gmail.com> | 2016-09-27 16:44:08 +0530 |
commit | 85bf5e18f6f7487555d4a7d1e48269da03444818 (patch) | |
tree | 9049b6f66c7d7a3fc4c8757a2de67ff7ac7f050c /test/netlib | |
parent | e80b2af4aed325741d8b51458d59351e70743aef (diff) | |
download | mitmproxy-85bf5e18f6f7487555d4a7d1e48269da03444818.tar.gz mitmproxy-85bf5e18f6f7487555d4a7d1e48269da03444818.tar.bz2 mitmproxy-85bf5e18f6f7487555d4a7d1e48269da03444818.zip |
Update cookie tests
This is needed since _read_pairs now returns a list of cookies each of which
is a list of [name, value] tuples.
Diffstat (limited to 'test/netlib')
-rw-r--r-- | test/netlib/http/test_cookies.py | 175 |
1 files changed, 84 insertions, 91 deletions
diff --git a/test/netlib/http/test_cookies.py b/test/netlib/http/test_cookies.py index efd8ba80..b40398f1 100644 --- a/test/netlib/http/test_cookies.py +++ b/test/netlib/http/test_cookies.py @@ -5,11 +5,55 @@ from netlib.tutils import raises import mock +pairs = [ + [ + "", + [[]] + ], + [ + "one=uno", + [[["one", "uno"]]] + ], + [ + "one", + [[["one", None]]] + ], + [ + "one=uno; two=due", + [[["one", "uno"], ["two", "due"]]] + ], + [ + 'one="uno"; two="\due"', + [[["one", "uno"], ["two", "due"]]] + ], + [ + 'one="un\\"o"', + [[["one", 'un"o']]] + ], + [ + 'one="uno,due"', + [[["one", 'uno,due']]] + ], + [ + "one=uno; two; three=tre", + [[["one", "uno"], ["two", None], ["three", "tre"]]] + ], + [ + "_lvs2=zHai1+Hq+Tc2vmc2r4GAbdOI5Jopg3EwsdUT9g=; " + "_rcc2=53VdltWl+Ov6ordflA==;", + [[ + ["_lvs2", "zHai1+Hq+Tc2vmc2r4GAbdOI5Jopg3EwsdUT9g="], + ["_rcc2", "53VdltWl+Ov6ordflA=="] + ]] + ] +] + def test_read_token(): tokens = [ [("foo", 0), ("foo", 3)], [("foo", 1), ("oo", 3)], + [(" foo", 0), (" foo", 4)], [(" foo", 1), ("foo", 4)], [(" foo;", 1), ("foo", 4)], [(" foo=", 1), ("foo", 4)], @@ -36,31 +80,31 @@ def test_read_pairs(): vals = [ [ "one", - [["one", None]] + [[["one", None]]] ], [ "one=two", - [["one", "two"]] + [[["one", "two"]]] ], [ "one=", - [["one", ""]] + [[["one", ""]]] ], [ 'one="two"', - [["one", "two"]] + [[["one", "two"]]] ], [ 'one="two"; three=four', - [["one", "two"], ["three", "four"]] + [[["one", "two"], ["three", "four"]]] ], [ 'one="two"; three=four; five', - [["one", "two"], ["three", "four"], ["five", None]] + [[["one", "two"], ["three", "four"], ["five", None]]] ], [ 'one="\\"two"; three=four', - [["one", '"two'], ["three", "four"]] + [[["one", '"two'], ["three", "four"]]] ], ] for s, lst in vals: @@ -69,126 +113,75 @@ def test_read_pairs(): def test_pairs_roundtrips(): - pairs = [ - [ - "", - [] - ], - [ - "one=uno", - [["one", "uno"]] - ], - [ - "one", - [["one", None]] - ], - [ - "one=uno; two=due", - [["one", "uno"], ["two", "due"]] - ], - [ - 'one="uno"; two="\due"', - [["one", "uno"], ["two", "due"]] - ], - [ - 'one="un\\"o"', - [["one", 'un"o']] - ], - [ - 'one="uno,due"', - [["one", 'uno,due']] - ], - [ - "one=uno; two; three=tre", - [["one", "uno"], ["two", None], ["three", "tre"]] - ], - [ - "_lvs2=zHai1+Hq+Tc2vmc2r4GAbdOI5Jopg3EwsdUT9g=; " - "_rcc2=53VdltWl+Ov6ordflA==;", - [ - ["_lvs2", "zHai1+Hq+Tc2vmc2r4GAbdOI5Jopg3EwsdUT9g="], - ["_rcc2", "53VdltWl+Ov6ordflA=="] - ] - ] - ] - for s, lst in pairs: + for s, expected in pairs: ret, off = cookies._read_pairs(s) - assert ret == lst - s2 = cookies._format_pairs(lst) + assert ret == expected + s2 = cookies._format_pairs(expected[0]) ret, off = cookies._read_pairs(s2) - assert ret == lst + assert ret == expected def test_cookie_roundtrips(): - pairs = [ - [ - "one=uno", - [["one", "uno"]] - ], - [ - "one=uno; two=due", - [["one", "uno"], ["two", "due"]] - ], - ] - for s, lst in pairs: + for s, expected in pairs: ret = cookies.parse_cookie_header(s) - assert ret == lst - s2 = cookies.format_cookie_header(ret) + assert ret == expected + s2 = cookies.format_cookie_header(expected[0]) ret = cookies.parse_cookie_header(s2) - assert ret == lst + assert ret == expected def test_parse_set_cookie_pairs(): pairs = [ [ "one=uno", - [ + [[ ["one", "uno"] - ] + ]] ], [ "one=un\x20", - [ + [[ ["one", "un\x20"] - ] + ]] ], [ "one=uno; foo", - [ + [[ ["one", "uno"], ["foo", None] - ] + ]] ], [ "mun=1.390.f60; " "expires=sun, 11-oct-2015 12:38:31 gmt; path=/; " "domain=b.aol.com", - [ + [[ ["mun", "1.390.f60"], ["expires", "sun, 11-oct-2015 12:38:31 gmt"], ["path", "/"], ["domain", "b.aol.com"] - ] + ]] ], [ r'rpb=190%3d1%2616726%3d1%2634832%3d1%2634874%3d1; ' 'domain=.rubiconproject.com; ' 'expires=mon, 11-may-2015 21:54:57 gmt; ' 'path=/', - [ + [[ ['rpb', r'190%3d1%2616726%3d1%2634832%3d1%2634874%3d1'], ['domain', '.rubiconproject.com'], ['expires', 'mon, 11-may-2015 21:54:57 gmt'], ['path', '/'] - ] + ]] ], ] - for s, lst in pairs: + for s, expected in pairs: ret = cookies._parse_set_cookie_pairs(s) - assert ret == lst - s2 = cookies._format_set_cookie_pairs(ret) + assert ret == expected + + s2 = cookies._format_set_cookie_pairs(expected[0]) ret2 = cookies._parse_set_cookie_pairs(s2) - assert ret2 == lst + assert ret2 == expected def test_parse_set_cookie_header(): @@ -201,28 +194,28 @@ def test_parse_set_cookie_header(): ], [ "one=uno", - ("one", "uno", ()) + [("one", "uno", ())] ], [ "one=uno; foo=bar", - ("one", "uno", (("foo", "bar"),)) + [("one", "uno", (("foo", "bar"),))] ], [ "one=uno; foo=bar; foo=baz", - ("one", "uno", (("foo", "bar"), ("foo", "baz"))) + [("one", "uno", (("foo", "bar"), ("foo", "baz")))] ], ] for s, expected in vals: ret = cookies.parse_set_cookie_header(s) if expected: - assert ret[0] == expected[0] - assert ret[1] == expected[1] - assert ret[2].items(multi=True) == expected[2] - s2 = cookies.format_set_cookie_header(*ret) + assert ret[0][0] == expected[0][0] + assert ret[0][1] == expected[0][1] + assert ret[0][2].items(multi=True) == expected[0][2] + s2 = cookies.format_set_cookie_header(*ret[0]) ret2 = cookies.parse_set_cookie_header(s2) - assert ret2[0] == expected[0] - assert ret2[1] == expected[1] - assert ret2[2].items(multi=True) == expected[2] + assert ret2[0][0] == expected[0][0] + assert ret2[0][1] == expected[0][1] + assert ret2[0][2].items(multi=True) == expected[0][2] else: assert ret is None |