Unified command execution and unit tests
- All arguments inits moved to own clases
- Added unified way to execute commands
- Unit test structure and very basic tests
- Command line script to test coverage
- Argument parsers moved to corresponding commands
- Automatic parsers and command mapping
Change-Id: Id099d14702d9590729583dfd9574bd57022efac5
Related-PROD: PROD-28199
diff --git a/cfg_checker/cfg_check.py b/cfg_checker/cfg_check.py
index 22125f6..37f9957 100644
--- a/cfg_checker/cfg_check.py
+++ b/cfg_checker/cfg_check.py
@@ -2,10 +2,7 @@
import sys
from logging import DEBUG, INFO
-from cfg_checker.cli.command import execute_command
-from cfg_checker.cli.network import init_network_parser
-from cfg_checker.cli.package import init_package_parser
-from cfg_checker.cli.reclass import init_reclass_parser
+from cfg_checker.cli.command import execute_command, helps, parsers
from cfg_checker.common import config, logger, logger_cli
from cfg_checker.helpers.args_utils import MyParser
@@ -37,26 +34,13 @@
)
subparsers = parser.add_subparsers(dest='command')
- # package
- pkg_parser = subparsers.add_parser(
- 'packages',
- help="Package versions check (Candidate vs Installed)"
- )
- init_package_parser(pkg_parser)
-
- # networking
- net_parser = subparsers.add_parser(
- 'network',
- help="Network infrastructure checks and reports"
- )
- init_network_parser(net_parser)
-
- # reclass
- reclass_parser = subparsers.add_parser(
- 'reclass',
- help="Reclass related checks and reports"
- )
- init_reclass_parser(reclass_parser)
+ # create parsers
+ for _command in helps.keys():
+ _parser = subparsers.add_parser(
+ _command,
+ help=helps[_command]
+ )
+ parsers[_command](_parser)
# parse arguments
try: