summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Hellmann <doug.hellmann@dreamhost.com>2012-04-29 15:22:20 -0400
committerDoug Hellmann <doug.hellmann@dreamhost.com>2012-04-29 15:22:20 -0400
commit607d283d8809efee02c86b3a73e2d3b3227a6ffe (patch)
tree84dbb10b5b01fd460faa8805d9b3bcfd05a2c3f6
parent00b9564a09484b62d9de55c0db2f726e0b79b020 (diff)
downloadcliff-tablib-607d283d8809efee02c86b3a73e2d3b3227a6ffe.tar.gz
100% coverage for commandmanager.py
-rw-r--r--tests/test_commandmanager.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/test_commandmanager.py b/tests/test_commandmanager.py
index 6be244e..1945f2e 100644
--- a/tests/test_commandmanager.py
+++ b/tests/test_commandmanager.py
@@ -1,4 +1,6 @@
+import mock
+
from cliff.commandmanager import CommandManager
@@ -47,3 +49,47 @@ def test_lookup_with_remainder():
]:
yield check, mgr, expected
return
+
+
+def test_find_invalid_command():
+ mgr = TestCommandManager('test')
+ def check_one(argv):
+ try:
+ mgr.find_command(argv)
+ except ValueError as err:
+ assert '-b' in ('%s' % err)
+ else:
+ assert False, 'expected a failure'
+ for argv in [['a', '-b'],
+ ['-b'],
+ ]:
+ yield check_one, argv
+
+
+def test_find_unknown_command():
+ mgr = TestCommandManager('test')
+ try:
+ mgr.find_command(['a', 'b'])
+ except ValueError as err:
+ assert "['a', 'b']" in ('%s' % err)
+ else:
+ assert False, 'expected a failure'
+
+
+def test_add_command():
+ mgr = TestCommandManager('test')
+ mock_cmd = mock.Mock()
+ mgr.add_command('mock', mock_cmd)
+ found_cmd, name, args = mgr.find_command(['mock'])
+ assert found_cmd is mock_cmd
+
+
+def test_load_commands():
+ testcmd = mock.Mock(name='testcmd')
+ testcmd.name.replace.return_value = 'test'
+ mock_pkg_resources = mock.Mock(return_value=[testcmd])
+ with mock.patch('pkg_resources.iter_entry_points', mock_pkg_resources) as iter_entry_points:
+ mgr = CommandManager('test')
+ assert iter_entry_points.called_once_with('test')
+ names = [n for n, v in mgr]
+ assert names == ['test']