From 2b768e16be8cd317ff4d3811fb17d14fb14eaaec Mon Sep 17 00:00:00 2001 From: Konrad Djimeli Date: Sun, 8 Apr 2018 06:20:45 +0100 Subject: Add unit test for config file validation Change-Id: I170de36f9641fce253acdd169061476443b86f81 Signed-off-by: Konrad Djimeli --- functest_kubernetes/k8stest.py | 2 +- functest_kubernetes/test_k8stest.py | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) 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) -- cgit 1.2.3-korg