| OLD | NEW |
| 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 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 156 socket_factory_.AddSocketDataProvider(&socket_data); | 156 socket_factory_.AddSocketDataProvider(&socket_data); |
| 157 | 157 |
| 158 TestDelegate delegate; | 158 TestDelegate delegate; |
| 159 std::unique_ptr<URLRequest> request = context_->CreateRequest( | 159 std::unique_ptr<URLRequest> request = context_->CreateRequest( |
| 160 GURL("http://www.example.com"), DEFAULT_PRIORITY, &delegate); | 160 GURL("http://www.example.com"), DEFAULT_PRIORITY, &delegate); |
| 161 | 161 |
| 162 request->Start(); | 162 request->Start(); |
| 163 ASSERT_TRUE(request->is_pending()); | 163 ASSERT_TRUE(request->is_pending()); |
| 164 base::RunLoop().Run(); | 164 base::RunLoop().Run(); |
| 165 | 165 |
| 166 EXPECT_TRUE(request->status().is_success()); | 166 EXPECT_THAT(delegate.request_status(), IsOk()); |
| 167 EXPECT_EQ(12, request->received_response_content_length()); | 167 EXPECT_EQ(12, request->received_response_content_length()); |
| 168 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), | 168 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), |
| 169 request->GetTotalSentBytes()); | 169 request->GetTotalSentBytes()); |
| 170 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), | 170 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), |
| 171 request->GetTotalReceivedBytes()); | 171 request->GetTotalReceivedBytes()); |
| 172 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), | 172 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), |
| 173 network_delegate_.total_network_bytes_sent()); | 173 network_delegate_.total_network_bytes_sent()); |
| 174 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), | 174 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), |
| 175 network_delegate_.total_network_bytes_received()); | 175 network_delegate_.total_network_bytes_received()); |
| 176 } | 176 } |
| 177 | 177 |
| 178 TEST_F(URLRequestHttpJobWithMockSocketsTest, | 178 TEST_F(URLRequestHttpJobWithMockSocketsTest, |
| 179 TestContentLengthSuccessfulHttp09Request) { | 179 TestContentLengthSuccessfulHttp09Request) { |
| 180 MockWrite writes[] = {MockWrite(kSimpleGetMockWrite)}; | 180 MockWrite writes[] = {MockWrite(kSimpleGetMockWrite)}; |
| 181 MockRead reads[] = {MockRead("Test Content"), | 181 MockRead reads[] = {MockRead("Test Content"), |
| 182 MockRead(net::SYNCHRONOUS, net::OK)}; | 182 MockRead(net::SYNCHRONOUS, net::OK)}; |
| 183 | 183 |
| 184 StaticSocketDataProvider socket_data(reads, arraysize(reads), nullptr, 0); | 184 StaticSocketDataProvider socket_data(reads, arraysize(reads), nullptr, 0); |
| 185 socket_factory_.AddSocketDataProvider(&socket_data); | 185 socket_factory_.AddSocketDataProvider(&socket_data); |
| 186 | 186 |
| 187 TestDelegate delegate; | 187 TestDelegate delegate; |
| 188 std::unique_ptr<URLRequest> request = context_->CreateRequest( | 188 std::unique_ptr<URLRequest> request = context_->CreateRequest( |
| 189 GURL("http://www.example.com"), DEFAULT_PRIORITY, &delegate); | 189 GURL("http://www.example.com"), DEFAULT_PRIORITY, &delegate); |
| 190 | 190 |
| 191 request->Start(); | 191 request->Start(); |
| 192 ASSERT_TRUE(request->is_pending()); | 192 ASSERT_TRUE(request->is_pending()); |
| 193 base::RunLoop().Run(); | 193 base::RunLoop().Run(); |
| 194 | 194 |
| 195 EXPECT_TRUE(request->status().is_success()); | 195 EXPECT_THAT(delegate.request_status(), IsOk()); |
| 196 EXPECT_EQ(12, request->received_response_content_length()); | 196 EXPECT_EQ(12, request->received_response_content_length()); |
| 197 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), | 197 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), |
| 198 request->GetTotalSentBytes()); | 198 request->GetTotalSentBytes()); |
| 199 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), | 199 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), |
| 200 request->GetTotalReceivedBytes()); | 200 request->GetTotalReceivedBytes()); |
| 201 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), | 201 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), |
| 202 network_delegate_.total_network_bytes_sent()); | 202 network_delegate_.total_network_bytes_sent()); |
| 203 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), | 203 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), |
| 204 network_delegate_.total_network_bytes_received()); | 204 network_delegate_.total_network_bytes_received()); |
| 205 } | 205 } |
| (...skipping 10 matching lines...) Expand all Loading... |
| 216 socket_factory_.AddSocketDataProvider(&socket_data); | 216 socket_factory_.AddSocketDataProvider(&socket_data); |
| 217 | 217 |
| 218 TestDelegate delegate; | 218 TestDelegate delegate; |
| 219 std::unique_ptr<URLRequest> request = context_->CreateRequest( | 219 std::unique_ptr<URLRequest> request = context_->CreateRequest( |
| 220 GURL("http://www.example.com"), DEFAULT_PRIORITY, &delegate); | 220 GURL("http://www.example.com"), DEFAULT_PRIORITY, &delegate); |
| 221 | 221 |
| 222 request->Start(); | 222 request->Start(); |
| 223 ASSERT_TRUE(request->is_pending()); | 223 ASSERT_TRUE(request->is_pending()); |
| 224 base::RunLoop().Run(); | 224 base::RunLoop().Run(); |
| 225 | 225 |
| 226 EXPECT_EQ(URLRequestStatus::FAILED, request->status().status()); | 226 EXPECT_THAT(delegate.request_status(), IsError(ERR_FAILED)); |
| 227 EXPECT_EQ(12, request->received_response_content_length()); | 227 EXPECT_EQ(12, request->received_response_content_length()); |
| 228 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), | 228 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), |
| 229 request->GetTotalSentBytes()); | 229 request->GetTotalSentBytes()); |
| 230 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), | 230 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), |
| 231 request->GetTotalReceivedBytes()); | 231 request->GetTotalReceivedBytes()); |
| 232 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), | 232 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), |
| 233 network_delegate_.total_network_bytes_sent()); | 233 network_delegate_.total_network_bytes_sent()); |
| 234 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), | 234 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), |
| 235 network_delegate_.total_network_bytes_received()); | 235 network_delegate_.total_network_bytes_received()); |
| 236 } | 236 } |
| (...skipping 11 matching lines...) Expand all Loading... |
| 248 socket_factory_.AddSocketDataProvider(&socket_data); | 248 socket_factory_.AddSocketDataProvider(&socket_data); |
| 249 | 249 |
| 250 TestDelegate delegate; | 250 TestDelegate delegate; |
| 251 std::unique_ptr<URLRequest> request = context_->CreateRequest( | 251 std::unique_ptr<URLRequest> request = context_->CreateRequest( |
| 252 GURL("http://www.example.com"), DEFAULT_PRIORITY, &delegate); | 252 GURL("http://www.example.com"), DEFAULT_PRIORITY, &delegate); |
| 253 | 253 |
| 254 delegate.set_cancel_in_received_data(true); | 254 delegate.set_cancel_in_received_data(true); |
| 255 request->Start(); | 255 request->Start(); |
| 256 base::RunLoop().RunUntilIdle(); | 256 base::RunLoop().RunUntilIdle(); |
| 257 | 257 |
| 258 EXPECT_EQ(URLRequestStatus::CANCELED, request->status().status()); | 258 EXPECT_THAT(delegate.request_status(), IsError(ERR_ABORTED)); |
| 259 EXPECT_EQ(12, request->received_response_content_length()); | 259 EXPECT_EQ(12, request->received_response_content_length()); |
| 260 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), | 260 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), |
| 261 request->GetTotalSentBytes()); | 261 request->GetTotalSentBytes()); |
| 262 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), | 262 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), |
| 263 request->GetTotalReceivedBytes()); | 263 request->GetTotalReceivedBytes()); |
| 264 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), | 264 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), |
| 265 network_delegate_.total_network_bytes_sent()); | 265 network_delegate_.total_network_bytes_sent()); |
| 266 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), | 266 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), |
| 267 network_delegate_.total_network_bytes_received()); | 267 network_delegate_.total_network_bytes_received()); |
| 268 } | 268 } |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 421 socket_factory_.AddSocketDataProvider(&final_socket_data); | 421 socket_factory_.AddSocketDataProvider(&final_socket_data); |
| 422 | 422 |
| 423 TestDelegate delegate; | 423 TestDelegate delegate; |
| 424 std::unique_ptr<URLRequest> request = context_->CreateRequest( | 424 std::unique_ptr<URLRequest> request = context_->CreateRequest( |
| 425 GURL("http://www.redirect.com"), DEFAULT_PRIORITY, &delegate); | 425 GURL("http://www.redirect.com"), DEFAULT_PRIORITY, &delegate); |
| 426 | 426 |
| 427 request->Start(); | 427 request->Start(); |
| 428 ASSERT_TRUE(request->is_pending()); | 428 ASSERT_TRUE(request->is_pending()); |
| 429 base::RunLoop().RunUntilIdle(); | 429 base::RunLoop().RunUntilIdle(); |
| 430 | 430 |
| 431 EXPECT_EQ(OK, request->status().error()); | 431 EXPECT_THAT(delegate.request_status(), IsOk()); |
| 432 EXPECT_EQ(12, request->received_response_content_length()); | 432 EXPECT_EQ(12, request->received_response_content_length()); |
| 433 // Should not include the redirect. | 433 // Should not include the redirect. |
| 434 EXPECT_EQ(CountWriteBytes(final_writes, arraysize(final_writes)), | 434 EXPECT_EQ(CountWriteBytes(final_writes, arraysize(final_writes)), |
| 435 request->GetTotalSentBytes()); | 435 request->GetTotalSentBytes()); |
| 436 EXPECT_EQ(CountReadBytes(final_reads, arraysize(final_reads)), | 436 EXPECT_EQ(CountReadBytes(final_reads, arraysize(final_reads)), |
| 437 request->GetTotalReceivedBytes()); | 437 request->GetTotalReceivedBytes()); |
| 438 // Should include the redirect as well as the final response. | 438 // Should include the redirect as well as the final response. |
| 439 EXPECT_EQ(CountWriteBytes(redirect_writes, arraysize(redirect_writes)) + | 439 EXPECT_EQ(CountWriteBytes(redirect_writes, arraysize(redirect_writes)) + |
| 440 CountWriteBytes(final_writes, arraysize(final_writes)), | 440 CountWriteBytes(final_writes, arraysize(final_writes)), |
| 441 network_delegate_.total_network_bytes_sent()); | 441 network_delegate_.total_network_bytes_sent()); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 453 socket_factory_.AddSocketDataProvider(&socket_data); | 453 socket_factory_.AddSocketDataProvider(&socket_data); |
| 454 | 454 |
| 455 TestDelegate delegate; | 455 TestDelegate delegate; |
| 456 std::unique_ptr<URLRequest> request = context_->CreateRequest( | 456 std::unique_ptr<URLRequest> request = context_->CreateRequest( |
| 457 GURL("http://www.example.com"), DEFAULT_PRIORITY, &delegate); | 457 GURL("http://www.example.com"), DEFAULT_PRIORITY, &delegate); |
| 458 | 458 |
| 459 delegate.set_cancel_in_response_started(true); | 459 delegate.set_cancel_in_response_started(true); |
| 460 request->Start(); | 460 request->Start(); |
| 461 base::RunLoop().RunUntilIdle(); | 461 base::RunLoop().RunUntilIdle(); |
| 462 | 462 |
| 463 EXPECT_EQ(URLRequestStatus::CANCELED, request->status().status()); | 463 EXPECT_THAT(delegate.request_status(), IsError(ERR_ABORTED)); |
| 464 EXPECT_EQ(0, request->received_response_content_length()); | 464 EXPECT_EQ(0, request->received_response_content_length()); |
| 465 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), | 465 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), |
| 466 request->GetTotalSentBytes()); | 466 request->GetTotalSentBytes()); |
| 467 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), | 467 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), |
| 468 request->GetTotalReceivedBytes()); | 468 request->GetTotalReceivedBytes()); |
| 469 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), | 469 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), |
| 470 network_delegate_.total_network_bytes_sent()); | 470 network_delegate_.total_network_bytes_sent()); |
| 471 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), | 471 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), |
| 472 network_delegate_.total_network_bytes_received()); | 472 network_delegate_.total_network_bytes_received()); |
| 473 } | 473 } |
| 474 | 474 |
| 475 TEST_F(URLRequestHttpJobWithMockSocketsTest, | 475 TEST_F(URLRequestHttpJobWithMockSocketsTest, |
| 476 TestNetworkBytesCancelledImmediately) { | 476 TestNetworkBytesCancelledImmediately) { |
| 477 StaticSocketDataProvider socket_data(nullptr, 0, nullptr, 0); | 477 StaticSocketDataProvider socket_data(nullptr, 0, nullptr, 0); |
| 478 socket_factory_.AddSocketDataProvider(&socket_data); | 478 socket_factory_.AddSocketDataProvider(&socket_data); |
| 479 | 479 |
| 480 TestDelegate delegate; | 480 TestDelegate delegate; |
| 481 std::unique_ptr<URLRequest> request = context_->CreateRequest( | 481 std::unique_ptr<URLRequest> request = context_->CreateRequest( |
| 482 GURL("http://www.example.com"), DEFAULT_PRIORITY, &delegate); | 482 GURL("http://www.example.com"), DEFAULT_PRIORITY, &delegate); |
| 483 | 483 |
| 484 request->Start(); | 484 request->Start(); |
| 485 request->Cancel(); | 485 request->Cancel(); |
| 486 base::RunLoop().RunUntilIdle(); | 486 base::RunLoop().RunUntilIdle(); |
| 487 | 487 |
| 488 EXPECT_EQ(URLRequestStatus::CANCELED, request->status().status()); | 488 EXPECT_THAT(delegate.request_status(), IsError(ERR_ABORTED)); |
| 489 EXPECT_EQ(0, request->received_response_content_length()); | 489 EXPECT_EQ(0, request->received_response_content_length()); |
| 490 EXPECT_EQ(0, request->GetTotalSentBytes()); | 490 EXPECT_EQ(0, request->GetTotalSentBytes()); |
| 491 EXPECT_EQ(0, request->GetTotalReceivedBytes()); | 491 EXPECT_EQ(0, request->GetTotalReceivedBytes()); |
| 492 EXPECT_EQ(0, network_delegate_.total_network_bytes_received()); | 492 EXPECT_EQ(0, network_delegate_.total_network_bytes_received()); |
| 493 } | 493 } |
| 494 | 494 |
| 495 TEST_F(URLRequestHttpJobTest, TestCancelWhileReadingCookies) { | 495 TEST_F(URLRequestHttpJobTest, TestCancelWhileReadingCookies) { |
| 496 DelayedCookieMonster cookie_monster; | 496 DelayedCookieMonster cookie_monster; |
| 497 TestURLRequestContext context(true); | 497 TestURLRequestContext context(true); |
| 498 context.set_cookie_store(&cookie_monster); | 498 context.set_cookie_store(&cookie_monster); |
| 499 context.Init(); | 499 context.Init(); |
| 500 | 500 |
| 501 TestDelegate delegate; | 501 TestDelegate delegate; |
| 502 std::unique_ptr<URLRequest> request = context.CreateRequest( | 502 std::unique_ptr<URLRequest> request = context.CreateRequest( |
| 503 GURL("http://www.example.com"), DEFAULT_PRIORITY, &delegate); | 503 GURL("http://www.example.com"), DEFAULT_PRIORITY, &delegate); |
| 504 | 504 |
| 505 request->Start(); | 505 request->Start(); |
| 506 request->Cancel(); | 506 request->Cancel(); |
| 507 base::RunLoop().Run(); | 507 base::RunLoop().Run(); |
| 508 | 508 |
| 509 EXPECT_EQ(URLRequestStatus::CANCELED, request->status().status()); | 509 EXPECT_THAT(delegate.request_status(), IsError(ERR_ABORTED)); |
| 510 } | 510 } |
| 511 | 511 |
| 512 // Make sure that SetPriority actually sets the URLRequestHttpJob's | 512 // Make sure that SetPriority actually sets the URLRequestHttpJob's |
| 513 // priority, before start. Other tests handle the after start case. | 513 // priority, before start. Other tests handle the after start case. |
| 514 TEST_F(URLRequestHttpJobTest, SetPriorityBasic) { | 514 TEST_F(URLRequestHttpJobTest, SetPriorityBasic) { |
| 515 std::unique_ptr<TestURLRequestHttpJob> job( | 515 std::unique_ptr<TestURLRequestHttpJob> job( |
| 516 new TestURLRequestHttpJob(req_.get())); | 516 new TestURLRequestHttpJob(req_.get())); |
| 517 EXPECT_EQ(DEFAULT_PRIORITY, job->priority()); | 517 EXPECT_EQ(DEFAULT_PRIORITY, job->priority()); |
| 518 | 518 |
| 519 job->SetPriority(LOWEST); | 519 job->SetPriority(LOWEST); |
| (...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 686 // invoked. | 686 // invoked. |
| 687 GURL url("http://example.com"); | 687 GURL url("http://example.com"); |
| 688 EXPECT_CALL(sdch_observer, | 688 EXPECT_CALL(sdch_observer, |
| 689 OnGetDictionary(url, GURL("http://example.com/sdch.dict"))); | 689 OnGetDictionary(url, GURL("http://example.com/sdch.dict"))); |
| 690 TestDelegate delegate; | 690 TestDelegate delegate; |
| 691 std::unique_ptr<URLRequest> request = | 691 std::unique_ptr<URLRequest> request = |
| 692 context_.CreateRequest(url, DEFAULT_PRIORITY, &delegate); | 692 context_.CreateRequest(url, DEFAULT_PRIORITY, &delegate); |
| 693 request->Start(); | 693 request->Start(); |
| 694 base::RunLoop().RunUntilIdle(); | 694 base::RunLoop().RunUntilIdle(); |
| 695 | 695 |
| 696 EXPECT_TRUE(request->status().is_success()); | 696 EXPECT_THAT(delegate.request_status(), IsOk()); |
| 697 | 697 |
| 698 // Second response should be from cache without notification of SdchObserver | 698 // Second response should be from cache without notification of SdchObserver |
| 699 TestDelegate delegate2; | 699 TestDelegate delegate2; |
| 700 std::unique_ptr<URLRequest> request2 = | 700 std::unique_ptr<URLRequest> request2 = |
| 701 context_.CreateRequest(url, DEFAULT_PRIORITY, &delegate2); | 701 context_.CreateRequest(url, DEFAULT_PRIORITY, &delegate2); |
| 702 request2->Start(); | 702 request2->Start(); |
| 703 base::RunLoop().RunUntilIdle(); | 703 base::RunLoop().RunUntilIdle(); |
| 704 | 704 |
| 705 EXPECT_TRUE(request->status().is_success()); | 705 EXPECT_THAT(delegate2.request_status(), IsOk()); |
| 706 | 706 |
| 707 // Cleanup manager. | 707 // Cleanup manager. |
| 708 sdch_manager.RemoveObserver(&sdch_observer); | 708 sdch_manager.RemoveObserver(&sdch_observer); |
| 709 } | 709 } |
| 710 | 710 |
| 711 class URLRequestHttpJobWithBrotliSupportTest : public ::testing::Test { | 711 class URLRequestHttpJobWithBrotliSupportTest : public ::testing::Test { |
| 712 protected: | 712 protected: |
| 713 URLRequestHttpJobWithBrotliSupportTest() | 713 URLRequestHttpJobWithBrotliSupportTest() |
| 714 : context_(new TestURLRequestContext(true)) { | 714 : context_(new TestURLRequestContext(true)) { |
| 715 std::unique_ptr<HttpNetworkSession::Params> params( | 715 std::unique_ptr<HttpNetworkSession::Params> params( |
| (...skipping 16 matching lines...) Expand all Loading... |
| 732 StaticSocketDataProvider socket_data(reads, arraysize(reads), writes, | 732 StaticSocketDataProvider socket_data(reads, arraysize(reads), writes, |
| 733 arraysize(writes)); | 733 arraysize(writes)); |
| 734 socket_factory_.AddSocketDataProvider(&socket_data); | 734 socket_factory_.AddSocketDataProvider(&socket_data); |
| 735 | 735 |
| 736 TestDelegate delegate; | 736 TestDelegate delegate; |
| 737 std::unique_ptr<URLRequest> request = context_->CreateRequest( | 737 std::unique_ptr<URLRequest> request = context_->CreateRequest( |
| 738 GURL("http://www.example.com"), DEFAULT_PRIORITY, &delegate); | 738 GURL("http://www.example.com"), DEFAULT_PRIORITY, &delegate); |
| 739 request->Start(); | 739 request->Start(); |
| 740 base::RunLoop().RunUntilIdle(); | 740 base::RunLoop().RunUntilIdle(); |
| 741 | 741 |
| 742 EXPECT_TRUE(request->status().is_success()); | 742 EXPECT_THAT(delegate.request_status(), IsOk()); |
| 743 EXPECT_EQ(12, request->received_response_content_length()); | 743 EXPECT_EQ(12, request->received_response_content_length()); |
| 744 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), | 744 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), |
| 745 request->GetTotalSentBytes()); | 745 request->GetTotalSentBytes()); |
| 746 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), | 746 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), |
| 747 request->GetTotalReceivedBytes()); | 747 request->GetTotalReceivedBytes()); |
| 748 } | 748 } |
| 749 | 749 |
| 750 TEST_F(URLRequestHttpJobWithBrotliSupportTest, BrotliAdvertisement) { | 750 TEST_F(URLRequestHttpJobWithBrotliSupportTest, BrotliAdvertisement) { |
| 751 net::SSLSocketDataProvider ssl_socket_data_provider(net::ASYNC, net::OK); | 751 net::SSLSocketDataProvider ssl_socket_data_provider(net::ASYNC, net::OK); |
| 752 ssl_socket_data_provider.next_proto = kProtoHTTP11; | 752 ssl_socket_data_provider.next_proto = kProtoHTTP11; |
| (...skipping 14 matching lines...) Expand all Loading... |
| 767 StaticSocketDataProvider socket_data(reads, arraysize(reads), writes, | 767 StaticSocketDataProvider socket_data(reads, arraysize(reads), writes, |
| 768 arraysize(writes)); | 768 arraysize(writes)); |
| 769 socket_factory_.AddSocketDataProvider(&socket_data); | 769 socket_factory_.AddSocketDataProvider(&socket_data); |
| 770 | 770 |
| 771 TestDelegate delegate; | 771 TestDelegate delegate; |
| 772 std::unique_ptr<URLRequest> request = context_->CreateRequest( | 772 std::unique_ptr<URLRequest> request = context_->CreateRequest( |
| 773 GURL("https://www.example.com"), DEFAULT_PRIORITY, &delegate); | 773 GURL("https://www.example.com"), DEFAULT_PRIORITY, &delegate); |
| 774 request->Start(); | 774 request->Start(); |
| 775 base::RunLoop().RunUntilIdle(); | 775 base::RunLoop().RunUntilIdle(); |
| 776 | 776 |
| 777 EXPECT_TRUE(request->status().is_success()); | 777 EXPECT_THAT(delegate.request_status(), IsOk()); |
| 778 EXPECT_EQ(12, request->received_response_content_length()); | 778 EXPECT_EQ(12, request->received_response_content_length()); |
| 779 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), | 779 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), |
| 780 request->GetTotalSentBytes()); | 780 request->GetTotalSentBytes()); |
| 781 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), | 781 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), |
| 782 request->GetTotalReceivedBytes()); | 782 request->GetTotalReceivedBytes()); |
| 783 } | 783 } |
| 784 | 784 |
| 785 // This base class just serves to set up some things before the TestURLRequest | 785 // This base class just serves to set up some things before the TestURLRequest |
| 786 // constructor is called. | 786 // constructor is called. |
| 787 class URLRequestHttpJobWebSocketTestBase : public ::testing::Test { | 787 class URLRequestHttpJobWebSocketTestBase : public ::testing::Test { |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 917 return std::unique_ptr<WebSocketStream>(); | 917 return std::unique_ptr<WebSocketStream>(); |
| 918 } | 918 } |
| 919 | 919 |
| 920 private: | 920 private: |
| 921 bool initialize_stream_was_called_; | 921 bool initialize_stream_was_called_; |
| 922 }; | 922 }; |
| 923 | 923 |
| 924 TEST_F(URLRequestHttpJobWebSocketTest, RejectedWithoutCreateHelper) { | 924 TEST_F(URLRequestHttpJobWebSocketTest, RejectedWithoutCreateHelper) { |
| 925 req_->Start(); | 925 req_->Start(); |
| 926 base::RunLoop().RunUntilIdle(); | 926 base::RunLoop().RunUntilIdle(); |
| 927 EXPECT_EQ(URLRequestStatus::FAILED, req_->status().status()); | 927 EXPECT_THAT(delegate_.request_status(), IsError(ERR_DISALLOWED_URL_SCHEME)); |
| 928 EXPECT_THAT(req_->status().error(), IsError(ERR_DISALLOWED_URL_SCHEME)); | |
| 929 } | 928 } |
| 930 | 929 |
| 931 TEST_F(URLRequestHttpJobWebSocketTest, CreateHelperPassedThrough) { | 930 TEST_F(URLRequestHttpJobWebSocketTest, CreateHelperPassedThrough) { |
| 932 std::unique_ptr<MockCreateHelper> create_helper( | 931 std::unique_ptr<MockCreateHelper> create_helper( |
| 933 new ::testing::StrictMock<MockCreateHelper>()); | 932 new ::testing::StrictMock<MockCreateHelper>()); |
| 934 FakeWebSocketHandshakeStream* fake_handshake_stream( | 933 FakeWebSocketHandshakeStream* fake_handshake_stream( |
| 935 new FakeWebSocketHandshakeStream); | 934 new FakeWebSocketHandshakeStream); |
| 936 // Ownership of fake_handshake_stream is transferred when CreateBasicStream() | 935 // Ownership of fake_handshake_stream is transferred when CreateBasicStream() |
| 937 // is called. | 936 // is called. |
| 938 EXPECT_CALL(*create_helper, CreateBasicStreamMock()) | 937 EXPECT_CALL(*create_helper, CreateBasicStreamMock()) |
| 939 .WillOnce(Return(fake_handshake_stream)); | 938 .WillOnce(Return(fake_handshake_stream)); |
| 940 req_->SetUserData(WebSocketHandshakeStreamBase::CreateHelper::DataKey(), | 939 req_->SetUserData(WebSocketHandshakeStreamBase::CreateHelper::DataKey(), |
| 941 create_helper.release()); | 940 create_helper.release()); |
| 942 req_->SetLoadFlags(LOAD_DISABLE_CACHE); | 941 req_->SetLoadFlags(LOAD_DISABLE_CACHE); |
| 943 req_->Start(); | 942 req_->Start(); |
| 944 base::RunLoop().RunUntilIdle(); | 943 base::RunLoop().RunUntilIdle(); |
| 945 EXPECT_EQ(URLRequestStatus::IO_PENDING, req_->status().status()); | 944 EXPECT_THAT(delegate_.request_status(), IsError(ERR_IO_PENDING)); |
| 946 EXPECT_TRUE(fake_handshake_stream->initialize_stream_was_called()); | 945 EXPECT_TRUE(fake_handshake_stream->initialize_stream_was_called()); |
| 947 } | 946 } |
| 948 | 947 |
| 949 #endif // defined(ENABLE_WEBSOCKETS) | 948 #endif // defined(ENABLE_WEBSOCKETS) |
| 950 | 949 |
| 951 } // namespace | 950 } // namespace |
| 952 | 951 |
| 953 } // namespace net | 952 } // namespace net |
| OLD | NEW |