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

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: Rebase. Created 4 years, 10 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)
11 import test_utils 11 import test_utils
12 12
13 13
14 class RequestDependencyLensTestCase(unittest.TestCase): 14 class RequestDependencyLensTestCase(unittest.TestCase):
15 _REDIRECT_REQUEST = Request.FromJsonDict( 15 _REDIRECT_REQUEST = Request.FromJsonDict(
16 {'url': 'http://bla.com', 'request_id': '1234.1.redirect', 16 {'url': 'http://bla.com', 'request_id': '1234.redirect.1',
17 'initiator': {'type': 'other'}, 17 'initiator': {'type': 'other'},
18 'timestamp': 1, 'timing': TimingFromDict({})}) 18 'timestamp': 1, 'timing': TimingFromDict({})})
19 _REDIRECTED_REQUEST = Request.FromJsonDict({
20 'url': 'http://bla.com',
21 'request_id': '1234.1',
22 'frame_id': '123.1',
23 'initiator': {'type': 'redirect',
24 'initiating_request': '1234.redirect.1'},
25 'timestamp': 2,
26 'timing': TimingFromDict({})})
19 _REQUEST = Request.FromJsonDict({'url': 'http://bla.com', 27 _REQUEST = Request.FromJsonDict({'url': 'http://bla.com',
20 'request_id': '1234.1', 28 'request_id': '1234.1',
21 'frame_id': '123.1', 29 'frame_id': '123.1',
22 'initiator': {'type': 'other'}, 30 'initiator': {'type': 'other'},
23 'timestamp': 2, 31 'timestamp': 2,
24 'timing': TimingFromDict({})}) 32 'timing': TimingFromDict({})})
25 _JS_REQUEST = Request.FromJsonDict({'url': 'http://bla.com/nyancat.js', 33 _JS_REQUEST = Request.FromJsonDict({'url': 'http://bla.com/nyancat.js',
26 'request_id': '1234.12', 34 'request_id': '1234.12',
27 'frame_id': '123.1', 35 'frame_id': '123.1',
28 'initiator': {'type': 'parser', 36 'initiator': {'type': 'parser',
(...skipping 19 matching lines...) Expand all
48 'frame_id': '123.1', 56 'frame_id': '123.1',
49 'initiator': {'type': 'script', 57 'initiator': {'type': 'script',
50 'stackTrace': [{'url': 'unknown'}, 58 'stackTrace': [{'url': 'unknown'},
51 {'url': 'http://bla.com/nyancat.js'}]}, 59 {'url': 'http://bla.com/nyancat.js'}]},
52 'timestamp': 10, 'timing': TimingFromDict({})}) 60 'timestamp': 10, 'timing': TimingFromDict({})})
53 _PAGE_EVENTS = [{'method': 'Page.frameAttached', 61 _PAGE_EVENTS = [{'method': 'Page.frameAttached',
54 'frame_id': '123.13', 'parent_frame_id': '123.1'}] 62 'frame_id': '123.13', 'parent_frame_id': '123.1'}]
55 63
56 def testRedirectDependency(self): 64 def testRedirectDependency(self):
57 loading_trace = test_utils.LoadingTraceFromEvents( 65 loading_trace = test_utils.LoadingTraceFromEvents(
58 [self._REDIRECT_REQUEST, self._REQUEST]) 66 [self._REDIRECT_REQUEST, self._REDIRECTED_REQUEST])
59 request_dependencies_lens = RequestDependencyLens(loading_trace) 67 request_dependencies_lens = RequestDependencyLens(loading_trace)
60 deps = request_dependencies_lens.GetRequestDependencies() 68 deps = request_dependencies_lens.GetRequestDependencies()
61 self.assertEquals(1, len(deps)) 69 self.assertEquals(1, len(deps))
62 (first, second, reason) = deps[0] 70 (first, second, reason) = deps[0]
63 self.assertEquals('redirect', reason) 71 self.assertEquals('redirect', reason)
64 self.assertEquals(self._REDIRECT_REQUEST.request_id, first.request_id) 72 self.assertEquals(self._REDIRECT_REQUEST.request_id, first.request_id)
65 self.assertEquals(self._REQUEST.request_id, second.request_id) 73 self.assertEquals(self._REQUEST.request_id, second.request_id)
66 74
67 def testScriptDependency(self): 75 def testScriptDependency(self):
68 loading_trace = test_utils.LoadingTraceFromEvents( 76 loading_trace = test_utils.LoadingTraceFromEvents(
(...skipping 10 matching lines...) Expand all
79 [self._REQUEST, self._JS_REQUEST]) 87 [self._REQUEST, self._JS_REQUEST])
80 request_dependencies_lens = RequestDependencyLens(loading_trace) 88 request_dependencies_lens = RequestDependencyLens(loading_trace)
81 deps = request_dependencies_lens.GetRequestDependencies() 89 deps = request_dependencies_lens.GetRequestDependencies()
82 self.assertEquals(1, len(deps)) 90 self.assertEquals(1, len(deps))
83 self._AssertDependencyIs( 91 self._AssertDependencyIs(
84 deps[0], 92 deps[0],
85 self._REQUEST.request_id, self._JS_REQUEST.request_id, 'parser') 93 self._REQUEST.request_id, self._JS_REQUEST.request_id, 'parser')
86 94
87 def testSeveralDependencies(self): 95 def testSeveralDependencies(self):
88 loading_trace = test_utils.LoadingTraceFromEvents( 96 loading_trace = test_utils.LoadingTraceFromEvents(
89 [self._REDIRECT_REQUEST, self._REQUEST, self._JS_REQUEST, 97 [self._REDIRECT_REQUEST, self._REDIRECTED_REQUEST, self._JS_REQUEST,
90 self._JS_REQUEST_2]) 98 self._JS_REQUEST_2])
91 request_dependencies_lens = RequestDependencyLens(loading_trace) 99 request_dependencies_lens = RequestDependencyLens(loading_trace)
92 deps = request_dependencies_lens.GetRequestDependencies() 100 deps = request_dependencies_lens.GetRequestDependencies()
93 self.assertEquals(3, len(deps)) 101 self.assertEquals(3, len(deps))
94 self._AssertDependencyIs( 102 self._AssertDependencyIs(
95 deps[0], self._REDIRECT_REQUEST.request_id, self._REQUEST.request_id, 103 deps[0], self._REDIRECT_REQUEST.request_id, self._REQUEST.request_id,
96 'redirect') 104 'redirect')
97 self._AssertDependencyIs( 105 self._AssertDependencyIs(
98 deps[1], 106 deps[1],
99 self._REQUEST.request_id, self._JS_REQUEST.request_id, 'parser') 107 self._REQUEST.request_id, self._JS_REQUEST.request_id, 'parser')
(...skipping 29 matching lines...) Expand all
129 def _AssertDependencyIs( 137 def _AssertDependencyIs(
130 self, dep, first_request_id, second_request_id, reason): 138 self, dep, first_request_id, second_request_id, reason):
131 (first, second, dependency_reason) = dep 139 (first, second, dependency_reason) = dep
132 self.assertEquals(reason, dependency_reason) 140 self.assertEquals(reason, dependency_reason)
133 self.assertEquals(first_request_id, first.request_id) 141 self.assertEquals(first_request_id, first.request_id)
134 self.assertEquals(second_request_id, second.request_id) 142 self.assertEquals(second_request_id, second.request_id)
135 143
136 144
137 if __name__ == '__main__': 145 if __name__ == '__main__':
138 unittest.main() 146 unittest.main()
OLDNEW
« no previous file with comments | « tools/android/loading/request_dependencies_lens.py ('k') | tools/android/loading/request_track.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698