Ejemplo n.º 1
0
    def test_convert_bug_id_in_reason_into_bug_link(self, mock_get_template):
        results = {
            "failures": 0,
            "success": 0,
            "skipped": 1,
            "expected_failures": 0,
            "unexpected_success": 0,
            "tests": 1,
            "time": 0,
            "test_cases": {"one_test": {
                "status": "skip",
                "name": "one_test",
                "reason": "Skipped until Bug: 666666 is resolved.",
                "time": "time"}}}

        expected_report = {
            "failures": 0,
            "success": 0,
            "skipped": 1,
            "expected_failures": 0,
            "unexpected_success": 0,
            "total": 1,
            "time": 0,
            "tests": [{
                "id": 0,
                "status": "skip",
                "name": "one_test",
                "output": "Skipped until Bug: <a href='https://launchpad.net/"
                          "bugs/666666'>666666</a> is resolved.",
                "time": "time"}]}

        json2html.generate_report(results)
        mock_get_template.assert_called_once_with("verification/report.mako")
        mock_get_template.return_value.render.assert_called_once_with(
            report=expected_report)
Ejemplo n.º 2
0
    def test_generate_report(self, mock_get_template):
        results = {
            "time": 22.75,
            "tests": 4,
            "success": 1,
            "skipped": 1,
            "failures": 1,
            "expected_failures": 0,
            "unexpected_success": 0,
            "test_cases": {
                "tp": {"name": "tp", "status": "success", "time": 2},
                "ts": {"name": "ts", "status": "skip", "reason": "ts_skip", "time": 4},
                "tf": {"name": "tf", "status": "fail", "time": 6, "traceback": "fail_log"},
            },
        }

        expected_report = {
            "failures": 1,
            "success": 1,
            "skipped": 1,
            "expected_failures": 0,
            "unexpected_success": 0,
            "total": 4,
            "time": "{0} ({1} s)".format(datetime.timedelta(seconds=23), 22.75),
            "tests": [
                {"name": "tf", "id": 0, "output": "fail_log", "status": "fail", "time": 6},
                {"name": "tp", "id": 1, "output": "", "status": "success", "time": 2},
                {"name": "ts", "id": 2, "output": "ts_skip", "status": "skip", "time": 4},
            ],
        }

        json2html.generate_report(results)

        mock_get_template.assert_called_once_with("verification/report.mako")
        mock_get_template.return_value.render.assert_called_once_with(report=expected_report)
Ejemplo n.º 3
0
    def test_convert_bug_id_in_reason_into_bug_link(self, mock_get_template):
        results = {
            "failures": 0,
            "success": 0,
            "skipped": 1,
            "expected_failures": 0,
            "unexpected_success": 0,
            "tests": 1,
            "time": 0,
            "test_cases": {
                "one_test": {
                    "status": "skip",
                    "name": "one_test",
                    "reason": "Skipped until Bug: 666666 is resolved.",
                    "time": "time"
                }
            }
        }

        expected_report = {
            "failures":
            0,
            "success":
            0,
            "skipped":
            1,
            "expected_failures":
            0,
            "unexpected_success":
            0,
            "total":
            1,
            "time":
            "{0} ({1} s)".format(datetime.timedelta(seconds=0), 0),
            "tests": [{
                "id":
                0,
                "status":
                "skip",
                "name":
                "one_test",
                "output":
                "Reason:\n  Skipped until Bug: <a href='https://"
                "launchpad.net/bugs/666666'>666666</a> is resolved.",
                "time":
                "time"
            }]
        }

        json2html.generate_report(results)
        mock_get_template.assert_called_once_with("verification/report.mako")
        mock_get_template.return_value.render.assert_called_once_with(
            report=expected_report)
Ejemplo n.º 4
0
    def results(self,
                verification=None,
                output_file=None,
                output_html=None,
                output_json=None):
        """Display results of a verification.

        :param verification: UUID of a verification
        :param output_file: Path to a file to save results
        :param output_html: Display results in HTML format
        :param output_json: Display results in JSON format (Default)
        """
        try:
            results = api.Verification.get(verification).get_results()
        except exceptions.NotFoundException as e:
            print(six.text_type(e))
            return 1

        result = ""
        if output_json + output_html > 1:
            print(
                _("Please specify only one "
                  "output format: --json or --html."))
        elif output_html:
            result = json2html.generate_report(results)
        else:
            result = json.dumps(results, sort_keys=True, indent=4)

        if output_file:
            output_file = os.path.expanduser(output_file)
            with open(output_file, "wb") as f:
                f.write(result)
        else:
            print(result)
