diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2016-11-13 12:32:20 +1300 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2016-11-13 16:22:33 +1300 |
commit | e644d2167c5fe591d475ca1a371690f89a6f0878 (patch) | |
tree | e8bf780dc415ae5baeb2cbf9d1f064c66c7e1f36 /test | |
parent | fe01b1435a2acc9896b24a814e535558884a6143 (diff) | |
download | mitmproxy-e644d2167c5fe591d475ca1a371690f89a6f0878.tar.gz mitmproxy-e644d2167c5fe591d475ca1a371690f89a6f0878.tar.bz2 mitmproxy-e644d2167c5fe591d475ca1a371690f89a6f0878.zip |
stub out proxyauth addon
Stub out basic workings, add and test configure event.
Diffstat (limited to 'test')
-rw-r--r-- | test/mitmproxy/addons/test_proxyauth.py | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/test/mitmproxy/addons/test_proxyauth.py b/test/mitmproxy/addons/test_proxyauth.py new file mode 100644 index 00000000..e9dcf7bf --- /dev/null +++ b/test/mitmproxy/addons/test_proxyauth.py @@ -0,0 +1,53 @@ +import binascii + +from mitmproxy import exceptions +from mitmproxy.test import taddons +from mitmproxy.test import tflow +from mitmproxy.test import tutils +from mitmproxy.addons import proxyauth + + +def test_parse_http_basic_auth(): + vals = ("basic", "foo", "bar") + assert proxyauth.parse_http_basic_auth( + proxyauth.assemble_http_basic_auth(*vals) + ) == vals + assert not proxyauth.parse_http_basic_auth("") + assert not proxyauth.parse_http_basic_auth("foo bar") + v = "basic " + binascii.b2a_base64(b"foo").decode("ascii") + assert not proxyauth.parse_http_basic_auth(v) + + +def test_configure(): + up = proxyauth.ProxyAuth() + with taddons.context() as ctx: + tutils.raises( + exceptions.OptionsError, + ctx.configure, up, auth_singleuser="foo" + ) + + ctx.configure(up, auth_singleuser="foo:bar") + assert up.singleuser == ["foo", "bar"] + + ctx.configure(up, auth_singleuser=None) + assert up.singleuser is None + + ctx.configure(up, auth_nonanonymous=True) + assert up.nonanonymous + ctx.configure(up, auth_nonanonymous=False) + assert not up.nonanonymous + + tutils.raises( + exceptions.OptionsError, + ctx.configure, + up, + auth_htpasswd = tutils.test_data.path( + "mitmproxy/net/data/server.crt" + ) + ) + tutils.raises( + exceptions.OptionsError, + ctx.configure, + up, + auth_htpasswd = "nonexistent" + ) |