X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=functest_kubernetes%2Ftest_k8stest.py;h=05f40e12e455cddd3a99d7e77ba66008ac0e3c7d;hb=refs%2Fchanges%2F07%2F55307%2F2;hp=eb46ac83ca22ae17ad6fcf17159a5f7377a456da;hpb=9447a0f6fb4a7cedcfb168cf196890a452ce6a7c;p=functest-kubernetes.git diff --git a/functest_kubernetes/test_k8stest.py b/functest_kubernetes/test_k8stest.py index eb46ac83..05f40e12 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,31 @@ 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') + + def test_run_kubetest_cmd_none(self): + self.k8stesting.cmd = None + with self.assertRaises(TypeError): + self.k8stesting.run_kubetest() + + @mock.patch('functest_kubernetes.k8stest.os.path.isfile') + @mock.patch('functest_kubernetes.k8stest.subprocess.Popen') + def test_run(self, mock_open, mock_isfile): + self.assertEquals(self.k8stesting.run(), + testcase.TestCase.EX_OK) + mock_isfile.assert_called() + mock_open.assert_called() + if __name__ == "__main__": logging.disable(logging.CRITICAL)