add tests for display command classes and hooks
Change-Id: Icf17fbcedf3ea9481abef0fd9ebb435648693be3 Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This commit is contained in:
committed by
Rajath Agasthya
parent
c6d258da1c
commit
d025ad9cd3
@@ -14,6 +14,8 @@ from cliff import app as application
|
|||||||
from cliff import command
|
from cliff import command
|
||||||
from cliff import commandmanager
|
from cliff import commandmanager
|
||||||
from cliff import hooks
|
from cliff import hooks
|
||||||
|
from cliff import lister
|
||||||
|
from cliff import show
|
||||||
from cliff.tests import base
|
from cliff.tests import base
|
||||||
|
|
||||||
import mock
|
import mock
|
||||||
@@ -60,6 +62,22 @@ class TestCommand(command.Command):
|
|||||||
return 42
|
return 42
|
||||||
|
|
||||||
|
|
||||||
|
class TestShowCommand(show.ShowOne):
|
||||||
|
"""Description of command.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def take_action(self, parsed_args):
|
||||||
|
return (('Name',), ('value',))
|
||||||
|
|
||||||
|
|
||||||
|
class TestListerCommand(lister.Lister):
|
||||||
|
"""Description of command.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def take_action(self, parsed_args):
|
||||||
|
return (('Name',), [('value',)])
|
||||||
|
|
||||||
|
|
||||||
class TestHook(hooks.CommandHook):
|
class TestHook(hooks.CommandHook):
|
||||||
|
|
||||||
_before_called = False
|
_before_called = False
|
||||||
@@ -131,3 +149,87 @@ class TestHooks(base.TestBase):
|
|||||||
self.assertFalse(self.hook._after_called)
|
self.assertFalse(self.hook._after_called)
|
||||||
self.cmd.run(None)
|
self.cmd.run(None)
|
||||||
self.assertTrue(self.hook._after_called)
|
self.assertTrue(self.hook._after_called)
|
||||||
|
|
||||||
|
|
||||||
|
class TestShowOneHooks(base.TestBase):
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
super(TestShowOneHooks, self).setUp()
|
||||||
|
self.app = make_app()
|
||||||
|
self.cmd = TestShowCommand(self.app, None, cmd_name='test')
|
||||||
|
self.hook = TestHook(self.cmd)
|
||||||
|
self.mgr = extension.ExtensionManager.make_test_instance(
|
||||||
|
[extension.Extension(
|
||||||
|
'parser-hook',
|
||||||
|
None,
|
||||||
|
None,
|
||||||
|
self.hook)],
|
||||||
|
)
|
||||||
|
# Replace the auto-loaded hooks with our explicitly created
|
||||||
|
# manager.
|
||||||
|
self.cmd._hooks = self.mgr
|
||||||
|
|
||||||
|
def test_get_parser(self):
|
||||||
|
parser = self.cmd.get_parser('test')
|
||||||
|
results = parser.parse_args(['--added-by-hook', 'value'])
|
||||||
|
self.assertEqual(results.added_by_hook, 'value')
|
||||||
|
|
||||||
|
def test_get_epilog(self):
|
||||||
|
results = self.cmd.get_epilog()
|
||||||
|
self.assertIn('hook epilog', results)
|
||||||
|
|
||||||
|
def test_before(self):
|
||||||
|
self.assertFalse(self.hook._before_called)
|
||||||
|
parser = self.cmd.get_parser('test')
|
||||||
|
results = parser.parse_args(['--added-by-hook', 'value'])
|
||||||
|
self.cmd.run(results)
|
||||||
|
self.assertTrue(self.hook._before_called)
|
||||||
|
|
||||||
|
def test_after(self):
|
||||||
|
self.assertFalse(self.hook._after_called)
|
||||||
|
parser = self.cmd.get_parser('test')
|
||||||
|
results = parser.parse_args(['--added-by-hook', 'value'])
|
||||||
|
self.cmd.run(results)
|
||||||
|
self.assertTrue(self.hook._after_called)
|
||||||
|
|
||||||
|
|
||||||
|
class TestListerHooks(base.TestBase):
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
super(TestListerHooks, self).setUp()
|
||||||
|
self.app = make_app()
|
||||||
|
self.cmd = TestListerCommand(self.app, None, cmd_name='test')
|
||||||
|
self.hook = TestHook(self.cmd)
|
||||||
|
self.mgr = extension.ExtensionManager.make_test_instance(
|
||||||
|
[extension.Extension(
|
||||||
|
'parser-hook',
|
||||||
|
None,
|
||||||
|
None,
|
||||||
|
self.hook)],
|
||||||
|
)
|
||||||
|
# Replace the auto-loaded hooks with our explicitly created
|
||||||
|
# manager.
|
||||||
|
self.cmd._hooks = self.mgr
|
||||||
|
|
||||||
|
def test_get_parser(self):
|
||||||
|
parser = self.cmd.get_parser('test')
|
||||||
|
results = parser.parse_args(['--added-by-hook', 'value'])
|
||||||
|
self.assertEqual(results.added_by_hook, 'value')
|
||||||
|
|
||||||
|
def test_get_epilog(self):
|
||||||
|
results = self.cmd.get_epilog()
|
||||||
|
self.assertIn('hook epilog', results)
|
||||||
|
|
||||||
|
def test_before(self):
|
||||||
|
self.assertFalse(self.hook._before_called)
|
||||||
|
parser = self.cmd.get_parser('test')
|
||||||
|
results = parser.parse_args(['--added-by-hook', 'value'])
|
||||||
|
self.cmd.run(results)
|
||||||
|
self.assertTrue(self.hook._before_called)
|
||||||
|
|
||||||
|
def test_after(self):
|
||||||
|
self.assertFalse(self.hook._after_called)
|
||||||
|
parser = self.cmd.get_parser('test')
|
||||||
|
results = parser.parse_args(['--added-by-hook', 'value'])
|
||||||
|
self.cmd.run(results)
|
||||||
|
self.assertTrue(self.hook._after_called)
|
||||||
|
|||||||
Reference in New Issue
Block a user