Simplify functest/cli/commands/cli_env.py
[functest.git] / functest / tests / unit / cli / commands / test_cli_env.py
index b4e9878..d17da16 100644 (file)
@@ -5,14 +5,25 @@
 # which accompanies this distribution, and is available at
 # http://www.apache.org/licenses/LICENSE-2.0
 
+# pylint: disable=missing-docstring
+
 import logging
+import os
+import re
 import unittest
 
 import mock
 
 from functest.cli.commands import cli_env
-from functest.utils.constants import CONST
-from functest.tests.unit import test_utils
+
+
+class RegexMatch(object):  # pylint: disable=too-few-public-methods
+    def __init__(self, msg):
+        self.msg = msg
+
+    def __eq__(self, other):
+        match = re.search(self.msg, other)
+        return match is not None
 
 
 class CliEnvTesting(unittest.TestCase):
@@ -20,61 +31,33 @@ class CliEnvTesting(unittest.TestCase):
     def setUp(self):
         self.cli_environ = cli_env.CliEnv()
 
-    @mock.patch('functest.cli.commands.cli_testcase.os.path.isfile',
-                return_value=False)
-    @mock.patch('functest.cli.commands.cli_testcase.ft_utils.execute_command')
-    def test_prepare_default(self, mock_ft_utils, mock_os):
-        cmd = ("python %s/functest/ci/prepare_env.py start" %
-               CONST.__getattribute__('dir_repo_functest'))
-        self.cli_environ.prepare()
-        mock_ft_utils.assert_called_with(cmd)
-
-    @mock.patch('functest.cli.commands.cli_testcase.os.path.isfile',
-                return_value=True)
-    @mock.patch('functest.cli.commands.cli_testcase.ft_utils.execute_command')
-    def test_prepare_missing_status(self, mock_ft_utils, mock_os):
-        with mock.patch('__builtin__.raw_input', return_value="y"), \
-                mock.patch('functest.cli.commands.cli_testcase.os.remove') \
-                as mock_os_remove:
-            cmd = ("python %s/functest/ci/prepare_env.py start" %
-                   CONST.__getattribute__('dir_repo_functest'))
-            self.cli_environ.prepare()
-            mock_os_remove.assert_called_once_with(
-                CONST.__getattribute__('env_active'))
-            mock_ft_utils.assert_called_with(cmd)
-
     def _test_show_missing_env_var(self, var, *args):
+        # pylint: disable=unused-argument
         if var == 'INSTALLER_TYPE':
-            CONST.__setattr__('INSTALLER_TYPE', None)
-            reg_string = "|  INSTALLER: Unknown, \S+\s*|"
+            os.environ['INSTALLER_TYPE'] = ''
+            reg_string = r"|  INSTALLER: Unknown, \S+\s*|"
         elif var == 'INSTALLER_IP':
-            CONST.__setattr__('INSTALLER_IP', None)
-            reg_string = "|  INSTALLER: \S+, Unknown\s*|"
+            os.environ['INSTALLER_IP'] = ''
+            reg_string = r"|  INSTALLER: \S+, Unknown\s*|"
         elif var == 'SCENARIO':
-            CONST.__setattr__('DEPLOY_SCENARIO', None)
-            reg_string = "|   SCENARIO: Unknown\s*|"
+            os.environ['DEPLOY_SCENARIO'] = ''
+            reg_string = r"|   SCENARIO: Unknown\s*|"
         elif var == 'NODE':
-            CONST.__setattr__('NODE_NAME', None)
-            reg_string = "|        POD: Unknown\s*|"
+            os.environ['NODE_NAME'] = ''
+            reg_string = r"|        POD: Unknown\s*|"
         elif var == 'BUILD_TAG':
-            CONST.__setattr__('BUILD_TAG', None)
-            reg_string = "|  BUILD TAG: None|"
-        elif var == 'DEBUG':
-            CONST.__setattr__('CI_DEBUG', None)
-            reg_string = "| DEBUG FLAG: false\s*|"
-        elif var == 'STATUS':
-            reg_string = "|     STATUS: not ready\s*|"
+            os.environ['BUILD_TAG'] = ''
+            reg_string = r"|  BUILD TAG: None|"
 
         with mock.patch('functest.cli.commands.cli_env.click.echo') \
                 as mock_click_echo:
             self.cli_environ.show()
-            mock_click_echo.assert_called_with(test_utils.
-                                               RegexMatch(reg_string))
+            mock_click_echo.assert_called_with(RegexMatch(reg_string))
 
-    def test_show_missing_ci_installer_type(self, *args):
+    def test_show_ci_installer_type_ko(self, *args):
         self._test_show_missing_env_var('INSTALLER_TYPE', *args)
 
-    def test_show_missing_ci_installer_ip(self, *args):
+    def test_show_ci_installer_ip_ko(self, *args):
         self._test_show_missing_env_var('INSTALLER_IP', *args)
 
     def test_show_missing_ci_scenario(self, *args):
@@ -86,30 +69,6 @@ class CliEnvTesting(unittest.TestCase):
     def test_show_missing_ci_build_tag(self, *args):
         self._test_show_missing_env_var('BUILD_TAG', *args)
 
-    def test_show_missing_ci_debug(self, *args):
-        self._test_show_missing_env_var('DEBUG', *args)
-
-    @mock.patch('functest.cli.commands.cli_env.os.path.isfile',
-                return_value=False)
-    def test_show_missing_environment(self, *args):
-        self._test_show_missing_env_var('STATUS', *args)
-
-    @mock.patch('functest.cli.commands.cli_env.click.echo')
-    @mock.patch('functest.cli.commands.cli_env.os.path.isfile',
-                return_value=True)
-    def test_status_environment_present(self, mock_path, mock_click_echo):
-        self.assertEqual(self.cli_environ.status(), 0)
-        mock_click_echo.assert_called_with("Functest environment"
-                                           " ready to run tests.\n")
-
-    @mock.patch('functest.cli.commands.cli_env.click.echo')
-    @mock.patch('functest.cli.commands.cli_env.os.path.isfile',
-                return_value=False)
-    def test_status_environment_absent(self, mock_path, mock_click_echo):
-        self.assertEqual(self.cli_environ.status(), 1)
-        mock_click_echo.assert_called_with("Functest environment"
-                                           " is not installed.\n")
-
 
 if __name__ == "__main__":
     logging.disable(logging.CRITICAL)