summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKonrad Djimeli <konraddjimeli@gmail.com>2018-04-08 06:20:45 +0100
committerKonrad Djimeli <konraddjimeli@gmail.com>2018-04-09 05:39:57 +0100
commit2b768e16be8cd317ff4d3811fb17d14fb14eaaec (patch)
tree1408e92d8c5b1aef6a68de2d7abb9f0eaac58123
parent13ac225eb6afbd4e81109ead35d0594c53ce888b (diff)
Add unit test for config file validation
Change-Id: I170de36f9641fce253acdd169061476443b86f81 Signed-off-by: Konrad Djimeli <konraddjimeli@gmail.com>
-rw-r--r--functest_kubernetes/k8stest.py2
-rw-r--r--functest_kubernetes/test_k8stest.py17
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)