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

Side by Side Diff: tools/chrome_proxy/common/inspector_network_unittest.py

Issue 1550973002: Fix broken chrome_proxy unit tests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix lint issues Created 4 years, 11 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
« no previous file with comments | « tools/chrome_proxy/OWNERS ('k') | tools/chrome_proxy/integration_tests/chrome_proxy_metrics.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 from common import inspector_network 5 from common import inspector_network
6 from common import network_metrics 6 from common import network_metrics
7 from telemetry import decorators 7 from telemetry import decorators
8 from telemetry.testing import tab_test_case 8 from telemetry.testing import tab_test_case
9 9
10 10
11 class InspectorNetworkTabTest(tab_test_case.TabTestCase): 11 class InspectorNetworkTabTest(tab_test_case.TabTestCase):
12 class TestCase(object): 12 class TestCase(object):
13 def __init__(self, responses_count=0, 13 def __init__(self, responses_count=0,
14 subresources=None): 14 subresources=None):
15 # Number of responses expected for this case. 15 # Number of responses expected for this case.
16 self.responses_count = responses_count 16 self.responses_count = responses_count
17 # List of subresource links for this case. 17 # List of subresource links for this case.
18 self.subresources = subresources 18 self.subresources = subresources
19 19
20 def __init__(self, *args): 20 def __init__(self, *args):
21 super(InspectorNetworkTabTest, self).__init__(*args) 21 super(InspectorNetworkTabTest, self).__init__(*args)
22 22
23 def _FilterFaviconEvents(self, events):
24 for event in events:
25 if 'favicon.ico' in event.args['response']['url']:
26 events.remove(event)
27 return events
28
23 def _NavigateAndGetHTTPResponseEvents(self, page): 29 def _NavigateAndGetHTTPResponseEvents(self, page):
24 network = inspector_network.InspectorNetwork( 30 network = inspector_network.InspectorNetwork(
25 self._tab._inspector_backend._websocket) 31 self._tab._inspector_backend._websocket)
26 network.timeline_recorder.Start() 32 network.timeline_recorder.Start()
27 self.Navigate(page) 33 self.Navigate(page)
28 timeline_model = network.timeline_recorder.Stop() 34 timeline_model = network.timeline_recorder.Stop()
29 self.assertTrue(timeline_model) 35 self.assertTrue(timeline_model)
30 return timeline_model.GetAllEventsOfName('HTTPResponse') 36 return timeline_model.GetAllEventsOfName('HTTPResponse')
31 37
32 # crbug.com/449979, crbug.com/452279, crbug.com/455269, crbug.com/483212
33 @decorators.Disabled('mac', 'android', 'win', 'linux', 'chromeos')
34 def testHTTPResponseTimelineRecorder(self): 38 def testHTTPResponseTimelineRecorder(self):
35 tests = { 39 tests = {
36 'blank.html': InspectorNetworkTabTest.TestCase(responses_count=1), 40 'blank.html': InspectorNetworkTabTest.TestCase(responses_count=1),
37 'green_rect.html': InspectorNetworkTabTest.TestCase(responses_count=1), 41 'green_rect.html': InspectorNetworkTabTest.TestCase(responses_count=1),
38 'image_decoding.html': InspectorNetworkTabTest.TestCase( 42 'image_decoding.html': InspectorNetworkTabTest.TestCase(
39 responses_count=2, subresources=['image.png']), 43 responses_count=2, subresources=['image.png']),
40 } 44 }
41 for page, test in tests.iteritems(): 45 for page, test in tests.iteritems():
42 events = self._NavigateAndGetHTTPResponseEvents(page) 46 events = self._FilterFaviconEvents(
47 self._NavigateAndGetHTTPResponseEvents(page))
43 self.assertEqual(test.responses_count, len(events)) 48 self.assertEqual(test.responses_count, len(events))
44 49
45 # Verify required event fields 50 # Verify required event fields
46 for event in events: 51 for event in events:
47 self.assertEqual('HTTPResponse', event.name) 52 self.assertEqual('HTTPResponse', event.name)
48 resp = inspector_network.InspectorNetworkResponseData.FromTimelineEvent( 53 resp = inspector_network.InspectorNetworkResponseData.FromTimelineEvent(
49 event) 54 event)
50 self.assertLess(0.0, resp.timestamp) 55 self.assertLess(0.0, resp.timestamp)
51 56
52 self.assertTrue(resp.headers) 57 self.assertTrue(resp.headers)
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 events = self._NavigateAndGetHTTPResponseEvents('image_decoding.html') 89 events = self._NavigateAndGetHTTPResponseEvents('image_decoding.html')
85 images_second = [] 90 images_second = []
86 for event in events: 91 for event in events:
87 resp = inspector_network.InspectorNetworkResponseData.FromTimelineEvent( 92 resp = inspector_network.InspectorNetworkResponseData.FromTimelineEvent(
88 event) 93 event)
89 if resp.GetHeader('Content-Type') == 'image/png': 94 if resp.GetHeader('Content-Type') == 'image/png':
90 images_second.append(resp) 95 images_second.append(resp)
91 self.assertEqual(1, len(images_second)) 96 self.assertEqual(1, len(images_second))
92 # On the second fetch, the image is served from cache. 97 # On the second fetch, the image is served from cache.
93 self.assertTrue(images_second[0].served_from_cache) 98 self.assertTrue(images_second[0].served_from_cache)
OLDNEW
« no previous file with comments | « tools/chrome_proxy/OWNERS ('k') | tools/chrome_proxy/integration_tests/chrome_proxy_metrics.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698