diff options
author | Shadab Zafar <dufferzafar0@gmail.com> | 2016-09-27 21:05:18 +0530 |
---|---|---|
committer | Shadab Zafar <dufferzafar0@gmail.com> | 2016-09-27 21:28:54 +0530 |
commit | 5383c15ff2db01fd8aad9d3ef1a9b5f1b0a361cf (patch) | |
tree | 79c256f0a0f98b941d9d6ef5d599cc2d99013ed2 | |
parent | 6e6ed35e3ec509ca443033c953d95a11ce1338c2 (diff) | |
download | mitmproxy-5383c15ff2db01fd8aad9d3ef1a9b5f1b0a361cf.tar.gz mitmproxy-5383c15ff2db01fd8aad9d3ef1a9b5f1b0a361cf.tar.bz2 mitmproxy-5383c15ff2db01fd8aad9d3ef1a9b5f1b0a361cf.zip |
Add tests for comma separated Set-Cookies
-rw-r--r-- | test/netlib/http/test_cookies.py | 57 |
1 files changed, 47 insertions, 10 deletions
diff --git a/test/netlib/http/test_cookies.py b/test/netlib/http/test_cookies.py index 5657f2f9..905f549c 100644 --- a/test/netlib/http/test_cookies.py +++ b/test/netlib/http/test_cookies.py @@ -187,6 +187,11 @@ def test_parse_set_cookie_pairs(): def test_parse_set_cookie_header(): + def set_cookie_equal(obs, exp): + assert obs[0] == exp[0] + assert obs[1] == exp[1] + assert obs[2].items(multi=True) == exp[2] + vals = [ [ "", None @@ -196,29 +201,61 @@ 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"))) + ] + ], + # Comma Separated Variant of Set-Cookie Headers + [ + "foo=bar, doo=dar", + [ + ("foo", "bar", ()), + ("doo", "dar", ()), + ] + ], + [ + "foo=bar; path=/, doo=dar; roo=rar; zoo=zar", + [ + ("foo", "bar", (("path", "/"),)), + ("doo", "dar", (("roo", "rar"), ("zoo", "zar"))), + ] + ], + [ + "foo=bar; expires=Mon, 24 Aug 2037", + [ + ("foo", "bar", (("expires", "Mon, 24 Aug 2037"),)), + ] + ], + [ + "foo=bar; expires=Mon, 24 Aug 2037 00:00:00 GMT, doo=dar", + [ + ("foo", "bar", (("expires", "Mon, 24 Aug 2037 00:00:00 GMT"),)), + ("doo", "dar", ()), + ] ], ] for s, expected in vals: ret = cookies.parse_set_cookie_header(s) if expected: - assert ret[0][0] == expected[0][0] - assert ret[0][1] == expected[0][1] - assert ret[0][2].items(multi=True) == expected[0][2] + for i in range(len(expected)): + set_cookie_equal(ret[i], expected[i]) - s2 = cookies.format_set_cookie_header(*ret[0]) + s2 = cookies.format_set_cookie_header(ret) ret2 = cookies.parse_set_cookie_header(s2) - assert ret2[0][0] == expected[0][0] - assert ret2[0][1] == expected[0][1] - assert ret2[0][2].items(multi=True) == expected[0][2] + for i in range(len(expected)): + set_cookie_equal(ret2[i], expected[i]) else: assert ret is None |