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

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: Changes 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
273 const std::string& response_header =
274 "HTTP/1.1 200 OK\r\n"
275 "Content-Length: 12\r\n\r\n";
276 const std::string& content_data = "Test Content";
277
278 MockRead reads[] = {MockRead(response_header.c_str()),
279 MockRead(content_data.c_str()),
280 MockRead(net::SYNCHRONOUS, net::OK)};
281
282 StaticSocketDataProvider socket_data(reads, arraysize(reads), writes,
283 arraysize(writes));
284 socket_factory_.AddSocketDataProvider(&socket_data);
285
286 TestDelegate delegate;
287 std::unique_ptr<URLRequest> request = context_->CreateRequest(
288 GURL("http://www.example.com"), DEFAULT_PRIORITY, &delegate);
289
290 request->Start();
291 ASSERT_TRUE(request->is_pending());
292 base::RunLoop().Run();
293
294 EXPECT_TRUE(request->status().is_success());
295 EXPECT_EQ((int)content_data.size(),
mmenke 2016/09/07 15:18:21 C-style casts are forbidden. static_casts. Goes
allada 2016/09/07 18:14:57 Done.
296 request->received_response_content_length());
297 EXPECT_EQ((int)response_header.size(), request->raw_header_size());
298 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)),
299 request->GetTotalReceivedBytes());
300 }
301
302 TEST_F(URLRequestHttpJobWithMockSocketsTest,
303 TestRawHeaderSizeSuccessfull100ContinueRequest) {
304 MockWrite writes[] = {MockWrite(kSimpleGetMockWrite)};
305
306 const std::string& continue_header = "HTTP/1.1 100 Continue\r\n\r\n";
307 const std::string& response_header =
308 "HTTP/1.1 200 OK\r\n"
309 "Content-Length: 12\r\n\r\n";
310 const std::string& content_data = "Test Content";
311
312 MockRead reads[] = {
313 MockRead(continue_header.c_str()), MockRead(response_header.c_str()),
314 MockRead(content_data.c_str()), MockRead(net::SYNCHRONOUS, net::OK)};
315
316 StaticSocketDataProvider socket_data(reads, arraysize(reads), writes,
317 arraysize(writes));
318 socket_factory_.AddSocketDataProvider(&socket_data);
319
320 TestDelegate delegate;
321 std::unique_ptr<URLRequest> request = context_->CreateRequest(
322 GURL("http://www.example.com"), DEFAULT_PRIORITY, &delegate);
323
324 request->Start();
325 ASSERT_TRUE(request->is_pending());
326 base::RunLoop().Run();
327
328 EXPECT_TRUE(request->status().is_success());
329 EXPECT_EQ((int)content_data.size(),
330 request->received_response_content_length());
331 EXPECT_EQ((int)(continue_header.size() + response_header.size()),
332 request->raw_header_size());
333 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)),
334 request->GetTotalReceivedBytes());
335 }
336
337 TEST_F(URLRequestHttpJobWithMockSocketsTest,
338 TestRawHeaderSizeFailureTruncatedHeaders) {
339 MockWrite writes[] = {MockWrite(kSimpleGetMockWrite)};
340 MockRead reads[] = {MockRead("HTTP/1.0 200 OK\r\n"
341 "Content-Len"),
342 MockRead(net::SYNCHRONOUS, net::OK)};
343
344 StaticSocketDataProvider socket_data(reads, arraysize(reads), writes,
345 arraysize(writes));
346 socket_factory_.AddSocketDataProvider(&socket_data);
347
348 TestDelegate delegate;
349 std::unique_ptr<URLRequest> request = context_->CreateRequest(
350 GURL("http://www.example.com"), DEFAULT_PRIORITY, &delegate);
351
352 delegate.set_cancel_in_response_started(true);
353 request->Start();
354 base::RunLoop().RunUntilIdle();
355
356 EXPECT_EQ(URLRequestStatus::SUCCESS, request->status().status());
mmenke 2016/09/07 15:18:21 Sorry, I meant EXPECT_EQ(ERR_<whatever>, request->
allada 2016/09/07 18:14:57 Done.
357 EXPECT_EQ(0, request->received_response_content_length());
358 EXPECT_EQ(28, request->raw_header_size());
359 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)),
360 request->GetTotalReceivedBytes());
361 }
362
363 TEST_F(URLRequestHttpJobWithMockSocketsTest,
364 TestRawHeaderSizeSuccessfullContinuiousRead) {
365 MockWrite writes[] = {MockWrite(kSimpleGetMockWrite)};
366 const std::string& header_data =
367 "HTTP/1.1 200 OK\r\n"
368 "Content-Length: 12\r\n\r\n";
369 const std::string& content_data = "Test Content";
370 std::string single_read_content = header_data;
371 single_read_content.append(content_data);
372 MockRead reads[] = {MockRead(single_read_content.c_str())};
373
374 StaticSocketDataProvider socket_data(reads, arraysize(reads), writes,
375 arraysize(writes));
376 socket_factory_.AddSocketDataProvider(&socket_data);
377
378 TestDelegate delegate;
379 std::unique_ptr<URLRequest> request = context_->CreateRequest(
380 GURL("http://www.example.com"), DEFAULT_PRIORITY, &delegate);
381
382 request->Start();
383 base::RunLoop().Run();
384
385 EXPECT_EQ(URLRequestStatus::SUCCESS, request->status().status());
386 EXPECT_EQ((int)content_data.size(),
387 request->received_response_content_length());
388 EXPECT_EQ((int)header_data.size(), request->raw_header_size());
389 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)),
390 request->GetTotalReceivedBytes());
391 }
392
393 TEST_F(URLRequestHttpJobWithMockSocketsTest,
270 TestNetworkBytesRedirectedRequest) { 394 TestNetworkBytesRedirectedRequest) {
271 MockWrite redirect_writes[] = { 395 MockWrite redirect_writes[] = {
272 MockWrite("GET / HTTP/1.1\r\n" 396 MockWrite("GET / HTTP/1.1\r\n"
273 "Host: www.redirect.com\r\n" 397 "Host: www.redirect.com\r\n"
274 "Connection: keep-alive\r\n" 398 "Connection: keep-alive\r\n"
275 "User-Agent:\r\n" 399 "User-Agent:\r\n"
276 "Accept-Encoding: gzip, deflate\r\n" 400 "Accept-Encoding: gzip, deflate\r\n"
277 "Accept-Language: en-us,fr\r\n\r\n")}; 401 "Accept-Language: en-us,fr\r\n\r\n")};
278 402
279 MockRead redirect_reads[] = { 403 MockRead redirect_reads[] = {
(...skipping 15 matching lines...) Expand all
295 socket_factory_.AddSocketDataProvider(&final_socket_data); 419 socket_factory_.AddSocketDataProvider(&final_socket_data);
296 420
297 TestDelegate delegate; 421 TestDelegate delegate;
298 std::unique_ptr<URLRequest> request = context_->CreateRequest( 422 std::unique_ptr<URLRequest> request = context_->CreateRequest(
299 GURL("http://www.redirect.com"), DEFAULT_PRIORITY, &delegate); 423 GURL("http://www.redirect.com"), DEFAULT_PRIORITY, &delegate);
300 424
301 request->Start(); 425 request->Start();
302 ASSERT_TRUE(request->is_pending()); 426 ASSERT_TRUE(request->is_pending());
303 base::RunLoop().RunUntilIdle(); 427 base::RunLoop().RunUntilIdle();
304 428
305 EXPECT_TRUE(request->status().is_success()); 429 EXPECT_EQ(URLRequestStatus::SUCCESS, request->status().status());
306 EXPECT_EQ(12, request->received_response_content_length()); 430 EXPECT_EQ(12, request->received_response_content_length());
307 // Should not include the redirect. 431 // Should not include the redirect.
308 EXPECT_EQ(CountWriteBytes(final_writes, arraysize(final_writes)), 432 EXPECT_EQ(CountWriteBytes(final_writes, arraysize(final_writes)),
309 request->GetTotalSentBytes()); 433 request->GetTotalSentBytes());
310 EXPECT_EQ(CountReadBytes(final_reads, arraysize(final_reads)), 434 EXPECT_EQ(CountReadBytes(final_reads, arraysize(final_reads)),
311 request->GetTotalReceivedBytes()); 435 request->GetTotalReceivedBytes());
312 // Should include the redirect as well as the final response. 436 // Should include the redirect as well as the final response.
313 EXPECT_EQ(CountWriteBytes(redirect_writes, arraysize(redirect_writes)) + 437 EXPECT_EQ(CountWriteBytes(redirect_writes, arraysize(redirect_writes)) +
314 CountWriteBytes(final_writes, arraysize(final_writes)), 438 CountWriteBytes(final_writes, arraysize(final_writes)),
315 network_delegate_.total_network_bytes_sent()); 439 network_delegate_.total_network_bytes_sent());
(...skipping 502 matching lines...) Expand 10 before | Expand all | Expand 10 after
818 base::RunLoop().RunUntilIdle(); 942 base::RunLoop().RunUntilIdle();
819 EXPECT_EQ(URLRequestStatus::IO_PENDING, req_->status().status()); 943 EXPECT_EQ(URLRequestStatus::IO_PENDING, req_->status().status());
820 EXPECT_TRUE(fake_handshake_stream->initialize_stream_was_called()); 944 EXPECT_TRUE(fake_handshake_stream->initialize_stream_was_called());
821 } 945 }
822 946
823 #endif // defined(ENABLE_WEBSOCKETS) 947 #endif // defined(ENABLE_WEBSOCKETS)
824 948
825 } // namespace 949 } // namespace
826 950
827 } // namespace net 951 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698