mirror of
https://github.com/Grasscutters/mitmproxy.git
synced 2025-01-30 14:58:38 +00:00
Merge pull request #2338 from ujjwal96/test-cov
Increased test coverage
This commit is contained in:
commit
feff5bd138
@ -21,9 +21,7 @@ exclude_lines =
|
||||
|
||||
[tool:full_coverage]
|
||||
exclude =
|
||||
mitmproxy/contentviews/__init__.py
|
||||
mitmproxy/contentviews/wbxml.py
|
||||
mitmproxy/contentviews/xml_html.py
|
||||
mitmproxy/net/tcp.py
|
||||
mitmproxy/net/http/encoding.py
|
||||
mitmproxy/proxy/protocol/
|
||||
@ -31,7 +29,6 @@ exclude =
|
||||
mitmproxy/proxy/root_context.py
|
||||
mitmproxy/proxy/server.py
|
||||
mitmproxy/tools/
|
||||
mitmproxy/controller.py
|
||||
mitmproxy/flow.py
|
||||
mitmproxy/master.py
|
||||
pathod/pathoc.py
|
||||
@ -45,7 +42,6 @@ exclude =
|
||||
mitmproxy/addons/termlog.py
|
||||
mitmproxy/contentviews/base.py
|
||||
mitmproxy/contentviews/wbxml.py
|
||||
mitmproxy/contentviews/xml_html.py
|
||||
mitmproxy/controller.py
|
||||
mitmproxy/ctx.py
|
||||
mitmproxy/exceptions.py
|
||||
|
@ -9,23 +9,28 @@ from mitmproxy.test import tutils
|
||||
|
||||
class TestContentView(contentviews.View):
|
||||
name = "test"
|
||||
prompt = ("t", "test")
|
||||
prompt = ("test", "t")
|
||||
content_types = ["test/123"]
|
||||
|
||||
|
||||
def test_add_remove():
|
||||
tcv = TestContentView()
|
||||
contentviews.add(tcv)
|
||||
assert tcv in contentviews.views
|
||||
|
||||
# repeated addition causes exception
|
||||
with pytest.raises(ContentViewException):
|
||||
with pytest.raises(ContentViewException, match="Duplicate view"):
|
||||
contentviews.add(tcv)
|
||||
|
||||
tcv2 = TestContentView()
|
||||
tcv2.name = "test2"
|
||||
tcv2.prompt = ("test2", "t")
|
||||
# Same shortcut doesn't work either.
|
||||
with pytest.raises(ContentViewException):
|
||||
contentviews.add(TestContentView())
|
||||
with pytest.raises(ContentViewException, match="Duplicate view shortcut"):
|
||||
contentviews.add(tcv2)
|
||||
|
||||
contentviews.remove(tcv)
|
||||
assert tcv not in contentviews.views
|
||||
|
||||
|
||||
def test_get_content_view():
|
||||
@ -43,6 +48,7 @@ def test_get_content_view():
|
||||
headers=Headers(content_type="application/json")
|
||||
)
|
||||
assert desc == "JSON"
|
||||
assert list(lines)
|
||||
|
||||
desc, lines, err = contentviews.get_content_view(
|
||||
contentviews.get("JSON"),
|
||||
@ -84,3 +90,4 @@ def test_get_message_content_view():
|
||||
|
||||
def test_get_by_shortcut():
|
||||
assert contentviews.get_by_shortcut("s")
|
||||
assert not contentviews.get_by_shortcut("b")
|
||||
|
@ -11,6 +11,13 @@ def test_simple():
|
||||
v = full_eval(xml_html.ViewXmlHtml())
|
||||
assert v(b"foo") == ('XML', [[('text', 'foo')]])
|
||||
assert v(b"<html></html>") == ('HTML', [[('text', '<html></html>')]])
|
||||
assert v(b"<>") == ('XML', [[('text', '<>')]])
|
||||
assert v(b"<p") == ('XML', [[('text', '<p')]])
|
||||
|
||||
with open(data.path("simple.html")) as f:
|
||||
input = f.read()
|
||||
tokens = xml_html.tokenize(input)
|
||||
assert str(next(tokens)) == "Tag(<!DOCTYPE html>)"
|
||||
|
||||
|
||||
@pytest.mark.parametrize("filename", [
|
||||
@ -18,6 +25,7 @@ def test_simple():
|
||||
"cdata.xml",
|
||||
"comment.xml",
|
||||
"inline.html",
|
||||
"test.html"
|
||||
])
|
||||
def test_format_xml(filename):
|
||||
path = data.path(filename)
|
||||
|
@ -0,0 +1,44 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Title</title>
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
Lorem ipsum dolor
|
||||
<p>
|
||||
sit amet, consectetur
|
||||
<p>
|
||||
adipiscing elit, sed
|
||||
<p>
|
||||
do eiusmod tempor
|
||||
<p>
|
||||
incididunt ut
|
||||
<p>
|
||||
labore et dolore
|
||||
<p>
|
||||
magna aliqua.
|
||||
<p>
|
||||
Ut enim ad minim
|
||||
<p>
|
||||
veniam, quis nostrud
|
||||
<p>
|
||||
exercitation
|
||||
<p>
|
||||
ullamco laboris
|
||||
<p>
|
||||
nisi ut aliquip ex ea
|
||||
<p>
|
||||
commodo consequat.
|
||||
<p>
|
||||
Duis aute irure
|
||||
<p>
|
||||
dolor in reprehenderit
|
||||
<p>
|
||||
in voluptate velit
|
||||
<p>
|
||||
esse cillum dolore
|
||||
<p>eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
|
||||
</body>
|
||||
</html>
|
14
test/mitmproxy/contentviews/test_xml_html_data/test.html
Normal file
14
test/mitmproxy/contentviews/test_xml_html_data/test.html
Normal file
@ -0,0 +1,14 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Title</title>
|
||||
</head>
|
||||
<body>
|
||||
<p>Lorem ipsum dolor<p>sit amet, consectetur <p>adipiscing elit, sed<p>do eiusmod tempor<p> incididunt ut<p> labore et dolore<p> magna aliqua.
|
||||
<p>Ut enim ad minim <p>veniam, quis nostrud <p>exercitation <p>ullamco laboris <p>
|
||||
nisi ut aliquip ex ea <p>commodo consequat.<p>Duis aute irure <p>dolor in reprehenderit <p>in voluptate velit<p> esse cillum dolore <p>eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
@ -176,6 +176,8 @@ class TestDummyReply:
|
||||
reply = controller.DummyReply()
|
||||
reply.ack()
|
||||
reply.take()
|
||||
with pytest.raises(ControlException):
|
||||
reply.mark_reset()
|
||||
reply.commit()
|
||||
reply.mark_reset()
|
||||
assert reply.state == "committed"
|
||||
|
Loading…
Reference in New Issue
Block a user