aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorHenrique <typoon@gmail.com>2019-11-27 09:21:30 -0500
committerHenrique <typoon@gmail.com>2019-11-27 09:21:30 -0500
commit8eb173b44e6c9fe093e58428dc6dd8d812b80318 (patch)
tree81edfc9ed337c18af1ec2935694f666f9dcd39c0 /test
parent863d2fbcb20b3f94df2ef2cf2478e86a736b7b65 (diff)
downloadmitmproxy-8eb173b44e6c9fe093e58428dc6dd8d812b80318.tar.gz
mitmproxy-8eb173b44e6c9fe093e58428dc6dd8d812b80318.tar.bz2
mitmproxy-8eb173b44e6c9fe093e58428dc6dd8d812b80318.zip
Fixed small bugs on command_history and tests
Diffstat (limited to 'test')
-rw-r--r--test/mitmproxy/addons/test_command_history.py320
1 files changed, 165 insertions, 155 deletions
diff --git a/test/mitmproxy/addons/test_command_history.py b/test/mitmproxy/addons/test_command_history.py
index e38b4061..df20fba7 100644
--- a/test/mitmproxy/addons/test_command_history.py
+++ b/test/mitmproxy/addons/test_command_history.py
@@ -26,200 +26,210 @@ class TestCommandHistory:
history.add_command('')
assert history.history == ['cmd1', 'cmd2']
- def test_get_next_and_prev(self, tctx):
- history = command_history.CommandHistory(5)
- history.configure([])
+ def test_get_next_and_prev(self, tmpdir):
+ ch = command_history.CommandHistory()
- history.add_command('cmd1')
+ with taddons.context(ch) as tctx:
+ tctx.options.confdir = str(tmpdir)
- assert history.get_next() == ''
- assert history.get_next() == ''
- assert history.get_prev() == 'cmd1'
- assert history.get_prev() == 'cmd1'
- assert history.get_prev() == 'cmd1'
- assert history.get_next() == ''
- assert history.get_next() == ''
+ ch.add_command('cmd1')
+
+ assert ch.get_next() == ''
+ assert ch.get_next() == ''
+ assert ch.get_prev() == 'cmd1'
+ assert ch.get_prev() == 'cmd1'
+ assert ch.get_prev() == 'cmd1'
+ assert ch.get_next() == ''
+ assert ch.get_next() == ''
+
+ ch.add_command('cmd2')
+
+ assert ch.get_next() == ''
+ assert ch.get_next() == ''
+ assert ch.get_prev() == 'cmd2'
+ assert ch.get_prev() == 'cmd1'
+ assert ch.get_prev() == 'cmd1'
+ assert ch.get_next() == 'cmd2'
+ assert ch.get_next() == ''
+ assert ch.get_next() == ''
+
+ ch.add_command('cmd3')
+
+ assert ch.get_next() == ''
+ assert ch.get_next() == ''
+ assert ch.get_prev() == 'cmd3'
+ assert ch.get_prev() == 'cmd2'
+ assert ch.get_prev() == 'cmd1'
+ assert ch.get_prev() == 'cmd1'
+ assert ch.get_next() == 'cmd2'
+ assert ch.get_next() == 'cmd3'
+ assert ch.get_next() == ''
+ assert ch.get_next() == ''
+ assert ch.get_prev() == 'cmd3'
+ assert ch.get_prev() == 'cmd2'
+
+ ch.add_command('cmd4')
+
+ assert ch.get_prev() == 'cmd4'
+ assert ch.get_prev() == 'cmd3'
+ assert ch.get_prev() == 'cmd2'
+ assert ch.get_prev() == 'cmd1'
+ assert ch.get_prev() == 'cmd1'
+ assert ch.get_next() == 'cmd2'
+ assert ch.get_next() == 'cmd3'
+ assert ch.get_next() == 'cmd4'
+ assert ch.get_next() == ''
+ assert ch.get_next() == ''
+
+ ch.add_command('cmd5')
+ ch.add_command('cmd6')
+
+ assert ch.get_next() == ''
+ assert ch.get_prev() == 'cmd6'
+ assert ch.get_prev() == 'cmd5'
+ assert ch.get_prev() == 'cmd4'
+ assert ch.get_next() == 'cmd5'
+ assert ch.get_prev() == 'cmd4'
+ assert ch.get_prev() == 'cmd3'
+ assert ch.get_prev() == 'cmd2'
+ assert ch.get_next() == 'cmd3'
+ assert ch.get_prev() == 'cmd2'
+ assert ch.get_prev() == 'cmd1'
+ assert ch.get_prev() == 'cmd1'
+ assert ch.get_prev() == 'cmd1'
+ assert ch.get_next() == 'cmd2'
+ assert ch.get_next() == 'cmd3'
+ assert ch.get_next() == 'cmd4'
+ assert ch.get_next() == 'cmd5'
+ assert ch.get_next() == 'cmd6'
+ assert ch.get_next() == ''
+ assert ch.get_next() == ''
+
+ ch.clear_history()
+
+ def test_clear(self, tmpdir):
+ ch = command_history.CommandHistory()
- history.add_command('cmd2')
+ with taddons.context(ch) as tctx:
+ tctx.options.confdir = str(tmpdir)
+ ch.add_command('cmd1')
+ ch.add_command('cmd2')
+ ch.clear_history()
- assert history.get_next() == ''
- assert history.get_next() == ''
- assert history.get_prev() == 'cmd2'
- assert history.get_prev() == 'cmd1'
- assert history.get_prev() == 'cmd1'
- assert history.get_next() == 'cmd2'
- assert history.get_next() == ''
- assert history.get_next() == ''
-
- history.add_command('cmd3')
-
- assert history.get_next() == ''
- assert history.get_next() == ''
- assert history.get_prev() == 'cmd3'
- assert history.get_prev() == 'cmd2'
- assert history.get_prev() == 'cmd1'
- assert history.get_prev() == 'cmd1'
- assert history.get_next() == 'cmd2'
- assert history.get_next() == 'cmd3'
- assert history.get_next() == ''
- assert history.get_next() == ''
- assert history.get_prev() == 'cmd3'
- assert history.get_prev() == 'cmd2'
-
- history.add_command('cmd4')
-
- assert history.get_prev() == 'cmd4'
- assert history.get_prev() == 'cmd3'
- assert history.get_prev() == 'cmd2'
- assert history.get_prev() == 'cmd1'
- assert history.get_prev() == 'cmd1'
- assert history.get_next() == 'cmd2'
- assert history.get_next() == 'cmd3'
- assert history.get_next() == 'cmd4'
- assert history.get_next() == ''
- assert history.get_next() == ''
-
- history.add_command('cmd5')
- history.add_command('cmd6')
-
- assert history.get_next() == ''
- assert history.get_prev() == 'cmd6'
- assert history.get_prev() == 'cmd5'
- assert history.get_prev() == 'cmd4'
- assert history.get_next() == 'cmd5'
- assert history.get_prev() == 'cmd4'
- assert history.get_prev() == 'cmd3'
- assert history.get_prev() == 'cmd2'
- assert history.get_next() == 'cmd3'
- assert history.get_prev() == 'cmd2'
- assert history.get_prev() == 'cmd2'
- assert history.get_next() == 'cmd3'
- assert history.get_next() == 'cmd4'
- assert history.get_next() == 'cmd5'
- assert history.get_next() == 'cmd6'
- assert history.get_next() == ''
- assert history.get_next() == ''
-
- history.cleanup()
-
- def test_clear(self, tctx):
- history = command_history.CommandHistory(3)
- history.configure([])
+ saved_commands = ch.get_history()
+ assert saved_commands == []
- history.add_command('cmd1')
- history.add_command('cmd2')
- history.clear_history()
+ assert ch.get_next() == ''
+ assert ch.get_next() == ''
+ assert ch.get_prev() == ''
+ assert ch.get_prev() == ''
- saved_commands = [cmd for cmd in history.history]
- assert saved_commands == []
+ ch.clear_history()
- assert history.get_next() == ''
- assert history.get_next() == ''
- assert history.get_prev() == ''
- assert history.get_prev() == ''
+ def test_filter(self, tmpdir):
+ ch = command_history.CommandHistory()
- history.cleanup()
+ with taddons.context(ch) as tctx:
+ tctx.options.confdir = str(tmpdir)
- def test_filter(self, tctx):
- history = command_history.CommandHistory(3)
- history.configure([])
+ ch.add_command('cmd1')
+ ch.add_command('cmd2')
+ ch.add_command('abc')
+ ch.set_filter('c')
+
+ assert ch.get_next() == 'c'
+ assert ch.get_next() == 'c'
+ assert ch.get_prev() == 'cmd2'
+ assert ch.get_prev() == 'cmd1'
+ assert ch.get_prev() == 'cmd1'
+ assert ch.get_next() == 'cmd2'
+ assert ch.get_next() == 'c'
+ assert ch.get_next() == 'c'
+
+ ch.set_filter('')
+
+ assert ch.get_next() == ''
+ assert ch.get_next() == ''
+ assert ch.get_prev() == 'abc'
+ assert ch.get_prev() == 'cmd2'
+ assert ch.get_prev() == 'cmd1'
+ assert ch.get_prev() == 'cmd1'
+ assert ch.get_next() == 'cmd2'
+ assert ch.get_next() == 'abc'
+ assert ch.get_next() == ''
+ assert ch.get_next() == ''
+
+ ch.clear_history()
+
+ def test_multiple_instances(self, tmpdir):
+ ch = command_history.CommandHistory()
+ with taddons.context(ch) as tctx:
+ tctx.options.confdir = str(tmpdir)
- history.add_command('cmd1')
- history.add_command('cmd2')
- history.add_command('abc')
- history.set_filter('c')
-
- assert history.get_next() == ''
- assert history.get_next() == ''
- assert history.get_prev() == 'c'
- assert history.get_prev() == 'cmd2'
- assert history.get_prev() == 'cmd1'
- assert history.get_prev() == 'cmd1'
- assert history.get_next() == 'cmd2'
- assert history.get_next() == 'c'
- assert history.get_next() == ''
- assert history.get_next() == ''
-
- history.set_filter('')
-
- assert history.get_next() == ''
- assert history.get_next() == ''
- assert history.get_prev() == 'abc'
- assert history.get_prev() == 'cmd2'
- assert history.get_prev() == 'cmd1'
- assert history.get_prev() == 'cmd1'
- assert history.get_next() == 'cmd2'
- assert history.get_next() == 'abc'
- assert history.get_next() == ''
- assert history.get_next() == ''
-
- history.cleanup()
-
- def test_multiple_instances(self, tctx):
instances = [
- command_history.CommandHistory(10),
- command_history.CommandHistory(10),
- command_history.CommandHistory(10)
+ command_history.CommandHistory(),
+ command_history.CommandHistory(),
+ command_history.CommandHistory()
]
for i in instances:
- i.configure([])
- saved_commands = [cmd for cmd in i.history]
+ i.configure('command_history')
+ saved_commands = i.get_history()
assert saved_commands == []
instances[0].add_command('cmd1')
- saved_commands = [cmd for cmd in instances[0].history]
+ saved_commands = instances[0].get_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].history]
+ saved_commands = instances[1].get_history()
assert saved_commands == []
- saved_commands = [cmd for cmd in instances[2].history]
+ saved_commands = instances[2].get_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].history]
- assert saved_commands == ['cmd1', 'cmd2']
+ saved_commands = instances[1].get_history()
+ assert saved_commands == ['cmd2']
- saved_commands = [cmd for cmd in instances[0].history]
+ saved_commands = instances[0].get_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].history]
+ saved_commands = instances[2].get_history()
assert saved_commands == []
instances[2].add_command('cmd3')
- saved_commands = [cmd for cmd in instances[2].history]
- assert saved_commands == ['cmd1', 'cmd2', 'cmd3']
+ saved_commands = instances[2].get_history()
+ assert saved_commands == ['cmd3']
instances[0].add_command('cmd4')
- saved_commands = [cmd for cmd in instances[0].history]
- assert saved_commands == ['cmd1', 'cmd2', 'cmd3', 'cmd4']
+ saved_commands = instances[0].get_history()
+ assert saved_commands == ['cmd1', 'cmd4']
- instances.append(command_history.CommandHistory(10))
- instances[3].configure([])
- saved_commands = [cmd for cmd in instances[3].history]
+ instances.append(command_history.CommandHistory())
+ instances[3].configure('command_history')
+ saved_commands = instances[3].get_history()
assert saved_commands == ['cmd1', 'cmd2', 'cmd3', 'cmd4']
instances[0].add_command('cmd_before_close')
- instances.pop(0)
+ instances.pop(0).done()
- saved_commands = [cmd for cmd in instances[0].history]
- assert saved_commands == ['cmd1', 'cmd2']
+ saved_commands = instances[0].get_history()
+ assert saved_commands == ['cmd2']
instances[0].add_command('new_cmd')
- saved_commands = [cmd for cmd in instances[0].history]
- assert saved_commands == ['cmd1', 'cmd2', 'cmd3', 'cmd4', 'cmd_before_close', 'new_cmd']
+ saved_commands = instances[0].get_history()
+ assert saved_commands == ['cmd2', 'new_cmd']
- instances.pop(0)
- instances.pop(0)
- instances.pop(0)
+ instances.pop(0).done()
+ instances.pop(0).done()
+ instances.pop(0).done()
_path = os.path.join(tctx.options.confdir, 'command_history')
lines = open(_path, 'r').readlines()
@@ -227,14 +237,14 @@ class TestCommandHistory:
assert saved_commands == ['cmd1', 'cmd2', 'cmd3', 'cmd4', 'cmd_before_close', 'new_cmd']
instances = [
- command_history.CommandHistory(10),
- command_history.CommandHistory(10)
+ command_history.CommandHistory(),
+ command_history.CommandHistory()
]
for i in instances:
- i.configure([])
+ i.configure('command_history')
i.clear_history()
- saved_commands = [cmd for cmd in i.history]
+ saved_commands = i.get_history()
assert saved_commands == []
instances[0].add_command('cmd1')
@@ -243,11 +253,11 @@ class TestCommandHistory:
instances[1].add_command('cmd4')
instances[1].add_command('cmd5')
- saved_commands = [cmd for cmd in instances[1].history]
- assert saved_commands == ['cmd1', 'cmd2', 'cmd3', 'cmd4', 'cmd5']
+ saved_commands = instances[1].get_history()
+ assert saved_commands == ['cmd3', 'cmd4', 'cmd5']
- instances.pop()
- instances.pop()
+ instances.pop().done()
+ instances.pop().done()
_path = os.path.join(tctx.options.confdir, 'command_history')
lines = open(_path, 'r').readlines()