| Index: chrome/browser/safe_browsing/unverified_download_field_trial_unittest.cc
|
| diff --git a/chrome/browser/safe_browsing/unverified_download_field_trial_unittest.cc b/chrome/browser/safe_browsing/unverified_download_field_trial_unittest.cc
|
| index 4d09f03ab529f50a10d3086a607a35510b890f88..e44ca58c0eacc6dcfd6ed603bb3f9d06f4d78c1d 100644
|
| --- a/chrome/browser/safe_browsing/unverified_download_field_trial_unittest.cc
|
| +++ b/chrome/browser/safe_browsing/unverified_download_field_trial_unittest.cc
|
| @@ -9,6 +9,7 @@
|
| #include "base/metrics/field_trial.h"
|
| #include "chrome/common/chrome_switches.h"
|
| #include "chrome/common/safe_browsing/download_protection_util.h"
|
| +#include "chrome/common/safe_browsing/file_type_policies.h"
|
| #include "components/variations/variations_associated_data.h"
|
| #include "testing/gmock/include/gmock/gmock.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| @@ -53,19 +54,26 @@ class ScopedFieldTrialState {
|
|
|
| } // namespace
|
|
|
| +class UnverifiedDownloadFieldTrialTest : public testing::Test {
|
| + protected:
|
| + ~UnverifiedDownloadFieldTrialTest() override {}
|
| +
|
| + // This manages the lifetime of FileTypePolicies::GlobalInstance()
|
| + FileTypePoliciesManager file_type_policies_manager_;
|
| +};
|
| +
|
| // Verify some test assumptions. Namely, that kSafeFilename is not a supported
|
| // binary file and that kHandledFilename is.
|
| -TEST(UnverifiedDownloadFieldTrialTest, Assumptions) {
|
| - EXPECT_TRUE(download_protection_util::IsSupportedBinaryFile(
|
| - base::FilePath(kHandledFilename)));
|
| - EXPECT_FALSE(download_protection_util::IsSupportedBinaryFile(
|
| - base::FilePath(kSafeFilename)));
|
| +TEST_F(UnverifiedDownloadFieldTrialTest, Assumptions) {
|
| + FileTypePolicies* policies = FileTypePolicies::GlobalInstance();
|
| + EXPECT_TRUE(policies->IsCheckedBinaryFile(base::FilePath(kHandledFilename)));
|
| + EXPECT_FALSE(policies->IsCheckedBinaryFile(base::FilePath(kSafeFilename)));
|
| }
|
|
|
| // Verify that disallow-unchecked-dangerous-downloads command line switch causes
|
| // all dangerous file types to be blocked, and that safe files types are still
|
| // allowed.
|
| -TEST(UnverifiedDownloadFieldTrialTest, CommandLine_DisallowDangerous) {
|
| +TEST_F(UnverifiedDownloadFieldTrialTest, CommandLine_DisallowDangerous) {
|
| base::CommandLine::ForCurrentProcess()->AppendSwitch(
|
| switches::kDisallowUncheckedDangerousDownloads);
|
| EXPECT_TRUE(IsUnverifiedDownloadAllowedByFieldTrial(
|
| @@ -75,7 +83,7 @@ TEST(UnverifiedDownloadFieldTrialTest, CommandLine_DisallowDangerous) {
|
| }
|
|
|
| // Verify that a wildcard blacklist matches all file types.
|
| -TEST(UnverifiedDownloadFieldTrialTest, WildCardBlacklist) {
|
| +TEST_F(UnverifiedDownloadFieldTrialTest, WildCardBlacklist) {
|
| FieldTrialParameters parameters;
|
| parameters[kUnverifiedDownloadFieldTrialBlacklistParam] = "*";
|
| parameters[kUnverifiedDownloadFieldTrialWhitelistParam] = ".xyz";
|
| @@ -92,7 +100,7 @@ TEST(UnverifiedDownloadFieldTrialTest, WildCardBlacklist) {
|
|
|
| // Verify that allow-unchecked-dangerous-downloads command line option takes
|
| // precedence over a Finch trial specified blacklist.
|
| -TEST(UnverifiedDownloadFieldTrialTest, BlacklistVsCommandline) {
|
| +TEST_F(UnverifiedDownloadFieldTrialTest, BlacklistVsCommandline) {
|
| FieldTrialParameters parameters;
|
| parameters[kUnverifiedDownloadFieldTrialBlacklistParam] = "*";
|
| parameters[kUnverifiedDownloadFieldTrialWhitelistParam] = ".xyz";
|
| @@ -109,7 +117,7 @@ TEST(UnverifiedDownloadFieldTrialTest, BlacklistVsCommandline) {
|
|
|
| // Verify that disallow-unchecked-dangerous-downloads command line option takes
|
| // precedence over a Finch trial specified whitelist.
|
| -TEST(UnverifiedDownloadFieldTrialTest, WhitelistVsCommandline) {
|
| +TEST_F(UnverifiedDownloadFieldTrialTest, WhitelistVsCommandline) {
|
| FieldTrialParameters parameters;
|
| parameters[kUnverifiedDownloadFieldTrialBlacklistParam] = ".foo";
|
| parameters[kUnverifiedDownloadFieldTrialWhitelistParam] = ".exe";
|
| @@ -127,7 +135,7 @@ TEST(UnverifiedDownloadFieldTrialTest, WhitelistVsCommandline) {
|
| }
|
|
|
| // Verify that wildcards only work if they are specified by themselves.
|
| -TEST(UnverifiedDownloadFieldTrialTest, WildcardOnlyByItself) {
|
| +TEST_F(UnverifiedDownloadFieldTrialTest, WildcardOnlyByItself) {
|
| FieldTrialParameters parameters;
|
| parameters[kUnverifiedDownloadFieldTrialBlacklistParam] = ".foo,*";
|
| parameters[kUnverifiedDownloadFieldTrialWhitelistParam] = ".xyz";
|
| @@ -143,7 +151,7 @@ TEST(UnverifiedDownloadFieldTrialTest, WildcardOnlyByItself) {
|
| }
|
|
|
| // Verify that the blacklist takes precedence over whitelist.
|
| -TEST(UnverifiedDownloadFieldTrialTest, WhitelistVsBlacklist) {
|
| +TEST_F(UnverifiedDownloadFieldTrialTest, WhitelistVsBlacklist) {
|
| FieldTrialParameters parameters;
|
| parameters[kUnverifiedDownloadFieldTrialBlacklistParam] = ".abc,.def";
|
| parameters[kUnverifiedDownloadFieldTrialWhitelistParam] = ".xyz";
|
| @@ -163,7 +171,7 @@ TEST(UnverifiedDownloadFieldTrialTest, WhitelistVsBlacklist) {
|
| }
|
|
|
| // Verify that nothing terrible happens if no parameters are specified.
|
| -TEST(UnverifiedDownloadFieldTrialTest, MissingParameters) {
|
| +TEST_F(UnverifiedDownloadFieldTrialTest, MissingParameters) {
|
| ScopedFieldTrialState field_trial(
|
| kUnverifiedDownloadFieldTrialDisableByParameter);
|
|
|
| @@ -175,7 +183,7 @@ TEST(UnverifiedDownloadFieldTrialTest, MissingParameters) {
|
|
|
| // Verify that nothing terrible happens if the parameters set for a field trial
|
| // are malformed.
|
| -TEST(UnverifiedDownloadFieldTrialTest, MalformedParameters) {
|
| +TEST_F(UnverifiedDownloadFieldTrialTest, MalformedParameters) {
|
| FieldTrialParameters parameters;
|
| parameters[kUnverifiedDownloadFieldTrialBlacklistParam] = "abcasdfa#??# ~def";
|
| parameters[kUnverifiedDownloadFieldTrialWhitelistParam] =
|
| @@ -191,7 +199,7 @@ TEST(UnverifiedDownloadFieldTrialTest, MalformedParameters) {
|
|
|
| // Verify that nothing terrible happens if the parameters set for a field trial
|
| // are empty.
|
| -TEST(UnverifiedDownloadFieldTrialTest, DisableByParam_Empty) {
|
| +TEST_F(UnverifiedDownloadFieldTrialTest, DisableByParam_Empty) {
|
| FieldTrialParameters parameters;
|
| parameters[kUnverifiedDownloadFieldTrialBlacklistParam] = "";
|
| parameters[kUnverifiedDownloadFieldTrialWhitelistParam] = "";
|
| @@ -206,7 +214,7 @@ TEST(UnverifiedDownloadFieldTrialTest, DisableByParam_Empty) {
|
| }
|
|
|
| // Verified that file types specified via white/blacklists are case insensitive.
|
| -TEST(UnverifiedDownloadFieldTrialTest, CaseInsensitive) {
|
| +TEST_F(UnverifiedDownloadFieldTrialTest, CaseInsensitive) {
|
| FieldTrialParameters parameters;
|
| parameters[kUnverifiedDownloadFieldTrialBlacklistParam] = ".ABC,.xyz";
|
| ScopedFieldTrialState field_trial(
|
| @@ -223,7 +231,7 @@ TEST(UnverifiedDownloadFieldTrialTest, CaseInsensitive) {
|
| }
|
|
|
| // Verify functionality when all parameters are specified.
|
| -TEST(UnverifiedDownloadFieldTrialTest, WhitelistVsBlacklistVsSBTypes) {
|
| +TEST_F(UnverifiedDownloadFieldTrialTest, WhitelistVsBlacklistVsSBTypes) {
|
| FieldTrialParameters parameters;
|
| parameters[kUnverifiedDownloadFieldTrialBlacklistParam] = ".abc,.def";
|
| parameters[kUnverifiedDownloadFieldTrialWhitelistParam] = ".xyz";
|
| @@ -245,7 +253,7 @@ TEST(UnverifiedDownloadFieldTrialTest, WhitelistVsBlacklistVsSBTypes) {
|
|
|
| // Verify that block_sb_types parameter being empty is equivalent to it not
|
| // being specified.
|
| -TEST(UnverifiedDownloadFieldTrialTest, DisableSBTypesEmpty) {
|
| +TEST_F(UnverifiedDownloadFieldTrialTest, DisableSBTypesEmpty) {
|
| FieldTrialParameters parameters;
|
| parameters[kUnverifiedDownloadFieldTrialBlockSBTypesParam] = "";
|
| ScopedFieldTrialState field_trial(
|
| @@ -258,7 +266,7 @@ TEST(UnverifiedDownloadFieldTrialTest, DisableSBTypesEmpty) {
|
| }
|
|
|
| // Verify that a whitelist is able to override the SafeBrowsing file type list.
|
| -TEST(UnverifiedDownloadFieldTrialTest, ListsOverrideSBTypes) {
|
| +TEST_F(UnverifiedDownloadFieldTrialTest, ListsOverrideSBTypes) {
|
| FieldTrialParameters parameters;
|
| parameters[kUnverifiedDownloadFieldTrialBlacklistParam] = ".abc,.def";
|
| parameters[kUnverifiedDownloadFieldTrialWhitelistParam] = ".exe";
|
| @@ -276,7 +284,7 @@ TEST(UnverifiedDownloadFieldTrialTest, ListsOverrideSBTypes) {
|
|
|
| // Verify that the field trial is only sensitive to the prefix of the group
|
| // name.
|
| -TEST(UnverifiedDownloadFieldTrialTest, FieldTrialGroupPrefix) {
|
| +TEST_F(UnverifiedDownloadFieldTrialTest, FieldTrialGroupPrefix) {
|
| FieldTrialParameters parameters;
|
| parameters[kUnverifiedDownloadFieldTrialBlacklistParam] = ".abc,.def";
|
| parameters[kUnverifiedDownloadFieldTrialBlockSBTypesParam] = "*";
|
|
|