Ejemplo n.º 5
0
    def results(self, verification_uuid=None, output_file=None,
                output_html=None, output_json=None):
        """Get raw results of the verification.

        :param verification_uuid: Verification UUID
        :param output_file: If specified, output will be saved to given file
        :param output_html: The output will be in HTML format
        :param output_json: The output will be in JSON format (Default)
        """

        try:
            results = api.Verification.get(verification_uuid).get_results()
        except exceptions.NotFoundException as e:
            print(six.text_type(e))
            return 1

        result = ""
        if output_json + output_html > 1:
            print("Please specify only one output format.")
        elif output_html:
            result = json2html.generate_report(results)
        else:
            result = json.dumps(results, sort_keys=True, indent=4)

        if output_file:
            output_file = os.path.expanduser(output_file)
            with open(output_file, "wb") as f:
                f.write(result)
        else:
            print(result)
Ejemplo n.º 6
0
    def results(self, verification=None, output_file=None,
                output_html=None, output_json=None):
        """Display results of a verification.

        :param verification: UUID of a verification
        :param output_file: Path to a file to save results
        :param output_html: Display results in HTML format
        :param output_json: Display results in JSON format (Default)
        """
        try:
            results = api.Verification.get(verification).get_results()
        except exceptions.NotFoundException as e:
            print(six.text_type(e))
            return 1

        result = ""
        if output_json + output_html > 1:
            print(_("Please specify only one "
                    "output format: --json or --html."))
        elif output_html:
            result = json2html.generate_report(results)
        else:
            result = json.dumps(results, sort_keys=True, indent=4)

        if output_file:
            output_file = os.path.expanduser(output_file)
            with open(output_file, "wb") as f:
                f.write(result)
        else:
            print(result)
Ejemplo n.º 7
0
    def results(self,
                verification_uuid=None,
                output_file=None,
                output_html=None,
                output_json=None):
        """Get raw results of the verification.

        :param verification_uuid: Verification UUID
        :param output_file: If specified, output will be saved to given file
        :param output_html: The output will be in HTML format
        :param output_json: The output will be in JSON format (Default)
        """

        try:
            results = objects.Verification.get(verification_uuid).get_results()
        except exceptions.NotFoundException as e:
            print(six.text_type(e))
            return 1

        result = ""
        if output_json + output_html > 1:
            print("Please specify only one output format.")
        elif output_html:
            result = json2html.generate_report(results)
        else:
            result = json.dumps(results, sort_keys=True, indent=4)

        if output_file:
            output_file = os.path.expanduser(output_file)
            with open(output_file, "wb") as f:
                f.write(result)
        else:
            print(result)
Ejemplo n.º 8
0
    def test_generate_report(self, mock_get_template):
        results = {
            "time": 22.75,
            "tests": 4,
            "success": 1,
            "skipped": 1,
            "failures": 1,
            "expected_failures": 0,
            "unexpected_success": 0,
            "test_cases": {
                "tp": {
                    "name": "tp",
                    "status": "success",
                    "time": 2
                },
                "ts": {
                    "name": "ts",
                    "status": "skip",
                    "reason": "ts_skip",
                    "time": 4
                },
                "tf": {
                    "name": "tf",
                    "status": "fail",
                    "time": 6,
                    "traceback": "fail_log"
                }
            }
        }

        expected_report = {
            "failures":
            1,
            "success":
            1,
            "skipped":
            1,
            "expected_failures":
            0,
            "unexpected_success":
            0,
            "total":
            4,
            "time":
            "{0} ({1} s)".format(datetime.timedelta(seconds=23), 22.75),
            "tests": [{
                "name": "tf",
                "id": 0,
                "output": "fail_log",
                "status": "fail",
                "time": 6
            }, {
                "name": "tp",
                "id": 1,
                "output": "",
                "status": "success",
                "time": 2
            }, {
                "name": "ts",
                "id": 2,
                "output": "Reason:\n  ts_skip",
                "status": "skip",
                "time": 4
            }]
        }

        json2html.generate_report(results)

        mock_get_template.assert_called_once_with("verification/report.mako")
        mock_get_template.return_value.render.assert_called_once_with(
            report=expected_report)