aboutsummaryrefslogtreecommitdiffstats
path: root/test/mitmproxy/test_proxy_config.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/mitmproxy/test_proxy_config.py')
-rw-r--r--test/mitmproxy/test_proxy_config.py48
1 files changed, 48 insertions, 0 deletions
diff --git a/test/mitmproxy/test_proxy_config.py b/test/mitmproxy/test_proxy_config.py
new file mode 100644
index 00000000..d8085eb8
--- /dev/null
+++ b/test/mitmproxy/test_proxy_config.py
@@ -0,0 +1,48 @@
+from . import tutils
+import base64
+from mitmproxy.proxy import config
+
+
+def test_parse_server_spec():
+ tutils.raises(
+ "Invalid server specification", config.parse_server_spec, ""
+ )
+ assert config.parse_server_spec("http://foo.com:88") == (
+ "http", ("foo.com", 88)
+ )
+ assert config.parse_server_spec("http://foo.com") == (
+ "http", ("foo.com", 80)
+ )
+ assert config.parse_server_spec("https://foo.com") == (
+ "https", ("foo.com", 443)
+ )
+ tutils.raises(
+ "Invalid server specification",
+ config.parse_server_spec,
+ "foo.com"
+ )
+ tutils.raises(
+ "Invalid server specification",
+ config.parse_server_spec,
+ "http://"
+ )
+
+
+def test_parse_upstream_auth():
+ tutils.raises(
+ "Invalid upstream auth specification",
+ config.parse_upstream_auth,
+ ""
+ )
+ tutils.raises(
+ "Invalid upstream auth specification",
+ config.parse_upstream_auth,
+ ":"
+ )
+ tutils.raises(
+ "Invalid upstream auth specification",
+ config.parse_upstream_auth,
+ ":test"
+ )
+ assert config.parse_upstream_auth("test:test") == b"Basic" + b" " + base64.b64encode(b"test:test")
+ assert config.parse_upstream_auth("test:") == b"Basic" + b" " + base64.b64encode(b"test:")