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

Unified 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: rebase 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 side-by-side diff with in-line comments
Download patch
Index: tools/chrome_proxy/integration_tests/chrome_proxy_metrics.py
diff --git a/tools/chrome_proxy/integration_tests/chrome_proxy_metrics.py b/tools/chrome_proxy/integration_tests/chrome_proxy_metrics.py
index 0243de9ae61d2dfe496def3d2e4681145ea4fd74..11c39bb438a90f62c94e37d16e88f5c982ea1df4 100644
--- a/tools/chrome_proxy/integration_tests/chrome_proxy_metrics.py
+++ b/tools/chrome_proxy/integration_tests/chrome_proxy_metrics.py
@@ -262,6 +262,52 @@ class ChromeProxyMetric(network_metrics.NetworkMetric):
results.current_page, 'lo_fi_response', 'count', lo_fi_response_count))
super(ChromeProxyMetric, self).AddResults(tab, results)
+ def AddResultsForPassThrough(self, tab, results):
+ compressed_count = 0
+ compressed_size = 0
+ pass_through_count = 0
+ pass_through_size = 0
+
+ for resp in self.IterResponses(tab):
+ if 'favicon.ico' in resp.response.url:
+ continue
+ if not resp.HasChromeProxyViaHeader():
+ r = resp.response
+ raise ChromeProxyMetricException, (
+ '%s: Should have Via header (%s) (refer=%s, status=%d)' % (
+ r.url, r.GetHeader('Via'), r.GetHeader('Referer'), r.status))
+ if resp.HasChromeProxyPassThroughRequest():
+ pass_through_count += 1
+ pass_through_size = resp.content_length
+ else:
+ compressed_count += 1
+ compressed_size = resp.content_length
+
+ if pass_through_count != 1:
+ raise ChromeProxyMetricException, (
+ 'Expected exactly one Chrome-Proxy pass-through request, but %d '
+ 'such requests were sent.' % (pass_through_count))
+
+ if compressed_count != 1:
+ raise ChromeProxyMetricException, (
+ 'Expected exactly one compressed request, but %d such requests were '
+ 'received.' % (compressed_count))
+
+ if compressed_size >= pass_through_size:
+ raise ChromeProxyMetricException, (
+ 'Compressed image is %d bytes and pass-through image is %d. '
+ 'Expecting compressed image size to be less than pass-through '
+ 'image.' % (compressed_size, pass_through_size))
+
+ results.AddValue(scalar.ScalarValue(
+ results.current_page, 'compressed', 'count', compressed_count))
+ results.AddValue(scalar.ScalarValue(
+ results.current_page, 'compressed_size', 'bytes', compressed_size))
+ results.AddValue(scalar.ScalarValue(
+ results.current_page, 'pass_through', 'count', pass_through_count))
+ results.AddValue(scalar.ScalarValue(
+ results.current_page, 'pass_through_size', 'bytes', pass_through_size))
+
def AddResultsForBypass(self, tab, results, url_pattern=""):
bypass_count = 0
skipped_count = 0

Powered by Google App Engine
This is Rietveld 408576698