aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2019-11-26 02:43:09 +0100
committerMaximilian Hils <git@maximilianhils.com>2019-11-26 02:43:09 +0100
commit819d5e631757f33a751eab8491b39eaacdb0c0c9 (patch)
tree5bc946e1539788c475882a530ebd761fb10600a9 /test
parent06ef7350f52af34954ecde2431c34c31d177d0c7 (diff)
downloadmitmproxy-819d5e631757f33a751eab8491b39eaacdb0c0c9.tar.gz
mitmproxy-819d5e631757f33a751eab8491b39eaacdb0c0c9.tar.bz2
mitmproxy-819d5e631757f33a751eab8491b39eaacdb0c0c9.zip
command history: start adjusting tests
Diffstat (limited to 'test')
-rw-r--r--test/mitmproxy/addons/test_command_history.py103
-rw-r--r--test/mitmproxy/tools/console/test_commander.py12
2 files changed, 32 insertions, 83 deletions
diff --git a/test/mitmproxy/addons/test_command_history.py b/test/mitmproxy/addons/test_command_history.py
index 026ce53e..e38b4061 100644
--- a/test/mitmproxy/addons/test_command_history.py
+++ b/test/mitmproxy/addons/test_command_history.py
@@ -1,81 +1,30 @@
import os
-import pytest
-from mitmproxy import options
from mitmproxy.addons import command_history
from mitmproxy.test import taddons
-@pytest.fixture(autouse=True)
-def tctx(tmpdir):
- # This runs before each test
- dir_name = tmpdir.mkdir('mitmproxy').dirname
- confdir = dir_name
-
- opts = options.Options()
- opts.set(*[f"confdir={confdir}"])
- tctx = taddons.context(options=opts)
- ch = command_history.CommandHistory()
- tctx.master.addons.add(ch)
- ch.configure([])
-
- yield tctx
-
- # This runs after each test
- ch.cleanup()
-
-
class TestCommandHistory:
- def test_existing_command_history(self, tctx):
+ def test_load_from_file(self, tmpdir):
commands = ['cmd1', 'cmd2', 'cmd3']
- confdir = tctx.options.confdir
- f = open(os.path.join(confdir, 'command_history'), 'w')
- f.write("\n".join(commands))
- f.close()
-
- history = command_history.CommandHistory()
- history.configure([])
-
- saved_commands = [cmd for cmd in history.saved_commands]
- assert saved_commands == ['cmd1', 'cmd2', 'cmd3']
+ with open(tmpdir.join('command_history'), 'w') as f:
+ f.write("\n".join(commands))
- history.cleanup()
+ ch = command_history.CommandHistory()
+ with taddons.context(ch) as tctx:
+ tctx.options.confdir = str(tmpdir)
+ assert ch.history == commands
- def test_add_command(self, tctx):
- history = command_history.CommandHistory(3)
- history.configure([])
+ def test_add_command(self):
+ history = command_history.CommandHistory()
history.add_command('cmd1')
history.add_command('cmd2')
- saved_commands = [cmd for cmd in history.saved_commands]
- assert saved_commands == ['cmd1', 'cmd2']
-
- history.add_command('')
- saved_commands = [cmd for cmd in history.saved_commands]
- assert saved_commands == ['cmd1', 'cmd2']
-
- # The history size is only 3. So, we forget the first
- # one command, when adding fourth command
- history.add_command('cmd3')
- history.add_command('cmd4')
- saved_commands = [cmd for cmd in history.saved_commands]
- assert saved_commands == ['cmd2', 'cmd3', 'cmd4']
+ assert history.history == ['cmd1', 'cmd2']
history.add_command('')
- saved_commands = [cmd for cmd in history.saved_commands]
- assert saved_commands == ['cmd2', 'cmd3', 'cmd4']
-
- # Commands with the same text are not repeated in the history one by one
- history.add_command('cmd3')
- saved_commands = [cmd for cmd in history.saved_commands]
- assert saved_commands == ['cmd2', 'cmd4', 'cmd3']
-
- history.add_command('cmd2')
- saved_commands = [cmd for cmd in history.saved_commands]
- assert saved_commands == ['cmd4', 'cmd3', 'cmd2']
-
- history.cleanup()
+ assert history.history == ['cmd1', 'cmd2']
def test_get_next_and_prev(self, tctx):
history = command_history.CommandHistory(5)
@@ -161,7 +110,7 @@ class TestCommandHistory:
history.add_command('cmd2')
history.clear_history()
- saved_commands = [cmd for cmd in history.saved_commands]
+ saved_commands = [cmd for cmd in history.history]
assert saved_commands == []
assert history.get_next() == ''
@@ -215,57 +164,57 @@ class TestCommandHistory:
for i in instances:
i.configure([])
- saved_commands = [cmd for cmd in i.saved_commands]
+ saved_commands = [cmd for cmd in i.history]
assert saved_commands == []
instances[0].add_command('cmd1')
- saved_commands = [cmd for cmd in instances[0].saved_commands]
+ saved_commands = [cmd for cmd in instances[0].history]
assert saved_commands == ['cmd1']
# These instances haven't yet added a new command, so they haven't
# yet reloaded their commands from the command file.
# This is expected, because if the user is filtering a command on
# another window, we don't want to interfere with that
- saved_commands = [cmd for cmd in instances[1].saved_commands]
+ saved_commands = [cmd for cmd in instances[1].history]
assert saved_commands == []
- saved_commands = [cmd for cmd in instances[2].saved_commands]
+ saved_commands = [cmd for cmd in instances[2].history]
assert saved_commands == []
# Since the second instanced added a new command, its list of
# saved commands has been updated to have the commands from the
# first instance + its own commands
instances[1].add_command('cmd2')
- saved_commands = [cmd for cmd in instances[1].saved_commands]
+ saved_commands = [cmd for cmd in instances[1].history]
assert saved_commands == ['cmd1', 'cmd2']
- saved_commands = [cmd for cmd in instances[0].saved_commands]
+ saved_commands = [cmd for cmd in instances[0].history]
assert saved_commands == ['cmd1']
# Third instance is still empty as it has not yet ran any command
- saved_commands = [cmd for cmd in instances[2].saved_commands]
+ saved_commands = [cmd for cmd in instances[2].history]
assert saved_commands == []
instances[2].add_command('cmd3')
- saved_commands = [cmd for cmd in instances[2].saved_commands]
+ saved_commands = [cmd for cmd in instances[2].history]
assert saved_commands == ['cmd1', 'cmd2', 'cmd3']
instances[0].add_command('cmd4')
- saved_commands = [cmd for cmd in instances[0].saved_commands]
+ saved_commands = [cmd for cmd in instances[0].history]
assert saved_commands == ['cmd1', 'cmd2', 'cmd3', 'cmd4']
instances.append(command_history.CommandHistory(10))
instances[3].configure([])
- saved_commands = [cmd for cmd in instances[3].saved_commands]
+ saved_commands = [cmd for cmd in instances[3].history]
assert saved_commands == ['cmd1', 'cmd2', 'cmd3', 'cmd4']
instances[0].add_command('cmd_before_close')
instances.pop(0)
- saved_commands = [cmd for cmd in instances[0].saved_commands]
+ saved_commands = [cmd for cmd in instances[0].history]
assert saved_commands == ['cmd1', 'cmd2']
instances[0].add_command('new_cmd')
- saved_commands = [cmd for cmd in instances[0].saved_commands]
+ saved_commands = [cmd for cmd in instances[0].history]
assert saved_commands == ['cmd1', 'cmd2', 'cmd3', 'cmd4', 'cmd_before_close', 'new_cmd']
instances.pop(0)
@@ -285,7 +234,7 @@ class TestCommandHistory:
for i in instances:
i.configure([])
i.clear_history()
- saved_commands = [cmd for cmd in i.saved_commands]
+ saved_commands = [cmd for cmd in i.history]
assert saved_commands == []
instances[0].add_command('cmd1')
@@ -294,7 +243,7 @@ class TestCommandHistory:
instances[1].add_command('cmd4')
instances[1].add_command('cmd5')
- saved_commands = [cmd for cmd in instances[1].saved_commands]
+ saved_commands = [cmd for cmd in instances[1].history]
assert saved_commands == ['cmd1', 'cmd2', 'cmd3', 'cmd4', 'cmd5']
instances.pop()
diff --git a/test/mitmproxy/tools/console/test_commander.py b/test/mitmproxy/tools/console/test_commander.py
index 4fa10eb8..aa859092 100644
--- a/test/mitmproxy/tools/console/test_commander.py
+++ b/test/mitmproxy/tools/console/test_commander.py
@@ -114,8 +114,8 @@ class TestCommandEdit:
def test_up_and_down(self, tctx):
edit = commander.CommandEdit(tctx.master, '')
- tctx.master.commands.execute('command_history.clear')
- tctx.master.commands.execute('command_history.add "cmd1"')
+ tctx.master.commands.execute('commands.history.clear')
+ tctx.master.commands.execute('commands.history.add "cmd1"')
edit.keypress(1, 'up')
assert edit.get_edit_text() == 'cmd1'
@@ -131,9 +131,9 @@ class TestCommandEdit:
edit = commander.CommandEdit(tctx.master, '')
- tctx.master.commands.execute('command_history.clear')
- tctx.master.commands.execute('command_history.add "cmd1"')
- tctx.master.commands.execute('command_history.add "cmd2"')
+ tctx.master.commands.execute('commands.history.clear')
+ tctx.master.commands.execute('commands.history.add "cmd1"')
+ tctx.master.commands.execute('commands.history.add "cmd2"')
edit.keypress(1, 'up')
assert edit.get_edit_text() == 'cmd2'
@@ -168,7 +168,7 @@ class TestCommandEdit:
assert edit.get_edit_text() == 'abc'
edit = commander.CommandEdit(tctx.master, '')
- tctx.master.commands.execute('command_history.add "cmd3"')
+ tctx.master.commands.execute('commands.history.add "cmd3"')
edit.keypress(1, 'z')
edit.keypress(1, 'up')