Update logging to log Errors, when they occur 13/56613/4
authorKonrad Djimeli <konraddjimeli@gmail.com>
Thu, 26 Apr 2018 07:40:17 +0000 (08:40 +0100)
committerKonrad Djimeli <konraddjimeli@gmail.com>
Thu, 26 Apr 2018 08:23:45 +0000 (09:23 +0100)
Enable logging of errors which can occur due to
incorrect configfile, wrong KUBE_MASTER_URL or
KUBE_MASTER_IP etc.

Change-Id: I352ed0ab0376e9392d205decdc569bac6304ba27
Signed-off-by: Konrad Djimeli <konraddjimeli@gmail.com>
functest_kubernetes/k8stest.py
functest_kubernetes/test_k8stest.py

index 7d9400e..2977bb8 100644 (file)
@@ -51,6 +51,8 @@ class K8sTesting(testcase.TestCase):
         lines = output.split('\n')
         i = 0
         while i < len(lines):
+            if 'Error' in lines[i]:
+                self.__logger.error(lines[i])
             if '[k8s.io]' in lines[i]:
                 if i != 0 and 'seconds' in lines[i - 1]:
                     self.__logger.debug(lines[i - 1])
index 05f40e1..9db14d5 100644 (file)
@@ -66,6 +66,20 @@ class K8sTests(unittest.TestCase):
         with self.assertRaises(TypeError):
             self.k8stesting.run_kubetest()
 
+    @mock.patch('functest_kubernetes.k8stest.os.path.isfile')
+    def test_error_logging(self, mock_isfile):
+        # pylint: disable=unused-argument
+        with mock.patch('functest_kubernetes.k8stest.'
+                        'subprocess.Popen') as mock_popen, \
+             mock.patch.object(self.k8stesting,
+                               '_K8sTesting__logger') as mock_logger:
+            mock_stdout = mock.Mock()
+            attrs = {'stdout.read.return_value': 'Error loading client'}
+            mock_stdout.configure_mock(**attrs)
+            mock_popen.return_value = mock_stdout
+            self.k8stesting.run_kubetest()
+            mock_logger.error.assert_called_with("Error loading client")
+
     @mock.patch('functest_kubernetes.k8stest.os.path.isfile')
     @mock.patch('functest_kubernetes.k8stest.subprocess.Popen')
     def test_run(self, mock_open, mock_isfile):