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

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: 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 not resp.HasChromeProxyViaHeader():
272 r = resp.response
273 raise ChromeProxyMetricException, (
274 '%s: Should have Via header (%s) (refer=%s, status=%d)' % (
275 r.url, r.GetHeader('Via'), r.GetHeader('Referer'), r.status))
276 if resp.HasChromeProxyPassThroughRequest():
277 pass_through_count += 1
278 pass_through_size = resp.content_length
279 else:
280 compressed_count += 1
281 compressed_size = resp.content_length
282
283 if pass_through_count != 1:
284 raise ChromeProxyMetricException, (
285 'Expected exactly one Chrome-Proxy pass-through request, but %d '
286 'such requests were sent.' % (pass_through_count))
287
288 if compressed_count != 1:
289 raise ChromeProxyMetricException, (
290 'Expected exactly one compressed request, but %d such requests were '
291 'received.' % (compressed_count))
292
293 if compressed_size >= pass_through_size:
294 raise ChromeProxyMetricException, (
295 'Compressed image is %d bytes and pass-through image is %d. '
296 'Expecting compressed image size to be less than pass-through '
297 'image.' % (compressed_size, pass_through_size))
298
299 results.AddValue(scalar.ScalarValue(
300 results.current_page, 'compressed', 'count', compressed_count))
301 results.AddValue(scalar.ScalarValue(
302 results.current_page, 'compressed_size', 'bytes', compressed_size))
303 results.AddValue(scalar.ScalarValue(
304 results.current_page, 'pass_through', 'count', pass_through_count))
305 results.AddValue(scalar.ScalarValue(
306 results.current_page, 'pass_through_size', 'bytes', pass_through_size))
307
264 def AddResultsForBypass(self, tab, results): 308 def AddResultsForBypass(self, tab, results):
265 bypass_count = 0 309 bypass_count = 0
266 310
267 for resp in self.IterResponses(tab): 311 for resp in self.IterResponses(tab):
268 if resp.HasChromeProxyViaHeader(): 312 if resp.HasChromeProxyViaHeader():
269 r = resp.response 313 r = resp.response
270 raise ChromeProxyMetricException, ( 314 raise ChromeProxyMetricException, (
271 '%s: Should not have Via header (%s) (refer=%s, status=%d)' % ( 315 '%s: Should not have Via header (%s) (refer=%s, status=%d)' % (
272 r.url, r.GetHeader('Via'), r.GetHeader('Referer'), r.status)) 316 r.url, r.GetHeader('Via'), r.GetHeader('Referer'), r.status))
273 bypass_count += 1 317 bypass_count += 1
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after
510 via_count += 1 554 via_count += 1
511 if via_count == 0: 555 if via_count == 0:
512 raise ChromeProxyMetricException, ( 556 raise ChromeProxyMetricException, (
513 'Expected at least one response through the proxy after the bypass ' 557 'Expected at least one response through the proxy after the bypass '
514 'expired, but zero such responses were received.') 558 'expired, but zero such responses were received.')
515 559
516 results.AddValue(scalar.ScalarValue( 560 results.AddValue(scalar.ScalarValue(
517 results.current_page, 'bypass', 'count', bypass_count)) 561 results.current_page, 'bypass', 'count', bypass_count))
518 results.AddValue(scalar.ScalarValue( 562 results.AddValue(scalar.ScalarValue(
519 results.current_page, 'via', 'count', via_count)) 563 results.current_page, 'via', 'count', via_count))
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698