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

Unified Diff: tools/perf/metrics/network_unittest.py

Issue 397483002: Move chrome_proxy tests from under tools/perf to tools/chrome_proxy/integration_tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: addressed comments and sync'ed Created 6 years, 5 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
« no previous file with comments | « tools/perf/metrics/network.py ('k') | tools/perf/page_sets/chrome_proxy/OWNERS » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/perf/metrics/network_unittest.py
diff --git a/tools/perf/metrics/network_unittest.py b/tools/perf/metrics/network_unittest.py
deleted file mode 100644
index 5ae9974e5c477316f0a3857422912a2c0e2bf563..0000000000000000000000000000000000000000
--- a/tools/perf/metrics/network_unittest.py
+++ /dev/null
@@ -1,174 +0,0 @@
-# Copyright 2014 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import base64
-import unittest
-
-from metrics import test_page_measurement_results
-from metrics import network
-from telemetry.timeline import event
-
-
-HTML_BODY = """<!DOCTYPE HTML>
- <html>
- <head> </head>
- <body>
- <div id="test"> TEST HTML</div>
- </body>
- </html>"""
-IMAGE_BODY = """fake image data"""
-GZIPPED_HTML_LEN = network.HTTPResponse.GetGizppedBodyLength(HTML_BODY)
-# Make up original content length for the image.
-IMAGE_OCL = 3 * len(IMAGE_BODY)
-
-
-class NetworkMetricTest(unittest.TestCase):
- @staticmethod
- def MakeNetworkTimelineEvent(
- url, response_headers, body=None, base64_encoded_body=False,
- served_from_cache=False, request_headers=None, status=200):
- if not request_headers:
- request_headers = {}
- e = event.TimelineEvent('network', 'HTTPResponse', 0, 0)
- e.args = {}
- e.args['requestId'] = 0
- e.args['response'] = {
- 'status': status,
- 'url': url,
- 'headers': response_headers,
- 'requestHeaders': request_headers,
- }
- e.args['body'] = body
- e.args['base64_encoded_body'] = base64_encoded_body
- e.args['served_from_cache'] = served_from_cache
- return e
-
- def testHTTPResponse(self):
- url = 'http://test.url'
- self.assertLess(GZIPPED_HTML_LEN, len(HTML_BODY))
-
- # A plain text HTML response
- resp = network.HTTPResponse(self.MakeNetworkTimelineEvent(
- url=url,
- response_headers={
- 'Content-Type': 'text/html',
- 'Content-Length': str(len(HTML_BODY)),
- },
- body=HTML_BODY))
- self.assertEqual(url, resp.response.url)
- body, base64_encoded = resp.response.GetBody()
- self.assertEqual(HTML_BODY, body)
- self.assertFalse(base64_encoded)
- self.assertEqual('text/html', resp.response.GetHeader('Content-Type'))
-
- self.assertEqual(len(HTML_BODY), resp.content_length)
- self.assertEqual(None, resp.response.GetHeader('Content-Encoding'))
- self.assertFalse(resp.has_original_content_length)
- self.assertEqual(0.0, resp.data_saving_rate)
-
- # A gzipped HTML response
- resp = network.HTTPResponse(self.MakeNetworkTimelineEvent(
- url=url,
- response_headers={
- 'Content-Type': 'text/html',
- 'Content-Encoding': 'gzip',
- 'X-Original-Content-Length': str(len(HTML_BODY)),
- },
- body=HTML_BODY))
- body, base64_encoded = resp.response.GetBody()
- self.assertFalse(base64_encoded)
- self.assertEqual(GZIPPED_HTML_LEN, resp.content_length)
- self.assertEqual('gzip', resp.response.GetHeader('Content-Encoding'))
- self.assertTrue(resp.has_original_content_length)
- self.assertEqual(len(HTML_BODY), resp.original_content_length)
- self.assertEqual(
- float(len(HTML_BODY) - GZIPPED_HTML_LEN) / len(HTML_BODY),
- resp.data_saving_rate)
-
- # A JPEG image response.
- resp = network.HTTPResponse(self.MakeNetworkTimelineEvent(
- url='http://test.image',
- response_headers={
- 'Content-Type': 'image/jpeg',
- 'Content-Encoding': 'gzip',
- 'X-Original-Content-Length': str(IMAGE_OCL),
- },
- body=base64.b64encode(IMAGE_BODY),
- base64_encoded_body=True))
- body, base64_encoded = resp.response.GetBody()
- self.assertTrue(base64_encoded)
- self.assertEqual(IMAGE_BODY, base64.b64decode(body))
- self.assertEqual(len(IMAGE_BODY), resp.content_length)
- self.assertTrue(resp.has_original_content_length)
- self.assertEqual(IMAGE_OCL, resp.original_content_length)
- self.assertFalse(resp.response.served_from_cache)
- self.assertEqual(float(IMAGE_OCL - len(IMAGE_BODY)) / IMAGE_OCL,
- resp.data_saving_rate)
-
- # A JPEG image response from cache.
- resp = network.HTTPResponse(self.MakeNetworkTimelineEvent(
- url='http://test.image',
- response_headers={
- 'Content-Type': 'image/jpeg',
- 'Content-Encoding': 'gzip',
- 'X-Original-Content-Length': str(IMAGE_OCL),
- },
- body=base64.b64encode(IMAGE_BODY),
- base64_encoded_body=True,
- served_from_cache=True))
- self.assertEqual(len(IMAGE_BODY), resp.content_length)
- self.assertTrue(resp.has_original_content_length)
- self.assertEqual(IMAGE_OCL, resp.original_content_length)
- # Cached resource has zero saving.
- self.assertTrue(resp.response.served_from_cache)
- self.assertEqual(0.0, resp.data_saving_rate)
-
- def testNetworkMetricResults(self):
- events = [
- # A plain text HTML.
- self.MakeNetworkTimelineEvent(
- url='http://test.html1',
- response_headers={
- 'Content-Type': 'text/html',
- 'Content-Length': str(len(HTML_BODY)),
- },
- body=HTML_BODY),
- # A compressed HTML.
- self.MakeNetworkTimelineEvent(
- url='http://test.html2',
- response_headers={
- 'Content-Type': 'text/html',
- 'Content-Encoding': 'gzip',
- 'X-Original-Content-Length': str(len(HTML_BODY)),
- },
- body=HTML_BODY),
- # A base64 encoded image.
- self.MakeNetworkTimelineEvent(
- url='http://test.image',
- response_headers={
- 'Content-Type': 'image/jpeg',
- 'Content-Encoding': 'gzip',
- 'X-Original-Content-Length': str(IMAGE_OCL),
- },
- body=base64.b64encode(IMAGE_BODY),
- base64_encoded_body=True),
- ]
- metric = network.NetworkMetric()
- metric._events = events
- metric.compute_data_saving = True
-
- self.assertTrue(len(events), len(list(metric.IterResponses(None))))
- results = test_page_measurement_results.TestPageMeasurementResults(self)
- metric.AddResults(None, results)
-
- cl = len(HTML_BODY) + GZIPPED_HTML_LEN + len(IMAGE_BODY)
- results.AssertHasPageSpecificScalarValue('content_length', 'bytes', cl)
-
- ocl = len(HTML_BODY) + len(HTML_BODY) + IMAGE_OCL
- results.AssertHasPageSpecificScalarValue(
- 'original_content_length', 'bytes', ocl)
-
- saving_percent = float(ocl - cl) * 100/ ocl
- results.AssertHasPageSpecificScalarValue(
- 'data_saving', 'percent', saving_percent)
« no previous file with comments | « tools/perf/metrics/network.py ('k') | tools/perf/page_sets/chrome_proxy/OWNERS » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698