Index: chrome/browser/extensions/extension_management_unittest.cc |
diff --git a/chrome/browser/extensions/extension_management_unittest.cc b/chrome/browser/extensions/extension_management_unittest.cc |
index 56618b81634faa2b743d09441e495be322230daf..ac107396482036b904061bb321c78a2168cbdc56 100644 |
--- a/chrome/browser/extensions/extension_management_unittest.cc |
+++ b/chrome/browser/extensions/extension_management_unittest.cc |
@@ -15,8 +15,9 @@ |
#include "chrome/browser/extensions/extension_management_test_util.h" |
#include "chrome/browser/extensions/external_policy_loader.h" |
#include "chrome/browser/extensions/standard_management_policy_provider.h" |
-#include "components/prefs/pref_registry_simple.h" |
-#include "components/prefs/testing_pref_service.h" |
+#include "chrome/test/base/testing_profile.h" |
+#include "components/sync_preferences/testing_pref_service_syncable.h" |
+#include "content/public/test/test_browser_thread_bundle.h" |
#include "extensions/browser/pref_names.h" |
#include "extensions/common/manifest.h" |
#include "extensions/common/manifest_constants.h" |
@@ -76,28 +77,19 @@ const char kExampleDictPreference[] = |
} // namespace |
class ExtensionManagementServiceTest : public testing::Test { |
- public: |
- typedef ExtensionManagementPrefUpdater<TestingPrefServiceSimple> PrefUpdater; |
+ protected: |
+ using PrefUpdater = ExtensionManagementPrefUpdater< |
+ sync_preferences::TestingPrefServiceSyncable>; |
- ExtensionManagementServiceTest() {} |
- ~ExtensionManagementServiceTest() override {} |
+ ExtensionManagementServiceTest() = default; |
+ ~ExtensionManagementServiceTest() override = default; |
// testing::Test: |
- void SetUp() override { InitPrefService(); } |
- |
- void InitPrefService() { |
- extension_management_.reset(); |
- pref_service_.reset(new TestingPrefServiceSimple()); |
- pref_service_->registry()->RegisterListPref( |
- pref_names::kAllowedInstallSites); |
- pref_service_->registry()->RegisterListPref(pref_names::kAllowedTypes); |
- pref_service_->registry()->RegisterListPref(pref_names::kInstallDenyList); |
- pref_service_->registry()->RegisterListPref(pref_names::kInstallAllowList); |
- pref_service_->registry()->RegisterDictionaryPref( |
- pref_names::kInstallForceList); |
- pref_service_->registry()->RegisterDictionaryPref( |
- pref_names::kExtensionManagement); |
- extension_management_.reset(new ExtensionManagement(pref_service_.get())); |
+ void SetUp() override { |
+ profile_ = base::MakeUnique<TestingProfile>(); |
+ pref_service_ = profile_->GetTestingPrefService(); |
+ extension_management_ = |
+ base::MakeUnique<ExtensionManagement>(profile_.get()); |
} |
void SetPref(bool managed, const char* path, base::Value* value) { |
@@ -152,7 +144,8 @@ class ExtensionManagementServiceTest : public testing::Test { |
std::string error_msg; |
std::unique_ptr<base::Value> parsed = base::JSONReader::ReadAndReturnError( |
kExampleDictPreference, |
- base::JSONParserOptions::JSON_ALLOW_TRAILING_COMMAS, NULL, &error_msg); |
+ base::JSONParserOptions::JSON_ALLOW_TRAILING_COMMAS, nullptr, |
+ &error_msg); |
ASSERT_TRUE(parsed && parsed->IsType(base::Value::Type::DICTIONARY)) |
<< error_msg; |
SetPref(true, pref_names::kExtensionManagement, parsed.release()); |
@@ -191,8 +184,9 @@ class ExtensionManagementServiceTest : public testing::Test { |
return ret; |
} |
- protected: |
- std::unique_ptr<TestingPrefServiceSimple> pref_service_; |
+ content::TestBrowserThreadBundle thread_bundle_; |
+ std::unique_ptr<TestingProfile> profile_; |
+ sync_preferences::TestingPrefServiceSyncable* pref_service_ = nullptr; |
std::unique_ptr<ExtensionManagement> extension_management_; |
private: |
@@ -529,7 +523,7 @@ TEST_F(ExtensionManagementServiceTest, kMinimumVersionRequired) { |
EXPECT_TRUE(CheckMinimumVersion(kTargetExtension, "9999.0")); |
{ |
- PrefUpdater pref(pref_service_.get()); |
+ PrefUpdater pref(pref_service_); |
pref.SetMinimumVersionRequired(kTargetExtension, "3.0"); |
} |
@@ -554,7 +548,7 @@ TEST_F(ExtensionManagementServiceTest, NewInstallSources) { |
// Set the new dictionary preference. |
{ |
- PrefUpdater updater(pref_service_.get()); |
+ PrefUpdater updater(pref_service_); |
updater.ClearInstallSources(); |
} |
// Verifies that the new one overrides the legacy ones. |
@@ -564,7 +558,7 @@ TEST_F(ExtensionManagementServiceTest, NewInstallSources) { |
// Updates the new dictionary preference. |
{ |
- PrefUpdater updater(pref_service_.get()); |
+ PrefUpdater updater(pref_service_); |
updater.AddInstallSource("https://corp.mycompany.com/*"); |
} |
EXPECT_TRUE(ReadGlobalSettings()->has_restricted_install_sources); |
@@ -585,7 +579,7 @@ TEST_F(ExtensionManagementServiceTest, NewAllowedTypes) { |
// Set the new dictionary preference. |
{ |
- PrefUpdater updater(pref_service_.get()); |
+ PrefUpdater updater(pref_service_); |
updater.ClearAllowedTypes(); |
} |
// Verifies that the new one overrides the legacy ones. |
@@ -594,7 +588,7 @@ TEST_F(ExtensionManagementServiceTest, NewAllowedTypes) { |
// Updates the new dictionary preference. |
{ |
- PrefUpdater updater(pref_service_.get()); |
+ PrefUpdater updater(pref_service_); |
updater.AddAllowedType("theme"); |
} |
EXPECT_TRUE(ReadGlobalSettings()->has_restricted_allowed_types); |
@@ -607,7 +601,7 @@ TEST_F(ExtensionManagementServiceTest, NewAllowedTypes) { |
TEST_F(ExtensionManagementServiceTest, NewInstallBlacklist) { |
// Set the new dictionary preference. |
{ |
- PrefUpdater updater(pref_service_.get()); |
+ PrefUpdater updater(pref_service_); |
updater.SetBlacklistedByDefault(false); // Allowed by default. |
updater.SetIndividualExtensionInstallationAllowed(kTargetExtension, false); |
updater.ClearPerExtensionSettings(kTargetExtension2); |
@@ -643,7 +637,7 @@ TEST_F(ExtensionManagementServiceTest, NewInstallBlacklist) { |
TEST_F(ExtensionManagementServiceTest, NewInstallWhitelist) { |
// Set the new dictionary preference. |
{ |
- PrefUpdater updater(pref_service_.get()); |
+ PrefUpdater updater(pref_service_); |
updater.SetBlacklistedByDefault(true); // Disallowed by default. |
updater.SetIndividualExtensionInstallationAllowed(kTargetExtension, true); |
updater.ClearPerExtensionSettings(kTargetExtension2); |
@@ -684,7 +678,7 @@ TEST_F(ExtensionManagementServiceTest, NewInstallForcelist) { |
// Set the new dictionary preference. |
{ |
- PrefUpdater updater(pref_service_.get()); |
+ PrefUpdater updater(pref_service_); |
updater.SetIndividualExtensionAutoInstalled( |
kTargetExtension, kExampleUpdateUrl, true); |
} |
@@ -718,7 +712,7 @@ TEST_F(ExtensionManagementServiceTest, IsInstallationExplicitlyAllowed) { |
{ |
// Set BlacklistedByDefault() to false. |
- PrefUpdater pref(pref_service_.get()); |
+ PrefUpdater pref(pref_service_); |
pref.SetBlacklistedByDefault(false); |
} |
@@ -734,7 +728,7 @@ TEST_F(ExtensionManagementServiceTest, IsInstallationExplicitlyAllowed) { |
// Tests the flag value indicating that extensions are blacklisted by default. |
TEST_F(ExtensionAdminPolicyTest, BlacklistedByDefault) { |
- EXPECT_FALSE(BlacklistedByDefault(NULL)); |
+ EXPECT_FALSE(BlacklistedByDefault(nullptr)); |
base::ListValue blacklist; |
blacklist.AppendString(kNonExistingExtension); |
@@ -750,32 +744,35 @@ TEST_F(ExtensionAdminPolicyTest, BlacklistedByDefault) { |
// Tests UserMayLoad for required extensions. |
TEST_F(ExtensionAdminPolicyTest, UserMayLoadRequired) { |
CreateExtension(Manifest::COMPONENT); |
- EXPECT_TRUE(UserMayLoad(NULL, NULL, NULL, NULL, extension_.get(), NULL)); |
+ EXPECT_TRUE(UserMayLoad(nullptr, nullptr, nullptr, nullptr, extension_.get(), |
+ nullptr)); |
base::string16 error; |
- EXPECT_TRUE(UserMayLoad(NULL, NULL, NULL, NULL, extension_.get(), &error)); |
+ EXPECT_TRUE(UserMayLoad(nullptr, nullptr, nullptr, nullptr, extension_.get(), |
+ &error)); |
EXPECT_TRUE(error.empty()); |
// Required extensions may load even if they're on the blacklist. |
base::ListValue blacklist; |
blacklist.AppendString(extension_->id()); |
- EXPECT_TRUE( |
- UserMayLoad(&blacklist, NULL, NULL, NULL, extension_.get(), NULL)); |
+ EXPECT_TRUE(UserMayLoad(&blacklist, nullptr, nullptr, nullptr, |
+ extension_.get(), nullptr)); |
blacklist.AppendString("*"); |
- EXPECT_TRUE( |
- UserMayLoad(&blacklist, NULL, NULL, NULL, extension_.get(), NULL)); |
+ EXPECT_TRUE(UserMayLoad(&blacklist, nullptr, nullptr, nullptr, |
+ extension_.get(), nullptr)); |
} |
// Tests UserMayLoad when no blacklist exists, or it's empty. |
TEST_F(ExtensionAdminPolicyTest, UserMayLoadNoBlacklist) { |
CreateExtension(Manifest::INTERNAL); |
- EXPECT_TRUE(UserMayLoad(NULL, NULL, NULL, NULL, extension_.get(), NULL)); |
+ EXPECT_TRUE(UserMayLoad(nullptr, nullptr, nullptr, nullptr, extension_.get(), |
+ nullptr)); |
base::ListValue blacklist; |
- EXPECT_TRUE( |
- UserMayLoad(&blacklist, NULL, NULL, NULL, extension_.get(), NULL)); |
+ EXPECT_TRUE(UserMayLoad(&blacklist, nullptr, nullptr, nullptr, |
+ extension_.get(), nullptr)); |
base::string16 error; |
- EXPECT_TRUE( |
- UserMayLoad(&blacklist, NULL, NULL, NULL, extension_.get(), &error)); |
+ EXPECT_TRUE(UserMayLoad(&blacklist, nullptr, nullptr, nullptr, |
+ extension_.get(), &error)); |
EXPECT_TRUE(error.empty()); |
} |
@@ -785,16 +782,16 @@ TEST_F(ExtensionAdminPolicyTest, UserMayLoadWhitelisted) { |
base::ListValue whitelist; |
whitelist.AppendString(extension_->id()); |
- EXPECT_TRUE( |
- UserMayLoad(NULL, &whitelist, NULL, NULL, extension_.get(), NULL)); |
+ EXPECT_TRUE(UserMayLoad(nullptr, &whitelist, nullptr, nullptr, |
+ extension_.get(), nullptr)); |
base::ListValue blacklist; |
blacklist.AppendString(extension_->id()); |
- EXPECT_TRUE( |
- UserMayLoad(NULL, &whitelist, NULL, NULL, extension_.get(), NULL)); |
+ EXPECT_TRUE(UserMayLoad(nullptr, &whitelist, nullptr, nullptr, |
+ extension_.get(), nullptr)); |
base::string16 error; |
- EXPECT_TRUE( |
- UserMayLoad(NULL, &whitelist, NULL, NULL, extension_.get(), &error)); |
+ EXPECT_TRUE(UserMayLoad(nullptr, &whitelist, nullptr, nullptr, |
+ extension_.get(), &error)); |
EXPECT_TRUE(error.empty()); |
} |
@@ -805,77 +802,78 @@ TEST_F(ExtensionAdminPolicyTest, UserMayLoadBlacklisted) { |
// Blacklisted by default. |
base::ListValue blacklist; |
blacklist.AppendString("*"); |
- EXPECT_FALSE( |
- UserMayLoad(&blacklist, NULL, NULL, NULL, extension_.get(), NULL)); |
+ EXPECT_FALSE(UserMayLoad(&blacklist, nullptr, nullptr, nullptr, |
+ extension_.get(), nullptr)); |
base::string16 error; |
- EXPECT_FALSE( |
- UserMayLoad(&blacklist, NULL, NULL, NULL, extension_.get(), &error)); |
+ EXPECT_FALSE(UserMayLoad(&blacklist, nullptr, nullptr, nullptr, |
+ extension_.get(), &error)); |
EXPECT_FALSE(error.empty()); |
// Extension on the blacklist, with and without wildcard. |
blacklist.AppendString(extension_->id()); |
- EXPECT_FALSE( |
- UserMayLoad(&blacklist, NULL, NULL, NULL, extension_.get(), NULL)); |
+ EXPECT_FALSE(UserMayLoad(&blacklist, nullptr, nullptr, nullptr, |
+ extension_.get(), nullptr)); |
blacklist.Clear(); |
blacklist.AppendString(extension_->id()); |
- EXPECT_FALSE( |
- UserMayLoad(&blacklist, NULL, NULL, NULL, extension_.get(), NULL)); |
+ EXPECT_FALSE(UserMayLoad(&blacklist, nullptr, nullptr, nullptr, |
+ extension_.get(), nullptr)); |
// With a whitelist. There's no such thing as a whitelist wildcard. |
base::ListValue whitelist; |
whitelist.AppendString("behllobkkfkfnphdnhnkndlbkcpglgmj"); |
- EXPECT_FALSE( |
- UserMayLoad(&blacklist, &whitelist, NULL, NULL, extension_.get(), NULL)); |
+ EXPECT_FALSE(UserMayLoad(&blacklist, &whitelist, nullptr, nullptr, |
+ extension_.get(), nullptr)); |
whitelist.AppendString("*"); |
- EXPECT_FALSE( |
- UserMayLoad(&blacklist, &whitelist, NULL, NULL, extension_.get(), NULL)); |
+ EXPECT_FALSE(UserMayLoad(&blacklist, &whitelist, nullptr, nullptr, |
+ extension_.get(), nullptr)); |
} |
TEST_F(ExtensionAdminPolicyTest, UserMayLoadAllowedTypes) { |
CreateExtension(Manifest::INTERNAL); |
- EXPECT_TRUE(UserMayLoad(NULL, NULL, NULL, NULL, extension_.get(), NULL)); |
+ EXPECT_TRUE(UserMayLoad(nullptr, nullptr, nullptr, nullptr, extension_.get(), |
+ nullptr)); |
base::ListValue allowed_types; |
- EXPECT_FALSE( |
- UserMayLoad(NULL, NULL, NULL, &allowed_types, extension_.get(), NULL)); |
+ EXPECT_FALSE(UserMayLoad(nullptr, nullptr, nullptr, &allowed_types, |
+ extension_.get(), nullptr)); |
allowed_types.AppendInteger(Manifest::TYPE_EXTENSION); |
- EXPECT_TRUE( |
- UserMayLoad(NULL, NULL, NULL, &allowed_types, extension_.get(), NULL)); |
+ EXPECT_TRUE(UserMayLoad(nullptr, nullptr, nullptr, &allowed_types, |
+ extension_.get(), nullptr)); |
CreateHostedApp(Manifest::INTERNAL); |
- EXPECT_FALSE( |
- UserMayLoad(NULL, NULL, NULL, &allowed_types, extension_.get(), NULL)); |
+ EXPECT_FALSE(UserMayLoad(nullptr, nullptr, nullptr, &allowed_types, |
+ extension_.get(), nullptr)); |
CreateHostedApp(Manifest::EXTERNAL_POLICY_DOWNLOAD); |
- EXPECT_FALSE( |
- UserMayLoad(NULL, NULL, NULL, &allowed_types, extension_.get(), NULL)); |
+ EXPECT_FALSE(UserMayLoad(nullptr, nullptr, nullptr, &allowed_types, |
+ extension_.get(), nullptr)); |
} |
TEST_F(ExtensionAdminPolicyTest, UserMayModifySettings) { |
CreateExtension(Manifest::INTERNAL); |
- EXPECT_TRUE(UserMayModifySettings(extension_.get(), NULL)); |
+ EXPECT_TRUE(UserMayModifySettings(extension_.get(), nullptr)); |
base::string16 error; |
EXPECT_TRUE(UserMayModifySettings(extension_.get(), &error)); |
EXPECT_TRUE(error.empty()); |
CreateExtension(Manifest::EXTERNAL_POLICY_DOWNLOAD); |
error.clear(); |
- EXPECT_FALSE(UserMayModifySettings(extension_.get(), NULL)); |
+ EXPECT_FALSE(UserMayModifySettings(extension_.get(), nullptr)); |
EXPECT_FALSE(UserMayModifySettings(extension_.get(), &error)); |
EXPECT_FALSE(error.empty()); |
} |
TEST_F(ExtensionAdminPolicyTest, MustRemainEnabled) { |
CreateExtension(Manifest::EXTERNAL_POLICY_DOWNLOAD); |
- EXPECT_TRUE(MustRemainEnabled(extension_.get(), NULL)); |
+ EXPECT_TRUE(MustRemainEnabled(extension_.get(), nullptr)); |
base::string16 error; |
EXPECT_TRUE(MustRemainEnabled(extension_.get(), &error)); |
EXPECT_FALSE(error.empty()); |
CreateExtension(Manifest::INTERNAL); |
error.clear(); |
- EXPECT_FALSE(MustRemainEnabled(extension_.get(), NULL)); |
+ EXPECT_FALSE(MustRemainEnabled(extension_.get(), nullptr)); |
EXPECT_FALSE(MustRemainEnabled(extension_.get(), &error)); |
EXPECT_TRUE(error.empty()); |
} |