aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2016-11-13 12:32:20 +1300
committerAldo Cortesi <aldo@nullcube.com>2016-11-13 16:22:33 +1300
commite644d2167c5fe591d475ca1a371690f89a6f0878 (patch)
treee8bf780dc415ae5baeb2cbf9d1f064c66c7e1f36 /test
parentfe01b1435a2acc9896b24a814e535558884a6143 (diff)
downloadmitmproxy-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.py53
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"
+ )