Index: chrome/browser/safe_browsing/download_feedback_service_unittest.cc |
diff --git a/chrome/browser/safe_browsing/download_feedback_service_unittest.cc b/chrome/browser/safe_browsing/download_feedback_service_unittest.cc |
index c4cdd8247865841e5211ef6bab8b47b39b0f6b6b..680f51153d97fdd28869d324695126c688c25c45 100644 |
--- a/chrome/browser/safe_browsing/download_feedback_service_unittest.cc |
+++ b/chrome/browser/safe_browsing/download_feedback_service_unittest.cc |
@@ -113,12 +113,14 @@ class FakeDownloadFeedbackFactory : public DownloadFeedbackFactory { |
}; |
bool WillStorePings(DownloadProtectionService::DownloadCheckResult result, |
+ bool upload_requested, |
int64_t size) { |
content::MockDownloadItem item; |
EXPECT_CALL(item, GetReceivedBytes()).WillRepeatedly(Return(size)); |
EXPECT_FALSE(DownloadFeedbackService::IsEnabledForDownload(item)); |
- DownloadFeedbackService::MaybeStorePingsForDownload(result, &item, "a", "b"); |
+ DownloadFeedbackService::MaybeStorePingsForDownload(result, upload_requested, |
+ &item, "a", "b"); |
return DownloadFeedbackService::IsEnabledForDownload(item); |
} |
@@ -172,21 +174,34 @@ TEST_F(DownloadFeedbackServiceTest, MaybeStorePingsForDownload) { |
const int64_t ok_size = DownloadFeedback::kMaxUploadSize; |
const int64_t bad_size = DownloadFeedback::kMaxUploadSize + 1; |
- EXPECT_FALSE(WillStorePings(DownloadProtectionService::SAFE, ok_size)); |
- EXPECT_FALSE(WillStorePings(DownloadProtectionService::DANGEROUS, ok_size)); |
- EXPECT_TRUE(WillStorePings(DownloadProtectionService::UNCOMMON, ok_size)); |
- EXPECT_TRUE( |
- WillStorePings(DownloadProtectionService::DANGEROUS_HOST, ok_size)); |
- EXPECT_TRUE( |
- WillStorePings(DownloadProtectionService::POTENTIALLY_UNWANTED, ok_size)); |
- |
- EXPECT_FALSE(WillStorePings(DownloadProtectionService::SAFE, bad_size)); |
- EXPECT_FALSE(WillStorePings(DownloadProtectionService::DANGEROUS, bad_size)); |
- EXPECT_FALSE(WillStorePings(DownloadProtectionService::UNCOMMON, bad_size)); |
- EXPECT_FALSE( |
- WillStorePings(DownloadProtectionService::DANGEROUS_HOST, bad_size)); |
- EXPECT_FALSE(WillStorePings(DownloadProtectionService::POTENTIALLY_UNWANTED, |
- bad_size)); |
+ std::vector<bool> upload_requests = {false, true}; |
+ for (bool request_upload : upload_requests) { |
+ // SAFE and DANGEROUS will only upload if |request_upload| |
+ EXPECT_EQ(request_upload, WillStorePings(DownloadProtectionService::SAFE, |
+ request_upload, ok_size)); |
+ EXPECT_EQ(request_upload, |
+ WillStorePings(DownloadProtectionService::DANGEROUS, |
+ request_upload, ok_size)); |
+ |
+ EXPECT_TRUE(WillStorePings(DownloadProtectionService::UNCOMMON, |
+ request_upload, ok_size)); |
+ EXPECT_TRUE(WillStorePings(DownloadProtectionService::DANGEROUS_HOST, |
+ request_upload, ok_size)); |
+ EXPECT_TRUE(WillStorePings(DownloadProtectionService::POTENTIALLY_UNWANTED, |
+ request_upload, ok_size)); |
+ |
+ // Bad sizes never upload |
+ EXPECT_FALSE(WillStorePings(DownloadProtectionService::SAFE, request_upload, |
+ bad_size)); |
+ EXPECT_FALSE(WillStorePings(DownloadProtectionService::DANGEROUS, |
+ request_upload, bad_size)); |
+ EXPECT_FALSE(WillStorePings(DownloadProtectionService::UNCOMMON, |
+ request_upload, bad_size)); |
+ EXPECT_FALSE(WillStorePings(DownloadProtectionService::DANGEROUS_HOST, |
+ request_upload, bad_size)); |
+ EXPECT_FALSE(WillStorePings(DownloadProtectionService::POTENTIALLY_UNWANTED, |
+ request_upload, bad_size)); |
+ } |
} |
TEST_F(DownloadFeedbackServiceTest, SingleFeedbackCompleteAndDiscardDownload) { |
@@ -206,8 +221,9 @@ TEST_F(DownloadFeedbackServiceTest, SingleFeedbackCompleteAndDiscardDownload) { |
DownloadFeedbackService service(request_context_getter_.get(), |
file_task_runner_.get()); |
- service.MaybeStorePingsForDownload( |
- DownloadProtectionService::UNCOMMON, &item, ping_request, ping_response); |
+ service.MaybeStorePingsForDownload(DownloadProtectionService::UNCOMMON, |
+ false /* upload_requested */, &item, |
+ ping_request, ping_response); |
ASSERT_TRUE(DownloadFeedbackService::IsEnabledForDownload(item)); |
service.BeginFeedbackForDownload(&item, DownloadCommands::DISCARD); |
ASSERT_FALSE(download_discarded_callback.is_null()); |
@@ -247,7 +263,8 @@ TEST_F(DownloadFeedbackServiceTest, SingleFeedbackCompleteAndKeepDownload) { |
DownloadFeedbackService service(request_context_getter_.get(), |
file_task_runner_.get()); |
- service.MaybeStorePingsForDownload(DownloadProtectionService::UNCOMMON, &item, |
+ service.MaybeStorePingsForDownload(DownloadProtectionService::UNCOMMON, |
+ false /* upload_requested */, &item, |
ping_request, ping_response); |
ASSERT_TRUE(DownloadFeedbackService::IsEnabledForDownload(item)); |
service.BeginFeedbackForDownload(&item, DownloadCommands::KEEP); |
@@ -286,8 +303,8 @@ TEST_F(DownloadFeedbackServiceTest, MultiplePendingFeedbackComplete) { |
EXPECT_CALL(item[i], StealDangerousDownload(true, _)) |
.WillOnce(SaveArg<1>(&download_discarded_callback[i])); |
DownloadFeedbackService::MaybeStorePingsForDownload( |
- DownloadProtectionService::UNCOMMON, &item[i], ping_request, |
- ping_response); |
+ DownloadProtectionService::UNCOMMON, false /* upload_requested */, |
+ &item[i], ping_request, ping_response); |
ASSERT_TRUE(DownloadFeedbackService::IsEnabledForDownload(item[i])); |
} |
@@ -355,8 +372,8 @@ TEST_F(DownloadFeedbackServiceTest, MultiFeedbackWithIncomplete) { |
EXPECT_CALL(item[i], StealDangerousDownload(true, _)) |
.WillOnce(SaveArg<1>(&download_discarded_callback[i])); |
DownloadFeedbackService::MaybeStorePingsForDownload( |
- DownloadProtectionService::UNCOMMON, &item[i], ping_request, |
- ping_response); |
+ DownloadProtectionService::UNCOMMON, false /* upload_requested */, |
+ &item[i], ping_request, ping_response); |
ASSERT_TRUE(DownloadFeedbackService::IsEnabledForDownload(item[i])); |
} |