Index: chrome/browser/safe_browsing/download_protection_service_unittest.cc |
diff --git a/chrome/browser/safe_browsing/download_protection_service_unittest.cc b/chrome/browser/safe_browsing/download_protection_service_unittest.cc |
index 82054eabc3364eec9c4900ef407f905347f7b92e..97a895acca56a99c7b17f9c84d1d803c724d3b00 100644 |
--- a/chrome/browser/safe_browsing/download_protection_service_unittest.cc |
+++ b/chrome/browser/safe_browsing/download_protection_service_unittest.cc |
@@ -214,8 +214,9 @@ TEST_F(DownloadProtectionServiceTest, CheckClientDownloadInvalidUrl) { |
msg_loop_.Run(); |
EXPECT_EQ(DownloadProtectionService::SAFE, result_); |
- // Only http is supported for now. |
- info.local_file = FilePath(FILE_PATH_LITERAL("a.exe")); |
+ // Only https is not supported for now for privacy reasons. |
+ info.local_file = FilePath(FILE_PATH_LITERAL("a.tmp")); |
+ info.target_file = FilePath(FILE_PATH_LITERAL("a.exe")); |
info.download_url_chain.push_back(GURL("https://www.google.com/")); |
download_service_->CheckClientDownload( |
info, |
@@ -223,19 +224,12 @@ TEST_F(DownloadProtectionServiceTest, CheckClientDownloadInvalidUrl) { |
base::Unretained(this))); |
msg_loop_.Run(); |
EXPECT_EQ(DownloadProtectionService::SAFE, result_); |
- |
- info.download_url_chain[0] = GURL("ftp://www.google.com/"); |
- download_service_->CheckClientDownload( |
- info, |
- base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, |
- base::Unretained(this))); |
- msg_loop_.Run(); |
- EXPECT_EQ(DownloadProtectionService::SAFE, result_); |
} |
TEST_F(DownloadProtectionServiceTest, CheckClientDownloadWhitelistedUrl) { |
DownloadProtectionService::DownloadInfo info; |
- info.local_file = FilePath(FILE_PATH_LITERAL("a.exe")); |
+ info.local_file = FilePath(FILE_PATH_LITERAL("a.tmp")); |
+ info.target_file = FilePath(FILE_PATH_LITERAL("a.exe")); |
info.download_url_chain.push_back(GURL("http://www.evil.com/bla.exe")); |
info.download_url_chain.push_back(GURL("http://www.google.com/a.exe")); |
info.referrer_url = GURL("http://www.google.com/"); |
@@ -272,7 +266,8 @@ TEST_F(DownloadProtectionServiceTest, CheckClientDownloadFetchFailed) { |
DownloadProtectionService::kDownloadRequestUrl, "", false); |
DownloadProtectionService::DownloadInfo info; |
- info.local_file = FilePath(FILE_PATH_LITERAL("a.exe")); |
+ info.local_file = FilePath(FILE_PATH_LITERAL("a.tmp")); |
+ info.target_file = FilePath(FILE_PATH_LITERAL("a.exe")); |
info.download_url_chain.push_back(GURL("http://www.evil.com/a.exe")); |
info.referrer_url = GURL("http://www.google.com/"); |
@@ -299,7 +294,8 @@ TEST_F(DownloadProtectionServiceTest, CheckClientDownloadSuccess) { |
true); |
DownloadProtectionService::DownloadInfo info; |
- info.local_file = FilePath(FILE_PATH_LITERAL("a.exe")); |
+ info.local_file = FilePath(FILE_PATH_LITERAL("a.tmp")); |
+ info.target_file = FilePath(FILE_PATH_LITERAL("a.exe")); |
info.download_url_chain.push_back(GURL("http://www.evil.com/a.exe")); |
info.referrer_url = GURL("http://www.google.com/"); |
@@ -347,7 +343,8 @@ TEST_F(DownloadProtectionServiceTest, CheckClientDownloadValidateRequest) { |
TestURLFetcherFactory factory; |
DownloadProtectionService::DownloadInfo info; |
- info.local_file = FilePath(FILE_PATH_LITERAL("bla.exe")); |
+ info.local_file = FilePath(FILE_PATH_LITERAL("bla.tmp")); |
+ info.target_file = FilePath(FILE_PATH_LITERAL("bla.exe")); |
info.download_url_chain.push_back(GURL("http://www.google.com/")); |
info.download_url_chain.push_back(GURL("http://www.google.com/bla.exe")); |
info.referrer_url = GURL("http://www.google.com/"); |
@@ -401,7 +398,8 @@ TEST_F(DownloadProtectionServiceTest, |
TestURLFetcherFactory factory; |
DownloadProtectionService::DownloadInfo info; |
- info.local_file = FilePath(FILE_PATH_LITERAL("bla.exe")); |
+ info.local_file = FilePath(FILE_PATH_LITERAL("bla.tmp")); |
+ info.target_file = FilePath(FILE_PATH_LITERAL("bla.exe")); |
info.download_url_chain.push_back(GURL("http://www.google.com/")); |
info.download_url_chain.push_back(GURL("http://www.google.com/bla.exe")); |
info.referrer_url = GURL("http://www.google.com/"); |
@@ -449,7 +447,9 @@ TEST_F(DownloadProtectionServiceTest, |
TEST_F(DownloadProtectionServiceTest, CheckClientDownloadDigestList) { |
DownloadProtectionService::DownloadInfo info; |
- info.local_file = FilePath(FILE_PATH_LITERAL("a.exe")); |
+ info.local_file = FilePath(FILE_PATH_LITERAL("a.tmp")); |
+ info.target_file = FilePath(FILE_PATH_LITERAL("a.exe")); |
+ |
// HTTPs URLs never result in a server ping for privacy reasons. However, |
// we do lookup the bad binary digest list. |
info.download_url_chain.push_back(GURL("https://www.evil.com/a.exe")); |
@@ -498,7 +498,8 @@ TEST_F(DownloadProtectionServiceTest, CheckClientDownloadDigestList) { |
EXPECT_EQ(DownloadProtectionService::SAFE, result_); |
Mock::VerifyAndClearExpectations(sb_service_); |
- // A match is found with the bad binary digest list. |
+ // A match is found with the bad binary digest list. We currently do not |
+ // warn based on the digest list. Hence we should always return SAFE. |
EXPECT_CALL(*sb_service_, |
CheckDownloadHash(info.sha256_hash, NotNull())) |
.WillOnce(DoAll( |
@@ -509,12 +510,12 @@ TEST_F(DownloadProtectionServiceTest, CheckClientDownloadDigestList) { |
base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, |
base::Unretained(this))); |
msg_loop_.Run(); |
- EXPECT_EQ(DownloadProtectionService::DANGEROUS, result_); |
+ EXPECT_EQ(DownloadProtectionService::SAFE, result_); |
Mock::VerifyAndClearExpectations(sb_service_); |
// If the download is not an executable we do not send a server ping but we |
// still want to lookup the binary digest list. |
- info.local_file = FilePath(FILE_PATH_LITERAL("a.pdf")); |
+ info.target_file = FilePath(FILE_PATH_LITERAL("a.pdf")); |
info.download_url_chain[0] = GURL("http://www.evil.com/a.pdf"); |
EXPECT_CALL(*sb_service_, |
CheckDownloadHash(info.sha256_hash, NotNull())) |
@@ -526,13 +527,13 @@ TEST_F(DownloadProtectionServiceTest, CheckClientDownloadDigestList) { |
base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, |
base::Unretained(this))); |
msg_loop_.Run(); |
- EXPECT_EQ(DownloadProtectionService::DANGEROUS, result_); |
+ EXPECT_EQ(DownloadProtectionService::SAFE, result_); |
Mock::VerifyAndClearExpectations(sb_service_); |
// If the URL or the referrer matches the download whitelist we cannot send |
// a server ping for privacy reasons but we still match the digest against |
// the bad binary digest list. |
- info.local_file = FilePath(FILE_PATH_LITERAL("a.exe")); |
+ info.target_file = FilePath(FILE_PATH_LITERAL("a.exe")); |
info.download_url_chain[0] = GURL("http://www.evil.com/a.exe"); |
EXPECT_CALL(*sb_service_, MatchDownloadWhitelistUrl(_)) |
.WillRepeatedly(Return(true)); |
@@ -547,7 +548,7 @@ TEST_F(DownloadProtectionServiceTest, CheckClientDownloadDigestList) { |
base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, |
base::Unretained(this))); |
msg_loop_.Run(); |
- EXPECT_EQ(DownloadProtectionService::DANGEROUS, result_); |
+ EXPECT_EQ(DownloadProtectionService::SAFE, result_); |
} |
TEST_F(DownloadProtectionServiceTest, TestCheckDownloadUrl) { |