mirror of
https://github.com/Grasscutters/mitmproxy.git
synced 2024-11-23 00:01:36 +00:00
fix tests
This commit is contained in:
parent
eb2264e91a
commit
5fe12a467f
@ -1,8 +1,5 @@
|
||||
from libmproxy.exceptions import ContentViewException
|
||||
from netlib.http import Headers
|
||||
|
||||
import sys
|
||||
|
||||
import netlib.utils
|
||||
from netlib import encoding
|
||||
|
||||
@ -25,66 +22,61 @@ class TestContentView:
|
||||
def test_view_auto(self):
|
||||
v = cv.ViewAuto()
|
||||
f = v(
|
||||
Headers(),
|
||||
"foo",
|
||||
1000
|
||||
headers=Headers()
|
||||
)
|
||||
assert f[0] == "Raw"
|
||||
|
||||
f = v(
|
||||
Headers(content_type="text/html"),
|
||||
"<html></html>",
|
||||
1000
|
||||
headers=Headers(content_type="text/html")
|
||||
)
|
||||
assert f[0] == "HTML"
|
||||
|
||||
f = v(
|
||||
Headers(content_type="text/flibble"),
|
||||
"foo",
|
||||
1000
|
||||
headers=Headers(content_type="text/flibble")
|
||||
)
|
||||
assert f[0] == "Raw"
|
||||
|
||||
f = v(
|
||||
Headers(content_type="text/flibble"),
|
||||
"<xml></xml>",
|
||||
1000
|
||||
headers=Headers(content_type="text/flibble")
|
||||
)
|
||||
assert f[0].startswith("XML")
|
||||
|
||||
def test_view_urlencoded(self):
|
||||
d = netlib.utils.urlencode([("one", "two"), ("three", "four")])
|
||||
v = cv.ViewURLEncoded()
|
||||
assert v([], d, 100)
|
||||
assert v(d)
|
||||
d = netlib.utils.urlencode([("adsfa", "")])
|
||||
v = cv.ViewURLEncoded()
|
||||
assert v([], d, 100)
|
||||
assert v(d)
|
||||
|
||||
def test_view_html(self):
|
||||
v = cv.ViewHTML()
|
||||
s = "<html><br><br></br><p>one</p></html>"
|
||||
assert v([], s, 1000)
|
||||
assert v(s)
|
||||
|
||||
s = "gobbledygook"
|
||||
assert not v([], s, 1000)
|
||||
assert not v(s)
|
||||
|
||||
def test_view_html_outline(self):
|
||||
v = cv.ViewHTMLOutline()
|
||||
s = "<html><br><br></br><p>one</p></html>"
|
||||
assert v([], s, 1000)
|
||||
assert v(s)
|
||||
|
||||
def test_view_json(self):
|
||||
cv.VIEW_CUTOFF = 100
|
||||
v = cv.ViewJSON()
|
||||
assert v([], "{}", 1000)
|
||||
assert not v([], "{", 1000)
|
||||
assert v([], "[" + ",".join(["0"] * cv.VIEW_CUTOFF) + "]", 1000)
|
||||
assert v([], "[1, 2, 3, 4, 5]", 5)
|
||||
assert v("{}")
|
||||
assert not v("{")
|
||||
assert v("[1, 2, 3, 4, 5]")
|
||||
|
||||
def test_view_xml(self):
|
||||
v = cv.ViewXML()
|
||||
assert v([], "<foo></foo>", 1000)
|
||||
assert not v([], "<foo>", 1000)
|
||||
assert v("<foo></foo>")
|
||||
assert not v("<foo>")
|
||||
s = """<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?xml-stylesheet title="XSL_formatting"?>
|
||||
<rss
|
||||
@ -93,17 +85,17 @@ class TestContentView:
|
||||
version="2.0">
|
||||
</rss>
|
||||
"""
|
||||
assert v([], s, 1000)
|
||||
assert v(s)
|
||||
|
||||
def test_view_raw(self):
|
||||
v = cv.ViewRaw()
|
||||
assert v([], "foo", 1000)
|
||||
assert v("foo")
|
||||
|
||||
def test_view_javascript(self):
|
||||
v = cv.ViewJavaScript()
|
||||
assert v([], "[1, 2, 3]", 100)
|
||||
assert v([], "[1, 2, 3", 100)
|
||||
assert v([], "function(a){[1, 2, 3]}", 100)
|
||||
assert v("[1, 2, 3]")
|
||||
assert v("[1, 2, 3")
|
||||
assert v("function(a){[1, 2, 3]}")
|
||||
|
||||
def test_view_css(self):
|
||||
v = cv.ViewCSS()
|
||||
@ -111,14 +103,14 @@ class TestContentView:
|
||||
with open(tutils.test_data.path('data/1.css'), 'r') as fp:
|
||||
fixture_1 = fp.read()
|
||||
|
||||
result = v([], 'a', 100)
|
||||
result = v('a')
|
||||
|
||||
if cssutils:
|
||||
assert len(list(result[1])) == 0
|
||||
else:
|
||||
assert len(list(result[1])) == 1
|
||||
|
||||
result = v([], fixture_1, 100)
|
||||
result = v(fixture_1)
|
||||
|
||||
if cssutils:
|
||||
assert len(list(result[1])) > 1
|
||||
@ -127,23 +119,23 @@ class TestContentView:
|
||||
|
||||
def test_view_hex(self):
|
||||
v = cv.ViewHex()
|
||||
assert v([], "foo", 1000)
|
||||
assert v("foo")
|
||||
|
||||
def test_view_image(self):
|
||||
v = cv.ViewImage()
|
||||
p = tutils.test_data.path("data/image.png")
|
||||
assert v([], file(p, "rb").read(), sys.maxsize)
|
||||
assert v(file(p, "rb").read())
|
||||
|
||||
p = tutils.test_data.path("data/image.gif")
|
||||
assert v([], file(p, "rb").read(), sys.maxsize)
|
||||
assert v(file(p, "rb").read())
|
||||
|
||||
p = tutils.test_data.path("data/image-err1.jpg")
|
||||
assert v([], file(p, "rb").read(), sys.maxsize)
|
||||
assert v(file(p, "rb").read())
|
||||
|
||||
p = tutils.test_data.path("data/image.ico")
|
||||
assert v([], file(p, "rb").read(), sys.maxsize)
|
||||
assert v(file(p, "rb").read())
|
||||
|
||||
assert not v([], "flibble", sys.maxsize)
|
||||
assert not v("flibble")
|
||||
|
||||
def test_view_multipart(self):
|
||||
view = cv.ViewMultipart()
|
||||
@ -155,42 +147,36 @@ Larry
|
||||
--AaB03x
|
||||
""".strip()
|
||||
h = Headers(content_type="multipart/form-data; boundary=AaB03x")
|
||||
assert view(h, v, 1000)
|
||||
assert view(v, headers=h)
|
||||
|
||||
h = Headers()
|
||||
assert not view(h, v, 1000)
|
||||
assert not view(v, headers=h)
|
||||
|
||||
h = Headers(content_type="multipart/form-data")
|
||||
assert not view(h, v, 1000)
|
||||
assert not view(v, headers=h)
|
||||
|
||||
h = Headers(content_type="unparseable")
|
||||
assert not view(h, v, 1000)
|
||||
assert not view(v, headers=h)
|
||||
|
||||
def test_get_content_view(self):
|
||||
r = cv.get_content_view(
|
||||
cv.get("Raw"),
|
||||
Headers(content_type="application/json"),
|
||||
"[1, 2, 3]",
|
||||
1000,
|
||||
False
|
||||
headers=Headers(content_type="application/json")
|
||||
)
|
||||
assert "Raw" in r[0]
|
||||
|
||||
r = cv.get_content_view(
|
||||
cv.get("Auto"),
|
||||
Headers(content_type="application/json"),
|
||||
"[1, 2, 3]",
|
||||
1000,
|
||||
False
|
||||
headers=Headers(content_type="application/json")
|
||||
)
|
||||
assert r[0] == "JSON"
|
||||
|
||||
r = cv.get_content_view(
|
||||
cv.get("Auto"),
|
||||
Headers(content_type="application/json"),
|
||||
"[1, 2",
|
||||
1000,
|
||||
False
|
||||
headers=Headers(content_type="application/json")
|
||||
)
|
||||
assert "Raw" in r[0]
|
||||
|
||||
@ -198,34 +184,28 @@ Larry
|
||||
ContentViewException,
|
||||
cv.get_content_view,
|
||||
cv.get("AMF"),
|
||||
Headers(),
|
||||
"[1, 2",
|
||||
1000,
|
||||
False
|
||||
headers=Headers()
|
||||
)
|
||||
|
||||
r = cv.get_content_view(
|
||||
cv.get("Auto"),
|
||||
Headers(
|
||||
encoding.encode('gzip', "[1, 2, 3]"),
|
||||
headers=Headers(
|
||||
content_type="application/json",
|
||||
content_encoding="gzip"
|
||||
),
|
||||
encoding.encode('gzip', "[1, 2, 3]"),
|
||||
1000,
|
||||
False
|
||||
)
|
||||
)
|
||||
assert "decoded gzip" in r[0]
|
||||
assert "JSON" in r[0]
|
||||
|
||||
r = cv.get_content_view(
|
||||
cv.get("XML"),
|
||||
Headers(
|
||||
encoding.encode('gzip', "[1, 2, 3]"),
|
||||
headers=Headers(
|
||||
content_type="application/json",
|
||||
content_encoding="gzip"
|
||||
),
|
||||
encoding.encode('gzip', "[1, 2, 3]"),
|
||||
1000,
|
||||
False
|
||||
)
|
||||
)
|
||||
assert "decoded gzip" in r[0]
|
||||
assert "Raw" in r[0]
|
||||
@ -236,22 +216,22 @@ if pyamf:
|
||||
v = cv.ViewAMF()
|
||||
|
||||
p = tutils.test_data.path("data/amf01")
|
||||
assert v([], file(p, "rb").read(), sys.maxsize)
|
||||
assert v(file(p, "rb").read())
|
||||
|
||||
p = tutils.test_data.path("data/amf02")
|
||||
assert v([], file(p, "rb").read(), sys.maxsize)
|
||||
assert v(file(p, "rb").read())
|
||||
|
||||
def test_view_amf_response():
|
||||
v = cv.ViewAMF()
|
||||
p = tutils.test_data.path("data/amf03")
|
||||
assert v([], file(p, "rb").read(), sys.maxsize)
|
||||
assert v(file(p, "rb").read())
|
||||
|
||||
if cv.ViewProtobuf.is_available():
|
||||
def test_view_protobuf_request():
|
||||
v = cv.ViewProtobuf()
|
||||
|
||||
p = tutils.test_data.path("data/protobuf01")
|
||||
content_type, output = v([], file(p, "rb").read(), sys.maxsize)
|
||||
content_type, output = v(file(p, "rb").read())
|
||||
assert content_type == "Protobuf"
|
||||
assert output[0].text == '1: "3bbc333c-e61c-433b-819a-0b9a8cc103b8"'
|
||||
|
||||
|
@ -52,7 +52,7 @@ def test_strfuncs():
|
||||
|
||||
@mock.patch("libmproxy.contentviews.get_content_view")
|
||||
def test_contentview(get_content_view):
|
||||
get_content_view.side_effect = ContentViewException(""), ("x", [])
|
||||
get_content_view.side_effect = ContentViewException(""), ("x", iter([]))
|
||||
|
||||
o = dump.Options(flow_detail=4, verbosity=3)
|
||||
m = dump.DumpMaster(None, o, StringIO())
|
||||
|
Loading…
Reference in New Issue
Block a user