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

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

Issue 655703002: Added integration tests for falling back from the HTTP proxy to direct. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed comments Created 6 years, 2 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
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 logging 6 import logging
7 import urlparse 7 import urlparse
8 8
9 from integration_tests import chrome_proxy_metrics as metrics 9 from integration_tests import chrome_proxy_metrics as metrics
10 from metrics import loading 10 from metrics import loading
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 253
254 def CustomizeBrowserOptions(self, options): 254 def CustomizeBrowserOptions(self, options):
255 super(ChromeProxyClientVersion, 255 super(ChromeProxyClientVersion,
256 self).CustomizeBrowserOptions(options) 256 self).CustomizeBrowserOptions(options)
257 options.AppendExtraBrowserArgs('--user-agent="Chrome/32.0.1700.99"') 257 options.AppendExtraBrowserArgs('--user-agent="Chrome/32.0.1700.99"')
258 258
259 def AddResults(self, tab, results): 259 def AddResults(self, tab, results):
260 self._metrics.AddResultsForClientVersion(tab, results) 260 self._metrics.AddResultsForClientVersion(tab, results)
261 261
262 262
263 class ChromeProxyHTTPToDirectFallback(ChromeProxyValidation):
264 """Correctness measurement for HTTP proxy fallback to direct."""
265
266 def __init__(self):
267 super(ChromeProxyHTTPToDirectFallback, self).__init__(
268 restart_after_each_page=True)
269
270 def WillNavigateToPage(self, page, tab):
271 super(ChromeProxyHTTPToDirectFallback, self).WillNavigateToPage(page, tab)
272 # In order to have this test run starting from the HTTP fallback proxy,
273 # the startup URL is set such that it will trigger a proxy fallback.
274 # Verify that this is true before beginning the test proper.
275 proxies = [
276 self._metrics.effective_proxies['proxy'],
277 self._metrics.effective_proxies['fallback'],
278 self._metrics.effective_proxies['direct']]
279 bad_proxies = [self._metrics.effective_proxies['proxy']]
280 self._metrics.VerifyProxyInfo(tab, proxies, bad_proxies)
281
282 def AddResults(self, tab, results):
283 self._metrics.AddResultsForHTTPToDirectFallback(tab, results)
284
285
263 class ChromeProxySmoke(ChromeProxyValidation): 286 class ChromeProxySmoke(ChromeProxyValidation):
264 """Smoke measurement for basic chrome proxy correctness.""" 287 """Smoke measurement for basic chrome proxy correctness."""
265 288
266 def __init__(self): 289 def __init__(self):
267 super(ChromeProxySmoke, self).__init__() 290 super(ChromeProxySmoke, self).__init__()
268 291
269 def WillNavigateToPage(self, page, tab): 292 def WillNavigateToPage(self, page, tab):
270 super(ChromeProxySmoke, self).WillNavigateToPage(page, tab) 293 super(ChromeProxySmoke, self).WillNavigateToPage(page, tab)
271 if page.name == 'safebrowsing': 294 if page.name == 'safebrowsing':
272 self._expect_timeout = True 295 self._expect_timeout = True
(...skipping 16 matching lines...) Expand all
289 ], 312 ],
290 'bypass': [self._metrics.AddResultsForBypass], 313 'bypass': [self._metrics.AddResultsForBypass],
291 'safebrowsing': [self._metrics.AddResultsForSafebrowsing], 314 'safebrowsing': [self._metrics.AddResultsForSafebrowsing],
292 } 315 }
293 if not self._page.name in page_to_metrics: 316 if not self._page.name in page_to_metrics:
294 raise page_test.MeasurementFailure( 317 raise page_test.MeasurementFailure(
295 'Invalid page name (%s) in smoke. Page name must be one of:\n%s' % ( 318 'Invalid page name (%s) in smoke. Page name must be one of:\n%s' % (
296 self._page.name, page_to_metrics.keys())) 319 self._page.name, page_to_metrics.keys()))
297 for add_result in page_to_metrics[self._page.name]: 320 for add_result in page_to_metrics[self._page.name]:
298 add_result(tab, results) 321 add_result(tab, results)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698