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

Side by Side Diff: tools/android/loading/request_dependencies_lens_unittest.py

Issue 1633813005: tools/android/loading: Add support for multiple redirects. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . 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
OLDNEW
1 # Copyright 2016 The Chromium Authors. All rights reserved. 1 # Copyright 2016 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 unittest 5 import unittest
6 6
7 import devtools_monitor 7 import devtools_monitor
8 from loading_trace import LoadingTrace 8 from loading_trace import LoadingTrace
9 from request_dependencies_lens import RequestDependencyLens 9 from request_dependencies_lens import RequestDependencyLens
10 from request_track import (Request, TimingFromDict) 10 from request_track import (Request, TimingFromDict)
(...skipping 19 matching lines...) Expand all
30 30
31 def _RewriteEvent(self, event): 31 def _RewriteEvent(self, event):
32 # This modifies the instance used across tests, so this method 32 # This modifies the instance used across tests, so this method
33 # must be idempotent. 33 # must be idempotent.
34 event.timing = event.timing._replace(request_time=event.timestamp) 34 event.timing = event.timing._replace(request_time=event.timestamp)
35 return event 35 return event
36 36
37 37
38 class RequestDependencyLensTestCase(unittest.TestCase): 38 class RequestDependencyLensTestCase(unittest.TestCase):
39 _REDIRECT_REQUEST = Request.FromJsonDict( 39 _REDIRECT_REQUEST = Request.FromJsonDict(
40 {'url': 'http://bla.com', 'request_id': '1234.1.redirect', 40 {'url': 'http://bla.com', 'request_id': '1234.redirect.1',
41 'initiator': {'type': 'other'}, 41 'initiator': {'type': 'other'},
42 'timestamp': 1, 'timing': TimingFromDict({})}) 42 'timestamp': 1, 'timing': TimingFromDict({})})
43 _REDIRECTED_REQUEST = Request.FromJsonDict({
44 'url': 'http://bla.com',
45 'request_id': '1234.1',
46 'frame_id': '123.1',
47 'initiator': {'type': 'redirect',
48 'initiating_request': '1234.redirect.1'},
49 'timestamp': 2,
50 'timing': TimingFromDict({})})
43 _REQUEST = Request.FromJsonDict({'url': 'http://bla.com', 51 _REQUEST = Request.FromJsonDict({'url': 'http://bla.com',
44 'request_id': '1234.1', 52 'request_id': '1234.1',
45 'frame_id': '123.1', 53 'frame_id': '123.1',
46 'initiator': {'type': 'other'}, 54 'initiator': {'type': 'other'},
47 'timestamp': 2, 55 'timestamp': 2,
48 'timing': TimingFromDict({})}) 56 'timing': TimingFromDict({})})
49 _JS_REQUEST = Request.FromJsonDict({'url': 'http://bla.com/nyancat.js', 57 _JS_REQUEST = Request.FromJsonDict({'url': 'http://bla.com/nyancat.js',
50 'request_id': '1234.12', 58 'request_id': '1234.12',
51 'frame_id': '123.1', 59 'frame_id': '123.1',
52 'initiator': {'type': 'parser', 60 'initiator': {'type': 'parser',
(...skipping 19 matching lines...) Expand all
72 'frame_id': '123.1', 80 'frame_id': '123.1',
73 'initiator': {'type': 'script', 81 'initiator': {'type': 'script',
74 'stackTrace': [{'url': 'unknown'}, 82 'stackTrace': [{'url': 'unknown'},
75 {'url': 'http://bla.com/nyancat.js'}]}, 83 {'url': 'http://bla.com/nyancat.js'}]},
76 'timestamp': 10, 'timing': TimingFromDict({})}) 84 'timestamp': 10, 'timing': TimingFromDict({})})
77 _PAGE_TRACK = FakeTrack( 85 _PAGE_TRACK = FakeTrack(
78 [{'method': 'Page.frameAttached', 86 [{'method': 'Page.frameAttached',
79 'frame_id': '123.13', 'parent_frame_id': '123.1'}]) 87 'frame_id': '123.13', 'parent_frame_id': '123.1'}])
80 88
81 def testRedirectDependency(self): 89 def testRedirectDependency(self):
82 request_track = FakeRequestTrack([self._REDIRECT_REQUEST, self._REQUEST]) 90 request_track = FakeRequestTrack([
91 self._REDIRECT_REQUEST, self._REDIRECTED_REQUEST])
83 loading_trace = LoadingTrace(None, None, PageTrack(None), 92 loading_trace = LoadingTrace(None, None, PageTrack(None),
84 request_track, None) 93 request_track, None)
85 request_dependencies_lens = RequestDependencyLens(loading_trace) 94 request_dependencies_lens = RequestDependencyLens(loading_trace)
86 deps = request_dependencies_lens.GetRequestDependencies() 95 deps = request_dependencies_lens.GetRequestDependencies()
87 self.assertEquals(1, len(deps)) 96 self.assertEquals(1, len(deps))
88 (first, second, reason) = deps[0] 97 (first, second, reason) = deps[0]
89 self.assertEquals('redirect', reason) 98 self.assertEquals('redirect', reason)
90 self.assertEquals(self._REDIRECT_REQUEST.request_id, first.request_id) 99 self.assertEquals(self._REDIRECT_REQUEST.request_id, first.request_id)
91 self.assertEquals(self._REQUEST.request_id, second.request_id) 100 self.assertEquals(self._REQUEST.request_id, second.request_id)
92 101
(...skipping 14 matching lines...) Expand all
107 request_track, None) 116 request_track, None)
108 request_dependencies_lens = RequestDependencyLens(loading_trace) 117 request_dependencies_lens = RequestDependencyLens(loading_trace)
109 deps = request_dependencies_lens.GetRequestDependencies() 118 deps = request_dependencies_lens.GetRequestDependencies()
110 self.assertEquals(1, len(deps)) 119 self.assertEquals(1, len(deps))
111 self._AssertDependencyIs( 120 self._AssertDependencyIs(
112 deps[0], 121 deps[0],
113 self._REQUEST.request_id, self._JS_REQUEST.request_id, 'parser') 122 self._REQUEST.request_id, self._JS_REQUEST.request_id, 'parser')
114 123
115 def testSeveralDependencies(self): 124 def testSeveralDependencies(self):
116 request_track = FakeRequestTrack( 125 request_track = FakeRequestTrack(
117 [self._REDIRECT_REQUEST, self._REQUEST, self._JS_REQUEST, 126 [self._REDIRECT_REQUEST, self._REDIRECTED_REQUEST, self._JS_REQUEST,
118 self._JS_REQUEST_2]) 127 self._JS_REQUEST_2])
119 loading_trace = LoadingTrace(None, None, PageTrack(None), 128 loading_trace = LoadingTrace(None, None, PageTrack(None),
120 request_track, None) 129 request_track, None)
121 request_dependencies_lens = RequestDependencyLens(loading_trace) 130 request_dependencies_lens = RequestDependencyLens(loading_trace)
122 deps = request_dependencies_lens.GetRequestDependencies() 131 deps = request_dependencies_lens.GetRequestDependencies()
123 self.assertEquals(3, len(deps)) 132 self.assertEquals(3, len(deps))
124 self._AssertDependencyIs( 133 self._AssertDependencyIs(
125 deps[0], self._REDIRECT_REQUEST.request_id, self._REQUEST.request_id, 134 deps[0], self._REDIRECT_REQUEST.request_id, self._REQUEST.request_id,
126 'redirect') 135 'redirect')
127 self._AssertDependencyIs( 136 self._AssertDependencyIs(
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
163 def _AssertDependencyIs( 172 def _AssertDependencyIs(
164 self, dep, first_request_id, second_request_id, reason): 173 self, dep, first_request_id, second_request_id, reason):
165 (first, second, dependency_reason) = dep 174 (first, second, dependency_reason) = dep
166 self.assertEquals(reason, dependency_reason) 175 self.assertEquals(reason, dependency_reason)
167 self.assertEquals(first_request_id, first.request_id) 176 self.assertEquals(first_request_id, first.request_id)
168 self.assertEquals(second_request_id, second.request_id) 177 self.assertEquals(second_request_id, second.request_id)
169 178
170 179
171 if __name__ == '__main__': 180 if __name__ == '__main__':
172 unittest.main() 181 unittest.main()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698