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

Change-Id: I10bc973776595779b563b84548d46367bcd0886f
Related-PROD: PROD-28199
diff --git a/tests/test_base.py b/tests/test_base.py
new file mode 100644
index 0000000..c4a627f
--- /dev/null
+++ b/tests/test_base.py
@@ -0,0 +1,29 @@
+import contextlib
+import io
+import sys
+import unittest
+
+
+class CfgCheckerTestBase(unittest.TestCase):
+    dummy_base_var = 0
+
+    def _safe_import_module(self, _str):
+        _import_msg = ""
+        _module = None
+
+        try:
+            _module = __import__(_str)
+        except ImportError as e:
+            _import_msg = e.message
+
+        return _import_msg, _module
+
+    @contextlib.contextmanager
+    def redirect_output(self):
+        save_stdout = sys.stdout
+        save_stderr = sys.stderr
+        sys.stdout = io.BytesIO()
+        sys.stderr = io.BytesIO()
+        yield
+        sys.stdout = save_stdout
+        sys.stderr = save_stderr