1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
# -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: 2014-2023 Greenbone AG
#
# SPDX-License-Identifier: AGPL-3.0-or-later
from unittest import TestCase
from ospd.command.registry import get_commands, register_command, remove_command
COMMAND_NAMES = [
"help",
"check_feed",
"get_version",
"get_performance",
"get_scanner_details",
"delete_scan",
"get_vts",
"stop_scan",
"get_scans",
"start_scan",
"get_memory_usage",
]
class RegistryTestCase(TestCase):
def test_available_commands(self):
commands = get_commands()
self.assertEqual(len(COMMAND_NAMES), len(commands))
c_list = [c.name for c in commands]
self.assertListEqual(COMMAND_NAMES, c_list)
def test_register_command(self):
commands = get_commands()
before = len(commands)
class Foo:
name = 'foo'
register_command(Foo)
commands = get_commands()
after = len(commands)
try:
self.assertEqual(before + 1, after)
c_dict = {c.name: c for c in commands}
self.assertIn('foo', c_dict)
self.assertIs(c_dict['foo'], Foo)
finally:
remove_command(Foo)
commands = get_commands()
after2 = len(commands)
self.assertEqual(before, after2)
c_dict = {c.name: c for c in commands}
self.assertNotIn('foo', c_dict)
|