diff options
| author | Aldo Cortesi <aldo@nullcube.com> | 2017-03-07 14:27:50 +1300 |
|---|---|---|
| committer | Aldo Cortesi <aldo@nullcube.com> | 2017-03-07 14:27:50 +1300 |
| commit | ac3b0d69cc29b5469f6b4cc55af528f6266d42cf (patch) | |
| tree | 780efa34b2ec94bea4814febca7a4a8578d9a2ac /test | |
| parent | 79f5883c2fbe475269a02920aaaad053e797abec (diff) | |
| download | mitmproxy-ac3b0d69cc29b5469f6b4cc55af528f6266d42cf.tar.gz mitmproxy-ac3b0d69cc29b5469f6b4cc55af528f6266d42cf.tar.bz2 mitmproxy-ac3b0d69cc29b5469f6b4cc55af528f6266d42cf.zip | |
Add the --set option to set options directly
The --set option is a universal flag for setting options. Some examples:
Turn on a boolean:
mitmdump --set onboarding=false
Add a value to a sequence:
mitumdupm --set setheaders=/foo/bar/voing
Zero a sequence:
mitumdupm --set setheaders
Diffstat (limited to 'test')
| -rw-r--r-- | test/mitmproxy/test_optmanager.py | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/test/mitmproxy/test_optmanager.py b/test/mitmproxy/test_optmanager.py index 010fc339..9311e82d 100644 --- a/test/mitmproxy/test_optmanager.py +++ b/test/mitmproxy/test_optmanager.py @@ -292,8 +292,10 @@ class TTypes(optmanager.OptManager): def __init__(self): super().__init__() self.add_option("str", "str", str) + self.add_option("optstr", "optstr", typing.Optional[str]) self.add_option("bool", False, bool) self.add_option("int", 0, int) + self.add_option("optint", 0, typing.Optional[int]) self.add_option("seqstr", [], typing.Sequence[str]) self.add_option("unknown", 0.0, float) @@ -307,3 +309,41 @@ def test_make_parser(): opts.make_parser(parser, "seqstr") with pytest.raises(ValueError): opts.make_parser(parser, "unknown") + + +def test_set(): + opts = TTypes() + + opts.set("str=foo") + assert opts.str == "foo" + with pytest.raises(TypeError): + opts.set("str") + + opts.set("optstr=foo") + assert opts.optstr == "foo" + opts.set("optstr") + assert opts.optstr is None + + opts.set("bool=false") + assert opts.bool is False + opts.set("bool") + assert opts.bool is True + opts.set("bool=true") + assert opts.bool is True + with pytest.raises(exceptions.OptionsError): + opts.set("bool=wobble") + + opts.set("int=1") + assert opts.int == 1 + with pytest.raises(exceptions.OptionsError): + opts.set("int=wobble") + opts.set("optint") + assert opts.optint is None + + assert opts.seqstr == [] + opts.set("seqstr=foo") + assert opts.seqstr == ["foo"] + opts.set("seqstr=bar") + assert opts.seqstr == ["foo", "bar"] + opts.set("seqstr") + assert opts.seqstr == [] |
