diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2015-06-27 10:35:32 +1200 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2015-06-27 10:35:32 +1200 |
commit | e3c869e4c9ef740c0d80d83adb605094e819b23f (patch) | |
tree | b3aa3eb84d665397ebd9599cc13470294200435a /test/test_language_http2.py | |
parent | 61679acf56a28e8a2bfb491f0dd33a079f84cdf7 (diff) | |
parent | 31b0d77507066e226d914859283a40549af0fc3e (diff) | |
download | mitmproxy-e3c869e4c9ef740c0d80d83adb605094e819b23f.tar.gz mitmproxy-e3c869e4c9ef740c0d80d83adb605094e819b23f.tar.bz2 mitmproxy-e3c869e4c9ef740c0d80d83adb605094e819b23f.zip |
Merge branch 'master' of ssh.github.com:mitmproxy/pathod
Diffstat (limited to 'test/test_language_http2.py')
-rw-r--r-- | test/test_language_http2.py | 60 |
1 files changed, 55 insertions, 5 deletions
diff --git a/test/test_language_http2.py b/test/test_language_http2.py index a78c2bee..3b36c01b 100644 --- a/test/test_language_http2.py +++ b/test/test_language_http2.py @@ -90,6 +90,39 @@ class TestRequest: default_settings(), ) + def test_raw_content_length(self): + r = parse_request('GET:/:r') + assert len(r.headers) == 0 + + r = parse_request('GET:/:r:b"foobar"') + assert len(r.headers) == 0 + + r = parse_request('GET:/') + assert len(r.headers) == 1 + assert r.headers[0].values(default_settings()) == ("content-length", "0") + + r = parse_request('GET:/:b"foobar"') + assert len(r.headers) == 1 + assert r.headers[0].values(default_settings()) == ("content-length", "6") + + r = parse_request('GET:/:b"foobar":h"content-length"="42"') + assert len(r.headers) == 1 + assert r.headers[0].values(default_settings()) == ("content-length", "42") + + r = parse_request('GET:/:r:b"foobar":h"content-length"="42"') + assert len(r.headers) == 1 + assert r.headers[0].values(default_settings()) == ("content-length", "42") + + def test_content_type(self): + r = parse_request('GET:/:r:c"foobar"') + assert len(r.headers) == 1 + assert r.headers[0].values(default_settings()) == ("content-type", "foobar") + + def test_user_agent(self): + r = parse_request('GET:/:r:ua') + assert len(r.headers) == 1 + assert r.headers[0].values(default_settings()) == ("user-agent", netlib.http_uastrings.get_by_shortcut('a')[2]) + def test_render_with_headers(self): s = cStringIO.StringIO() r = parse_request('GET:/foo:h"foo"="bar"') @@ -99,6 +132,14 @@ class TestRequest: default_settings(), ) + def test_nested_response(self): + l = "get:/p/:s'200'" + r = parse_request(l) + assert len(r.tokens) == 3 + assert isinstance(r.tokens[2], http2.NestedResponse) + assert r.values(default_settings()) + + def test_render_with_body(self): s = cStringIO.StringIO() r = parse_request("GET:'/foo':bfoobar") @@ -129,18 +170,27 @@ class TestResponse: def test_err(self): tutils.raises(language.ParseException, parse_response, 'GET:/') - def test_simple(self): - r = parse_response('200') - assert r.code.string() == "200" + def test_raw_content_length(self): + r = parse_response('200:r') assert len(r.headers) == 0 - r = parse_response('200:h"foo"="bar"') + r = parse_response('200') + assert len(r.headers) == 1 + assert r.headers[0].values(default_settings()) == ("content-length", "0") + + def test_content_type(self): + r = parse_response('200:r:c"foobar"') + assert len(r.headers) == 1 + assert r.headers[0].values(default_settings()) == ("content-type", "foobar") + + def test_simple(self): + r = parse_response('200:r:h"foo"="bar"') assert r.code.string() == "200" assert len(r.headers) == 1 assert r.headers[0].values(default_settings()) == ("foo", "bar") assert r.body is None - r = parse_response('200:h"foo"="bar":bfoobar:h"bla"="fasel"') + r = parse_response('200:r:h"foo"="bar":bfoobar:h"bla"="fasel"') assert r.code.string() == "200" assert len(r.headers) == 2 assert r.headers[0].values(default_settings()) == ("foo", "bar") |