diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2014-10-25 16:20:23 +1300 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2014-10-25 16:20:23 +1300 |
commit | 6d8431ab3e96568b3579a85e680371fd20c961aa (patch) | |
tree | 35ad1bee42e306692496b7b92808cb9d80c12c4e /test/test_language.py | |
parent | d4e6c25d45f680df4f807805ce878b498a5fb0c5 (diff) | |
download | mitmproxy-6d8431ab3e96568b3579a85e680371fd20c961aa.tar.gz mitmproxy-6d8431ab3e96568b3579a85e680371fd20c961aa.tar.bz2 mitmproxy-6d8431ab3e96568b3579a85e680371fd20c961aa.zip |
Allow specification of multiple patterns from file and on command line
Diffstat (limited to 'test/test_language.py')
-rw-r--r-- | test/test_language.py | 60 |
1 files changed, 45 insertions, 15 deletions
diff --git a/test/test_language.py b/test/test_language.py index 18c68caa..007eb5b7 100644 --- a/test/test_language.py +++ b/test/test_language.py @@ -6,6 +6,10 @@ import tutils language.TESTING = True +def parse_request(s): + return language.parse_requests(s)[0] + + class TestValueNakedLiteral: def test_expr(self): v = language.ValueNakedLiteral("foo") @@ -302,8 +306,8 @@ class TestHeaders: assert language.parse_response("400:c'foo'").headers[0].key.val == "Content-Type" assert language.parse_response("400:l'foo'").headers[0].key.val == "Location" - assert 'Android' in language.parse_request("get:/:ua").headers[0].value.val - assert language.parse_request("get:/:ua").headers[0].key.val == "User-Agent" + assert 'Android' in parse_request("get:/:ua").headers[0].value.val + assert parse_request("get:/:ua").headers[0].key.val == "User-Agent" class TestShortcutUserAgent: @@ -337,7 +341,7 @@ class Test_Action: assert l[0].offset == 0 def test_resolve(self): - r = language.parse_request('GET:"/foo"') + r = parse_request('GET:"/foo"') e = language.DisconnectAt("r") ret = e.resolve(r, {}) assert isinstance(ret.offset, int) @@ -446,23 +450,49 @@ class TestPauses: class TestRequest: def test_nonascii(self): - tutils.raises("ascii", language.parse_request, "get:\xf0") + tutils.raises("ascii", parse_request, "get:\xf0") def test_err(self): - tutils.raises(language.ParseException, language.parse_request, 'GET') + tutils.raises(language.ParseException, parse_request, 'GET') def test_simple(self): - r = language.parse_request('GET:"/foo"') + r = parse_request('GET:"/foo"') assert r.method.string() == "GET" assert r.path.string() == "/foo" - r = language.parse_request('GET:/foo') + r = parse_request('GET:/foo') assert r.path.string() == "/foo" - r = language.parse_request('GET:@1k') + r = parse_request('GET:@1k') assert len(r.path.string()) == 1024 + def test_multi(self): + r = language.parse_requests("GET:/ PUT:/") + assert r[0].method.string() == "GET" + assert r[1].method.string() == "PUT" + assert len(r) == 2 + + l = """ + GET + "/foo" + ir,@1 + + PUT + + "/foo + + + + bar" + + ir,@1 + """ + r = language.parse_requests(l) + assert len(r) == 2 + assert r[0].method.string() == "GET" + assert r[1].method.string() == "PUT" + def test_render(self): s = cStringIO.StringIO() - r = language.parse_request("GET:'/foo'") + r = parse_request("GET:'/foo'") assert language.serve(r, s, {}, "foo.com") def test_multiline(self): @@ -471,7 +501,7 @@ class TestRequest: "/foo" ir,@1 """ - r = language.parse_request(l) + r = parse_request(l) assert r.method.string() == "GET" assert r.path.string() == "/foo" assert r.actions @@ -487,24 +517,24 @@ class TestRequest: ir,@1 """ - r = language.parse_request(l) + r = parse_request(l) assert r.method.string() == "GET" assert r.path.string().endswith("bar") assert r.actions def test_spec(self): def rt(s): - s = language.parse_request(s).spec() - assert language.parse_request(s).spec() == s + s = parse_request(s).spec() + assert parse_request(s).spec() == s rt("get:/foo") rt("get:/foo:da") def test_freeze(self): - r = language.parse_request("GET:/:b@100").freeze({}) + r = parse_request("GET:/:b@100").freeze({}) assert len(r.spec()) > 100 def test_path_generator(self): - r = language.parse_request("GET:@100").freeze({}) + r = parse_request("GET:@100").freeze({}) assert len(r.spec()) > 100 |