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

Side by Side Diff: chrome/test/data/webui/net_internals/log_view_painter.js

Issue 1360253002: Log GOAWAY frame debug data. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Re: #12. Created 5 years, 2 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 | « chrome/browser/resources/net_internals/log_view_painter.js ('k') | net/http/http_log_util.h » ('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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 // Include test fixture. 5 // Include test fixture.
6 GEN_INCLUDE(['net_internals_test.js']); 6 GEN_INCLUDE(['net_internals_test.js']);
7 7
8 // Anonymous namespace 8 // Anonymous namespace
9 (function() { 9 (function() {
10 10
11 /** 11 /**
12 * Check that stripCookiesAndLoginInfo correctly removes cookies and login 12 * Check that stripPrivacyInfo correctly removes cookies and login information.
13 * information.
14 */ 13 */
15 TEST_F('NetInternalsTest', 'netInternalsLogViewPainterStripInfo', function() { 14 TEST_F('NetInternalsTest', 'netInternalsLogViewPainterStripInfo', function() {
16 // Each entry in |expectations| is a list consisting of a header element 15 // Each entry in |expectations| is a list consisting of a header element
17 // before and after applying the filter. If the second entry is null, the 16 // before and after applying the filter. If the second entry is null, the
18 // element should be unmodified. 17 // element should be unmodified.
19 var expectations = [ 18 var expectations = [
20 ['set-cookie: blah', 'set-cookie: [4 bytes were stripped]'], 19 ['set-cookie: blah', 'set-cookie: [4 bytes were stripped]'],
21 ['set-cookie2: blah', 'set-cookie2: [4 bytes were stripped]'], 20 ['set-cookie2: blah', 'set-cookie2: [4 bytes were stripped]'],
22 ['cookie: blah', 'cookie: [4 bytes were stripped]'], 21 ['cookie: blah', 'cookie: [4 bytes were stripped]'],
23 ['authorization: NTLM blah', 'authorization: NTLM [4 bytes were stripped]'], 22 ['authorization: NTLM blah', 'authorization: NTLM [4 bytes were stripped]'],
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 ], 77 ],
79 'line': 'GET / HTTP/1.1\r\n' 78 'line': 'GET / HTTP/1.1\r\n'
80 }, 79 },
81 'phase': EventPhase.PHASE_BEGIN, 80 'phase': EventPhase.PHASE_BEGIN,
82 'source': {'id': 329, 'type': EventSourceType.URL_REQUEST}, 81 'source': {'id': 329, 'type': EventSourceType.URL_REQUEST},
83 'time': '22468349', 82 'time': '22468349',
84 'type': EventSourceType.URL_REQUEST 83 'type': EventSourceType.URL_REQUEST
85 }; 84 };
86 85
87 entry.params.headers[position] = expectation[0]; 86 entry.params.headers[position] = expectation[0];
88 var stripped = stripCookiesAndLoginInfo(entry); 87 var stripped = stripPrivacyInfo(entry);
89 // The entry should be duplicated, so the original still has the deleted 88 // The entry should be duplicated, so the original still has the deleted
90 // information. 89 // information.
91 expectNotEquals(stripped, entry); 90 expectNotEquals(stripped, entry);
92 if (expectation[1] == null) { 91 if (expectation[1] == null) {
93 expectEquals(expectation[0], stripped.params.headers[position]); 92 expectEquals(expectation[0], stripped.params.headers[position]);
94 } else { 93 } else {
95 expectEquals(expectation[1], stripped.params.headers[position]); 94 expectEquals(expectation[1], stripped.params.headers[position]);
96 } 95 }
97 } 96 }
98 } 97 }
99 98
100 // Test with HTTP/2 request headers, which use an object rather than an array. 99 // Test with HTTP/2 request headers, which use an object rather than an array.
101 var spdyRequestHeadersEntry = { 100 var spdyRequestHeadersEntry = {
102 'params': { 101 'params': {
103 'headers': { 102 'headers': {
104 ':host': 'clients1.google.com', 103 ':host': 'clients1.google.com',
105 ':method': 'GET', 104 ':method': 'GET',
106 ':path': '/cute/cat/pictures/', 105 ':path': '/cute/cat/pictures/',
107 'cookie': 'blah' 106 'cookie': 'blah'
108 }, 107 },
109 'line': 'GET / HTTP/1.1\r\n' 108 'line': 'GET / HTTP/1.1\r\n'
110 }, 109 },
111 'phase': EventPhase.PHASE_BEGIN, 110 'phase': EventPhase.PHASE_BEGIN,
112 'source': {'id': 329, 'type': EventSourceType.URL_REQUEST}, 111 'source': {'id': 329, 'type': EventSourceType.URL_REQUEST},
113 'time': '22468349', 112 'time': '22468349',
114 'type': EventSourceType.HTTP_TRANSACTION_HTTP2_SEND_REQUEST_HEADERS 113 'type': EventSourceType.HTTP_TRANSACTION_HTTP2_SEND_REQUEST_HEADERS
115 }; 114 };
116 var strippedSpdyRequestHeadersEntry = 115 var strippedSpdyRequestHeadersEntry =
117 stripCookiesAndLoginInfo(spdyRequestHeadersEntry); 116 stripPrivacyInfo(spdyRequestHeadersEntry);
118 expectEquals('cookie: [4 bytes were stripped]', 117 expectEquals('cookie: [4 bytes were stripped]',
119 strippedSpdyRequestHeadersEntry.params.headers[3]); 118 strippedSpdyRequestHeadersEntry.params.headers[3]);
120 119
121 testDone(); 120 testDone();
122 }); 121 });
123 122
124 /** 123 /**
124 * Check that stripPrivacyInfo correctly removes HTTP/2 GOAWAY frame debug data.
125 */
126 TEST_F('NetInternalsTest', 'netInternalsLogViewPainterStripGoAway', function() {
127 var entry = {
128 'params': {
129 'active_streams': 1,
130 'debug_data': 'potentially privacy sensitive information',
131 'last_accepted_stream_id': 1,
132 'status': 0,
133 'unclaimed_streams': 0,
134 },
135 'phase': 0,
136 'source': {'id': 404, 'type': 5},
137 'time': '49236780',
138 'type': EventType.HTTP2_SESSION_GOAWAY,
139 };
140
141 var stripped = stripPrivacyInfo(entry);
142
143 // The entry should be duplicated, so the original still has the deleted
144 // information.
145 expectNotEquals(stripped, entry);
146 expectEquals('[41 bytes were stripped]',
147 stripped.params.debug_data);
148
149 testDone();
150 });
151
152 /**
125 * Tests the formatting of log entries to fixed width text. 153 * Tests the formatting of log entries to fixed width text.
126 */ 154 */
127 TEST_F('NetInternalsTest', 'netInternalsLogViewPainterPrintAsText', function() { 155 TEST_F('NetInternalsTest', 'netInternalsLogViewPainterPrintAsText', function() {
128 // Add a DOM node to draw the log entries into. 156 // Add a DOM node to draw the log entries into.
129 var div = addNode(document.body, 'div'); 157 var div = addNode(document.body, 'div');
130 158
131 // Helper function to run a particular "test case". This comprises an input 159 // Helper function to run a particular "test case". This comprises an input
132 // and the resulting formatted text expectation. 160 // and the resulting formatted text expectation.
133 function runTestCase(testCase) { 161 function runTestCase(testCase) {
134 div.innerHTML = ''; 162 div.innerHTML = '';
(...skipping 2032 matching lines...) Expand 10 before | Expand all | Expand 10 after
2167 2195
2168 testCase.expectedText = 2196 testCase.expectedText =
2169 't= 2 [st= 0] +REQUEST_ALIVE [dt=789+]\n' + 2197 't= 2 [st= 0] +REQUEST_ALIVE [dt=789+]\n' +
2170 't=152 [st=150] HTTP_STREAM_REQUEST [dt=1]\n' + 2198 't=152 [st=150] HTTP_STREAM_REQUEST [dt=1]\n' +
2171 't=791 [st=789]'; 2199 't=791 [st=789]';
2172 2200
2173 return testCase; 2201 return testCase;
2174 } 2202 }
2175 2203
2176 })(); // Anonymous namespace 2204 })(); // Anonymous namespace
OLDNEW
« no previous file with comments | « chrome/browser/resources/net_internals/log_view_painter.js ('k') | net/http/http_log_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698