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

Side by Side Diff: net/url_request/url_request_http_job_unittest.cc

Issue 2167853003: [DevTools] Always report encodedDataLength in Network.ResponseReceived. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Quic Tests Created 4 years, 3 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 (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 "net/url_request/url_request_http_job.h" 5 #include "net/url_request/url_request_http_job.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <cstddef> 9 #include <cstddef>
10 #include <memory> 10 #include <memory>
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after
260 request->GetTotalSentBytes()); 260 request->GetTotalSentBytes());
261 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), 261 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)),
262 request->GetTotalReceivedBytes()); 262 request->GetTotalReceivedBytes());
263 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), 263 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)),
264 network_delegate_.total_network_bytes_sent()); 264 network_delegate_.total_network_bytes_sent());
265 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), 265 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)),
266 network_delegate_.total_network_bytes_received()); 266 network_delegate_.total_network_bytes_received());
267 } 267 }
268 268
269 TEST_F(URLRequestHttpJobWithMockSocketsTest, 269 TEST_F(URLRequestHttpJobWithMockSocketsTest,
270 TestRawHeaderSizeSuccessfullRequest) {
271 MockWrite writes[] = {MockWrite(kSimpleGetMockWrite)};
272 MockRead reads[] = {MockRead("HTTP/1.1 200 OK\r\n"
273 "Content-Length: 12\r\n\r\n"),
274 MockRead("Test Content"),
275 MockRead(net::SYNCHRONOUS, net::OK)};
276
277 StaticSocketDataProvider socket_data(reads, arraysize(reads), writes,
278 arraysize(writes));
279 socket_factory_.AddSocketDataProvider(&socket_data);
280
281 TestDelegate delegate;
282 std::unique_ptr<URLRequest> request = context_->CreateRequest(
283 GURL("http://www.example.com"), DEFAULT_PRIORITY, &delegate);
284
285 request->Start();
286 ASSERT_TRUE(request->is_pending());
287 base::RunLoop().Run();
288
289 EXPECT_TRUE(request->status().is_success());
290 EXPECT_EQ(12, request->received_response_content_length());
291 EXPECT_EQ(39, request->raw_header_size());
292 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)),
293 request->GetTotalReceivedBytes());
294 }
295
296 TEST_F(URLRequestHttpJobWithMockSocketsTest,
297 TestRawHeaderSizeSuccessfull100ContinueRequest) {
298 MockWrite writes[] = {MockWrite(kSimpleGetMockWrite)};
299 MockRead reads[] = {MockRead("HTTP/1.1 100 Continue\r\n\r\n"),
300 MockRead("HTTP/1.1 200 OK\r\n"
301 "Content-Length: 12\r\n\r\n"),
302 MockRead("Test Content"),
303 MockRead(net::SYNCHRONOUS, net::OK)};
304
305 StaticSocketDataProvider socket_data(reads, arraysize(reads), writes,
306 arraysize(writes));
307 socket_factory_.AddSocketDataProvider(&socket_data);
308
309 TestDelegate delegate;
310 std::unique_ptr<URLRequest> request = context_->CreateRequest(
311 GURL("http://www.example.com"), DEFAULT_PRIORITY, &delegate);
312
313 request->Start();
314 ASSERT_TRUE(request->is_pending());
315 base::RunLoop().Run();
316
317 EXPECT_TRUE(request->status().is_success());
318 EXPECT_EQ(12, request->received_response_content_length());
319 EXPECT_EQ(64, request->raw_header_size());
320 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)),
321 request->GetTotalReceivedBytes());
322 }
323
324 TEST_F(URLRequestHttpJobWithMockSocketsTest,
325 TestRawHeaderSizeFailureTruncatedHeaders) {
326 MockWrite writes[] = {MockWrite(kSimpleGetMockWrite)};
327 MockRead reads[] = {MockRead("HTTP/1.0 200 OK\r\n"
328 "Content-Len"),
329 MockRead(net::SYNCHRONOUS, net::OK)};
330
331 StaticSocketDataProvider socket_data(reads, arraysize(reads), writes,
332 arraysize(writes));
333 socket_factory_.AddSocketDataProvider(&socket_data);
334
335 TestDelegate delegate;
336 std::unique_ptr<URLRequest> request = context_->CreateRequest(
337 GURL("http://www.example.com"), DEFAULT_PRIORITY, &delegate);
338
339 delegate.set_cancel_in_response_started(true);
340 request->Start();
341 base::RunLoop().RunUntilIdle();
342
343 EXPECT_FALSE(request->status().is_success());
mmenke 2016/09/06 18:55:00 Should expect on the error here, too (We're workin
allada 2016/09/07 06:01:12 Done.
344 EXPECT_EQ(0, request->received_response_content_length());
345 EXPECT_EQ(28, request->raw_header_size());
346 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)),
347 request->GetTotalReceivedBytes());
348 }
349
350 TEST_F(URLRequestHttpJobWithMockSocketsTest,
351 TestRawHeaderSizeSuccessfullContinuiousRead) {
352 MockWrite writes[] = {MockWrite(kSimpleGetMockWrite)};
353 MockRead reads[] = {
354 MockRead("HTTP/1.1 200 OK\r\n"
355 "Content-Length: 12\r\n\r\n"
356 "Test Content")};
357
358 StaticSocketDataProvider socket_data(reads, arraysize(reads), writes,
359 arraysize(writes));
360 socket_factory_.AddSocketDataProvider(&socket_data);
361
362 TestDelegate delegate;
363 std::unique_ptr<URLRequest> request = context_->CreateRequest(
364 GURL("http://www.example.com"), DEFAULT_PRIORITY, &delegate);
365
366 request->Start();
367 base::RunLoop().Run();
368
369 EXPECT_TRUE(request->status().is_success());
370 EXPECT_EQ(12, request->received_response_content_length());
371 EXPECT_EQ(39, request->raw_header_size());
372 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)),
373 request->GetTotalReceivedBytes());
374 }
375
mmenke 2016/09/06 18:55:00 Also, should we make sure the header size is reada
mmenke 2016/09/06 18:55:00 Should we have a test for the cached path? That w
mmenke 2016/09/06 18:55:00 Suggest an HTTP/0.9 test. (i.e., just a response
allada 2016/09/07 06:01:12 We have this kind of test in our tests: third_part
allada 2016/09/07 06:01:12 I can do a cached path, however, in our case it's
allada 2016/09/07 06:01:12 I was opting out of doing this kind of test since
mmenke 2016/09/07 15:18:21 My concern is just that we don't return nonsense.
mmenke 2016/09/07 15:18:21 Unfortunately, I don't think we'll be able to comp
allada 2016/09/07 18:14:56 What if we refuse to set the header size if the ve
376 TEST_F(URLRequestHttpJobWithMockSocketsTest,
270 TestNetworkBytesRedirectedRequest) { 377 TestNetworkBytesRedirectedRequest) {
271 MockWrite redirect_writes[] = { 378 MockWrite redirect_writes[] = {
272 MockWrite("GET / HTTP/1.1\r\n" 379 MockWrite("GET / HTTP/1.1\r\n"
273 "Host: www.redirect.com\r\n" 380 "Host: www.redirect.com\r\n"
274 "Connection: keep-alive\r\n" 381 "Connection: keep-alive\r\n"
275 "User-Agent:\r\n" 382 "User-Agent:\r\n"
276 "Accept-Encoding: gzip, deflate\r\n" 383 "Accept-Encoding: gzip, deflate\r\n"
277 "Accept-Language: en-us,fr\r\n\r\n")}; 384 "Accept-Language: en-us,fr\r\n\r\n")};
278 385
279 MockRead redirect_reads[] = { 386 MockRead redirect_reads[] = {
(...skipping 538 matching lines...) Expand 10 before | Expand all | Expand 10 after
818 base::RunLoop().RunUntilIdle(); 925 base::RunLoop().RunUntilIdle();
819 EXPECT_EQ(URLRequestStatus::IO_PENDING, req_->status().status()); 926 EXPECT_EQ(URLRequestStatus::IO_PENDING, req_->status().status());
820 EXPECT_TRUE(fake_handshake_stream->initialize_stream_was_called()); 927 EXPECT_TRUE(fake_handshake_stream->initialize_stream_was_called());
821 } 928 }
822 929
823 #endif // defined(ENABLE_WEBSOCKETS) 930 #endif // defined(ENABLE_WEBSOCKETS)
824 931
825 } // namespace 932 } // namespace
826 933
827 } // namespace net 934 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698