def test_tempest_test_name_not_valid(self, mock_sp, mock_install, mock_config): mock_sp.Popen().communicate.return_value = ("tempest.api.fake_test1[gate]\ntempest.api.fate_test2\n",) validator = validation.tempest_tests_exists() result = validator(test_name="no_valid_test_name", task=mock.MagicMock()) self.assertFalse(result.is_valid) self.assertEqual("One or more tests not found: 'no_valid_test_name'", result.msg)
def test_tempest_test_name_valid(self, mock_sp, mock_install, mock_config): mock_sp.Popen().communicate.return_value = ( "tempest.api.compute.fake_test1[gate]\n" "tempest.api.image.fake_test2\n",) validator = validation.tempest_tests_exists() result = validator(test_name="image.fake_test2", task=mock.MagicMock()) self.assertTrue(result.is_valid)
def test_tempest_test_name_valid(self, mock_sp, mock_install, mock_config): mock_sp.Popen().communicate.return_value = ( "tempest.api.compute.fake_test1[gate]\n" "tempest.api.image.fake_test2\n", ) validator = validation.tempest_tests_exists() result = validator(test_name="image.fake_test2", task=mock.MagicMock()) self.assertTrue(result.is_valid)
def test_tempest_test_name(self, mock_sp, mock_install, mock_config): mock_sp.Popen().communicate.return_value = ( 'tempest.api.fake_test1[gate]\ntempest.api.fate_test2\n', ) mock_install.return_value = True mock_config.return_value = True validator = validation.tempest_tests_exists() result = validator(test_name='fake_test1', task=mock.MagicMock()) self.assertTrue(result.is_valid)
def test_tempest_test_name_not_valid(self, mock_sp, mock_install, mock_config): mock_sp.Popen().communicate.return_value = ( "tempest.api.fake_test1[gate]\ntempest.api.fate_test2\n", ) validator = validation.tempest_tests_exists() result = validator(test_name="no_valid_test_name", task=mock.MagicMock()) self.assertFalse(result.is_valid) self.assertEqual("One or more tests not found: 'no_valid_test_name'", result.msg)
class TempestScenario(base.Scenario): @valid.add_validator(valid.tempest_tests_exists()) @base.scenario(context={"tempest": {}}) def single_test(self, test_name): """Launch a single test :param test_name: name of tempest scenario for launching """ if not test_name.startswith("tempest.api."): test_name = "tempest.api." + test_name self.context()["verifier"].run(test_name)
def test_tempest_test_names_all_valid(self, mock_sp, mock_install, mock_config): mock_sp.Popen().communicate.return_value = ("\n".join([ "tempest.api.fake_test1[gate]", "tempest.api.fake_test2", "tempest.api.fake_test3[gate,smoke]", "tempest.api.fate_test4[fake]"]),) validator = validation.tempest_tests_exists() result = validator(test_names=["tempest.api.fake_test1", "tempest.api.fake_test2"], task=mock.MagicMock()) self.assertTrue(result.is_valid)
def test_tempest_test_no_config_install(self, mock_sp, mock_gen, mock_inst, mock_install, mock_config): mock_sp.Popen().communicate.return_value = ("\n".join([ "tempest.api.fake_test1[gate]", "tempest.api.fake_test2", "tempest.api.fake_test3[gate,smoke]", "tempest.api.fate_test4[fake]" ]), ) validator = validation.tempest_tests_exists() result = validator( test_names=["tempest.api.fake_test1", "tempest.api.fake_test2"], task=mock.MagicMock()) self.assertTrue(result.is_valid)
def test_tempest_test_names_one_invalid(self, mock_sp, mock_install, mock_config): mock_sp.Popen().communicate.return_value = ('\n'.join([ "tempest.api.fake_test1[gate]", "tempest.api.fake_test2", "tempest.api.fake_test3[gate,smoke]", "tempest.api.fate_test4[fake]"]),) validator = validation.tempest_tests_exists() result = validator(test_names=["tempest.api.fake_test2", "tempest.api.invalid.test"], task=mock.MagicMock()) self.assertFalse(result.is_valid) self.assertEqual(_("One or more tests not found: '%s'") % "tempest.api.invalid.test", result.msg)
def test_tempest_test_names_one_invalid(self, mock_sp, mock_install, mock_config): mock_sp.Popen().communicate.return_value = ('\n'.join([ "tempest.api.fake_test1[gate]", "tempest.api.fake_test2", "tempest.api.fake_test3[gate,smoke]", "tempest.api.fate_test4[fake]" ]), ) validator = validation.tempest_tests_exists() result = validator( test_names=["tempest.api.fake_test2", "tempest.api.invalid.test"], task=mock.MagicMock()) self.assertFalse(result.is_valid) self.assertEqual( _("One or more tests not found: '%s'") % "tempest.api.invalid.test", result.msg)
class TempestScenario(base.Scenario): @valid.add_validator(valid.tempest_tests_exists()) @base.scenario(context={"tempest": {}}) @utils.tempest_log_wrapper def single_test(self, test_name, log_file): """Launch a single test :param test_name: name of tempest scenario for launching :param log_file: name of file for junitxml results """ if (not test_name.startswith("tempest.api.") and test_name.split('.')[0] in consts.TEMPEST_TEST_SETS): test_name = "tempest.api." + test_name self.context()["verifier"].run(test_name, log_file) @base.scenario(context={"tempest": {}}) @utils.tempest_log_wrapper def all(self, log_file): """Launch all discovered tests :param log_file: name of file for junitxml results """ self.context()["verifier"].run("", log_file) @valid.add_validator(valid.tempest_set_exists()) @base.scenario(context={"tempest": {}}) @utils.tempest_log_wrapper def set(self, set_name, log_file): """Launch one by one methods from the set :param set_name: set name of tempest scenarios for launching :param log_file: name of file for junitxml results """ if set_name == "full": testr_arg = "" elif set_name == "smoke": testr_arg = "smoke" else: testr_arg = "tempest.api.%s" % set_name self._context["verifier"].run(testr_arg, log_file) @valid.add_validator(valid.tempest_tests_exists()) @base.scenario(context={"tempest": {}}) @utils.tempest_log_wrapper def list_of_tests(self, test_names, log_file): """Launch all tests from given list :param test_names: list of tempest scenarios for launching :param log_file: name of file for junitxml results """ self._context["verifier"].run(" ".join(test_names), log_file) @base.scenario(context={"tempest": {}}) @utils.tempest_log_wrapper def specific_regex(self, regex, log_file): """Launch all tests which match given regex :param log_file: name of file for junitxml results """ self._context["verifier"].run(regex, log_file)