aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2017-03-07 20:18:30 +1300
committerAldo Cortesi <aldo@nullcube.com>2017-03-07 20:18:30 +1300
commitaed780bf48f6231e63a2b193318bc234152e2743 (patch)
treeb0eb10d80edc2205df5aa6b0a3fba09093382599 /test
parentb0ba76559869053e49b9c11b826a542b4885b49d (diff)
downloadmitmproxy-aed780bf48f6231e63a2b193318bc234152e2743.tar.gz
mitmproxy-aed780bf48f6231e63a2b193318bc234152e2743.tar.bz2
mitmproxy-aed780bf48f6231e63a2b193318bc234152e2743.zip
Change the way proxy authetication is specified
We now have one option "proxyauth". If this is "any", we accept any credentials, if it starts with an @ it's treated as a path to an htpasswd file, if it is of the form username:password it's a single-user credential.
Diffstat (limited to 'test')
-rw-r--r--test/mitmproxy/addons/test_proxyauth.py38
-rw-r--r--test/mitmproxy/proxy/test_server.py4
2 files changed, 22 insertions, 20 deletions
diff --git a/test/mitmproxy/addons/test_proxyauth.py b/test/mitmproxy/addons/test_proxyauth.py
index dd5829ab..14782755 100644
--- a/test/mitmproxy/addons/test_proxyauth.py
+++ b/test/mitmproxy/addons/test_proxyauth.py
@@ -28,40 +28,43 @@ def test_configure():
up = proxyauth.ProxyAuth()
with taddons.context() as ctx:
with pytest.raises(exceptions.OptionsError):
- ctx.configure(up, auth_singleuser="foo")
+ ctx.configure(up, proxyauth="foo")
- ctx.configure(up, auth_singleuser="foo:bar")
+ ctx.configure(up, proxyauth="foo:bar")
assert up.singleuser == ["foo", "bar"]
- ctx.configure(up, auth_singleuser=None)
+ ctx.configure(up, proxyauth=None)
assert up.singleuser is None
- ctx.configure(up, auth_nonanonymous=True)
+ ctx.configure(up, proxyauth="any")
assert up.nonanonymous
- ctx.configure(up, auth_nonanonymous=False)
+ ctx.configure(up, proxyauth=None)
assert not up.nonanonymous
with pytest.raises(exceptions.OptionsError):
- ctx.configure(up, auth_htpasswd=tutils.test_data.path("mitmproxy/net/data/server.crt"))
+ ctx.configure(
+ up,
+ proxyauth= "@" + tutils.test_data.path("mitmproxy/net/data/server.crt")
+ )
with pytest.raises(exceptions.OptionsError):
- ctx.configure(up, auth_htpasswd="nonexistent")
+ ctx.configure(up, proxyauth="@nonexistent")
ctx.configure(
up,
- auth_htpasswd=tutils.test_data.path(
+ proxyauth= "@" + tutils.test_data.path(
"mitmproxy/net/data/htpasswd"
)
)
assert up.htpasswd
assert up.htpasswd.check_password("test", "test")
assert not up.htpasswd.check_password("test", "foo")
- ctx.configure(up, auth_htpasswd=None)
+ ctx.configure(up, proxyauth=None)
assert not up.htpasswd
with pytest.raises(exceptions.OptionsError):
- ctx.configure(up, auth_nonanonymous=True, mode="transparent")
+ ctx.configure(up, proxyauth="any", mode="transparent")
with pytest.raises(exceptions.OptionsError):
- ctx.configure(up, auth_nonanonymous=True, mode="socks5")
+ ctx.configure(up, proxyauth="any", mode="socks5")
ctx.configure(up, mode="regular")
assert up.mode == "regular"
@@ -70,7 +73,7 @@ def test_configure():
def test_check():
up = proxyauth.ProxyAuth()
with taddons.context() as ctx:
- ctx.configure(up, auth_nonanonymous=True, mode="regular")
+ ctx.configure(up, proxyauth="any", mode="regular")
f = tflow.tflow()
assert not up.check(f)
f.request.headers["Proxy-Authorization"] = proxyauth.mkauth(
@@ -86,18 +89,17 @@ def test_check():
)
assert not up.check(f)
- ctx.configure(up, auth_nonanonymous=False, auth_singleuser="test:test")
+ ctx.configure(up, proxyauth="test:test")
f.request.headers["Proxy-Authorization"] = proxyauth.mkauth(
"test", "test"
)
assert up.check(f)
- ctx.configure(up, auth_nonanonymous=False, auth_singleuser="test:foo")
+ ctx.configure(up, proxyauth="test:foo")
assert not up.check(f)
ctx.configure(
up,
- auth_singleuser=None,
- auth_htpasswd=tutils.test_data.path(
+ proxyauth="@" + tutils.test_data.path(
"mitmproxy/net/data/htpasswd"
)
)
@@ -114,7 +116,7 @@ def test_check():
def test_authenticate():
up = proxyauth.ProxyAuth()
with taddons.context() as ctx:
- ctx.configure(up, auth_nonanonymous=True, mode="regular")
+ ctx.configure(up, proxyauth="any", mode="regular")
f = tflow.tflow()
assert not f.response
@@ -147,7 +149,7 @@ def test_authenticate():
def test_handlers():
up = proxyauth.ProxyAuth()
with taddons.context() as ctx:
- ctx.configure(up, auth_nonanonymous=True, mode="regular")
+ ctx.configure(up, proxyauth="any", mode="regular")
f = tflow.tflow()
assert not f.response
diff --git a/test/mitmproxy/proxy/test_server.py b/test/mitmproxy/proxy/test_server.py
index b90840ab..aa45761a 100644
--- a/test/mitmproxy/proxy/test_server.py
+++ b/test/mitmproxy/proxy/test_server.py
@@ -302,7 +302,7 @@ class TestHTTP(tservers.HTTPProxyTest, CommonMixin):
class TestHTTPAuth(tservers.HTTPProxyTest):
def test_auth(self):
self.master.addons.add(proxyauth.ProxyAuth())
- self.master.options.auth_singleuser = "test:test"
+ self.master.options.proxyauth = "test:test"
assert self.pathod("202").status_code == 407
p = self.pathoc()
with p.connect():
@@ -321,7 +321,7 @@ class TestHTTPAuth(tservers.HTTPProxyTest):
class TestHTTPReverseAuth(tservers.ReverseProxyTest):
def test_auth(self):
self.master.addons.add(proxyauth.ProxyAuth())
- self.master.options.auth_singleuser = "test:test"
+ self.master.options.proxyauth = "test:test"
assert self.pathod("202").status_code == 401
p = self.pathoc()
with p.connect():