From 5fb18ad275c701971e447c32b1a60f053edf2b35 Mon Sep 17 00:00:00 2001 From: Charles d'Hondt Date: Fri, 28 Apr 2017 16:19:27 +0200 Subject: Added LDAP Auth --- test/mitmproxy/addons/test_proxyauth.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'test') diff --git a/test/mitmproxy/addons/test_proxyauth.py b/test/mitmproxy/addons/test_proxyauth.py index 86621709..6c36b7e8 100644 --- a/test/mitmproxy/addons/test_proxyauth.py +++ b/test/mitmproxy/addons/test_proxyauth.py @@ -1,4 +1,5 @@ import binascii +import ldap3 import pytest @@ -41,6 +42,13 @@ def test_configure(): ctx.configure(up, proxyauth=None) assert not up.nonanonymous + ctx.configure(up, proxyauth="ldap:ldap.forumsys.com:uid=?,dc=example,dc=com:person") + assert up.ldapserver + ctx.configure(up, proxyauth="ldaps:ldap.forumsys.com:uid=?,dc=example,dc=com:person") + assert up.ldapserver + with pytest.raises(exceptions.OptionsError): + ctx.configure(up, proxyauth="ldapldap.forumsys.com:uid=?dc=example,dc=com:person") + with pytest.raises(exceptions.OptionsError): ctx.configure( up, @@ -109,6 +117,24 @@ def test_check(): ) assert not up.check(f) + ctx.configure( + up, + proxyauth="ldap:ldap.forumsys.com:uid=?,dc=example,dc=com:person" + ) + f.request.headers["Proxy-Authorization"] = proxyauth.mkauth( + "einstein", "password" + ) + assert up.check(f) + f.request.headers["Proxy-Authorization"] = proxyauth.mkauth( + "", "" + ) + assert not up.check(f) + with pytest.raises(ldap3.core.exceptions.LDAPBindError): + f.request.headers["Proxy-Authorization"] = proxyauth.mkauth( + "einstein", "foo" + ) + assert not up.check(f) + def test_authenticate(): up = proxyauth.ProxyAuth() -- cgit v1.2.3 From 29c1f303d6c7ba8a0318cf0694189af9da0b4308 Mon Sep 17 00:00:00 2001 From: Charles d'Hondt Date: Fri, 28 Apr 2017 16:23:32 +0200 Subject: Fixed typo --- test/mitmproxy/addons/test_proxyauth.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'test') diff --git a/test/mitmproxy/addons/test_proxyauth.py b/test/mitmproxy/addons/test_proxyauth.py index 6c36b7e8..76672956 100644 --- a/test/mitmproxy/addons/test_proxyauth.py +++ b/test/mitmproxy/addons/test_proxyauth.py @@ -133,7 +133,7 @@ def test_check(): f.request.headers["Proxy-Authorization"] = proxyauth.mkauth( "einstein", "foo" ) - assert not up.check(f) + assert not up.check(f) def test_authenticate(): -- cgit v1.2.3 From 6d3837fd54a30db7b2f5d34eefd581156831c027 Mon Sep 17 00:00:00 2001 From: Charles d'Hondt Date: Fri, 28 Apr 2017 16:44:50 +0200 Subject: fix --- test/mitmproxy/addons/test_proxyauth.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'test') diff --git a/test/mitmproxy/addons/test_proxyauth.py b/test/mitmproxy/addons/test_proxyauth.py index 76672956..6c36b7e8 100644 --- a/test/mitmproxy/addons/test_proxyauth.py +++ b/test/mitmproxy/addons/test_proxyauth.py @@ -133,7 +133,7 @@ def test_check(): f.request.headers["Proxy-Authorization"] = proxyauth.mkauth( "einstein", "foo" ) - assert not up.check(f) + assert not up.check(f) def test_authenticate(): -- cgit v1.2.3 From 65202f5f1c2d9f55e8d72e72656a6d43e7947f88 Mon Sep 17 00:00:00 2001 From: Charles d'Hondt Date: Fri, 28 Apr 2017 17:00:21 +0200 Subject: Added ldapsss vef --- test/mitmproxy/addons/test_proxyauth.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'test') diff --git a/test/mitmproxy/addons/test_proxyauth.py b/test/mitmproxy/addons/test_proxyauth.py index 6c36b7e8..6311e97e 100644 --- a/test/mitmproxy/addons/test_proxyauth.py +++ b/test/mitmproxy/addons/test_proxyauth.py @@ -46,8 +46,12 @@ def test_configure(): assert up.ldapserver ctx.configure(up, proxyauth="ldaps:ldap.forumsys.com:uid=?,dc=example,dc=com:person") assert up.ldapserver + + with pytest.raises(exceptions.OptionsError): + ctx.configure(up, proxyauth="ldap:ldap.forumsys.comuid=?dc=example,dc=com:person") + with pytest.raises(exceptions.OptionsError): - ctx.configure(up, proxyauth="ldapldap.forumsys.com:uid=?dc=example,dc=com:person") + ctx.configure(up, proxyauth="ldapssssssss:ldap.forumsys.com:uid=?,dc=example,dc=com:person") with pytest.raises(exceptions.OptionsError): ctx.configure( -- cgit v1.2.3 From f67d9adc314c7723c1d3be3733dbe1ae2495b86b Mon Sep 17 00:00:00 2001 From: Charles d'Hondt Date: Thu, 4 May 2017 13:25:15 +0200 Subject: Added ldap mock test --- test/mitmproxy/addons/test_proxyauth.py | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) (limited to 'test') diff --git a/test/mitmproxy/addons/test_proxyauth.py b/test/mitmproxy/addons/test_proxyauth.py index 6311e97e..fa02d119 100644 --- a/test/mitmproxy/addons/test_proxyauth.py +++ b/test/mitmproxy/addons/test_proxyauth.py @@ -2,6 +2,7 @@ import binascii import ldap3 import pytest +from _pytest.monkeypatch import MonkeyPatch from mitmproxy import exceptions from mitmproxy.addons import proxyauth @@ -42,16 +43,20 @@ def test_configure(): ctx.configure(up, proxyauth=None) assert not up.nonanonymous - ctx.configure(up, proxyauth="ldap:ldap.forumsys.com:uid=?,dc=example,dc=com:person") + ctx.configure(up, proxyauth="ldap:fake_server:fake_dn:fake_group") assert up.ldapserver - ctx.configure(up, proxyauth="ldaps:ldap.forumsys.com:uid=?,dc=example,dc=com:person") + + + ctx.configure(up, proxyauth="ldap:fake_server:uid=?,dc=example,dc=com:person") + assert up.ldapserver + ctx.configure(up, proxyauth="ldaps:fake_server.com:uid=?,dc=example,dc=com:person") assert up.ldapserver with pytest.raises(exceptions.OptionsError): - ctx.configure(up, proxyauth="ldap:ldap.forumsys.comuid=?dc=example,dc=com:person") + ctx.configure(up, proxyauth="ldap:fake_serveruid=?dc=example,dc=com:person") with pytest.raises(exceptions.OptionsError): - ctx.configure(up, proxyauth="ldapssssssss:ldap.forumsys.com:uid=?,dc=example,dc=com:person") + ctx.configure(up, proxyauth="ldapssssssss:fake_server.com:uid=?,dc=example,dc=com:person") with pytest.raises(exceptions.OptionsError): ctx.configure( @@ -79,7 +84,7 @@ def test_configure(): ctx.configure(up, proxyauth="any", mode="socks5") -def test_check(): +def test_check(monkeypatch): up = proxyauth.ProxyAuth() with taddons.context() as ctx: ctx.configure(up, proxyauth="any", mode="regular") @@ -121,23 +126,25 @@ def test_check(): ) assert not up.check(f) + ctx.configure( up, - proxyauth="ldap:ldap.forumsys.com:uid=?,dc=example,dc=com:person" + proxyauth="ldap:fake-server:cn=?,ou=test,o=lab:test" ) + conn = ldap3.Connection("fake-server", user="cn=user0,ou=test,o=lab", password="password", client_strategy=ldap3.MOCK_SYNC) + conn.bind() + conn.strategy.add_entry('cn=user0,ou=test,o=lab', {'userPassword': 'test0', 'sn': 'user0_sn', 'revision': 0, 'objectClass': 'test'}) + def conn_mp(ldap, user, password, **kwargs): + return conn + monkeypatch.setattr(ldap3, "Connection", conn_mp) f.request.headers["Proxy-Authorization"] = proxyauth.mkauth( - "einstein", "password" + "user0", "test0" ) assert up.check(f) f.request.headers["Proxy-Authorization"] = proxyauth.mkauth( "", "" ) assert not up.check(f) - with pytest.raises(ldap3.core.exceptions.LDAPBindError): - f.request.headers["Proxy-Authorization"] = proxyauth.mkauth( - "einstein", "foo" - ) - assert not up.check(f) def test_authenticate(): -- cgit v1.2.3 From 154e8ac0fc1b1553beaba2a73de1130e681a61c0 Mon Sep 17 00:00:00 2001 From: Charles d'Hondt Date: Thu, 4 May 2017 13:39:48 +0200 Subject: fixed lint --- test/mitmproxy/addons/test_proxyauth.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'test') diff --git a/test/mitmproxy/addons/test_proxyauth.py b/test/mitmproxy/addons/test_proxyauth.py index fa02d119..58e059ad 100644 --- a/test/mitmproxy/addons/test_proxyauth.py +++ b/test/mitmproxy/addons/test_proxyauth.py @@ -2,7 +2,6 @@ import binascii import ldap3 import pytest -from _pytest.monkeypatch import MonkeyPatch from mitmproxy import exceptions from mitmproxy.addons import proxyauth @@ -46,7 +45,6 @@ def test_configure(): ctx.configure(up, proxyauth="ldap:fake_server:fake_dn:fake_group") assert up.ldapserver - ctx.configure(up, proxyauth="ldap:fake_server:uid=?,dc=example,dc=com:person") assert up.ldapserver ctx.configure(up, proxyauth="ldaps:fake_server.com:uid=?,dc=example,dc=com:person") @@ -126,7 +124,6 @@ def test_check(monkeypatch): ) assert not up.check(f) - ctx.configure( up, proxyauth="ldap:fake-server:cn=?,ou=test,o=lab:test" @@ -134,8 +131,10 @@ def test_check(monkeypatch): conn = ldap3.Connection("fake-server", user="cn=user0,ou=test,o=lab", password="password", client_strategy=ldap3.MOCK_SYNC) conn.bind() conn.strategy.add_entry('cn=user0,ou=test,o=lab', {'userPassword': 'test0', 'sn': 'user0_sn', 'revision': 0, 'objectClass': 'test'}) + def conn_mp(ldap, user, password, **kwargs): return conn + monkeypatch.setattr(ldap3, "Connection", conn_mp) f.request.headers["Proxy-Authorization"] = proxyauth.mkauth( "user0", "test0" -- cgit v1.2.3