Index: infra/services/mastermon/test/pollers_test.py |
diff --git a/infra/services/mastermon/test/pollers_test.py b/infra/services/mastermon/test/pollers_test.py |
index c260afcab1b8cf39476cdeebb801756322500031..964e9ee2c23582c97e6667bccc523a76dfa59f16 100644 |
--- a/infra/services/mastermon/test/pollers_test.py |
+++ b/infra/services/mastermon/test/pollers_test.py |
@@ -4,7 +4,6 @@ |
import json |
import os |
-import tempfile |
import time |
import unittest |
@@ -211,36 +210,37 @@ class FilePollerTest(unittest.TestCase): |
self.assertTrue(p.poll()) |
self.assertFalse(os.path.isfile(pollers.rotated_filename(filename))) |
- @mock.patch('infra_libs.ts_mon.CounterMetric.increment') |
- @mock.patch('infra_libs.ts_mon.CumulativeDistributionMetric.add') |
- def test_file_has_data(self, fake_add, fake_increment): |
+ def test_file_has_data(self): |
result1 = {'builder': 'b1', 'slave': 's1', |
'result': 'r1', 'project_id': 'chromium', |
'subproject_tag': 'unknown'} |
result2 = {'builder': 'b1', 'slave': 's1', |
'result': 'r1', 'project_id': 'unknown', |
'subproject_tag': 'unknown'} |
+ result3 = {'builder': 'b1', 'slave': 's1', |
+ 'step_result': 'r1', 'project_id': 'chromium', |
+ 'subproject_tag': 'unknown'} |
# Check that we've listed all the required metric fields. |
- self.assertEqual(set(result1), set(pollers.FilePoller.field_keys)) |
- self.assertEqual(set(result2), set(pollers.FilePoller.field_keys)) |
- |
- data1 = result1.copy() |
- data2 = result2.copy() |
- data1['random'] = 'value' # Extra field, should be ignored. |
- del data2['project_id'] # Missing field, should become 'unknown'. |
- data2['duration_s'] = 5 |
- data2['pending_s'] = 1 |
- data2['total_s'] = data2['pending_s'] + data2['duration_s'] |
- data2['pre_test_time_s'] = 2 |
+ self.assertEqual(set(result1), set(pollers.FilePoller.build_field_keys)) |
+ self.assertEqual(set(result2), set(pollers.FilePoller.build_field_keys)) |
+ self.assertEqual(set(result3), set(pollers.FilePoller.step_field_keys)) |
+ |
+ data = [r.copy() for r in (result1, result2, result3)] |
+ data[0]['random'] = 'value' # Extra field, should be ignored. |
+ del data[1]['project_id'] # Missing field, should become 'unknown'. |
+ data[1]['duration_s'] = 5 |
+ data[1]['pending_s'] = 1 |
+ data[1]['total_s'] = data[1]['pending_s'] + data[1]['duration_s'] |
+ data[1]['pre_test_time_s'] = 2 |
with temporary_directory(prefix='poller-test-') as tempdir: |
- filename = self.create_data_file(tempdir, [data1, data2]) |
+ filename = self.create_data_file(tempdir, data) |
p = pollers.FilePoller(filename, {}) |
self.assertTrue(p.poll()) |
- fake_increment.assert_any_call(result1) |
- fake_increment.assert_any_call(result2) |
- fake_add.assert_any_call(data2['duration_s'], result2) |
- fake_add.assert_any_call(data2['pending_s'], result2) |
- fake_add.assert_any_call(data2['total_s'], result2) |
+ |
+ self.assertEqual(pollers.FilePoller.result_count.get(result1), 1) |
+ self.assertEqual(pollers.FilePoller.result_count.get(result2), 1) |
+ self.assertEqual(pollers.FilePoller.step_results_count.get(result3), 1) |
+ |
self.assertFalse(os.path.isfile(filename)) |
# Make sure the rotated file is still there - for debugging. |
self.assertTrue(os.path.isfile(pollers.rotated_filename(filename))) |