Migrating to Python v3
- support for Python v3.8.x
- support for Python v3.5.x
- new tag, 2019.2.8
- updates class generation and iterators
- unittests updated with coverage >75%
- new coverage routines
- unittests profiling
- full fake data for unittests
- unittest testrun is ~1.5 seconds long
Bugfixes
- 34834, proper use of 'sudo' option
- multiple proper iterator use
- 37919, show warning when installed and candidate versions
are newer comparing to release version
Change-Id: Idd6b889f7ce94ae0c832e2f0a0346e4fdc3264a3
Related-PROD: PROD-34834 PROD-34664 PROD-34919
diff --git a/tests/test_network.py b/tests/test_network.py
new file mode 100644
index 0000000..2dc07b3
--- /dev/null
+++ b/tests/test_network.py
@@ -0,0 +1,97 @@
+import os
+
+from unittest.mock import patch
+
+from tests.mocks import mocked_salt_post, mocked_salt_get
+from tests.mocks import _res_dir
+from tests.mocks import mocked_shell, _shell_salt_path
+from tests.test_base import CfgCheckerTestBase
+
+from cfg_checker.modules.network.network_errors import NetworkErrors
+
+
+# Fake ErrorIndex
+_ErrorIndex_path = "cfg_checker.helpers.errors.ErrorIndex"
+_NErrors_path = "cfg_checker.modules.network.network_errors.NetworkErrors"
+
+_fake_nerrors = NetworkErrors(folder="tests/res/fakeerrors")
+_fake_nerrors._error_logs_folder_name = "tests/res/fakeerrors"
+
+
+class TestNetworkModule(CfgCheckerTestBase):
+ @patch('requests.get', side_effect=mocked_salt_get)
+ @patch('requests.post', side_effect=mocked_salt_post)
+ @patch(_shell_salt_path, side_effect=mocked_shell)
+ @patch(_NErrors_path, new=_fake_nerrors)
+ def test_network_list(self, m_get, m_post, m_shell):
+ _args = ["list"]
+ _pm = "cfg_checker.modules.network.mapper.NetworkErrors"
+ with patch(_pm, new=_fake_nerrors):
+ _r_code = self.run_cli(
+ "network",
+ _args
+ )
+ self.assertEqual(
+ _r_code,
+ 0,
+ "'mcp-net {}' command failed".format(" ".join(_args))
+ )
+
+ @patch('requests.get', side_effect=mocked_salt_get)
+ @patch('requests.post', side_effect=mocked_salt_post)
+ @patch(_shell_salt_path, side_effect=mocked_shell)
+ @patch(_NErrors_path, new=_fake_nerrors)
+ def test_network_map(self, m_get, m_post, m_shell):
+ _args = ["map"]
+ with patch(
+ "cfg_checker.modules.network.mapper.NetworkErrors",
+ new=_fake_nerrors
+ ):
+ _r_code = self.run_cli(
+ "network",
+ _args
+ )
+ self.assertEqual(
+ _r_code,
+ 0,
+ "'mcp-net {}' command failed".format(" ".join(_args))
+ )
+
+ @patch('requests.get', side_effect=mocked_salt_get)
+ @patch('requests.post', side_effect=mocked_salt_post)
+ @patch(_shell_salt_path, side_effect=mocked_shell)
+ @patch(_NErrors_path, new=_fake_nerrors)
+ def test_network_check(self, m_get, m_post, m_shell):
+ _args = ["check"]
+ with patch(
+ "cfg_checker.modules.network.checker.NetworkErrors",
+ new=_fake_nerrors
+ ):
+ _r_code = self.run_cli(
+ "network",
+ _args
+ )
+ self.assertEqual(
+ _r_code,
+ 0,
+ "'mcp-net {}' command failed".format(" ".join(_args))
+ )
+
+ @patch('requests.get', side_effect=mocked_salt_get)
+ @patch('requests.post', side_effect=mocked_salt_post)
+ @patch(_shell_salt_path, side_effect=mocked_shell)
+ @patch(_NErrors_path, new=_fake_nerrors)
+ def test_network_report_html(self, m_get, m_post, m_shell):
+ _fake_report = os.path.join(_res_dir, "fake.html")
+ _args = ["report", "--html", _fake_report]
+ _pc = "cfg_checker.modules.network.checker.NetworkErrors"
+ with patch(_pc, new=_fake_nerrors):
+ _r_code = self.run_cli(
+ "network",
+ _args
+ )
+ self.assertEqual(
+ _r_code,
+ 0,
+ "'mcp-net {}' command failed".format(" ".join(_args))
+ )