Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(49)

Side by Side Diff: tools/chrome_proxy/integration_tests/chrome_proxy_metrics_unittest.py

Issue 1550973002: Fix broken chrome_proxy unit tests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix lint issues Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tools/chrome_proxy/integration_tests/chrome_proxy_metrics.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import base64 5 import base64
6 import unittest 6 import unittest
7 7
8 from common import chrome_proxy_metrics as common_metrics 8 from common import chrome_proxy_metrics as common_metrics
9 from common import network_metrics_unittest as network_unittest 9 from common import network_metrics_unittest as network_unittest
10 from integration_tests import chrome_proxy_metrics as metrics 10 from integration_tests import chrome_proxy_metrics as metrics
11 from telemetry.testing import test_page_test_results 11 from telemetry.testing import test_page_test_results
12 12
13 TEST_EXTRA_VIA_HEADER = '1.1 EXTRA_VIA_HEADER' 13 TEST_EXTRA_VIA_HEADER = '1.1 EXTRA_VIA_HEADER'
14 14
15 # Timeline events used in tests. 15 # Timeline events used in tests.
16 # An HTML not via proxy. 16 # An HTML not via proxy.
17 EVENT_HTML_DIRECT = network_unittest.NetworkMetricTest.MakeNetworkTimelineEvent( 17 EVENT_HTML_DIRECT = network_unittest.NetworkMetricTest.MakeNetworkTimelineEvent(
18 url='http://test.html1', 18 url='http://test.html1',
19 response_headers={ 19 response_headers={
20 'Content-Type': 'text/html', 20 'Content-Type': 'text/html',
21 'Content-Length': str(len(network_unittest.HTML_BODY)), 21 'Content-Length': str(len(network_unittest.HTML_BODY)),
22 }, 22 },
23 body=network_unittest.HTML_BODY) 23 body=network_unittest.HTML_BODY)
24 24
25 # A BlockOnce response not via proxy.
26 EVENT_HTML_BLOCKONCE = (
27 network_unittest.NetworkMetricTest.MakeNetworkTimelineEvent(
28 url='http://check.googlezip.net/blocksingle/',
29 response_headers={
30 'Content-Type': 'text/html',
31 'Content-Length': str(len(network_unittest.HTML_BODY)),
32 },
33 body=network_unittest.HTML_BODY))
34
25 # An HTML via proxy. 35 # An HTML via proxy.
26 EVENT_HTML_PROXY_VIA = ( 36 EVENT_HTML_PROXY_VIA = (
27 network_unittest.NetworkMetricTest.MakeNetworkTimelineEvent( 37 network_unittest.NetworkMetricTest.MakeNetworkTimelineEvent(
28 url='http://test.html2', 38 url='http://test.html2',
29 response_headers={ 39 response_headers={
30 'Content-Type': 'text/html', 40 'Content-Type': 'text/html',
31 'Content-Encoding': 'gzip', 41 'Content-Encoding': 'gzip',
32 'X-Original-Content-Length': str(len(network_unittest.HTML_BODY)), 42 'X-Original-Content-Length': str(len(network_unittest.HTML_BODY)),
33 'Via': '1.1 ' + common_metrics.CHROME_PROXY_VIA_HEADER, 43 'Via': '1.1 ' + common_metrics.CHROME_PROXY_VIA_HEADER,
34 }, 44 },
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
257 metric.SetEvents([]) 267 metric.SetEvents([])
258 no_responses_exception = False 268 no_responses_exception = False
259 try: 269 try:
260 metric.AddResultsForCorsBypass(None, results) 270 metric.AddResultsForCorsBypass(None, results)
261 except common_metrics.ChromeProxyMetricException: 271 except common_metrics.ChromeProxyMetricException:
262 no_responses_exception = True 272 no_responses_exception = True
263 self.assertTrue(no_responses_exception) 273 self.assertTrue(no_responses_exception)
264 274
265 def testChromeProxyMetricForBlockOnce(self): 275 def testChromeProxyMetricForBlockOnce(self):
266 metric = metrics.ChromeProxyMetric() 276 metric = metrics.ChromeProxyMetric()
267 metric.SetEvents([EVENT_HTML_DIRECT, 277 metric.SetEvents([EVENT_HTML_BLOCKONCE,
278 EVENT_HTML_BLOCKONCE,
268 EVENT_IMAGE_PROXY_VIA]) 279 EVENT_IMAGE_PROXY_VIA])
269 results = test_page_test_results.TestPageTestResults(self) 280 results = test_page_test_results.TestPageTestResults(self)
270 metric.AddResultsForBlockOnce(None, results) 281 metric.AddResultsForBlockOnce(None, results)
271 results.AssertHasPageSpecificScalarValue('eligible_responses', 'count', 2) 282 results.AssertHasPageSpecificScalarValue('eligible_responses', 'count', 2)
272 results.AssertHasPageSpecificScalarValue('bypass', 'count', 1)
273 283
274 metric.SetEvents([EVENT_HTML_DIRECT, 284 metric.SetEvents([EVENT_HTML_BLOCKONCE,
285 EVENT_HTML_BLOCKONCE,
275 EVENT_IMAGE_DIRECT]) 286 EVENT_IMAGE_DIRECT])
276 exception_occurred = False 287 exception_occurred = False
277 try: 288 try:
278 metric.AddResultsForBlockOnce(None, results) 289 metric.AddResultsForBlockOnce(None, results)
279 except common_metrics.ChromeProxyMetricException: 290 except common_metrics.ChromeProxyMetricException:
280 exception_occurred = True 291 exception_occurred = True
281 # The second response was over direct, but was expected via proxy. 292 # The second response was over direct, but was expected via proxy.
282 self.assertTrue(exception_occurred) 293 self.assertTrue(exception_occurred)
283 294
284 # Passing in zero responses should cause a failure. 295 # Passing in zero responses should cause a failure.
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
378 389
379 # Passing in zero responses should cause a failure. 390 # Passing in zero responses should cause a failure.
380 metric.SetEvents([]) 391 metric.SetEvents([])
381 no_responses_exception = False 392 no_responses_exception = False
382 try: 393 try:
383 metric.AddResultsForHTTPToDirectFallback(None, results, 'test.html2') 394 metric.AddResultsForHTTPToDirectFallback(None, results, 'test.html2')
384 except common_metrics.ChromeProxyMetricException: 395 except common_metrics.ChromeProxyMetricException:
385 no_responses_exception = True 396 no_responses_exception = True
386 self.assertTrue(no_responses_exception) 397 self.assertTrue(no_responses_exception)
387 398
OLDNEW
« no previous file with comments | « tools/chrome_proxy/integration_tests/chrome_proxy_metrics.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698