| Index: scripts/slave/unittests/runtest_test.py
|
| diff --git a/scripts/slave/unittests/runtest_test.py b/scripts/slave/unittests/runtest_test.py
|
| index b02fab2f16427e9c57837e56873547eed7e0c34a..b8895d3751dbc033f0c71820fd6240a771e19f26 100755
|
| --- a/scripts/slave/unittests/runtest_test.py
|
| +++ b/scripts/slave/unittests/runtest_test.py
|
| @@ -133,13 +133,21 @@ class SendResultsToDashboardTest(unittest.TestCase):
|
| # a call to _SendResultsDashboard is made, the data used below is arbitrary.
|
| fake_charts_data = {'chart': {'traces': {'x': [1, 0]}, 'rev': 1000}}
|
| fake_points_data = [{'test': 'master/bot/chart/x', 'revision': 1000}]
|
| - fake_results_tracker = object()
|
| + fake_results_tracker = mock.Mock()
|
| + fake_results_tracker.IsChartJson = mock.MagicMock(return_value=False)
|
| GetDataFromLogProcessor.return_value = fake_charts_data
|
| MakeListOfPoints.return_value = fake_points_data
|
|
|
| runtest._SendResultsToDashboard(
|
| - fake_results_tracker, 'linux', 'sunspider', 'http://x.com', 'builddir',
|
| - 'my.master', 'Builder', 123, 'columns_file', extra_columns={})
|
| + fake_results_tracker, {
|
| + 'system': 'linux',
|
| + 'test': 'sunspider',
|
| + 'url': 'http://x.com',
|
| + 'build_dir': 'builddir',
|
| + 'mastername': 'my.master',
|
| + 'buildername': 'Builder',
|
| + 'buildnumber': 123,
|
| + 'supplemental_columns': {}})
|
|
|
| # First a function is called to get data from the log processor.
|
| GetDataFromLogProcessor.assert_called_with(fake_results_tracker)
|
| @@ -152,6 +160,46 @@ class SendResultsToDashboardTest(unittest.TestCase):
|
| SendResults.assert_called_with(
|
| fake_points_data, 'http://x.com', 'builddir')
|
|
|
| + @mock.patch('slave.results_dashboard.MakeDashboardJsonV1')
|
| + @mock.patch('slave.results_dashboard.SendResults')
|
| + def test_SendResultsToDashboard_Telemetry(
|
| + self, SendResults, MakeDashboardJsonV1):
|
| + """Tests that the right methods get called in _SendResultsToDashboard."""
|
| + # Since this method just tests that certain methods get called when
|
| + # a call to _SendResultsDashboard is made, the data used below is arbitrary.
|
| + fake_json_data = {'chart': {'traces': {'x': [1, 0]}, 'rev': 1000}}
|
| + fake_ref_data = {'test': 'master/bot/chart/x', 'revision': 1000}
|
| + fake_results_tracker = mock.Mock()
|
| + fake_results_tracker.IsChartJson = mock.MagicMock(return_value=True)
|
| + fake_results_tracker.ChartJson = mock.MagicMock(return_value=fake_json_data)
|
| + fake_results_tracker.RefJson = mock.MagicMock(return_value=fake_ref_data)
|
| + fake_results_tracker.Cleanup = mock.MagicMock()
|
| + MakeDashboardJsonV1.return_value = {'doesnt': 'matter'}
|
| +
|
| + runtest._SendResultsToDashboard(
|
| + fake_results_tracker, {
|
| + 'system': 'linux',
|
| + 'test': 'sunspider',
|
| + 'url': 'http://x.com',
|
| + 'build_dir': 'builddir',
|
| + 'mastername': 'my.master',
|
| + 'buildername': 'Builder',
|
| + 'buildnumber': 123,
|
| + 'revisions': {'rev': 343},
|
| + 'supplemental_columns': {}})
|
| +
|
| + # Then the data is re-formatted to a format that the dashboard accepts.
|
| + MakeDashboardJsonV1.assert_has_calls([
|
| + mock.call(fake_json_data, {'rev': 343}, 'linux',
|
| + 'my.master', 'Builder', 123, {}, False),
|
| + mock.call(fake_ref_data, {'rev': 343}, 'linux',
|
| + 'my.master', 'Builder', 123, {}, True)])
|
| +
|
| + # Then a function is called to send the data (and any cached data).
|
| + SendResults.assert_has_calls([
|
| + mock.call({'doesnt': 'matter'}, 'http://x.com', 'builddir'),
|
| + mock.call({'doesnt': 'matter'}, 'http://x.com', 'builddir')])
|
| +
|
|
|
| if __name__ == '__main__':
|
| unittest.main()
|
|
|