aboutsummaryrefslogtreecommitdiffstats
path: root/test/mitmproxy
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@corte.si>2017-12-20 10:07:35 +1300
committerAldo Cortesi <aldo@corte.si>2017-12-20 10:07:35 +1300
commit79ca2c843718c56ff7428f50faf1e155f500e3b3 (patch)
tree8a11e4cfab8399263138471a92ebf23d420fc6b1 /test/mitmproxy
parentd7ee5d8f85044c93f5982756f49be8315d148e4c (diff)
downloadmitmproxy-79ca2c843718c56ff7428f50faf1e155f500e3b3.tar.gz
mitmproxy-79ca2c843718c56ff7428f50faf1e155f500e3b3.tar.bz2
mitmproxy-79ca2c843718c56ff7428f50faf1e155f500e3b3.zip
commander: command argument underlay
Display context-sensitive argument types as an "underlay" in commander.
Diffstat (limited to 'test/mitmproxy')
-rw-r--r--test/mitmproxy/test_command.py71
1 files changed, 71 insertions, 0 deletions
diff --git a/test/mitmproxy/test_command.py b/test/mitmproxy/test_command.py
index a989995c..c777192d 100644
--- a/test/mitmproxy/test_command.py
+++ b/test/mitmproxy/test_command.py
@@ -23,6 +23,10 @@ class TAddon:
def cmd3(self, foo: int) -> int:
return foo
+ @command.command("cmd4")
+ def cmd4(self, a: int, b: str, c: mitmproxy.types.Path) -> str:
+ return "ok"
+
@command.command("subcommand")
def subcommand(self, cmd: mitmproxy.types.Cmd, *args: mitmproxy.types.Arg) -> str:
return "ok"
@@ -46,6 +50,10 @@ class TAddon:
def path(self, arg: mitmproxy.types.Path) -> None:
pass
+ @command.command("flow")
+ def flow(self, f: flow.Flow, s: str) -> None:
+ pass
+
class TestCommand:
def test_varargs(self):
@@ -140,6 +148,69 @@ class TestCommand:
],
[]
],
+ [
+ "cmd4",
+ [
+ command.ParseResult(value = "cmd4", type = mitmproxy.types.Cmd, valid = True),
+ ],
+ ["int", "str", "path"]
+ ],
+ [
+ "cmd4 ",
+ [
+ command.ParseResult(value = "cmd4", type = mitmproxy.types.Cmd, valid = True),
+ command.ParseResult(value = "", type = int, valid = False),
+ ],
+ ["str", "path"]
+ ],
+ [
+ "cmd4 1",
+ [
+ command.ParseResult(value = "cmd4", type = mitmproxy.types.Cmd, valid = True),
+ command.ParseResult(value = "1", type = int, valid = True),
+ ],
+ ["str", "path"]
+ ],
+ [
+ "cmd4 1",
+ [
+ command.ParseResult(value = "cmd4", type = mitmproxy.types.Cmd, valid = True),
+ command.ParseResult(value = "1", type = int, valid = True),
+ ],
+ ["str", "path"]
+ ],
+ [
+ "flow",
+ [
+ command.ParseResult(value = "flow", type = mitmproxy.types.Cmd, valid = True),
+ ],
+ ["flow", "str"]
+ ],
+ [
+ "flow ",
+ [
+ command.ParseResult(value = "flow", type = mitmproxy.types.Cmd, valid = True),
+ command.ParseResult(value = "", type = flow.Flow, valid = False),
+ ],
+ ["str"]
+ ],
+ [
+ "flow x",
+ [
+ command.ParseResult(value = "flow", type = mitmproxy.types.Cmd, valid = True),
+ command.ParseResult(value = "x", type = flow.Flow, valid = False),
+ ],
+ ["str"]
+ ],
+ [
+ "flow x ",
+ [
+ command.ParseResult(value = "flow", type = mitmproxy.types.Cmd, valid = True),
+ command.ParseResult(value = "x", type = flow.Flow, valid = False),
+ command.ParseResult(value = "", type = str, valid = True),
+ ],
+ []
+ ],
]
with taddons.context() as tctx:
tctx.master.addons.add(TAddon())