aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2017-12-30 17:37:33 +0100
committerGitHub <noreply@github.com>2017-12-30 17:37:33 +0100
commitafe6e587f9d5423cfdf3710672d3886cc2753cd6 (patch)
tree0b536f7a8e8fd8fcee5e3b95e3c63a67c2fe5af0 /test
parent0b80fd00d458b98e700a78be1ab9a586bf45900b (diff)
parent465044c3731ac0077387f1cbb39ae4f90d3f06c8 (diff)
downloadmitmproxy-afe6e587f9d5423cfdf3710672d3886cc2753cd6.tar.gz
mitmproxy-afe6e587f9d5423cfdf3710672d3886cc2753cd6.tar.bz2
mitmproxy-afe6e587f9d5423cfdf3710672d3886cc2753cd6.zip
Merge pull request #2703 from mhils/test-defaultkeys
Test that default key bindings are valid commands
Diffstat (limited to 'test')
-rw-r--r--test/mitmproxy/tools/console/test_defaultkeys.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/mitmproxy/tools/console/test_defaultkeys.py b/test/mitmproxy/tools/console/test_defaultkeys.py
new file mode 100644
index 00000000..1f17c888
--- /dev/null
+++ b/test/mitmproxy/tools/console/test_defaultkeys.py
@@ -0,0 +1,23 @@
+from mitmproxy.test.tflow import tflow
+from mitmproxy.tools.console import defaultkeys
+from mitmproxy.tools.console import keymap
+from mitmproxy.tools.console import master
+from mitmproxy import command
+
+
+def test_commands_exist():
+ km = keymap.Keymap(None)
+ defaultkeys.map(km)
+ assert km.bindings
+ m = master.ConsoleMaster(None)
+ m.load_flow(tflow())
+
+ for binding in km.bindings:
+ cmd, *args = command.lexer(binding.command)
+ assert cmd in m.commands.commands
+
+ cmd_obj = m.commands.commands[cmd]
+ try:
+ cmd_obj.prepare_args(args)
+ except Exception as e:
+ raise ValueError("Invalid command: {}".format(binding.command)) from e