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

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

Issue 1151753003: Integration test for Chrome-Proxy: pass-through directive (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@loFiSnackbar
Patch Set: comments Created 5 years, 7 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 logging 5 import logging
6 import time 6 import time
7 7
8 from common import chrome_proxy_metrics 8 from common import chrome_proxy_metrics
9 from common import network_metrics 9 from common import network_metrics
10 from common.chrome_proxy_metrics import ChromeProxyMetricException 10 from common.chrome_proxy_metrics import ChromeProxyMetricException
(...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after
254 raise ChromeProxyMetricException, ( 254 raise ChromeProxyMetricException, (
255 'Expected at least one LoFi response, but zero such responses were ' 255 'Expected at least one LoFi response, but zero such responses were '
256 'received.') 256 'received.')
257 257
258 results.AddValue(scalar.ScalarValue( 258 results.AddValue(scalar.ScalarValue(
259 results.current_page, 'lo_fi_request', 'count', lo_fi_request_count)) 259 results.current_page, 'lo_fi_request', 'count', lo_fi_request_count))
260 results.AddValue(scalar.ScalarValue( 260 results.AddValue(scalar.ScalarValue(
261 results.current_page, 'lo_fi_response', 'count', lo_fi_response_count)) 261 results.current_page, 'lo_fi_response', 'count', lo_fi_response_count))
262 super(ChromeProxyMetric, self).AddResults(tab, results) 262 super(ChromeProxyMetric, self).AddResults(tab, results)
263 263
264 def AddResultsForPassThrough(self, tab, results):
265 compressed_count = 0
266 compressed_size = 0
267 pass_through_count = 0
268 pass_through_size = 0
269
270 for resp in self.IterResponses(tab):
271 if 'favicon.ico' in resp.response.url:
272 continue
273 if not resp.HasChromeProxyViaHeader():
274 r = resp.response
275 raise ChromeProxyMetricException, (
276 '%s: Should have Via header (%s) (refer=%s, status=%d)' % (
277 r.url, r.GetHeader('Via'), r.GetHeader('Referer'), r.status))
278 if resp.HasChromeProxyPassThroughRequest():
279 pass_through_count += 1
280 pass_through_size = resp.content_length
281 else:
282 compressed_count += 1
283 compressed_size = resp.content_length
284
285 if pass_through_count != 1:
286 raise ChromeProxyMetricException, (
287 'Expected exactly one Chrome-Proxy pass-through request, but %d '
288 'such requests were sent.' % (pass_through_count))
289
290 if compressed_count != 1:
291 raise ChromeProxyMetricException, (
292 'Expected exactly one compressed request, but %d such requests were '
293 'received.' % (compressed_count))
294
295 if compressed_size >= pass_through_size:
296 raise ChromeProxyMetricException, (
297 'Compressed image is %d bytes and pass-through image is %d. '
298 'Expecting compressed image size to be less than pass-through '
299 'image.' % (compressed_size, pass_through_size))
300
301 results.AddValue(scalar.ScalarValue(
302 results.current_page, 'compressed', 'count', compressed_count))
303 results.AddValue(scalar.ScalarValue(
304 results.current_page, 'compressed_size', 'bytes', compressed_size))
305 results.AddValue(scalar.ScalarValue(
306 results.current_page, 'pass_through', 'count', pass_through_count))
307 results.AddValue(scalar.ScalarValue(
308 results.current_page, 'pass_through_size', 'bytes', pass_through_size))
309
264 def AddResultsForBypass(self, tab, results): 310 def AddResultsForBypass(self, tab, results):
265 bypass_count = 0 311 bypass_count = 0
266 312
267 for resp in self.IterResponses(tab): 313 for resp in self.IterResponses(tab):
268 if resp.HasChromeProxyViaHeader(): 314 if resp.HasChromeProxyViaHeader():
269 r = resp.response 315 r = resp.response
270 raise ChromeProxyMetricException, ( 316 raise ChromeProxyMetricException, (
271 '%s: Should not have Via header (%s) (refer=%s, status=%d)' % ( 317 '%s: Should not have Via header (%s) (refer=%s, status=%d)' % (
272 r.url, r.GetHeader('Via'), r.GetHeader('Referer'), r.status)) 318 r.url, r.GetHeader('Via'), r.GetHeader('Referer'), r.status))
273 bypass_count += 1 319 bypass_count += 1
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after
510 via_count += 1 556 via_count += 1
511 if via_count == 0: 557 if via_count == 0:
512 raise ChromeProxyMetricException, ( 558 raise ChromeProxyMetricException, (
513 'Expected at least one response through the proxy after the bypass ' 559 'Expected at least one response through the proxy after the bypass '
514 'expired, but zero such responses were received.') 560 'expired, but zero such responses were received.')
515 561
516 results.AddValue(scalar.ScalarValue( 562 results.AddValue(scalar.ScalarValue(
517 results.current_page, 'bypass', 'count', bypass_count)) 563 results.current_page, 'bypass', 'count', bypass_count))
518 results.AddValue(scalar.ScalarValue( 564 results.AddValue(scalar.ScalarValue(
519 results.current_page, 'via', 'count', via_count)) 565 results.current_page, 'via', 'count', via_count))
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698