diff options
author | Maximilian Hils <git@maximilianhils.com> | 2020-04-19 16:44:52 +0200 |
---|---|---|
committer | Maximilian Hils <git@maximilianhils.com> | 2020-04-19 16:51:16 +0200 |
commit | ca74ec3c774345bccc0e4e90fe6c231ce598663c (patch) | |
tree | 90bbd4b99c06393a256463edddc7f1333b89aa17 /test | |
parent | 454f1779f098396b46bc8fe53a9820926a284cd4 (diff) | |
download | mitmproxy-ca74ec3c774345bccc0e4e90fe6c231ce598663c.tar.gz mitmproxy-ca74ec3c774345bccc0e4e90fe6c231ce598663c.tar.bz2 mitmproxy-ca74ec3c774345bccc0e4e90fe6c231ce598663c.zip |
json contentview: minor improvements
Diffstat (limited to 'test')
-rw-r--r-- | test/mitmproxy/contentviews/test_json.py | 35 |
1 files changed, 30 insertions, 5 deletions
diff --git a/test/mitmproxy/contentviews/test_json.py b/test/mitmproxy/contentviews/test_json.py index 3f522b7f..2b5bf86a 100644 --- a/test/mitmproxy/contentviews/test_json.py +++ b/test/mitmproxy/contentviews/test_json.py @@ -1,18 +1,43 @@ +from hypothesis import given +from hypothesis.strategies import binary + from mitmproxy.contentviews import json from . import full_eval -def test_pretty_json(): - assert json.pretty_json(b'{"foo": 1}') - assert not json.pretty_json(b"moo") - assert json.pretty_json(b'{"foo" : "\xe4\xb8\x96\xe7\x95\x8c"}') # utf8 with chinese characters - assert not json.pretty_json(b'{"foo" : "\xFF"}') +def test_parse_json(): + assert json.parse_json(b'{"foo": 1}') + assert json.parse_json(b'null') is None + assert json.parse_json(b"moo") is json.PARSE_ERROR + assert json.parse_json(b'{"foo" : "\xe4\xb8\x96\xe7\x95\x8c"}') # utf8 with chinese characters + assert json.parse_json(b'{"foo" : "\xFF"}') is json.PARSE_ERROR + + +def test_format_json(): + assert list(json.format_json({ + "data": [ + "str", + 42, + True, + False, + None, + {}, + [] + ] + })) def test_view_json(): v = full_eval(json.ViewJSON()) + assert v(b"null") assert v(b"{}") assert not v(b"{") assert v(b"[1, 2, 3, 4, 5]") assert v(b'{"foo" : 3}') assert v(b'{"foo": true, "nullvalue": null}') + + +@given(binary()) +def test_view_json_doesnt_crash(data): + v = full_eval(json.ViewJSON()) + v(data) |