def test_SendResultsToDashboard_SimpleCase( self, SendResults, MakeListOfPoints, GetDataFromLogProcessor): """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_charts_data = {'chart': {'traces': {'x': [1, 0]}, 'rev': 1000}} fake_points_data = [{'test': 'master/bot/chart/x', 'revision': 1000}] fake_results_tracker = object() 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={}) # First a function is called to get data from the log processor. GetDataFromLogProcessor.assert_called_with(fake_results_tracker) # Then the data is re-formatted to a format that the dashboard accepts. MakeListOfPoints.assert_called_with( fake_charts_data, 'linux', 'sunspider', 'my.master', 'Builder', 123, {}) # Then a function is called to send the data (and any cached data). SendResults.assert_called_with( fake_points_data, 'http://x.com', 'builddir')
def test_SendResultsToDashboard_SimpleCase(self, SendResults, MakeListOfPoints, GetDataFromLogProcessor): """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_charts_data = {'chart': {'traces': {'x': [1, 0]}, 'rev': 1000}} fake_points_data = [{'test': 'master/bot/chart/x', 'revision': 1000}] fake_results_tracker = object() 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={}) # First a function is called to get data from the log processor. GetDataFromLogProcessor.assert_called_with(fake_results_tracker) # Then the data is re-formatted to a format that the dashboard accepts. MakeListOfPoints.assert_called_with(fake_charts_data, 'linux', 'sunspider', 'my.master', 'Builder', 123, {}) # Then a function is called to send the data (and any cached data). SendResults.assert_called_with(fake_points_data, 'http://x.com', 'builddir')
def test_SendResultsToDashboard_NoTelemetryOutput( self, SendResults, MakeDashboardJsonV1): """Tests that the right methods get called in _SendResultsToDashboard.""" fake_results_tracker = mock.Mock() fake_results_tracker.IsChartJson = mock.MagicMock(return_value=True) fake_results_tracker.ChartJson = mock.MagicMock(return_value=None) fake_results_tracker.IsReferenceBuild = mock.MagicMock(return_value=False) fake_results_tracker.Cleanup = mock.MagicMock() 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': {}}) # Should not call functions to generate JSON and send to JSON if Telemetry # did not return results. self.assertFalse(MakeDashboardJsonV1.called) self.assertFalse(SendResults.called) fake_results_tracker.Cleanup.assert_called_with()
def test_SendResultsToDashboard_NoTelemetryOutput(self, SendResults, MakeDashboardJsonV1): """Tests that the right methods get called in _SendResultsToDashboard.""" fake_results_tracker = mock.Mock() fake_results_tracker.IsChartJson = mock.MagicMock(return_value=True) fake_results_tracker.ChartJson = mock.MagicMock(return_value=None) fake_results_tracker.IsReferenceBuild = mock.MagicMock( return_value=False) fake_results_tracker.Cleanup = mock.MagicMock() 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': {} }) # Should not call functions to generate JSON and send to JSON if Telemetry # did not return results. self.assertFalse(MakeDashboardJsonV1.called) self.assertFalse(SendResults.called) fake_results_tracker.Cleanup.assert_called_with()
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_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.IsReferenceBuild = mock.MagicMock( return_value=False) fake_results_tracker.Cleanup = mock.MagicMock() MakeDashboardJsonV1.return_value = {'doesnt': 'matter'} result = 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_called_with(fake_json_data, {'rev': 343}, 'sunspider', 'linux', 'Builder', 123, {}, False) # Then a function is called to send the data (and any cached data). SendResults.assert_called_with({'doesnt': 'matter'}, 'http://x.com', 'builddir') fake_results_tracker.Cleanup.assert_called_with() # No errors, should return True. self.assertTrue(result)
def test_SendResultsToDashboard_SimpleCase(self, SendResults, MakeListOfPoints, GetDataFromLogProcessor): """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_charts_data = {'chart': {'traces': {'x': [1, 0]}, 'rev': 1000}} fake_points_data = [{'test': 'master/bot/chart/x', 'revision': 1000}] 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 result = runtest._SendResultsToDashboard( 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) # Then the data is re-formatted to a format that the dashboard accepts. MakeListOfPoints.assert_called_with(fake_charts_data, 'linux', 'sunspider', 'Builder', 123, {}) # Then a function is called to send the data (and any cached data). SendResults.assert_called_with(fake_points_data, 'http://x.com', 'builddir') # No errors, should return True. self.assertTrue(result)
def test_SendResultsToDashboard_DisabledBenchmark( 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}, 'enabled': True} 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.IsReferenceBuild = mock.MagicMock(return_value=False) fake_results_tracker.Cleanup = mock.MagicMock() fake_results = {'doesnt': 'matter', 'chart_data': {'enabled': False}} MakeDashboardJsonV1.return_value = fake_results result = 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_called_with( fake_json_data, {'rev': 343}, 'sunspider', 'linux', 'Builder', 123, {}, False) # Make sure SendResults isn't called because the benchmarks is disabled self.assertFalse(SendResults.called) # No errors, should return True since disabled run is successful. self.assertTrue(result)
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_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.IsReferenceBuild = mock.MagicMock(return_value=False) fake_results_tracker.Cleanup = mock.MagicMock() MakeDashboardJsonV1.return_value = {'doesnt': 'matter'} result = 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_called_with( fake_json_data, {'rev': 343}, 'sunspider', 'linux', 'Builder', 123, {}, False) # Then a function is called to send the data (and any cached data). SendResults.assert_called_with( {'doesnt': 'matter'}, 'http://x.com', 'builddir') fake_results_tracker.Cleanup.assert_called_with() # No errors, should return True. self.assertTrue(result)
def test_SendResultsToDashboard_SimpleCase( self, SendResults, MakeListOfPoints, GetDataFromLogProcessor): """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_charts_data = {'chart': {'traces': {'x': [1, 0]}, 'rev': 1000}} fake_points_data = [{'test': 'master/bot/chart/x', 'revision': 1000}] 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 result = runtest._SendResultsToDashboard( 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) # Then the data is re-formatted to a format that the dashboard accepts. MakeListOfPoints.assert_called_with( fake_charts_data, 'linux', 'sunspider', 'Builder', 123, {}) # Then a function is called to send the data (and any cached data). SendResults.assert_called_with( fake_points_data, 'http://x.com', 'builddir') # No errors, should return True. self.assertTrue(result)