aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUjjwal Verma <ujjwalverma1111@gmail.com>2017-06-12 01:32:58 +0530
committerUjjwal Verma <ujjwalverma1111@gmail.com>2017-06-12 01:32:58 +0530
commit4587b54aed12a74ec3ab96c88453c952792e2bff (patch)
treef5f18732819023db907e8fd6a7f3d636f79aeecb
parentc03f14cba6a84c03c7f06bbe0f261da953f4f4fa (diff)
downloadmitmproxy-4587b54aed12a74ec3ab96c88453c952792e2bff.tar.gz
mitmproxy-4587b54aed12a74ec3ab96c88453c952792e2bff.tar.bz2
mitmproxy-4587b54aed12a74ec3ab96c88453c952792e2bff.zip
tests for Proxy config
-rw-r--r--setup.cfg1
-rw-r--r--test/mitmproxy/proxy/test_config.py39
2 files changed, 38 insertions, 2 deletions
diff --git a/setup.cfg b/setup.cfg
index 1ec17ecb..42be63db 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -22,7 +22,6 @@ exclude_lines =
[tool:full_coverage]
exclude =
mitmproxy/proxy/protocol/
- mitmproxy/proxy/config.py
mitmproxy/proxy/root_context.py
mitmproxy/proxy/server.py
mitmproxy/tools/
diff --git a/test/mitmproxy/proxy/test_config.py b/test/mitmproxy/proxy/test_config.py
index 777ab4dd..a7da980b 100644
--- a/test/mitmproxy/proxy/test_config.py
+++ b/test/mitmproxy/proxy/test_config.py
@@ -1 +1,38 @@
-# TODO: write tests
+import pytest
+
+from mitmproxy import options
+from mitmproxy import exceptions
+from mitmproxy.proxy.config import ProxyConfig
+from mitmproxy.test import tutils
+
+
+class TestProxyConfig:
+ def test_upstream_cert_insecure(self):
+ opts = options.Options()
+ opts.add_upstream_certs_to_client_chain = True
+ with pytest.raises(exceptions.OptionsError, match="verify-upstream-cert"):
+ ProxyConfig(opts)
+
+ def test_invalid_cadir(self):
+ opts = options.Options()
+ opts.cadir = "foo"
+ with pytest.raises(exceptions.OptionsError, match="parent directory does not exist"):
+ ProxyConfig(opts)
+
+ def test_invalid_client_certs(self):
+ opts = options.Options()
+ opts.client_certs = "foo"
+ with pytest.raises(exceptions.OptionsError, match="certificate path does not exist"):
+ ProxyConfig(opts)
+
+ def test_valid_client_certs(self):
+ opts = options.Options()
+ opts.client_certs = tutils.test_data.path("mitmproxy/data/clientcert/")
+ p = ProxyConfig(opts)
+ assert p.client_certs
+
+ def test_invalid_certificate(self):
+ opts = options.Options()
+ opts.certs = [tutils.test_data.path("mitmproxy/data/dumpfile-011")]
+ with pytest.raises(exceptions.OptionsError, match="Invalid certificate format"):
+ ProxyConfig(opts)