| OLD | NEW |
| 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 | 5 |
| 6 #include "base/stringprintf.h" | 6 #include "base/stringprintf.h" |
| 7 #include "base/test/test_simple_task_runner.h" | 7 #include "base/test/test_simple_task_runner.h" |
| 8 #include "base/thread_task_runner_handle.h" | 8 #include "base/thread_task_runner_handle.h" |
| 9 #include "base/time.h" | 9 #include "base/time.h" |
| 10 #include "chrome/browser/safe_browsing/protocol_manager.h" | 10 #include "chrome/browser/safe_browsing/protocol_manager.h" |
| (...skipping 360 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 371 EXPECT_EQ("goog-phish-shavar;a:adds_phish:s:subs_phish\n" | 371 EXPECT_EQ("goog-phish-shavar;a:adds_phish:s:subs_phish\n" |
| 372 "unknown_list;a:adds_unknown:s:subs_unknown\n" | 372 "unknown_list;a:adds_unknown:s:subs_unknown\n" |
| 373 "goog-malware-shavar;\n", | 373 "goog-malware-shavar;\n", |
| 374 url_fetcher->upload_data()); | 374 url_fetcher->upload_data()); |
| 375 EXPECT_EQ(GURL("https://prefix.com/foo/downloads?client=unittest&appver=1.0" | 375 EXPECT_EQ(GURL("https://prefix.com/foo/downloads?client=unittest&appver=1.0" |
| 376 "&pver=2.2" + key_param_), | 376 "&pver=2.2" + key_param_), |
| 377 url_fetcher->GetOriginalURL()); | 377 url_fetcher->GetOriginalURL()); |
| 378 | 378 |
| 379 url_fetcher->set_status(net::URLRequestStatus()); | 379 url_fetcher->set_status(net::URLRequestStatus()); |
| 380 url_fetcher->set_response_code(200); | 380 url_fetcher->set_response_code(200); |
| 381 url_fetcher->SetResponseString(""); | 381 url_fetcher->SetResponseString(std::string()); |
| 382 url_fetcher->delegate()->OnURLFetchComplete(url_fetcher); | 382 url_fetcher->delegate()->OnURLFetchComplete(url_fetcher); |
| 383 | 383 |
| 384 EXPECT_TRUE(pm->IsUpdateScheduled()); | 384 EXPECT_TRUE(pm->IsUpdateScheduled()); |
| 385 } | 385 } |
| 386 | 386 |
| 387 TEST_F(SafeBrowsingProtocolManagerTest, UpdateResponseBadBodyBackupSuccess) { | 387 TEST_F(SafeBrowsingProtocolManagerTest, UpdateResponseBadBodyBackupSuccess) { |
| 388 scoped_refptr<base::TestSimpleTaskRunner> runner( | 388 scoped_refptr<base::TestSimpleTaskRunner> runner( |
| 389 new base::TestSimpleTaskRunner()); | 389 new base::TestSimpleTaskRunner()); |
| 390 base::ThreadTaskRunnerHandle runner_handler(runner); | 390 base::ThreadTaskRunnerHandle runner_handler(runner); |
| 391 net::TestURLFetcherFactory url_fetcher_factory; | 391 net::TestURLFetcherFactory url_fetcher_factory; |
| (...skipping 25 matching lines...) Expand all Loading... |
| 417 | 417 |
| 418 // There should now be a backup request. | 418 // There should now be a backup request. |
| 419 net::TestURLFetcher* backup_url_fetcher = | 419 net::TestURLFetcher* backup_url_fetcher = |
| 420 url_fetcher_factory.GetFetcherByID(1); | 420 url_fetcher_factory.GetFetcherByID(1); |
| 421 ValidateUpdateFetcherRequest(backup_url_fetcher, | 421 ValidateUpdateFetcherRequest(backup_url_fetcher, |
| 422 kBackupHttpUrlPrefix); | 422 kBackupHttpUrlPrefix); |
| 423 | 423 |
| 424 // Respond to the backup successfully. | 424 // Respond to the backup successfully. |
| 425 backup_url_fetcher->set_status(net::URLRequestStatus()); | 425 backup_url_fetcher->set_status(net::URLRequestStatus()); |
| 426 backup_url_fetcher->set_response_code(200); | 426 backup_url_fetcher->set_response_code(200); |
| 427 backup_url_fetcher->SetResponseString(""); | 427 backup_url_fetcher->SetResponseString(std::string()); |
| 428 backup_url_fetcher->delegate()->OnURLFetchComplete(backup_url_fetcher); | 428 backup_url_fetcher->delegate()->OnURLFetchComplete(backup_url_fetcher); |
| 429 | 429 |
| 430 EXPECT_TRUE(pm->IsUpdateScheduled()); | 430 EXPECT_TRUE(pm->IsUpdateScheduled()); |
| 431 } | 431 } |
| 432 | 432 |
| 433 // Tests what happens when there is an HTTP error response to the update | 433 // Tests what happens when there is an HTTP error response to the update |
| 434 // request, as well as an error response to the backup update request. | 434 // request, as well as an error response to the backup update request. |
| 435 TEST_F(SafeBrowsingProtocolManagerTest, UpdateResponseHttpErrorBackupError) { | 435 TEST_F(SafeBrowsingProtocolManagerTest, UpdateResponseHttpErrorBackupError) { |
| 436 scoped_refptr<base::TestSimpleTaskRunner> runner( | 436 scoped_refptr<base::TestSimpleTaskRunner> runner( |
| 437 new base::TestSimpleTaskRunner()); | 437 new base::TestSimpleTaskRunner()); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 453 pm->ForceScheduleNextUpdate(TimeDelta()); | 453 pm->ForceScheduleNextUpdate(TimeDelta()); |
| 454 runner->RunPendingTasks(); | 454 runner->RunPendingTasks(); |
| 455 | 455 |
| 456 // We should have an URLFetcher at this point in time. | 456 // We should have an URLFetcher at this point in time. |
| 457 net::TestURLFetcher* url_fetcher = url_fetcher_factory.GetFetcherByID(0); | 457 net::TestURLFetcher* url_fetcher = url_fetcher_factory.GetFetcherByID(0); |
| 458 ValidateUpdateFetcherRequest(url_fetcher); | 458 ValidateUpdateFetcherRequest(url_fetcher); |
| 459 | 459 |
| 460 // Go ahead and respond to it. | 460 // Go ahead and respond to it. |
| 461 url_fetcher->set_status(net::URLRequestStatus()); | 461 url_fetcher->set_status(net::URLRequestStatus()); |
| 462 url_fetcher->set_response_code(404); | 462 url_fetcher->set_response_code(404); |
| 463 url_fetcher->SetResponseString(""); | 463 url_fetcher->SetResponseString(std::string()); |
| 464 url_fetcher->delegate()->OnURLFetchComplete(url_fetcher); | 464 url_fetcher->delegate()->OnURLFetchComplete(url_fetcher); |
| 465 | 465 |
| 466 // There should now be a backup request. | 466 // There should now be a backup request. |
| 467 net::TestURLFetcher* backup_url_fetcher = | 467 net::TestURLFetcher* backup_url_fetcher = |
| 468 url_fetcher_factory.GetFetcherByID(1); | 468 url_fetcher_factory.GetFetcherByID(1); |
| 469 ValidateUpdateFetcherRequest(backup_url_fetcher, kBackupHttpUrlPrefix); | 469 ValidateUpdateFetcherRequest(backup_url_fetcher, kBackupHttpUrlPrefix); |
| 470 | 470 |
| 471 // Respond to the backup unsuccessfully. | 471 // Respond to the backup unsuccessfully. |
| 472 backup_url_fetcher->set_status(net::URLRequestStatus()); | 472 backup_url_fetcher->set_status(net::URLRequestStatus()); |
| 473 backup_url_fetcher->set_response_code(404); | 473 backup_url_fetcher->set_response_code(404); |
| 474 backup_url_fetcher->SetResponseString(""); | 474 backup_url_fetcher->SetResponseString(std::string()); |
| 475 backup_url_fetcher->delegate()->OnURLFetchComplete(backup_url_fetcher); | 475 backup_url_fetcher->delegate()->OnURLFetchComplete(backup_url_fetcher); |
| 476 | 476 |
| 477 EXPECT_TRUE(pm->IsUpdateScheduled()); | 477 EXPECT_TRUE(pm->IsUpdateScheduled()); |
| 478 } | 478 } |
| 479 | 479 |
| 480 // Tests what happens when there is an HTTP error response to the update | 480 // Tests what happens when there is an HTTP error response to the update |
| 481 // request, followed by a successful response to the backup update request. | 481 // request, followed by a successful response to the backup update request. |
| 482 TEST_F(SafeBrowsingProtocolManagerTest, UpdateResponseHttpErrorBackupSuccess) { | 482 TEST_F(SafeBrowsingProtocolManagerTest, UpdateResponseHttpErrorBackupSuccess) { |
| 483 scoped_refptr<base::TestSimpleTaskRunner> runner( | 483 scoped_refptr<base::TestSimpleTaskRunner> runner( |
| 484 new base::TestSimpleTaskRunner()); | 484 new base::TestSimpleTaskRunner()); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 500 pm->ForceScheduleNextUpdate(TimeDelta()); | 500 pm->ForceScheduleNextUpdate(TimeDelta()); |
| 501 runner->RunPendingTasks(); | 501 runner->RunPendingTasks(); |
| 502 | 502 |
| 503 // We should have an URLFetcher at this point in time. | 503 // We should have an URLFetcher at this point in time. |
| 504 net::TestURLFetcher* url_fetcher = url_fetcher_factory.GetFetcherByID(0); | 504 net::TestURLFetcher* url_fetcher = url_fetcher_factory.GetFetcherByID(0); |
| 505 ValidateUpdateFetcherRequest(url_fetcher); | 505 ValidateUpdateFetcherRequest(url_fetcher); |
| 506 | 506 |
| 507 // Go ahead and respond to it. | 507 // Go ahead and respond to it. |
| 508 url_fetcher->set_status(net::URLRequestStatus()); | 508 url_fetcher->set_status(net::URLRequestStatus()); |
| 509 url_fetcher->set_response_code(404); | 509 url_fetcher->set_response_code(404); |
| 510 url_fetcher->SetResponseString(""); | 510 url_fetcher->SetResponseString(std::string()); |
| 511 url_fetcher->delegate()->OnURLFetchComplete(url_fetcher); | 511 url_fetcher->delegate()->OnURLFetchComplete(url_fetcher); |
| 512 | 512 |
| 513 // There should now be a backup request. | 513 // There should now be a backup request. |
| 514 net::TestURLFetcher* backup_url_fetcher = | 514 net::TestURLFetcher* backup_url_fetcher = |
| 515 url_fetcher_factory.GetFetcherByID(1); | 515 url_fetcher_factory.GetFetcherByID(1); |
| 516 ValidateUpdateFetcherRequest(backup_url_fetcher, | 516 ValidateUpdateFetcherRequest(backup_url_fetcher, |
| 517 kBackupHttpUrlPrefix); | 517 kBackupHttpUrlPrefix); |
| 518 | 518 |
| 519 // Respond to the backup successfully. | 519 // Respond to the backup successfully. |
| 520 backup_url_fetcher->set_status(net::URLRequestStatus()); | 520 backup_url_fetcher->set_status(net::URLRequestStatus()); |
| 521 backup_url_fetcher->set_response_code(200); | 521 backup_url_fetcher->set_response_code(200); |
| 522 backup_url_fetcher->SetResponseString(""); | 522 backup_url_fetcher->SetResponseString(std::string()); |
| 523 backup_url_fetcher->delegate()->OnURLFetchComplete(backup_url_fetcher); | 523 backup_url_fetcher->delegate()->OnURLFetchComplete(backup_url_fetcher); |
| 524 | 524 |
| 525 EXPECT_TRUE(pm->IsUpdateScheduled()); | 525 EXPECT_TRUE(pm->IsUpdateScheduled()); |
| 526 } | 526 } |
| 527 | 527 |
| 528 // Tests what happens when there is an HTTP error response to the update | 528 // Tests what happens when there is an HTTP error response to the update |
| 529 // request, and a timeout on the backup update request. | 529 // request, and a timeout on the backup update request. |
| 530 TEST_F(SafeBrowsingProtocolManagerTest, UpdateResponseHttpErrorBackupTimeout) { | 530 TEST_F(SafeBrowsingProtocolManagerTest, UpdateResponseHttpErrorBackupTimeout) { |
| 531 scoped_refptr<base::TestSimpleTaskRunner> runner( | 531 scoped_refptr<base::TestSimpleTaskRunner> runner( |
| 532 new base::TestSimpleTaskRunner()); | 532 new base::TestSimpleTaskRunner()); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 548 pm->ForceScheduleNextUpdate(TimeDelta()); | 548 pm->ForceScheduleNextUpdate(TimeDelta()); |
| 549 runner->RunPendingTasks(); | 549 runner->RunPendingTasks(); |
| 550 | 550 |
| 551 // We should have an URLFetcher at this point in time. | 551 // We should have an URLFetcher at this point in time. |
| 552 net::TestURLFetcher* url_fetcher = url_fetcher_factory.GetFetcherByID(0); | 552 net::TestURLFetcher* url_fetcher = url_fetcher_factory.GetFetcherByID(0); |
| 553 ValidateUpdateFetcherRequest(url_fetcher); | 553 ValidateUpdateFetcherRequest(url_fetcher); |
| 554 | 554 |
| 555 // Go ahead and respond to it. | 555 // Go ahead and respond to it. |
| 556 url_fetcher->set_status(net::URLRequestStatus()); | 556 url_fetcher->set_status(net::URLRequestStatus()); |
| 557 url_fetcher->set_response_code(404); | 557 url_fetcher->set_response_code(404); |
| 558 url_fetcher->SetResponseString(""); | 558 url_fetcher->SetResponseString(std::string()); |
| 559 url_fetcher->delegate()->OnURLFetchComplete(url_fetcher); | 559 url_fetcher->delegate()->OnURLFetchComplete(url_fetcher); |
| 560 | 560 |
| 561 // There should now be a backup request. | 561 // There should now be a backup request. |
| 562 net::TestURLFetcher* backup_url_fetcher = | 562 net::TestURLFetcher* backup_url_fetcher = |
| 563 url_fetcher_factory.GetFetcherByID(1); | 563 url_fetcher_factory.GetFetcherByID(1); |
| 564 ValidateUpdateFetcherRequest(backup_url_fetcher, kBackupHttpUrlPrefix); | 564 ValidateUpdateFetcherRequest(backup_url_fetcher, kBackupHttpUrlPrefix); |
| 565 | 565 |
| 566 // Either one or two calls to RunPendingTasks are needed here. The first run | 566 // Either one or two calls to RunPendingTasks are needed here. The first run |
| 567 // of RunPendingTasks will run the canceled timeout task associated with | 567 // of RunPendingTasks will run the canceled timeout task associated with |
| 568 // the first Update request. Depending on timing, this will either directly | 568 // the first Update request. Depending on timing, this will either directly |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 610 | 610 |
| 611 // There should be a backup URLFetcher now. | 611 // There should be a backup URLFetcher now. |
| 612 net::TestURLFetcher* backup_url_fetcher = | 612 net::TestURLFetcher* backup_url_fetcher = |
| 613 url_fetcher_factory.GetFetcherByID(1); | 613 url_fetcher_factory.GetFetcherByID(1); |
| 614 ValidateUpdateFetcherRequest(backup_url_fetcher, | 614 ValidateUpdateFetcherRequest(backup_url_fetcher, |
| 615 kBackupConnectUrlPrefix); | 615 kBackupConnectUrlPrefix); |
| 616 | 616 |
| 617 // Respond to the backup unsuccessfully. | 617 // Respond to the backup unsuccessfully. |
| 618 backup_url_fetcher->set_status(net::URLRequestStatus()); | 618 backup_url_fetcher->set_status(net::URLRequestStatus()); |
| 619 backup_url_fetcher->set_response_code(404); | 619 backup_url_fetcher->set_response_code(404); |
| 620 backup_url_fetcher->SetResponseString(""); | 620 backup_url_fetcher->SetResponseString(std::string()); |
| 621 backup_url_fetcher->delegate()->OnURLFetchComplete(backup_url_fetcher); | 621 backup_url_fetcher->delegate()->OnURLFetchComplete(backup_url_fetcher); |
| 622 | 622 |
| 623 EXPECT_TRUE(pm->IsUpdateScheduled()); | 623 EXPECT_TRUE(pm->IsUpdateScheduled()); |
| 624 } | 624 } |
| 625 | 625 |
| 626 // Tests what happens when there is a connection error when issuing the update | 626 // Tests what happens when there is a connection error when issuing the update |
| 627 // request, and a successful response to the backup update request. | 627 // request, and a successful response to the backup update request. |
| 628 TEST_F(SafeBrowsingProtocolManagerTest, | 628 TEST_F(SafeBrowsingProtocolManagerTest, |
| 629 UpdateResponseConnectionErrorBackupSuccess) { | 629 UpdateResponseConnectionErrorBackupSuccess) { |
| 630 scoped_refptr<base::TestSimpleTaskRunner> runner( | 630 scoped_refptr<base::TestSimpleTaskRunner> runner( |
| (...skipping 27 matching lines...) Expand all Loading... |
| 658 | 658 |
| 659 // There should be a backup URLFetcher now. | 659 // There should be a backup URLFetcher now. |
| 660 net::TestURLFetcher* backup_url_fetcher = | 660 net::TestURLFetcher* backup_url_fetcher = |
| 661 url_fetcher_factory.GetFetcherByID(1); | 661 url_fetcher_factory.GetFetcherByID(1); |
| 662 ValidateUpdateFetcherRequest(backup_url_fetcher, | 662 ValidateUpdateFetcherRequest(backup_url_fetcher, |
| 663 kBackupConnectUrlPrefix); | 663 kBackupConnectUrlPrefix); |
| 664 | 664 |
| 665 // Respond to the backup unsuccessfully. | 665 // Respond to the backup unsuccessfully. |
| 666 backup_url_fetcher->set_status(net::URLRequestStatus()); | 666 backup_url_fetcher->set_status(net::URLRequestStatus()); |
| 667 backup_url_fetcher->set_response_code(200); | 667 backup_url_fetcher->set_response_code(200); |
| 668 backup_url_fetcher->SetResponseString(""); | 668 backup_url_fetcher->SetResponseString(std::string()); |
| 669 backup_url_fetcher->delegate()->OnURLFetchComplete(backup_url_fetcher); | 669 backup_url_fetcher->delegate()->OnURLFetchComplete(backup_url_fetcher); |
| 670 | 670 |
| 671 EXPECT_TRUE(pm->IsUpdateScheduled()); | 671 EXPECT_TRUE(pm->IsUpdateScheduled()); |
| 672 } | 672 } |
| 673 // Tests what happens when there is a network state error when issuing the | 673 // Tests what happens when there is a network state error when issuing the |
| 674 // update request, and an error with the backup update request. | 674 // update request, and an error with the backup update request. |
| 675 TEST_F(SafeBrowsingProtocolManagerTest, | 675 TEST_F(SafeBrowsingProtocolManagerTest, |
| 676 UpdateResponseNetworkErrorBackupError) { | 676 UpdateResponseNetworkErrorBackupError) { |
| 677 scoped_refptr<base::TestSimpleTaskRunner> runner( | 677 scoped_refptr<base::TestSimpleTaskRunner> runner( |
| 678 new base::TestSimpleTaskRunner()); | 678 new base::TestSimpleTaskRunner()); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 706 | 706 |
| 707 // There should be a backup URLFetcher now. | 707 // There should be a backup URLFetcher now. |
| 708 net::TestURLFetcher* backup_url_fetcher = | 708 net::TestURLFetcher* backup_url_fetcher = |
| 709 url_fetcher_factory.GetFetcherByID(1); | 709 url_fetcher_factory.GetFetcherByID(1); |
| 710 ValidateUpdateFetcherRequest(backup_url_fetcher, | 710 ValidateUpdateFetcherRequest(backup_url_fetcher, |
| 711 kBackupNetworkUrlPrefix); | 711 kBackupNetworkUrlPrefix); |
| 712 | 712 |
| 713 // Respond to the backup unsuccessfully. | 713 // Respond to the backup unsuccessfully. |
| 714 backup_url_fetcher->set_status(net::URLRequestStatus()); | 714 backup_url_fetcher->set_status(net::URLRequestStatus()); |
| 715 backup_url_fetcher->set_response_code(404); | 715 backup_url_fetcher->set_response_code(404); |
| 716 backup_url_fetcher->SetResponseString(""); | 716 backup_url_fetcher->SetResponseString(std::string()); |
| 717 backup_url_fetcher->delegate()->OnURLFetchComplete(backup_url_fetcher); | 717 backup_url_fetcher->delegate()->OnURLFetchComplete(backup_url_fetcher); |
| 718 | 718 |
| 719 EXPECT_TRUE(pm->IsUpdateScheduled()); | 719 EXPECT_TRUE(pm->IsUpdateScheduled()); |
| 720 } | 720 } |
| 721 | 721 |
| 722 // Tests what happens when there is a network state error when issuing the | 722 // Tests what happens when there is a network state error when issuing the |
| 723 // update request, and a successful response to the backup update request. | 723 // update request, and a successful response to the backup update request. |
| 724 TEST_F(SafeBrowsingProtocolManagerTest, | 724 TEST_F(SafeBrowsingProtocolManagerTest, |
| 725 UpdateResponseNetworkErrorBackupSuccess) { | 725 UpdateResponseNetworkErrorBackupSuccess) { |
| 726 scoped_refptr<base::TestSimpleTaskRunner> runner( | 726 scoped_refptr<base::TestSimpleTaskRunner> runner( |
| (...skipping 28 matching lines...) Expand all Loading... |
| 755 | 755 |
| 756 // There should be a backup URLFetcher now. | 756 // There should be a backup URLFetcher now. |
| 757 net::TestURLFetcher* backup_url_fetcher = | 757 net::TestURLFetcher* backup_url_fetcher = |
| 758 url_fetcher_factory.GetFetcherByID(1); | 758 url_fetcher_factory.GetFetcherByID(1); |
| 759 ValidateUpdateFetcherRequest(backup_url_fetcher, | 759 ValidateUpdateFetcherRequest(backup_url_fetcher, |
| 760 kBackupNetworkUrlPrefix); | 760 kBackupNetworkUrlPrefix); |
| 761 | 761 |
| 762 // Respond to the backup unsuccessfully. | 762 // Respond to the backup unsuccessfully. |
| 763 backup_url_fetcher->set_status(net::URLRequestStatus()); | 763 backup_url_fetcher->set_status(net::URLRequestStatus()); |
| 764 backup_url_fetcher->set_response_code(200); | 764 backup_url_fetcher->set_response_code(200); |
| 765 backup_url_fetcher->SetResponseString(""); | 765 backup_url_fetcher->SetResponseString(std::string()); |
| 766 backup_url_fetcher->delegate()->OnURLFetchComplete(backup_url_fetcher); | 766 backup_url_fetcher->delegate()->OnURLFetchComplete(backup_url_fetcher); |
| 767 | 767 |
| 768 EXPECT_TRUE(pm->IsUpdateScheduled()); | 768 EXPECT_TRUE(pm->IsUpdateScheduled()); |
| 769 } | 769 } |
| 770 | 770 |
| 771 // Tests what happens when there is a timeout before an update response. | 771 // Tests what happens when there is a timeout before an update response. |
| 772 TEST_F(SafeBrowsingProtocolManagerTest, UpdateResponseTimeoutBackupSuccess) { | 772 TEST_F(SafeBrowsingProtocolManagerTest, UpdateResponseTimeoutBackupSuccess) { |
| 773 scoped_refptr<base::TestSimpleTaskRunner> runner( | 773 scoped_refptr<base::TestSimpleTaskRunner> runner( |
| 774 new base::TestSimpleTaskRunner()); | 774 new base::TestSimpleTaskRunner()); |
| 775 base::ThreadTaskRunnerHandle runner_handler(runner); | 775 base::ThreadTaskRunnerHandle runner_handler(runner); |
| (...skipping 24 matching lines...) Expand all Loading... |
| 800 | 800 |
| 801 // There should be a backup URLFetcher now. | 801 // There should be a backup URLFetcher now. |
| 802 net::TestURLFetcher* backup_url_fetcher = | 802 net::TestURLFetcher* backup_url_fetcher = |
| 803 url_fetcher_factory.GetFetcherByID(1); | 803 url_fetcher_factory.GetFetcherByID(1); |
| 804 ValidateUpdateFetcherRequest(backup_url_fetcher, | 804 ValidateUpdateFetcherRequest(backup_url_fetcher, |
| 805 kBackupConnectUrlPrefix); | 805 kBackupConnectUrlPrefix); |
| 806 | 806 |
| 807 // Respond to the backup unsuccessfully. | 807 // Respond to the backup unsuccessfully. |
| 808 backup_url_fetcher->set_status(net::URLRequestStatus()); | 808 backup_url_fetcher->set_status(net::URLRequestStatus()); |
| 809 backup_url_fetcher->set_response_code(200); | 809 backup_url_fetcher->set_response_code(200); |
| 810 backup_url_fetcher->SetResponseString(""); | 810 backup_url_fetcher->SetResponseString(std::string()); |
| 811 backup_url_fetcher->delegate()->OnURLFetchComplete(backup_url_fetcher); | 811 backup_url_fetcher->delegate()->OnURLFetchComplete(backup_url_fetcher); |
| 812 | 812 |
| 813 EXPECT_TRUE(pm->IsUpdateScheduled()); | 813 EXPECT_TRUE(pm->IsUpdateScheduled()); |
| 814 } | 814 } |
| 815 | 815 |
| 816 // Tests what happens when there is a reset command in the response. | 816 // Tests what happens when there is a reset command in the response. |
| 817 TEST_F(SafeBrowsingProtocolManagerTest, UpdateResponseReset) { | 817 TEST_F(SafeBrowsingProtocolManagerTest, UpdateResponseReset) { |
| 818 scoped_refptr<base::TestSimpleTaskRunner> runner( | 818 scoped_refptr<base::TestSimpleTaskRunner> runner( |
| 819 new base::TestSimpleTaskRunner()); | 819 new base::TestSimpleTaskRunner()); |
| 820 base::ThreadTaskRunnerHandle runner_handler(runner); | 820 base::ThreadTaskRunnerHandle runner_handler(runner); |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 881 "u:redirect-server.example.com/path\n"); | 881 "u:redirect-server.example.com/path\n"); |
| 882 url_fetcher->delegate()->OnURLFetchComplete(url_fetcher); | 882 url_fetcher->delegate()->OnURLFetchComplete(url_fetcher); |
| 883 | 883 |
| 884 // The redirect response contains an empty body. | 884 // The redirect response contains an empty body. |
| 885 net::TestURLFetcher* chunk_url_fetcher = | 885 net::TestURLFetcher* chunk_url_fetcher = |
| 886 url_fetcher_factory.GetFetcherByID(1); | 886 url_fetcher_factory.GetFetcherByID(1); |
| 887 ValidateRedirectFetcherRequest( | 887 ValidateRedirectFetcherRequest( |
| 888 chunk_url_fetcher, "https://redirect-server.example.com/path"); | 888 chunk_url_fetcher, "https://redirect-server.example.com/path"); |
| 889 chunk_url_fetcher->set_status(net::URLRequestStatus()); | 889 chunk_url_fetcher->set_status(net::URLRequestStatus()); |
| 890 chunk_url_fetcher->set_response_code(200); | 890 chunk_url_fetcher->set_response_code(200); |
| 891 chunk_url_fetcher->SetResponseString(""); | 891 chunk_url_fetcher->SetResponseString(std::string()); |
| 892 chunk_url_fetcher->delegate()->OnURLFetchComplete(chunk_url_fetcher); | 892 chunk_url_fetcher->delegate()->OnURLFetchComplete(chunk_url_fetcher); |
| 893 | 893 |
| 894 EXPECT_TRUE(pm->IsUpdateScheduled()); | 894 EXPECT_TRUE(pm->IsUpdateScheduled()); |
| 895 } | 895 } |
| 896 | 896 |
| 897 // Tests a single valid update response, followed by a single redirect response | 897 // Tests a single valid update response, followed by a single redirect response |
| 898 // that has an invalid body. | 898 // that has an invalid body. |
| 899 TEST_F(SafeBrowsingProtocolManagerTest, InvalidRedirectResponse) { | 899 TEST_F(SafeBrowsingProtocolManagerTest, InvalidRedirectResponse) { |
| 900 scoped_refptr<base::TestSimpleTaskRunner> runner( | 900 scoped_refptr<base::TestSimpleTaskRunner> runner( |
| 901 new base::TestSimpleTaskRunner()); | 901 new base::TestSimpleTaskRunner()); |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1062 second_chunk_url_fetcher->delegate()->OnURLFetchComplete( | 1062 second_chunk_url_fetcher->delegate()->OnURLFetchComplete( |
| 1063 second_chunk_url_fetcher); | 1063 second_chunk_url_fetcher); |
| 1064 | 1064 |
| 1065 EXPECT_FALSE(pm->IsUpdateScheduled()); | 1065 EXPECT_FALSE(pm->IsUpdateScheduled()); |
| 1066 | 1066 |
| 1067 // Invoke the AddChunksCallback to finish the update. | 1067 // Invoke the AddChunksCallback to finish the update. |
| 1068 runner->RunPendingTasks(); | 1068 runner->RunPendingTasks(); |
| 1069 | 1069 |
| 1070 EXPECT_TRUE(pm->IsUpdateScheduled()); | 1070 EXPECT_TRUE(pm->IsUpdateScheduled()); |
| 1071 } | 1071 } |
| OLD | NEW |