Commit a69bee88 by fwkz

Adding tests to 'show' sub-commands

parent 3cb6c144
......@@ -393,20 +393,20 @@ class RoutersploitInterpreter(BaseInterpreter):
except KeyError:
print("\nTarget devices are not defined")
def __show_modules(self, root=''): # TODO: cover with tests
def __show_modules(self, root=''):
for module in [module for module in self.modules if module.startswith(root)]:
print(module.replace('.', os.sep))
def _show_all(self, *args, **kwargs): # TODO: cover with tests
def _show_all(self, *args, **kwargs):
self.__show_modules()
def _show_scanners(self, *args, **kwargs): # TODO: cover with tests
def _show_scanners(self, *args, **kwargs):
self.__show_modules('scanners')
def _show_exploits(self, *args, **kwargs): # TODO: cover with tests
def _show_exploits(self, *args, **kwargs):
self.__show_modules('exploits')
def _show_creds(self, *args, **kwargs): # TODO: cover with tests
def _show_creds(self, *args, **kwargs):
self.__show_modules('creds')
def command_show(self, *args, **kwargs):
......
......@@ -479,6 +479,81 @@ class RoutersploitInterpreterTest(RoutersploitTestCase):
"What do you want to show?\n"
"Possible choices are: {}".format(self.interpreter.show_sub_commands))
@mock.patch('__builtin__.print')
def test_show_all(self, mock_print):
self.interpreter.modules = [
'exploits.foo',
'exploits.bar',
'scanners.foo',
'scanners.bar',
'creds.foo',
'creds.bar',
]
self.interpreter._show_all()
self.assertEqual(
mock_print.mock_calls,
[
mock.call('exploits/foo'),
mock.call('exploits/bar'),
mock.call('scanners/foo'),
mock.call("scanners/bar"),
mock.call("creds/foo"),
mock.call("creds/bar"),
]
)
@mock.patch('__builtin__.print')
def test_show_scanners(self, mock_print):
self.interpreter.modules = [
'exploits.foo',
'exploits.bar',
'scanners.foo',
'scanners.bar',
'creds.foo',
'creds.bar',
]
self.interpreter._show_scanners()
self.assertEqual(
mock_print.mock_calls,
[mock.call("scanners/foo"), mock.call("scanners/bar")]
)
@mock.patch('__builtin__.print')
def test_show_exploits(self, mock_print):
self.interpreter.modules = [
'exploits.foo',
'exploits.bar',
'scanners.foo',
'scanners.bar',
'creds.foo',
'creds.bar',
]
self.interpreter._show_exploits()
self.assertEqual(
mock_print.mock_calls,
[mock.call("exploits/foo"), mock.call("exploits/bar")]
)
@mock.patch('__builtin__.print')
def test_show_creds(self, mock_print):
self.interpreter.modules = [
'exploits.foo',
'exploits.bar',
'scanners.foo',
'scanners.bar',
'creds.foo',
'creds.bar',
]
self.interpreter._show_creds()
self.assertEqual(
mock_print.mock_calls,
[mock.call("creds/foo"), mock.call("creds/bar")]
)
def test_if_command_run_has_module_required_decorator(self):
self.assertIsDecorated(
self.interpreter.command_run,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment