aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2016-12-08 16:12:40 +1300
committerAldo Cortesi <aldo@nullcube.com>2016-12-08 16:12:40 +1300
commite943147fc392383ada7607124e84b1a7db4d4b28 (patch)
tree4834a0bc786f7e6b604948a967e58c7cbe42fb10 /test
parentfdd1e23875f2d56a1461444f0d77ffdd23b9256a (diff)
downloadmitmproxy-e943147fc392383ada7607124e84b1a7db4d4b28.tar.gz
mitmproxy-e943147fc392383ada7607124e84b1a7db4d4b28.tar.bz2
mitmproxy-e943147fc392383ada7607124e84b1a7db4d4b28.zip
options: add a merge method to assimilate options
Fixes #953
Diffstat (limited to 'test')
-rw-r--r--test/mitmproxy/addons/test_script.py4
-rw-r--r--test/mitmproxy/test_optmanager.py18
-rw-r--r--test/mitmproxy/test_proxy.py6
3 files changed, 23 insertions, 5 deletions
diff --git a/test/mitmproxy/addons/test_script.py b/test/mitmproxy/addons/test_script.py
index a41f6103..06463fa3 100644
--- a/test/mitmproxy/addons/test_script.py
+++ b/test/mitmproxy/addons/test_script.py
@@ -64,10 +64,10 @@ def test_reloadhandler():
class TestParseCommand:
def test_empty_command(self):
- with tutils.raises(exceptions.AddonError):
+ with tutils.raises(exceptions.OptionsError):
script.parse_command("")
- with tutils.raises(exceptions.AddonError):
+ with tutils.raises(exceptions.OptionsError):
script.parse_command(" ")
def test_no_script_file(self):
diff --git a/test/mitmproxy/test_optmanager.py b/test/mitmproxy/test_optmanager.py
index c6eb2534..9e938703 100644
--- a/test/mitmproxy/test_optmanager.py
+++ b/test/mitmproxy/test_optmanager.py
@@ -220,3 +220,21 @@ def test_saving():
o.load_paths(dst)
assert o.three == "foo"
+
+
+class TM(optmanager.OptManager):
+ def __init__(self, one="one", two=["foo"], three=None):
+ self.one = one
+ self.two = two
+ self.three = three
+ super().__init__()
+
+
+def test_merge():
+ m = TM()
+ m.merge(dict(one="two"))
+ assert m.one == "two"
+ m.merge(dict(one=None))
+ assert m.one == "two"
+ m.merge(dict(two=["bar"]))
+ assert m.two == ["foo", "bar"]
diff --git a/test/mitmproxy/test_proxy.py b/test/mitmproxy/test_proxy.py
index 91da47a0..0d63f147 100644
--- a/test/mitmproxy/test_proxy.py
+++ b/test/mitmproxy/test_proxy.py
@@ -5,7 +5,6 @@ import argparse
from OpenSSL import SSL
from mitmproxy.tools import cmdline
-from mitmproxy.tools import main
from mitmproxy import options
from mitmproxy.proxy import ProxyConfig
from mitmproxy import connections
@@ -76,8 +75,9 @@ class TestProcessProxyOptions:
parser = MockParser()
cmdline.common_options(parser)
args = parser.parse_args(args=args)
- opts = cmdline.get_common_options(args)
- pconf = config.ProxyConfig(options.Options(**main.notnone(opts)))
+ opts = options.Options()
+ opts.merge(cmdline.get_common_options(args))
+ pconf = config.ProxyConfig(opts)
return parser, pconf
def assert_err(self, err, *args):