コード例 #1
0
ファイル: test_validation.py プロジェクト: KevinTsang/rally
    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)
コード例 #2
0
ファイル: test_validation.py プロジェクト: slashk/rally
    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)
コード例 #3
0
    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)
コード例 #4
0
ファイル: test_validation.py プロジェクト: Frostman/rally
    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)
コード例 #5
0
    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)
コード例 #6
0
ファイル: tempest.py プロジェクト: Frostman/rally
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)
コード例 #7
0
ファイル: test_validation.py プロジェクト: slashk/rally
    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)
コード例 #8
0
    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)
コード例 #9
0
ファイル: test_validation.py プロジェクト: slashk/rally
    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)
コード例 #10
0
    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)
コード例 #11
0
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)