diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2017-03-07 13:47:39 +1300 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2017-03-07 13:47:39 +1300 |
commit | 79f5883c2fbe475269a02920aaaad053e797abec (patch) | |
tree | 11764a4024561fbbc2282766d37e6ee071f6cc45 | |
parent | 99a6b0dbc1cc68bbcdbae1060a6f75ff4f0e9bf8 (diff) | |
download | mitmproxy-79f5883c2fbe475269a02920aaaad053e797abec.tar.gz mitmproxy-79f5883c2fbe475269a02920aaaad053e797abec.tar.bz2 mitmproxy-79f5883c2fbe475269a02920aaaad053e797abec.zip |
Option spacing and coverage
-rw-r--r-- | mitmproxy/options.py | 10 | ||||
-rw-r--r-- | mitmproxy/optmanager.py | 18 | ||||
-rw-r--r-- | test/mitmproxy/test_optmanager.py | 24 |
3 files changed, 37 insertions, 15 deletions
diff --git a/mitmproxy/options.py b/mitmproxy/options.py index 788df7e9..1b5b700a 100644 --- a/mitmproxy/options.py +++ b/mitmproxy/options.py @@ -170,16 +170,16 @@ class Options(optmanager.OptManager): self.add_option( "server_replay_ignore_params", [], Sequence[str], """ - Request's parameters to be ignored while searching for a saved flow - to replay. Can be passed multiple times. + Request's parameters to be ignored while searching for a saved + flow to replay. Can be passed multiple times. """ ) self.add_option( "server_replay_ignore_payload_params", [], Sequence[str], """ - Request's payload parameters (application/x-www-form-urlencoded or multipart/form-data) to - be ignored while searching for a saved flow to replay. - Can be passed multiple times. + Request's payload parameters (application/x-www-form-urlencoded + or multipart/form-data) to be ignored while searching for a + saved flow to replay. Can be passed multiple times. """ ) self.add_option( diff --git a/mitmproxy/optmanager.py b/mitmproxy/optmanager.py index 5b156841..beb9084c 100644 --- a/mitmproxy/optmanager.py +++ b/mitmproxy/optmanager.py @@ -323,30 +323,30 @@ class OptManager: options=options ) - def make_parser(self, parser, option, metavar=None): - o = self._options[option] - f = option.replace("_", "-") + def make_parser(self, parser, optname, metavar=None): + o = self._options[optname] + f = optname.replace("_", "-") if o.typespec == bool: g = parser.add_mutually_exclusive_group(required=False) g.add_argument( "--%s" % f, action="store_true", - dest=option, + dest=optname, help=o.help ) g.add_argument( "--no-%s" % f, action="store_false", - dest=option, + dest=optname, help=o.help ) - parser.set_defaults(**{option: None}) + parser.set_defaults(**{optname: None}) elif o.typespec in (int, typing.Optional[int]): parser.add_argument( "--%s" % f, action="store", type=int, - dest=option, + dest=optname, help=o.help, metavar=metavar, ) @@ -355,7 +355,7 @@ class OptManager: "--%s" % f, action="store", type=str, - dest=option, + dest=optname, help=o.help, metavar=metavar, choices=o.choices @@ -365,7 +365,7 @@ class OptManager: "--%s" % f, action="append", type=str, - dest=option, + dest=optname, help=o.help, metavar=metavar, choices=o.choices, diff --git a/test/mitmproxy/test_optmanager.py b/test/mitmproxy/test_optmanager.py index 6729b155..010fc339 100644 --- a/test/mitmproxy/test_optmanager.py +++ b/test/mitmproxy/test_optmanager.py @@ -2,6 +2,7 @@ import copy import os import pytest import typing +import argparse from mitmproxy import options from mitmproxy import optmanager @@ -284,4 +285,25 @@ def test_option(): def test_dump(): o = options.Options() - assert optmanager.dump(o)
\ No newline at end of file + assert optmanager.dump(o) + + +class TTypes(optmanager.OptManager): + def __init__(self): + super().__init__() + self.add_option("str", "str", str) + self.add_option("bool", False, bool) + self.add_option("int", 0, int) + self.add_option("seqstr", [], typing.Sequence[str]) + self.add_option("unknown", 0.0, float) + + +def test_make_parser(): + parser = argparse.ArgumentParser() + opts = TTypes() + opts.make_parser(parser, "str") + opts.make_parser(parser, "bool") + opts.make_parser(parser, "int") + opts.make_parser(parser, "seqstr") + with pytest.raises(ValueError): + opts.make_parser(parser, "unknown") |