diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2012-06-03 06:04:57 -0700 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2012-06-03 06:04:57 -0700 |
commit | e9109812e114385a9d87d0aade7850a613684d16 (patch) | |
tree | e1fca359bc7b34322b79846809053f98c5f24495 /test/test_proxy.py | |
parent | 0a25c2263db1a43ad3f359fbefe98dd947fca0e8 (diff) | |
download | mitmproxy-e9109812e114385a9d87d0aade7850a613684d16.tar.gz mitmproxy-e9109812e114385a9d87d0aade7850a613684d16.tar.bz2 mitmproxy-e9109812e114385a9d87d0aade7850a613684d16.zip |
Split parsing of intial line into separate protocols.
Diffstat (limited to 'test/test_proxy.py')
-rw-r--r-- | test/test_proxy.py | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/test/test_proxy.py b/test/test_proxy.py index fccef977..c67e93a0 100644 --- a/test/test_proxy.py +++ b/test/test_proxy.py @@ -135,7 +135,59 @@ class u_read_headers(libpry.AutoTree): assert headers["header"] == ['one\r\n two'] +class u_parse_http_protocol(libpry.AutoTree): + def test_simple(self): + assert proxy.parse_http_protocol("HTTP/1.1") == (1, 1) + assert proxy.parse_http_protocol("HTTP/0.0") == (0, 0) + assert not proxy.parse_http_protocol("foo/0.0") + + +class u_parse_init_connect(libpry.AutoTree): + def test_simple(self): + assert proxy.parse_init_connect("CONNECT host.com:443 HTTP/1.0") + assert not proxy.parse_init_connect("bogus") + assert not proxy.parse_init_connect("GET host.com:443 HTTP/1.0") + assert not proxy.parse_init_connect("CONNECT host.com443 HTTP/1.0") + assert not proxy.parse_init_connect("CONNECT host.com:443 foo/1.0") + + +class u_parse_init_proxy(libpry.AutoTree): + def test_simple(self): + u = "GET http://foo.com:8888/test HTTP/1.1" + m, s, h, po, pa, major, minor = proxy.parse_init_proxy(u) + assert m == "GET" + assert s == "http" + assert h == "foo.com" + assert po == 8888 + assert pa == "/test" + assert major == 1 + assert minor == 1 + + assert not proxy.parse_init_proxy("invalid") + assert not proxy.parse_init_proxy("GET invalid HTTP/1.1") + assert not proxy.parse_init_proxy("GET http://foo.com:8888/test foo/1.1") + + +class u_parse_init_http(libpry.AutoTree): + def test_simple(self): + u = "GET /test HTTP/1.1" + m, u, major, minor = proxy.parse_init_http(u) + assert m == "GET" + assert u == "/test" + assert major == 1 + assert minor == 1 + + assert not proxy.parse_init_http("invalid") + assert not proxy.parse_init_http("GET invalid HTTP/1.1") + assert not proxy.parse_init_http("GET /test foo/1.1") + + + tests = [ + u_parse_http_protocol(), + u_parse_init_connect(), + u_parse_init_proxy(), + u_parse_init_http(), uProxyError(), uFileLike(), u_parse_request_line(), |