Use cnf certifaction criteria
[functest-kubernetes.git] / functest_kubernetes / test_k8stest.py
index 230b6e0..0714ff9 100644 (file)
@@ -20,7 +20,7 @@ from xtesting.core import testcase
 from functest_kubernetes import k8stest
 
 
-class K8sTests(unittest.TestCase):
+class E2EUnitTesting(unittest.TestCase):
 
     # pylint: disable=missing-docstring
 
@@ -30,36 +30,34 @@ 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):
-            k8stest.K8sTesting().check_envs()
-
-    def test_no_deploy_scenario(self):
-        self._test_no_env_var("DEPLOY_SCENARIO")
-
-    def test_no_kube_master_ip(self):
-        self._test_no_env_var("KUBE_MASTER_IP")
-
-    def test_no_kube_master_url(self):
-        self._test_no_env_var("KUBE_MASTER_URL")
-
-    def test_no_kubernetes_provider(self):
-        self._test_no_env_var("KUBERNETES_PROVIDER")
+        self.k8stesting = k8stest.E2ETesting()
 
+    @mock.patch('os.path.exists', return_value=False)
+    @mock.patch('os.makedirs')
     @mock.patch('functest_kubernetes.k8stest.os.path.isfile',
                 return_value=False)
-    def test_run_missing_config_file(self, mock_func):
+    def test_run_missing_config_file(self, *args):
         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)
+                               '_E2ETesting__logger') as mock_logger:
+            self.assertEqual(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')
+        args[0].assert_called_with('not_file')
+        args[1].assert_called_with(self.k8stesting.res_dir)
+
+    @mock.patch('os.path.exists', return_value=False)
+    @mock.patch('os.makedirs')
+    @mock.patch('re.search')
+    @mock.patch('six.moves.builtins.open', mock.mock_open())
+    @mock.patch('functest_kubernetes.k8stest.os.path.isfile')
+    @mock.patch('functest_kubernetes.k8stest.subprocess.Popen')
+    def test_run(self, *args):
+        self.assertEqual(self.k8stesting.run(),
+                         testcase.TestCase.EX_OK)
+        for loop in range(3):
+            args[loop].assert_called()
 
 
 if __name__ == "__main__":