|
42 | 42 |
|
43 | 43 | import json |
44 | 44 | import unittest |
45 | | -from metrics import _CLEARCUT_ENDPOINT as CLEARCUT_ENDPOINT |
46 | | -from metrics import _MetricsCollector as MetricsCollector |
| 45 | + |
| 46 | +import metrics |
47 | 47 | import mock |
48 | 48 |
|
49 | 49 |
|
50 | 50 | # This is to test if all metrics collector instances share same session |
51 | | -# identifier. Mocks '_shared_session_identifier' on import. |
52 | | -@mock.patch('metrics._MetricsCollector._shared_session_identifier', 'abcd') |
| 51 | +# identifier. Mocks '_session_identifier' on import. |
| 52 | +@mock.patch('metrics._MetricsCollector._session_identifier', 'abcd') |
53 | 53 | class MetricsCollectorTest(unittest.TestCase): |
54 | 54 | """Tests for MetricsCollector class.""" |
55 | 55 |
|
56 | | - def _clear_metrics_collector(self): |
57 | | - # 'metrics_collector' is a singleton. Remove any shared state before |
58 | | - # starting next test. |
59 | | - MetricsCollector()._shared_events[:] = [] |
| 56 | + def setUp(self): |
| 57 | + super(MetricsCollectorTest, self).setUp() |
| 58 | + # 'metrics_collector' has class attributes, clear them before each test. |
| 59 | + metrics._MetricsCollector()._events[:] = [] |
60 | 60 |
|
61 | 61 | @mock.patch('requests.post') |
62 | 62 | @mock.patch('time.time', return_value=1234) |
63 | 63 | def test_submit_metrics(self, unused_mock_time, mock_requests_post): |
64 | | - self._clear_metrics_collector() |
65 | | - metrics_collector = MetricsCollector() |
66 | | - |
67 | | - metrics_collector.add_metrics( |
| 64 | + metrics.add( |
68 | 65 | 123, |
69 | 66 | 'test-metrics-1', |
70 | 67 | attribute_1=1, |
71 | 68 | attribute_2='string-1', |
72 | 69 | attribute_3=True) |
73 | | - metrics_collector.add_metrics( |
| 70 | + metrics.add( |
74 | 71 | 123, |
75 | 72 | 'test-metrics-2', |
76 | 73 | attribute_1=2, |
77 | 74 | attribute_2='string-2', |
78 | 75 | attribute_3=True) |
79 | | - metrics_collector.submit_metrics() |
| 76 | + metrics._MetricsCollector().submit_metrics() |
80 | 77 |
|
81 | 78 | mock_requests_post.assert_called_with( |
82 | 79 | data=json.dumps( |
@@ -138,14 +135,13 @@ def test_submit_metrics(self, unused_mock_time, mock_requests_post): |
138 | 135 | sort_keys=True), |
139 | 136 | headers=None, |
140 | 137 | timeout=10, |
141 | | - url=CLEARCUT_ENDPOINT) |
| 138 | + url=metrics._CLEARCUT_ENDPOINT) |
142 | 139 |
|
143 | 140 | @mock.patch('requests.post') |
144 | 141 | @mock.patch('time.time', side_effect=(1234, 1235)) |
145 | 142 | def test_two_metrics_collector(self, unused_mock_time, mock_requests_post): |
146 | | - self._clear_metrics_collector() |
147 | | - first_metric_collector = MetricsCollector() |
148 | | - second_metric_collector = MetricsCollector() |
| 143 | + first_metric_collector = metrics._MetricsCollector() |
| 144 | + second_metric_collector = metrics._MetricsCollector() |
149 | 145 |
|
150 | 146 | first_metric_collector.add_metrics(123, 'test-metrics-1', attribute_1=1) |
151 | 147 | second_metric_collector.add_metrics(123, 'test-metrics-2', attribute_2=2) |
@@ -196,14 +192,14 @@ def expected_post_data(request_time_ms): |
196 | 192 | data=expected_post_data(1234000), |
197 | 193 | headers=None, |
198 | 194 | timeout=10, |
199 | | - url=CLEARCUT_ENDPOINT) |
| 195 | + url=metrics._CLEARCUT_ENDPOINT) |
200 | 196 |
|
201 | 197 | second_metric_collector.submit_metrics() |
202 | 198 | mock_requests_post.assert_called_with( |
203 | 199 | data=expected_post_data(1235000), |
204 | 200 | headers=None, |
205 | 201 | timeout=10, |
206 | | - url=CLEARCUT_ENDPOINT) |
| 202 | + url=metrics._CLEARCUT_ENDPOINT) |
207 | 203 |
|
208 | 204 |
|
209 | 205 | if __name__ == '__main__': |
|
0 commit comments