diff options
author | Konrad Djimeli <konraddjimeli@gmail.com> | 2018-04-08 06:20:45 +0100 |
---|---|---|
committer | Cedric Ollivier <cedric.ollivier@orange.com> | 2018-04-10 06:22:57 +0000 |
commit | 2594882b1dae9828eeac3eed976a73621adbe98f (patch) | |
tree | 98840bfb9611e123bc5d8875ec21f56288246073 | |
parent | 36d7c97ffc2d91d164142c6b331b376d2e90eaed (diff) |
Add unit test for config file validation
Change-Id: I170de36f9641fce253acdd169061476443b86f81
Signed-off-by: Konrad Djimeli <konraddjimeli@gmail.com>
(cherry picked from commit 2b768e16be8cd317ff4d3811fb17d14fb14eaaec)
-rw-r--r-- | functest_kubernetes/k8stest.py | 2 | ||||
-rw-r--r-- | functest_kubernetes/test_k8stest.py | 17 |
2 files changed, 18 insertions, 1 deletions
diff --git a/functest_kubernetes/k8stest.py b/functest_kubernetes/k8stest.py index d851d9ef..7d9400ed 100644 --- a/functest_kubernetes/k8stest.py +++ b/functest_kubernetes/k8stest.py @@ -90,7 +90,7 @@ class K8sTesting(testcase.TestCase): if not os.path.isfile(self.config): self.__logger.error( - "Cannot run k8s testcases. Config file not found ") + "Cannot run k8s testcases. Config file not found") return self.EX_RUN_ERROR self.start_time = time.time() diff --git a/functest_kubernetes/test_k8stest.py b/functest_kubernetes/test_k8stest.py index eb46ac83..230b6e0e 100644 --- a/functest_kubernetes/test_k8stest.py +++ b/functest_kubernetes/test_k8stest.py @@ -14,6 +14,9 @@ import logging import os import unittest +import mock +from xtesting.core import testcase + from functest_kubernetes import k8stest @@ -27,6 +30,8 @@ class K8sTests(unittest.TestCase): os.environ["KUBE_MASTER_URL"] = "https://127.0.0.1:6443" os.environ["KUBERNETES_PROVIDER"] = "local" + self.k8stesting = k8stest.K8sTesting() + def _test_no_env_var(self, var): del os.environ[var] with self.assertRaises(Exception): @@ -44,6 +49,18 @@ class K8sTests(unittest.TestCase): def test_no_kubernetes_provider(self): self._test_no_env_var("KUBERNETES_PROVIDER") + @mock.patch('functest_kubernetes.k8stest.os.path.isfile', + return_value=False) + def test_run_missing_config_file(self, mock_func): + self.k8stesting.config = 'not_file' + with mock.patch.object(self.k8stesting, + '_K8sTesting__logger') as mock_logger: + self.assertEquals(self.k8stesting.run(), + testcase.TestCase.EX_RUN_ERROR) + mock_logger.error.assert_called_with( + "Cannot run k8s testcases. Config file not found") + mock_func.assert_called_with('not_file') + if __name__ == "__main__": logging.disable(logging.CRITICAL) |