[Reports] Embed Rally version into HTML reports
This adds Rally version via meta tag into HTML reports: <meta name="generator" content="Rally version {{ version }}">. This information can be very useful during report investigation. Change-Id: Id9891cb7e050e5f3f3ca0c0a6d0e5b11992b35c9
This commit is contained in:
parent
8c1161db5f
commit
d91aa94ece
|
@ -21,6 +21,7 @@ import six
|
|||
|
||||
from rally.common import objects
|
||||
from rally.common.plugin import plugin
|
||||
from rally.common import version
|
||||
from rally.task.processing import charts
|
||||
from rally.ui import utils as ui_utils
|
||||
|
||||
|
@ -150,7 +151,9 @@ def plot(tasks_results, include_libs=False):
|
|||
extended_results = _extend_results(tasks_results)
|
||||
template = ui_utils.get_template("task/report.html")
|
||||
source, data = _process_tasks(extended_results)
|
||||
return template.render(source=json.dumps(source), data=json.dumps(data),
|
||||
return template.render(version=version.version_string(),
|
||||
source=json.dumps(source),
|
||||
data=json.dumps(data),
|
||||
include_libs=include_libs)
|
||||
|
||||
|
||||
|
@ -159,7 +162,8 @@ def trends(tasks_results):
|
|||
for i, scenario in enumerate(_extend_results(tasks_results), 1):
|
||||
trends.add_result(scenario)
|
||||
template = ui_utils.get_template("task/trends.html")
|
||||
return template.render(data=json.dumps(trends.get_data()))
|
||||
return template.render(version=version.version_string(),
|
||||
data=json.dumps(trends.get_data()))
|
||||
|
||||
|
||||
class Trends(object):
|
||||
|
|
|
@ -3,6 +3,9 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
{%- if version %}
|
||||
<meta name="generator" content="Rally version {{ version }}">
|
||||
{%- endif %}
|
||||
<title>Rally | {% block title_text %}{% endblock %}</title>
|
||||
{% block libs %}{% endblock %}
|
||||
<script type="text/javascript">{% block js_before %}{% endblock %}</script>
|
||||
|
|
|
@ -106,8 +106,9 @@ class PlotTestCase(test.TestCase):
|
|||
@mock.patch(PLOT + "_extend_results")
|
||||
@mock.patch(PLOT + "ui_utils.get_template")
|
||||
@mock.patch(PLOT + "json.dumps", side_effect=lambda s: "json_" + s)
|
||||
def test_plot(self, mock_dumps, mock_get_template, mock__extend_results,
|
||||
mock__process_tasks, **ddt_kwargs):
|
||||
@mock.patch("rally.common.version.version_string", return_value="42.0")
|
||||
def test_plot(self, mock_version_string, mock_dumps, mock_get_template,
|
||||
mock__extend_results, mock__process_tasks, **ddt_kwargs):
|
||||
mock__process_tasks.return_value = "source", "scenarios"
|
||||
mock_get_template.return_value.render.return_value = "tasks_html"
|
||||
mock__extend_results.return_value = ["extended_result"]
|
||||
|
@ -118,11 +119,11 @@ class PlotTestCase(test.TestCase):
|
|||
mock__process_tasks.assert_called_once_with(["extended_result"])
|
||||
if "include_libs" in ddt_kwargs:
|
||||
mock_get_template.return_value.render.assert_called_once_with(
|
||||
data="json_scenarios", source="json_source",
|
||||
version="42.0", data="json_scenarios", source="json_source",
|
||||
include_libs=ddt_kwargs["include_libs"])
|
||||
else:
|
||||
mock_get_template.return_value.render.assert_called_once_with(
|
||||
data="json_scenarios", source="json_source",
|
||||
version="42.0", data="json_scenarios", source="json_source",
|
||||
include_libs=False)
|
||||
|
||||
@mock.patch(PLOT + "objects.Task.extend_results")
|
||||
|
@ -153,8 +154,9 @@ class PlotTestCase(test.TestCase):
|
|||
@mock.patch(PLOT + "Trends")
|
||||
@mock.patch(PLOT + "ui_utils.get_template")
|
||||
@mock.patch(PLOT + "_extend_results")
|
||||
def test_trends(self, mock__extend_results, mock_get_template,
|
||||
mock_trends):
|
||||
@mock.patch("rally.common.version.version_string", return_value="42.0")
|
||||
def test_trends(self, mock_version_string, mock__extend_results,
|
||||
mock_get_template, mock_trends):
|
||||
mock__extend_results.return_value = ["foo", "bar"]
|
||||
trends = mock.Mock()
|
||||
trends.get_data.return_value = ["foo", "bar"]
|
||||
|
@ -167,7 +169,8 @@ class PlotTestCase(test.TestCase):
|
|||
self.assertEqual([mock.call("foo"), mock.call("bar")],
|
||||
trends.add_result.mock_calls)
|
||||
mock_get_template.assert_called_once_with("task/trends.html")
|
||||
template.render.assert_called_once_with(data="[\"foo\", \"bar\"]")
|
||||
template.render.assert_called_once_with(version="42.0",
|
||||
data="[\"foo\", \"bar\"]")
|
||||
|
||||
|
||||
@ddt.ddt
|
||||
|
|
Loading…
Reference in New Issue