aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/mitmproxy/test_optmanager.py24
1 files changed, 23 insertions, 1 deletions
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")