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

Side by Side Diff: chrome/browser/safe_browsing/download_protection_service_unittest.cc

Issue 1348683003: enable download protection on CrOS (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: disable download protection in test 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
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 "chrome/browser/safe_browsing/download_protection_service.h" 5 #include "chrome/browser/safe_browsing/download_protection_service.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 #include <map> 8 #include <map>
9 #include <string> 9 #include <string>
10 10
(...skipping 514 matching lines...) Expand 10 before | Expand all | Expand 10 after
525 .WillRepeatedly(Return(true)); 525 .WillRepeatedly(Return(true));
526 526
527 // With no referrer and just the bad url, should be marked DANGEROUS. 527 // With no referrer and just the bad url, should be marked DANGEROUS.
528 url_chain.push_back(GURL("http://www.evil.com/bla.exe")); 528 url_chain.push_back(GURL("http://www.evil.com/bla.exe"));
529 download_service_->CheckClientDownload( 529 download_service_->CheckClientDownload(
530 &item, 530 &item,
531 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, 531 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback,
532 base::Unretained(this))); 532 base::Unretained(this)));
533 MessageLoop::current()->Run(); 533 MessageLoop::current()->Run();
534 534
535 #if defined(OS_WIN) || defined(OS_MACOSX) 535 #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
536 EXPECT_TRUE(IsResult(DownloadProtectionService::DANGEROUS)); 536 EXPECT_TRUE(IsResult(DownloadProtectionService::DANGEROUS));
537 EXPECT_TRUE(HasClientDownloadRequest()); 537 EXPECT_TRUE(HasClientDownloadRequest());
538 ClearClientDownloadRequest(); 538 ClearClientDownloadRequest();
539 #else 539 #else
540 EXPECT_TRUE(IsResult(DownloadProtectionService::UNKNOWN)); 540 EXPECT_TRUE(IsResult(DownloadProtectionService::UNKNOWN));
541 EXPECT_FALSE(HasClientDownloadRequest()); 541 EXPECT_FALSE(HasClientDownloadRequest());
542 #endif 542 #endif
543 543
544 // Check that the referrer is not matched against the whitelist. 544 // Check that the referrer is not matched against the whitelist.
545 referrer = GURL("http://www.google.com/"); 545 referrer = GURL("http://www.google.com/");
546 download_service_->CheckClientDownload( 546 download_service_->CheckClientDownload(
547 &item, 547 &item,
548 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, 548 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback,
549 base::Unretained(this))); 549 base::Unretained(this)));
550 MessageLoop::current()->Run(); 550 MessageLoop::current()->Run();
551 551
552 #if defined(OS_WIN) || defined(OS_MACOSX) 552 #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
553 EXPECT_TRUE(IsResult(DownloadProtectionService::DANGEROUS)); 553 EXPECT_TRUE(IsResult(DownloadProtectionService::DANGEROUS));
554 EXPECT_TRUE(HasClientDownloadRequest()); 554 EXPECT_TRUE(HasClientDownloadRequest());
555 ClearClientDownloadRequest(); 555 ClearClientDownloadRequest();
556 #else 556 #else
557 EXPECT_TRUE(IsResult(DownloadProtectionService::UNKNOWN)); 557 EXPECT_TRUE(IsResult(DownloadProtectionService::UNKNOWN));
558 EXPECT_FALSE(HasClientDownloadRequest()); 558 EXPECT_FALSE(HasClientDownloadRequest());
559 #endif 559 #endif
560 560
561 // Redirect from a site shouldn't be checked either. 561 // Redirect from a site shouldn't be checked either.
562 url_chain.insert(url_chain.begin(), GURL("http://www.google.com/redirect")); 562 url_chain.insert(url_chain.begin(), GURL("http://www.google.com/redirect"));
563 download_service_->CheckClientDownload( 563 download_service_->CheckClientDownload(
564 &item, 564 &item,
565 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, 565 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback,
566 base::Unretained(this))); 566 base::Unretained(this)));
567 MessageLoop::current()->Run(); 567 MessageLoop::current()->Run();
568 568
569 #if defined(OS_WIN) || defined(OS_MACOSX) 569 #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
570 EXPECT_TRUE(IsResult(DownloadProtectionService::DANGEROUS)); 570 EXPECT_TRUE(IsResult(DownloadProtectionService::DANGEROUS));
571 EXPECT_TRUE(HasClientDownloadRequest()); 571 EXPECT_TRUE(HasClientDownloadRequest());
572 ClearClientDownloadRequest(); 572 ClearClientDownloadRequest();
573 #else 573 #else
574 EXPECT_TRUE(IsResult(DownloadProtectionService::UNKNOWN)); 574 EXPECT_TRUE(IsResult(DownloadProtectionService::UNKNOWN));
575 EXPECT_FALSE(HasClientDownloadRequest()); 575 EXPECT_FALSE(HasClientDownloadRequest());
576 #endif 576 #endif
577 577
578 // Only if the final url is whitelisted should it be SAFE. 578 // Only if the final url is whitelisted should it be SAFE.
579 url_chain.push_back(GURL("http://www.google.com/a.exe")); 579 url_chain.push_back(GURL("http://www.google.com/a.exe"));
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
671 ExtractImageFeatures( 671 ExtractImageFeatures(
672 a_tmp, BinaryFeatureExtractor::kDefaultOptions, _, _)) 672 a_tmp, BinaryFeatureExtractor::kDefaultOptions, _, _))
673 .Times(6); 673 .Times(6);
674 674
675 download_service_->CheckClientDownload( 675 download_service_->CheckClientDownload(
676 &item, 676 &item,
677 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, 677 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback,
678 base::Unretained(this))); 678 base::Unretained(this)));
679 MessageLoop::current()->Run(); 679 MessageLoop::current()->Run();
680 680
681 #if defined(OS_WIN) || defined(OS_MACOSX) 681 #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
682 EXPECT_TRUE(IsResult(DownloadProtectionService::SAFE)); 682 EXPECT_TRUE(IsResult(DownloadProtectionService::SAFE));
683 EXPECT_TRUE(HasClientDownloadRequest()); 683 EXPECT_TRUE(HasClientDownloadRequest());
684 ClearClientDownloadRequest(); 684 ClearClientDownloadRequest();
685 #else 685 #else
686 // On !(OS_WIN || OS_MACOSX), no file types are currently supported. Hence all 686 // On !(OS_WIN || OS_MACOSX) || defined(OS_CHROMEOS),
687 // no file types are currently supported. Hence all
687 // requests to CheckClientDownload() result in a verdict of UNKNOWN. 688 // requests to CheckClientDownload() result in a verdict of UNKNOWN.
688 EXPECT_TRUE(IsResult(DownloadProtectionService::UNKNOWN)); 689 EXPECT_TRUE(IsResult(DownloadProtectionService::UNKNOWN));
689 EXPECT_FALSE(HasClientDownloadRequest()); 690 EXPECT_FALSE(HasClientDownloadRequest());
690 #endif 691 #endif
691 692
692 // Invalid response should result in UNKNOWN. 693 // Invalid response should result in UNKNOWN.
693 response.Clear(); 694 response.Clear();
694 factory.SetFakeResponse( 695 factory.SetFakeResponse(
695 DownloadProtectionService::GetDownloadRequestUrl(), 696 DownloadProtectionService::GetDownloadRequestUrl(),
696 response.SerializePartialAsString(), 697 response.SerializePartialAsString(),
697 net::HTTP_OK, net::URLRequestStatus::SUCCESS); 698 net::HTTP_OK, net::URLRequestStatus::SUCCESS);
698 699
699 download_service_->CheckClientDownload( 700 download_service_->CheckClientDownload(
700 &item, 701 &item,
701 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, 702 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback,
702 base::Unretained(this))); 703 base::Unretained(this)));
703 MessageLoop::current()->Run(); 704 MessageLoop::current()->Run();
704 EXPECT_TRUE(IsResult(DownloadProtectionService::UNKNOWN)); 705 EXPECT_TRUE(IsResult(DownloadProtectionService::UNKNOWN));
705 #if defined(OS_WIN) || defined(OS_MACOSX) 706 #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
706 EXPECT_TRUE(HasClientDownloadRequest()); 707 EXPECT_TRUE(HasClientDownloadRequest());
707 ClearClientDownloadRequest(); 708 ClearClientDownloadRequest();
708 #else 709 #else
709 EXPECT_FALSE(HasClientDownloadRequest()); 710 EXPECT_FALSE(HasClientDownloadRequest());
710 #endif 711 #endif
711 std::string feedback_ping; 712 std::string feedback_ping;
712 std::string feedback_response; 713 std::string feedback_response;
713 EXPECT_FALSE(DownloadFeedbackService::GetPingsForDownloadForTesting( 714 EXPECT_FALSE(DownloadFeedbackService::GetPingsForDownloadForTesting(
714 item, &feedback_ping, &feedback_response)); 715 item, &feedback_ping, &feedback_response));
715 716
716 // If the response is dangerous the result should also be marked as dangerous. 717 // If the response is dangerous the result should also be marked as dangerous.
717 response.set_verdict(ClientDownloadResponse::DANGEROUS); 718 response.set_verdict(ClientDownloadResponse::DANGEROUS);
718 factory.SetFakeResponse( 719 factory.SetFakeResponse(
719 DownloadProtectionService::GetDownloadRequestUrl(), 720 DownloadProtectionService::GetDownloadRequestUrl(),
720 response.SerializeAsString(), 721 response.SerializeAsString(),
721 net::HTTP_OK, net::URLRequestStatus::SUCCESS); 722 net::HTTP_OK, net::URLRequestStatus::SUCCESS);
722 723
723 download_service_->CheckClientDownload( 724 download_service_->CheckClientDownload(
724 &item, 725 &item,
725 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, 726 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback,
726 base::Unretained(this))); 727 base::Unretained(this)));
727 MessageLoop::current()->Run(); 728 MessageLoop::current()->Run();
728 EXPECT_FALSE(DownloadFeedbackService::GetPingsForDownloadForTesting( 729 EXPECT_FALSE(DownloadFeedbackService::GetPingsForDownloadForTesting(
729 item, &feedback_ping, &feedback_response)); 730 item, &feedback_ping, &feedback_response));
730 731
731 #if defined(OS_WIN) || defined(OS_MACOSX) 732 #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
732 EXPECT_TRUE(IsResult(DownloadProtectionService::DANGEROUS)); 733 EXPECT_TRUE(IsResult(DownloadProtectionService::DANGEROUS));
733 EXPECT_TRUE(HasClientDownloadRequest()); 734 EXPECT_TRUE(HasClientDownloadRequest());
734 ClearClientDownloadRequest(); 735 ClearClientDownloadRequest();
735 #else 736 #else
736 EXPECT_TRUE(IsResult(DownloadProtectionService::UNKNOWN)); 737 EXPECT_TRUE(IsResult(DownloadProtectionService::UNKNOWN));
737 EXPECT_FALSE(HasClientDownloadRequest()); 738 EXPECT_FALSE(HasClientDownloadRequest());
738 #endif 739 #endif
739 740
740 // If the response is uncommon the result should also be marked as uncommon. 741 // If the response is uncommon the result should also be marked as uncommon.
741 response.set_verdict(ClientDownloadResponse::UNCOMMON); 742 response.set_verdict(ClientDownloadResponse::UNCOMMON);
742 factory.SetFakeResponse( 743 factory.SetFakeResponse(
743 DownloadProtectionService::GetDownloadRequestUrl(), 744 DownloadProtectionService::GetDownloadRequestUrl(),
744 response.SerializeAsString(), 745 response.SerializeAsString(),
745 net::HTTP_OK, net::URLRequestStatus::SUCCESS); 746 net::HTTP_OK, net::URLRequestStatus::SUCCESS);
746 747
747 download_service_->CheckClientDownload( 748 download_service_->CheckClientDownload(
748 &item, 749 &item,
749 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, 750 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback,
750 base::Unretained(this))); 751 base::Unretained(this)));
751 MessageLoop::current()->Run(); 752 MessageLoop::current()->Run();
752 #if defined(OS_WIN) || defined(OS_MACOSX) 753 #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
753 EXPECT_TRUE(IsResult(DownloadProtectionService::UNCOMMON)); 754 EXPECT_TRUE(IsResult(DownloadProtectionService::UNCOMMON));
754 EXPECT_TRUE(DownloadFeedbackService::GetPingsForDownloadForTesting( 755 EXPECT_TRUE(DownloadFeedbackService::GetPingsForDownloadForTesting(
755 item, &feedback_ping, &feedback_response)); 756 item, &feedback_ping, &feedback_response));
756 ClientDownloadRequest decoded_request; 757 ClientDownloadRequest decoded_request;
757 EXPECT_TRUE(decoded_request.ParseFromString(feedback_ping)); 758 EXPECT_TRUE(decoded_request.ParseFromString(feedback_ping));
758 EXPECT_EQ(url_chain.back().spec(), decoded_request.url()); 759 EXPECT_EQ(url_chain.back().spec(), decoded_request.url());
759 EXPECT_EQ(response.SerializeAsString(), feedback_response); 760 EXPECT_EQ(response.SerializeAsString(), feedback_response);
760 EXPECT_TRUE(HasClientDownloadRequest()); 761 EXPECT_TRUE(HasClientDownloadRequest());
761 ClearClientDownloadRequest(); 762 ClearClientDownloadRequest();
762 #else 763 #else
763 EXPECT_TRUE(IsResult(DownloadProtectionService::UNKNOWN)); 764 EXPECT_TRUE(IsResult(DownloadProtectionService::UNKNOWN));
764 #endif 765 #endif
765 766
766 // If the response is dangerous_host the result should also be marked as 767 // If the response is dangerous_host the result should also be marked as
767 // dangerous_host. 768 // dangerous_host.
768 response.set_verdict(ClientDownloadResponse::DANGEROUS_HOST); 769 response.set_verdict(ClientDownloadResponse::DANGEROUS_HOST);
769 factory.SetFakeResponse( 770 factory.SetFakeResponse(
770 DownloadProtectionService::GetDownloadRequestUrl(), 771 DownloadProtectionService::GetDownloadRequestUrl(),
771 response.SerializeAsString(), 772 response.SerializeAsString(),
772 net::HTTP_OK, net::URLRequestStatus::SUCCESS); 773 net::HTTP_OK, net::URLRequestStatus::SUCCESS);
773 774
774 download_service_->CheckClientDownload( 775 download_service_->CheckClientDownload(
775 &item, 776 &item,
776 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, 777 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback,
777 base::Unretained(this))); 778 base::Unretained(this)));
778 MessageLoop::current()->Run(); 779 MessageLoop::current()->Run();
779 #if defined(OS_WIN) || defined(OS_MACOSX) 780 #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
780 EXPECT_TRUE(IsResult(DownloadProtectionService::DANGEROUS_HOST)); 781 EXPECT_TRUE(IsResult(DownloadProtectionService::DANGEROUS_HOST));
781 EXPECT_TRUE(DownloadFeedbackService::GetPingsForDownloadForTesting( 782 EXPECT_TRUE(DownloadFeedbackService::GetPingsForDownloadForTesting(
782 item, &feedback_ping, &feedback_response)); 783 item, &feedback_ping, &feedback_response));
783 EXPECT_EQ(response.SerializeAsString(), feedback_response); 784 EXPECT_EQ(response.SerializeAsString(), feedback_response);
784 EXPECT_TRUE(HasClientDownloadRequest()); 785 EXPECT_TRUE(HasClientDownloadRequest());
785 ClearClientDownloadRequest(); 786 ClearClientDownloadRequest();
786 #else 787 #else
787 EXPECT_TRUE(IsResult(DownloadProtectionService::UNKNOWN)); 788 EXPECT_TRUE(IsResult(DownloadProtectionService::UNKNOWN));
788 #endif 789 #endif
789 790
790 // If the response is POTENTIALLY_UNWANTED the result should also be marked as 791 // If the response is POTENTIALLY_UNWANTED the result should also be marked as
791 // POTENTIALLY_UNWANTED. 792 // POTENTIALLY_UNWANTED.
792 response.set_verdict(ClientDownloadResponse::POTENTIALLY_UNWANTED); 793 response.set_verdict(ClientDownloadResponse::POTENTIALLY_UNWANTED);
793 factory.SetFakeResponse( 794 factory.SetFakeResponse(
794 DownloadProtectionService::GetDownloadRequestUrl(), 795 DownloadProtectionService::GetDownloadRequestUrl(),
795 response.SerializeAsString(), 796 response.SerializeAsString(),
796 net::HTTP_OK, net::URLRequestStatus::SUCCESS); 797 net::HTTP_OK, net::URLRequestStatus::SUCCESS);
797 798
798 download_service_->CheckClientDownload( 799 download_service_->CheckClientDownload(
799 &item, 800 &item,
800 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, 801 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback,
801 base::Unretained(this))); 802 base::Unretained(this)));
802 MessageLoop::current()->Run(); 803 MessageLoop::current()->Run();
803 804
804 #if defined(OS_WIN) || defined(OS_MACOSX) 805 #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
805 EXPECT_TRUE(IsResult(DownloadProtectionService::POTENTIALLY_UNWANTED)); 806 EXPECT_TRUE(IsResult(DownloadProtectionService::POTENTIALLY_UNWANTED));
806 EXPECT_TRUE(HasClientDownloadRequest()); 807 EXPECT_TRUE(HasClientDownloadRequest());
807 ClearClientDownloadRequest(); 808 ClearClientDownloadRequest();
808 #else 809 #else
809 EXPECT_TRUE(IsResult(DownloadProtectionService::UNKNOWN)); 810 EXPECT_TRUE(IsResult(DownloadProtectionService::UNKNOWN));
810 EXPECT_FALSE(HasClientDownloadRequest()); 811 EXPECT_FALSE(HasClientDownloadRequest());
811 #endif 812 #endif
812 } 813 }
813 814
814 TEST_F(DownloadProtectionServiceTest, CheckClientDownloadHTTPS) { 815 TEST_F(DownloadProtectionServiceTest, CheckClientDownloadHTTPS) {
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
849 ExtractImageFeatures( 850 ExtractImageFeatures(
850 a_tmp, BinaryFeatureExtractor::kDefaultOptions, _, _)) 851 a_tmp, BinaryFeatureExtractor::kDefaultOptions, _, _))
851 .Times(1); 852 .Times(1);
852 853
853 download_service_->CheckClientDownload( 854 download_service_->CheckClientDownload(
854 &item, 855 &item,
855 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, 856 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback,
856 base::Unretained(this))); 857 base::Unretained(this)));
857 MessageLoop::current()->Run(); 858 MessageLoop::current()->Run();
858 859
859 #if defined(OS_WIN) || defined(OS_MACOSX) 860 #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
860 EXPECT_TRUE(IsResult(DownloadProtectionService::DANGEROUS)); 861 EXPECT_TRUE(IsResult(DownloadProtectionService::DANGEROUS));
861 EXPECT_TRUE(HasClientDownloadRequest()); 862 EXPECT_TRUE(HasClientDownloadRequest());
862 ClearClientDownloadRequest(); 863 ClearClientDownloadRequest();
863 #else 864 #else
864 EXPECT_TRUE(IsResult(DownloadProtectionService::UNKNOWN)); 865 EXPECT_TRUE(IsResult(DownloadProtectionService::UNKNOWN));
865 EXPECT_FALSE(HasClientDownloadRequest()); 866 EXPECT_FALSE(HasClientDownloadRequest());
866 #endif 867 #endif
867 } 868 }
868 869
869 TEST_F(DownloadProtectionServiceTest, CheckClientDownloadBlob) { 870 TEST_F(DownloadProtectionServiceTest, CheckClientDownloadBlob) {
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
903 ExtractImageFeatures( 904 ExtractImageFeatures(
904 a_tmp, BinaryFeatureExtractor::kDefaultOptions, _, _)) 905 a_tmp, BinaryFeatureExtractor::kDefaultOptions, _, _))
905 .Times(1); 906 .Times(1);
906 907
907 download_service_->CheckClientDownload( 908 download_service_->CheckClientDownload(
908 &item, 909 &item,
909 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, 910 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback,
910 base::Unretained(this))); 911 base::Unretained(this)));
911 MessageLoop::current()->Run(); 912 MessageLoop::current()->Run();
912 913
913 #if defined(OS_WIN) || defined(OS_MACOSX) 914 #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
914 EXPECT_TRUE(IsResult(DownloadProtectionService::DANGEROUS)); 915 EXPECT_TRUE(IsResult(DownloadProtectionService::DANGEROUS));
915 EXPECT_TRUE(HasClientDownloadRequest()); 916 EXPECT_TRUE(HasClientDownloadRequest());
916 ClearClientDownloadRequest(); 917 ClearClientDownloadRequest();
917 #else 918 #else
918 EXPECT_TRUE(IsResult(DownloadProtectionService::UNKNOWN)); 919 EXPECT_TRUE(IsResult(DownloadProtectionService::UNKNOWN));
919 EXPECT_FALSE(HasClientDownloadRequest()); 920 EXPECT_FALSE(HasClientDownloadRequest());
920 #endif 921 #endif
921 } 922 }
922 923
923 TEST_F(DownloadProtectionServiceTest, CheckClientDownloadData) { 924 TEST_F(DownloadProtectionServiceTest, CheckClientDownloadData) {
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
961 ExtractImageFeatures( 962 ExtractImageFeatures(
962 a_tmp, BinaryFeatureExtractor::kDefaultOptions, _, _)) 963 a_tmp, BinaryFeatureExtractor::kDefaultOptions, _, _))
963 .Times(1); 964 .Times(1);
964 965
965 download_service_->CheckClientDownload( 966 download_service_->CheckClientDownload(
966 &item, 967 &item,
967 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, 968 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback,
968 base::Unretained(this))); 969 base::Unretained(this)));
969 MessageLoop::current()->Run(); 970 MessageLoop::current()->Run();
970 971
971 #if defined(OS_WIN) || defined(OS_MACOSX) 972 #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
972 EXPECT_TRUE(IsResult(DownloadProtectionService::DANGEROUS)); 973 EXPECT_TRUE(IsResult(DownloadProtectionService::DANGEROUS));
973 ASSERT_TRUE(HasClientDownloadRequest()); 974 ASSERT_TRUE(HasClientDownloadRequest());
974 const ClientDownloadRequest& request = *GetClientDownloadRequest(); 975 const ClientDownloadRequest& request = *GetClientDownloadRequest();
975 const char kExpectedUrl[] = 976 const char kExpectedUrl[] =
976 "data:application/octet-stream:base64," 977 "data:application/octet-stream:base64,"
977 "ACBF6DFC6F907662F566CA0241DFE8690C48661F440BA1BBD0B86C582845CCC8"; 978 "ACBF6DFC6F907662F566CA0241DFE8690C48661F440BA1BBD0B86C582845CCC8";
978 const char kExpectedRedirect1[] = "data:text/html:base64,"; 979 const char kExpectedRedirect1[] = "data:text/html:base64,";
979 const char kExpectedRedirect2[] = 980 const char kExpectedRedirect2[] =
980 "data:text/html:base64," 981 "data:text/html:base64,"
981 "620680767E15717A57DB11D94D1BEBD32B3344EBC5994DF4FB07B0D473F4EF6B"; 982 "620680767E15717A57DB11D94D1BEBD32B3344EBC5994DF4FB07B0D473F4EF6B";
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
1063 EXPECT_CALL(*sb_service_->mock_database_manager(), 1064 EXPECT_CALL(*sb_service_->mock_database_manager(),
1064 MatchDownloadWhitelistUrl(_)) 1065 MatchDownloadWhitelistUrl(_))
1065 .WillRepeatedly(Return(false)); 1066 .WillRepeatedly(Return(false));
1066 1067
1067 download_service_->CheckClientDownload( 1068 download_service_->CheckClientDownload(
1068 &item, 1069 &item,
1069 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, 1070 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback,
1070 base::Unretained(this))); 1071 base::Unretained(this)));
1071 MessageLoop::current()->Run(); 1072 MessageLoop::current()->Run();
1072 1073
1073 #if defined(OS_WIN) || defined(OS_MACOSX) 1074 #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
1074 EXPECT_TRUE(IsResult(DownloadProtectionService::SAFE)); 1075 EXPECT_TRUE(IsResult(DownloadProtectionService::SAFE));
1075 EXPECT_TRUE(HasClientDownloadRequest()); 1076 EXPECT_TRUE(HasClientDownloadRequest());
1076 const ClientDownloadRequest& request = *GetClientDownloadRequest(); 1077 const ClientDownloadRequest& request = *GetClientDownloadRequest();
1077 EXPECT_TRUE(request.has_download_type()); 1078 EXPECT_TRUE(request.has_download_type());
1078 EXPECT_EQ(ClientDownloadRequest_DownloadType_ZIPPED_EXECUTABLE, 1079 EXPECT_EQ(ClientDownloadRequest_DownloadType_ZIPPED_EXECUTABLE,
1079 request.download_type()); 1080 request.download_type());
1080 EXPECT_EQ(1, request.archived_binary_size()); 1081 EXPECT_EQ(1, request.archived_binary_size());
1081 const ClientDownloadRequest_ArchivedBinary* archived_binary = 1082 const ClientDownloadRequest_ArchivedBinary* archived_binary =
1082 GetRequestArchivedBinary(request, "file.exe"); 1083 GetRequestArchivedBinary(request, "file.exe");
1083 ASSERT_NE(nullptr, archived_binary); 1084 ASSERT_NE(nullptr, archived_binary);
1084 EXPECT_EQ(ClientDownloadRequest_DownloadType_WIN_EXECUTABLE, 1085 EXPECT_EQ(ClientDownloadRequest_DownloadType_WIN_EXECUTABLE,
1085 archived_binary->download_type()); 1086 archived_binary->download_type());
1086 EXPECT_EQ(static_cast<int64_t>(file_contents.size()), 1087 EXPECT_EQ(static_cast<int64_t>(file_contents.size()),
1087 archived_binary->length()); 1088 archived_binary->length());
1088 ClearClientDownloadRequest(); 1089 ClearClientDownloadRequest();
1089 #else 1090 #else
1090 // For !(OS_WIN || OS_MACOSX), no file types are currently supported. Hence 1091 // For !(OS_WIN || OS_MACOSX) || defined(OS_CHROMEOS),
1092 // no file types are currently supported. Hence
1091 // the resulting verdict is UNKNOWN. 1093 // the resulting verdict is UNKNOWN.
1092 EXPECT_TRUE(IsResult(DownloadProtectionService::UNKNOWN)); 1094 EXPECT_TRUE(IsResult(DownloadProtectionService::UNKNOWN));
1093 EXPECT_FALSE(HasClientDownloadRequest()); 1095 EXPECT_FALSE(HasClientDownloadRequest());
1094 #endif 1096 #endif
1095 Mock::VerifyAndClearExpectations(binary_feature_extractor_.get()); 1097 Mock::VerifyAndClearExpectations(binary_feature_extractor_.get());
1096 1098
1097 // If the response is dangerous the result should also be marked as 1099 // If the response is dangerous the result should also be marked as
1098 // dangerous. 1100 // dangerous.
1099 response.set_verdict(ClientDownloadResponse::DANGEROUS); 1101 response.set_verdict(ClientDownloadResponse::DANGEROUS);
1100 factory.SetFakeResponse( 1102 factory.SetFakeResponse(
1101 DownloadProtectionService::GetDownloadRequestUrl(), 1103 DownloadProtectionService::GetDownloadRequestUrl(),
1102 response.SerializeAsString(), 1104 response.SerializeAsString(),
1103 net::HTTP_OK, net::URLRequestStatus::SUCCESS); 1105 net::HTTP_OK, net::URLRequestStatus::SUCCESS);
1104 1106
1105 download_service_->CheckClientDownload( 1107 download_service_->CheckClientDownload(
1106 &item, 1108 &item,
1107 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, 1109 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback,
1108 base::Unretained(this))); 1110 base::Unretained(this)));
1109 MessageLoop::current()->Run(); 1111 MessageLoop::current()->Run();
1110 1112
1111 #if defined(OS_WIN) || defined(OS_MACOSX) 1113 #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
1112 EXPECT_TRUE(IsResult(DownloadProtectionService::DANGEROUS)); 1114 EXPECT_TRUE(IsResult(DownloadProtectionService::DANGEROUS));
1113 EXPECT_TRUE(HasClientDownloadRequest()); 1115 EXPECT_TRUE(HasClientDownloadRequest());
1114 ClearClientDownloadRequest(); 1116 ClearClientDownloadRequest();
1115 #else 1117 #else
1116 EXPECT_TRUE(IsResult(DownloadProtectionService::UNKNOWN)); 1118 EXPECT_TRUE(IsResult(DownloadProtectionService::UNKNOWN));
1117 EXPECT_FALSE(HasClientDownloadRequest()); 1119 EXPECT_FALSE(HasClientDownloadRequest());
1118 #endif 1120 #endif
1119 Mock::VerifyAndClearExpectations(binary_feature_extractor_.get()); 1121 Mock::VerifyAndClearExpectations(binary_feature_extractor_.get());
1120 1122
1121 // Repeat the test with an archive inside the zip file in addition to the 1123 // Repeat the test with an archive inside the zip file in addition to the
1122 // executable. 1124 // executable.
1123 ASSERT_EQ(static_cast<int>(file_contents.size()), 1125 ASSERT_EQ(static_cast<int>(file_contents.size()),
1124 base::WriteFile( 1126 base::WriteFile(
1125 zip_source_dir.path().Append(FILE_PATH_LITERAL("file.rar")), 1127 zip_source_dir.path().Append(FILE_PATH_LITERAL("file.rar")),
1126 file_contents.data(), file_contents.size())); 1128 file_contents.data(), file_contents.size()));
1127 ASSERT_TRUE(zip::Zip(zip_source_dir.path(), a_tmp, false)); 1129 ASSERT_TRUE(zip::Zip(zip_source_dir.path(), a_tmp, false));
1128 1130
1129 download_service_->CheckClientDownload( 1131 download_service_->CheckClientDownload(
1130 &item, base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, 1132 &item, base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback,
1131 base::Unretained(this))); 1133 base::Unretained(this)));
1132 MessageLoop::current()->Run(); 1134 MessageLoop::current()->Run();
1133 1135
1134 #if defined(OS_WIN) || defined(OS_MACOSX) 1136 #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
1135 ASSERT_TRUE(HasClientDownloadRequest()); 1137 ASSERT_TRUE(HasClientDownloadRequest());
1136 EXPECT_EQ(1, GetClientDownloadRequest()->archived_binary_size()); 1138 EXPECT_EQ(1, GetClientDownloadRequest()->archived_binary_size());
1137 EXPECT_TRUE(GetClientDownloadRequest()->has_download_type()); 1139 EXPECT_TRUE(GetClientDownloadRequest()->has_download_type());
1138 EXPECT_EQ(ClientDownloadRequest_DownloadType_ZIPPED_EXECUTABLE, 1140 EXPECT_EQ(ClientDownloadRequest_DownloadType_ZIPPED_EXECUTABLE,
1139 GetClientDownloadRequest()->download_type()); 1141 GetClientDownloadRequest()->download_type());
1140 ClearClientDownloadRequest(); 1142 ClearClientDownloadRequest();
1141 #else 1143 #else
1142 // For !(OS_WIN || OS_MACOSX), no file types are currently supported. Hence 1144 // For !(OS_WIN || OS_MACOSX) || defined(OS_CHROMEOS),
1145 // no file types are currently supported. Hence
1143 // the resulting verdict is UNKNOWN. 1146 // the resulting verdict is UNKNOWN.
1144 EXPECT_TRUE(IsResult(DownloadProtectionService::UNKNOWN)); 1147 EXPECT_TRUE(IsResult(DownloadProtectionService::UNKNOWN));
1145 EXPECT_FALSE(HasClientDownloadRequest()); 1148 EXPECT_FALSE(HasClientDownloadRequest());
1146 #endif 1149 #endif
1147 Mock::VerifyAndClearExpectations(binary_feature_extractor_.get()); 1150 Mock::VerifyAndClearExpectations(binary_feature_extractor_.get());
1148 1151
1149 // Repeat the test with just the archive inside the zip file. 1152 // Repeat the test with just the archive inside the zip file.
1150 ASSERT_TRUE( 1153 ASSERT_TRUE(
1151 base::DeleteFile(zip_source_dir.path().AppendASCII("file.exe"), false)); 1154 base::DeleteFile(zip_source_dir.path().AppendASCII("file.exe"), false));
1152 ASSERT_TRUE(zip::Zip(zip_source_dir.path(), a_tmp, false)); 1155 ASSERT_TRUE(zip::Zip(zip_source_dir.path(), a_tmp, false));
1153 1156
1154 download_service_->CheckClientDownload( 1157 download_service_->CheckClientDownload(
1155 &item, base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, 1158 &item, base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback,
1156 base::Unretained(this))); 1159 base::Unretained(this)));
1157 MessageLoop::current()->Run(); 1160 MessageLoop::current()->Run();
1158 1161
1159 #if defined(OS_WIN) || defined(OS_MACOSX) 1162 #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
1160 ASSERT_TRUE(HasClientDownloadRequest()); 1163 ASSERT_TRUE(HasClientDownloadRequest());
1161 EXPECT_EQ(0, GetClientDownloadRequest()->archived_binary_size()); 1164 EXPECT_EQ(0, GetClientDownloadRequest()->archived_binary_size());
1162 EXPECT_TRUE(GetClientDownloadRequest()->has_download_type()); 1165 EXPECT_TRUE(GetClientDownloadRequest()->has_download_type());
1163 EXPECT_EQ(ClientDownloadRequest_DownloadType_ZIPPED_ARCHIVE, 1166 EXPECT_EQ(ClientDownloadRequest_DownloadType_ZIPPED_ARCHIVE,
1164 GetClientDownloadRequest()->download_type()); 1167 GetClientDownloadRequest()->download_type());
1165 ClearClientDownloadRequest(); 1168 ClearClientDownloadRequest();
1166 #else 1169 #else
1167 // For !(OS_WIN || OS_MACOSX), no file types are currently supported. Hence 1170 // For !(OS_WIN || OS_MACOSX) || defined(OS_CHROMEOS),
1171 // no file types are currently supported. Hence
1168 // the resulting verdict is UNKNOWN. 1172 // the resulting verdict is UNKNOWN.
1169 EXPECT_TRUE(IsResult(DownloadProtectionService::UNKNOWN)); 1173 EXPECT_TRUE(IsResult(DownloadProtectionService::UNKNOWN));
1170 EXPECT_FALSE(HasClientDownloadRequest()); 1174 EXPECT_FALSE(HasClientDownloadRequest());
1171 #endif 1175 #endif
1172 Mock::VerifyAndClearExpectations(binary_feature_extractor_.get()); 1176 Mock::VerifyAndClearExpectations(binary_feature_extractor_.get());
1173 } 1177 }
1174 1178
1175 TEST_F(DownloadProtectionServiceTest, CheckClientDownloadCorruptZip) { 1179 TEST_F(DownloadProtectionServiceTest, CheckClientDownloadCorruptZip) {
1176 base::ScopedTempDir download_dir; 1180 base::ScopedTempDir download_dir;
1177 ASSERT_TRUE(download_dir.CreateUniqueTempDir()); 1181 ASSERT_TRUE(download_dir.CreateUniqueTempDir());
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
1296 EXPECT_CALL( 1300 EXPECT_CALL(
1297 *binary_feature_extractor_.get(), 1301 *binary_feature_extractor_.get(),
1298 ExtractImageFeatures(tmp_path, BinaryFeatureExtractor::kDefaultOptions, 1302 ExtractImageFeatures(tmp_path, BinaryFeatureExtractor::kDefaultOptions,
1299 _, _)) 1303 _, _))
1300 .WillOnce(SetDosHeaderContents("dummy dos header")); 1304 .WillOnce(SetDosHeaderContents("dummy dos header"));
1301 download_service_->CheckClientDownload( 1305 download_service_->CheckClientDownload(
1302 &item, 1306 &item,
1303 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, 1307 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback,
1304 base::Unretained(this))); 1308 base::Unretained(this)));
1305 1309
1306 #if !defined(OS_WIN) && !defined(OS_MACOSX) 1310 #if !defined(OS_WIN) && !defined(OS_MACOSX) && !defined(OS_CHROMEOS)
1307 // SendRequest is not called. Wait for FinishRequest to call our callback. 1311 // SendRequest is not called. Wait for FinishRequest to call our callback.
1308 MessageLoop::current()->Run(); 1312 MessageLoop::current()->Run();
1309 net::TestURLFetcher* fetcher = factory.GetFetcherByID(0); 1313 net::TestURLFetcher* fetcher = factory.GetFetcherByID(0);
1310 EXPECT_EQ(NULL, fetcher); 1314 EXPECT_EQ(NULL, fetcher);
1311 EXPECT_FALSE(HasClientDownloadRequest()); 1315 EXPECT_FALSE(HasClientDownloadRequest());
1312 #else 1316 #else
1313 // Run the message loop(s) until SendRequest is called. 1317 // Run the message loop(s) until SendRequest is called.
1314 FlushThreadMessageLoops(); 1318 FlushThreadMessageLoops();
1315 EXPECT_TRUE(HasClientDownloadRequest()); 1319 EXPECT_TRUE(HasClientDownloadRequest());
1316 ClearClientDownloadRequest(); 1320 ClearClientDownloadRequest();
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
1386 EXPECT_CALL(*binary_feature_extractor_.get(), CheckSignature(tmp_path, _)); 1390 EXPECT_CALL(*binary_feature_extractor_.get(), CheckSignature(tmp_path, _));
1387 EXPECT_CALL(*binary_feature_extractor_.get(), 1391 EXPECT_CALL(*binary_feature_extractor_.get(),
1388 ExtractImageFeatures(tmp_path, 1392 ExtractImageFeatures(tmp_path,
1389 BinaryFeatureExtractor::kDefaultOptions, 1393 BinaryFeatureExtractor::kDefaultOptions,
1390 _, _)); 1394 _, _));
1391 download_service_->CheckClientDownload( 1395 download_service_->CheckClientDownload(
1392 &item, 1396 &item,
1393 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, 1397 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback,
1394 base::Unretained(this))); 1398 base::Unretained(this)));
1395 1399
1396 #if !defined(OS_WIN) && !defined(OS_MACOSX) 1400 #if !defined(OS_WIN) && !defined(OS_MACOSX) && !defined(OS_CHROMEOS)
1397 // SendRequest is not called. Wait for FinishRequest to call our callback. 1401 // SendRequest is not called. Wait for FinishRequest to call our callback.
1398 MessageLoop::current()->Run(); 1402 MessageLoop::current()->Run();
1399 net::TestURLFetcher* fetcher = factory.GetFetcherByID(0); 1403 net::TestURLFetcher* fetcher = factory.GetFetcherByID(0);
1400 EXPECT_EQ(NULL, fetcher); 1404 EXPECT_EQ(NULL, fetcher);
1401 EXPECT_FALSE(HasClientDownloadRequest()); 1405 EXPECT_FALSE(HasClientDownloadRequest());
1402 #else 1406 #else
1403 // Run the message loop(s) until SendRequest is called. 1407 // Run the message loop(s) until SendRequest is called.
1404 FlushThreadMessageLoops(); 1408 FlushThreadMessageLoops();
1405 EXPECT_TRUE(HasClientDownloadRequest()); 1409 EXPECT_TRUE(HasClientDownloadRequest());
1406 ClearClientDownloadRequest(); 1410 ClearClientDownloadRequest();
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
1479 .WillRepeatedly(SetDosHeaderContents("dummy dos header")); 1483 .WillRepeatedly(SetDosHeaderContents("dummy dos header"));
1480 1484
1481 // First test with no history match for the tab URL. 1485 // First test with no history match for the tab URL.
1482 { 1486 {
1483 TestURLFetcherWatcher fetcher_watcher(&factory); 1487 TestURLFetcherWatcher fetcher_watcher(&factory);
1484 download_service_->CheckClientDownload( 1488 download_service_->CheckClientDownload(
1485 &item, 1489 &item,
1486 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, 1490 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback,
1487 base::Unretained(this))); 1491 base::Unretained(this)));
1488 1492
1489 #if !defined(OS_WIN) && !defined(OS_MACOSX) 1493 #if !defined(OS_WIN) && !defined(OS_MACOSX) && !defined(OS_CHROMEOS)
1490 // SendRequest is not called. Wait for FinishRequest to call our callback. 1494 // SendRequest is not called. Wait for FinishRequest to call our callback.
1491 MessageLoop::current()->Run(); 1495 MessageLoop::current()->Run();
1492 net::TestURLFetcher* fetcher = factory.GetFetcherByID(0); 1496 net::TestURLFetcher* fetcher = factory.GetFetcherByID(0);
1493 EXPECT_EQ(NULL, fetcher); 1497 EXPECT_EQ(NULL, fetcher);
1494 EXPECT_FALSE(HasClientDownloadRequest()); 1498 EXPECT_FALSE(HasClientDownloadRequest());
1495 #else 1499 #else
1496 EXPECT_EQ(0, fetcher_watcher.WaitForRequest()); 1500 EXPECT_EQ(0, fetcher_watcher.WaitForRequest());
1497 EXPECT_TRUE(HasClientDownloadRequest()); 1501 EXPECT_TRUE(HasClientDownloadRequest());
1498 ClearClientDownloadRequest(); 1502 ClearClientDownloadRequest();
1499 net::TestURLFetcher* fetcher = factory.GetFetcherByID(0); 1503 net::TestURLFetcher* fetcher = factory.GetFetcherByID(0);
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
1558 redirects, 1562 redirects,
1559 ui::PAGE_TRANSITION_TYPED, 1563 ui::PAGE_TRANSITION_TYPED,
1560 history::SOURCE_BROWSED, 1564 history::SOURCE_BROWSED,
1561 false); 1565 false);
1562 1566
1563 TestURLFetcherWatcher fetcher_watcher(&factory); 1567 TestURLFetcherWatcher fetcher_watcher(&factory);
1564 download_service_->CheckClientDownload( 1568 download_service_->CheckClientDownload(
1565 &item, 1569 &item,
1566 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, 1570 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback,
1567 base::Unretained(this))); 1571 base::Unretained(this)));
1568 #if !defined(OS_WIN) && !defined(OS_MACOSX) 1572 #if !defined(OS_WIN) && !defined(OS_MACOSX) && !defined(OS_CHROMEOS)
1569 // SendRequest is not called. Wait for FinishRequest to call our callback. 1573 // SendRequest is not called. Wait for FinishRequest to call our callback.
1570 MessageLoop::current()->Run(); 1574 MessageLoop::current()->Run();
1571 net::TestURLFetcher* fetcher = factory.GetFetcherByID(0); 1575 net::TestURLFetcher* fetcher = factory.GetFetcherByID(0);
1572 EXPECT_EQ(NULL, fetcher); 1576 EXPECT_EQ(NULL, fetcher);
1573 EXPECT_FALSE(HasClientDownloadRequest()); 1577 EXPECT_FALSE(HasClientDownloadRequest());
1574 #else 1578 #else
1575 EXPECT_EQ(0, fetcher_watcher.WaitForRequest()); 1579 EXPECT_EQ(0, fetcher_watcher.WaitForRequest());
1576 EXPECT_TRUE(HasClientDownloadRequest()); 1580 EXPECT_TRUE(HasClientDownloadRequest());
1577 ClearClientDownloadRequest(); 1581 ClearClientDownloadRequest();
1578 net::TestURLFetcher* fetcher = factory.GetFetcherByID(0); 1582 net::TestURLFetcher* fetcher = factory.GetFetcherByID(0);
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
1724 download_service_->download_request_timeout_ms_ = 10; 1728 download_service_->download_request_timeout_ms_ = 10;
1725 download_service_->CheckClientDownload( 1729 download_service_->CheckClientDownload(
1726 &item, 1730 &item,
1727 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, 1731 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback,
1728 base::Unretained(this))); 1732 base::Unretained(this)));
1729 1733
1730 // The request should time out because the HTTP request hasn't returned 1734 // The request should time out because the HTTP request hasn't returned
1731 // anything yet. 1735 // anything yet.
1732 MessageLoop::current()->Run(); 1736 MessageLoop::current()->Run();
1733 EXPECT_TRUE(IsResult(DownloadProtectionService::UNKNOWN)); 1737 EXPECT_TRUE(IsResult(DownloadProtectionService::UNKNOWN));
1734 #if defined(OS_WIN) || defined(OS_MACOSX) 1738 #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
1735 EXPECT_TRUE(HasClientDownloadRequest()); 1739 EXPECT_TRUE(HasClientDownloadRequest());
1736 ClearClientDownloadRequest(); 1740 ClearClientDownloadRequest();
1737 #else 1741 #else
1738 EXPECT_FALSE(HasClientDownloadRequest()); 1742 EXPECT_FALSE(HasClientDownloadRequest());
1739 #endif 1743 #endif
1740 } 1744 }
1741 1745
1742 TEST_F(DownloadProtectionServiceTest, TestDownloadItemDestroyed) { 1746 TEST_F(DownloadProtectionServiceTest, TestDownloadItemDestroyed) {
1743 net::TestURLFetcherFactory factory; 1747 net::TestURLFetcherFactory factory;
1744 1748
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
1945 1949
1946 EXPECT_CALL(mock_download_item, GetDangerType()) 1950 EXPECT_CALL(mock_download_item, GetDangerType())
1947 .WillOnce(Return(content::DOWNLOAD_DANGER_TYPE_DANGEROUS_HOST)); 1951 .WillOnce(Return(content::DOWNLOAD_DANGER_TYPE_DANGEROUS_HOST));
1948 EXPECT_CALL(mock_page_navigator, OpenURL(OpenURLParamsWithContextValue("7"))); 1952 EXPECT_CALL(mock_page_navigator, OpenURL(OpenURLParamsWithContextValue("7")));
1949 1953
1950 download_service_->ShowDetailsForDownload(mock_download_item, 1954 download_service_->ShowDetailsForDownload(mock_download_item,
1951 &mock_page_navigator); 1955 &mock_page_navigator);
1952 } 1956 }
1953 1957
1954 } // namespace safe_browsing 1958 } // namespace safe_browsing
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698