From d4996440fa16297aee7a925e6357a9cfd42d24f8 Mon Sep 17 00:00:00 2001 From: Jose Lausuch Date: Wed, 15 Nov 2017 17:11:41 +0100 Subject: Remove prepare_env After moving the rally installation out of prepare_env It doesn't much sense to keep this script as it doesn't do useful things any more. Change-Id: I9ab3b2dd30c8ec0fbb825ee4302a83cce80f1cbe Signed-off-by: Jose Lausuch --- functest/tests/unit/ci/test_run_tests.py | 80 ++++++++++++++++++++++ functest/tests/unit/cli/commands/test_cli_env.py | 44 ------------ .../tests/unit/cli/commands/test_cli_testcase.py | 24 ++----- functest/tests/unit/cli/commands/test_cli_tier.py | 24 ++----- functest/tests/unit/cli/test_cli_base.py | 12 ---- 5 files changed, 88 insertions(+), 96 deletions(-) (limited to 'functest/tests') diff --git a/functest/tests/unit/ci/test_run_tests.py b/functest/tests/unit/ci/test_run_tests.py index bc95f8f3d..fc689452d 100644 --- a/functest/tests/unit/ci/test_run_tests.py +++ b/functest/tests/unit/ci/test_run_tests.py @@ -7,6 +7,7 @@ import logging import unittest +import os import mock @@ -58,6 +59,85 @@ class RunTestsTesting(unittest.TestCase): self.run_tests_parser = run_tests.RunTestsParser() + self.config_file_yaml = {'general': { + 'openstack': { + 'image_name': 'test_image_name'}}, + 'results': { + 'test_db_url': 'url1'}} + self.config_file_patch_yaml = {'fdio': {'general': { + 'openstack': { + 'image_name': + 'test_image_name_2'}}}} + self.config_file_aarcg64_patch_yaml = {'os': {'general': { + 'openstack': {'image_name': 'test_image_name_3'}}}} + + @mock.patch('functest.ci.run_tests.Runner.patch_file') + @mock.patch('functest.ci.run_tests.Runner.update_db_url') + def test_update_config_file_default(self, *mock_methods): + self.runner.update_config_file() + mock_methods[1].assert_called() + mock_methods[0].assert_not_called() + + @mock.patch('functest.ci.run_tests.Runner.patch_file') + @mock.patch('functest.ci.run_tests.Runner.update_db_url') + @mock.patch.dict(os.environ, {'TEST_DB_URL': 'somevalue'}) + def test_update_config_file_update_db(self, *mock_methods): + self.runner.update_config_file() + mock_methods[1].assert_called() + mock_methods[0].assert_called() + + def test_patch_file_missing_file(self): + patch_file_path = "unexisting_file" + with self.assertRaises(IOError): + self.runner.patch_file(patch_file_path) + + @mock.patch('functest.ci.run_tests.ft_utils.merge_dicts') + @mock.patch('functest.ci.run_tests.ft_utils.get_functest_yaml') + def test_patch_file_default(self, *mock_methods): + CONST.__setattr__('DEPLOY_SCENARIO', 'os-nosdn-nofeature-noha') + with mock.patch( + 'six.moves.builtins.open', mock.mock_open()), mock.patch( + 'functest.ci.run_tests.yaml.safe_load') as yaml1, mock.patch( + 'functest.ci.run_tests.ft_utils.get_functest_yaml') as yaml2: + yaml1.return_value = self.config_file_patch_yaml + yaml2.return_value = self.config_file_yaml + self.runner.patch_file(yaml1) + mock_methods[1].assert_not_called() + mock_methods[0].assert_not_called() + + @mock.patch('functest.ci.run_tests.ft_utils.merge_dicts') + @mock.patch('functest.ci.run_tests.os.remove') + def test_patch_file_match_scenario(self, *mock_methods): + CONST.__setattr__('DEPLOY_SCENARIO', 'os-nosdn-fdio-noha') + with mock.patch( + 'six.moves.builtins.open', mock.mock_open()), mock.patch( + 'functest.ci.run_tests.yaml.safe_load') as yaml1, mock.patch( + 'functest.ci.run_tests.ft_utils.get_functest_yaml') as yaml2: + yaml1.return_value = self.config_file_patch_yaml + yaml2.return_value = self.config_file_yaml + self.runner.patch_file(yaml2) + mock_methods[1].assert_called() + mock_methods[0].assert_called() + + def test_update_db_url_missing_file(self): + run_tests.CONFIG_FUNCTEST_PATH = "unexisting_file" + with self.assertRaises(IOError): + self.runner.update_db_url() + + @mock.patch('functest.ci.run_tests.yaml.safe_load') + @mock.patch('functest.ci.run_tests.ft_utils.get_functest_yaml') + @mock.patch.dict(os.environ, {'TEST_DB_URL': 'url2'}) + def test_update_db_url_default(self, *mock_methods): + with mock.patch( + 'six.moves.builtins.open', mock.mock_open()), mock.patch( + 'functest.ci.run_tests.yaml.safe_load') as yaml1: + yaml1.return_value = self.config_file_yaml + self.runner.update_db_url() + self.assertEqual( + yaml1.return_value['results']['test_db_url'], 'url2') + mock_methods[0].assert_not_called() + mock_methods[1].assert_not_called() + @mock.patch('functest.ci.run_tests.logger.error') def test_source_rc_file_missing_file(self, mock_logger_error): with mock.patch('functest.ci.run_tests.os.path.isfile', diff --git a/functest/tests/unit/cli/commands/test_cli_env.py b/functest/tests/unit/cli/commands/test_cli_env.py index ddd5d86c5..d865d3803 100644 --- a/functest/tests/unit/cli/commands/test_cli_env.py +++ b/functest/tests/unit/cli/commands/test_cli_env.py @@ -20,27 +20,6 @@ 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 = "prepare_env start" - 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 = "prepare_env start" - 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): if var == 'INSTALLER_TYPE': CONST.__setattr__('INSTALLER_TYPE', None) @@ -60,8 +39,6 @@ class CliEnvTesting(unittest.TestCase): elif var == 'DEBUG': CONST.__setattr__('CI_DEBUG', None) reg_string = "| DEBUG FLAG: false\s*|" - elif var == 'STATUS': - reg_string = "| STATUS: not ready\s*|" with mock.patch('functest.cli.commands.cli_env.click.echo') \ as mock_click_echo: @@ -87,27 +64,6 @@ class CliEnvTesting(unittest.TestCase): 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) diff --git a/functest/tests/unit/cli/commands/test_cli_testcase.py b/functest/tests/unit/cli/commands/test_cli_testcase.py index 9ccf4c4ac..f3648eb05 100644 --- a/functest/tests/unit/cli/commands/test_cli_testcase.py +++ b/functest/tests/unit/cli/commands/test_cli_testcase.py @@ -26,42 +26,26 @@ class CliTestCasesTesting(unittest.TestCase): self.cli_tests.run('vacation') self.assertTrue(mock_method.called) - @mock.patch('functest.cli.commands.cli_testcase.os.path.isfile', - return_value=False) - @mock.patch('functest.cli.commands.cli_testcase.click.echo') - def test_run_missing_env_file(self, mock_click_echo, mock_os): - self.cli_tests.run(self.testname) - mock_click_echo.assert_called_with("Functest environment is not ready." - " Run first 'functest env prepare'") - - @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_run_default(self, mock_ft_utils, mock_os): + def test_run_default(self, mock_ft_utils): cmd = "run_tests -n -r -t {}".format(self.testname) self.cli_tests.run(self.testname, noclean=True, report=True) 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_run_noclean_missing_report(self, mock_ft_utils, mock_os): + def test_run_noclean_missing_report(self, mock_ft_utils): cmd = "run_tests -n -t {}".format(self.testname) self.cli_tests.run(self.testname, noclean=True, report=False) 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_run_report_missing_noclean(self, mock_ft_utils, mock_os): + def test_run_report_missing_noclean(self, mock_ft_utils): cmd = "run_tests -r -t {}".format(self.testname) self.cli_tests.run(self.testname, noclean=False, report=True) 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_run_missing_noclean_report(self, mock_ft_utils, mock_os): + def test_run_missing_noclean_report(self, mock_ft_utils): cmd = "run_tests -t {}".format(self.testname) self.cli_tests.run(self.testname, noclean=False, report=False) mock_ft_utils.assert_called_with(cmd) diff --git a/functest/tests/unit/cli/commands/test_cli_tier.py b/functest/tests/unit/cli/commands/test_cli_tier.py index 1bb630db4..a76d12049 100644 --- a/functest/tests/unit/cli/commands/test_cli_tier.py +++ b/functest/tests/unit/cli/commands/test_cli_tier.py @@ -74,42 +74,26 @@ class CliTierTesting(unittest.TestCase): ":\n %s\n" % (self.tiername, 'tiernames')) - @mock.patch('functest.cli.commands.cli_tier.os.path.isfile', - return_value=False) - @mock.patch('functest.cli.commands.cli_tier.click.echo') - def test_run_missing_env_file(self, mock_click_echo, mock_os): - self.cli_tier.run(self.tiername) - mock_click_echo.assert_called_with("Functest environment is not ready." - " Run first 'functest env prepare'") - - @mock.patch('functest.cli.commands.cli_tier.os.path.isfile', - return_value=True) @mock.patch('functest.cli.commands.cli_tier.ft_utils.execute_command') - def test_run_default(self, mock_ft_utils, mock_os): + def test_run_default(self, mock_ft_utils): cmd = "run_tests -n -r -t {}".format(self.tiername) self.cli_tier.run(self.tiername, noclean=True, report=True) mock_ft_utils.assert_called_with(cmd) - @mock.patch('functest.cli.commands.cli_tier.os.path.isfile', - return_value=True) @mock.patch('functest.cli.commands.cli_tier.ft_utils.execute_command') - def test_run_report_missing_noclean(self, mock_ft_utils, mock_os): + def test_run_report_missing_noclean(self, mock_ft_utils): cmd = "run_tests -r -t {}".format(self.tiername) self.cli_tier.run(self.tiername, noclean=False, report=True) mock_ft_utils.assert_called_with(cmd) - @mock.patch('functest.cli.commands.cli_tier.os.path.isfile', - return_value=True) @mock.patch('functest.cli.commands.cli_tier.ft_utils.execute_command') - def test_run_noclean_missing_report(self, mock_ft_utils, mock_os): + def test_run_noclean_missing_report(self, mock_ft_utils): cmd = "run_tests -n -t {}".format(self.tiername) self.cli_tier.run(self.tiername, noclean=True, report=False) mock_ft_utils.assert_called_with(cmd) - @mock.patch('functest.cli.commands.cli_tier.os.path.isfile', - return_value=True) @mock.patch('functest.cli.commands.cli_tier.ft_utils.execute_command') - def test_run_missing_noclean_report(self, mock_ft_utils, mock_os): + def test_run_missing_noclean_report(self, mock_ft_utils): cmd = "run_tests -t {}".format(self.tiername) self.cli_tier.run(self.tiername, noclean=False, report=False) mock_ft_utils.assert_called_with(cmd) diff --git a/functest/tests/unit/cli/test_cli_base.py b/functest/tests/unit/cli/test_cli_base.py index 61bd093e6..08c9b736a 100644 --- a/functest/tests/unit/cli/test_cli_base.py +++ b/functest/tests/unit/cli/test_cli_base.py @@ -62,24 +62,12 @@ class CliBaseTesting(unittest.TestCase): self.assertEqual(result.exit_code, 0) self.assertTrue(mock_method.called) - def test_env_prepare(self): - with mock.patch.object(self._env, 'prepare') as mock_method: - result = self.runner.invoke(cli_base.env_prepare) - self.assertEqual(result.exit_code, 0) - self.assertTrue(mock_method.called) - def test_env_show(self): with mock.patch.object(self._env, 'show') as mock_method: result = self.runner.invoke(cli_base.env_show) self.assertEqual(result.exit_code, 0) self.assertTrue(mock_method.called) - def test_env_status(self): - with mock.patch.object(self._env, 'status') as mock_method: - result = self.runner.invoke(cli_base.env_status) - self.assertEqual(result.exit_code, 0) - self.assertTrue(mock_method.called) - def test_testcase_list(self): with mock.patch.object(self._testcase, 'list') as mock_method: result = self.runner.invoke(cli_base.testcase_list) -- cgit 1.2.3-korg