Move ExtensionServiceTestBase into its own header/cc file

This is the first step in refactoring the (overly-gigantic)
extension_service_unittest.cc

BUG=381251

TBR=atwilson@chromium.org (c/b/background/)
TBR=bauerb@chromium.org (c/b/managed_mode/)
TBR=battre@chromium.org (c/b/profile_resetter/)
TBR=pkotwicz@chromium.org (c/b/themes)
TBR=koz@chromium.org (c/b/ui/app_list)
All TBRs are for simple mechanical changes (primarily namespace move).

Review URL: https://codereview.chromium.org/318863008

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@276587 0039d316-1c4b-4281-b951-d872f2087c98
parent 86936530
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
#include "base/message_loop/message_loop.h" #include "base/message_loop/message_loop.h"
#include "base/stl_util.h" #include "base/stl_util.h"
#include "chrome/browser/extensions/extension_service.h" #include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_service_unittest.h" #include "chrome/browser/extensions/extension_service_test_base.h"
#include "chrome/browser/extensions/permissions_updater.h" #include "chrome/browser/extensions/permissions_updater.h"
#include "chrome/test/base/testing_profile.h" #include "chrome/test/base/testing_profile.h"
#include "content/public/browser/notification_registrar.h" #include "content/public/browser/notification_registrar.h"
...@@ -41,7 +41,8 @@ base::FilePath bogus_file_pathname(const std::string& name) { ...@@ -41,7 +41,8 @@ base::FilePath bogus_file_pathname(const std::string& name) {
.AppendASCII(name); .AppendASCII(name);
} }
class BackgroundApplicationListModelTest : public ExtensionServiceTestBase { class BackgroundApplicationListModelTest
: public extensions::ExtensionServiceTestBase {
public: public:
BackgroundApplicationListModelTest() {} BackgroundApplicationListModelTest() {}
virtual ~BackgroundApplicationListModelTest() {} virtual ~BackgroundApplicationListModelTest() {}
......
...@@ -5,7 +5,8 @@ ...@@ -5,7 +5,8 @@
#include "chrome/browser/extensions/bookmark_app_helper.h" #include "chrome/browser/extensions/bookmark_app_helper.h"
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
#include "chrome/browser/extensions/extension_service_unittest.h" #include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_service_test_base.h"
#include "chrome/common/extensions/manifest_handlers/app_launch_info.h" #include "chrome/common/extensions/manifest_handlers/app_launch_info.h"
#include "chrome/test/base/testing_profile.h" #include "chrome/test/base/testing_profile.h"
#include "content/public/browser/render_process_host.h" #include "content/public/browser/render_process_host.h"
...@@ -42,13 +43,14 @@ class BookmarkAppHelperTest : public testing::Test { ...@@ -42,13 +43,14 @@ class BookmarkAppHelperTest : public testing::Test {
DISALLOW_COPY_AND_ASSIGN(BookmarkAppHelperTest); DISALLOW_COPY_AND_ASSIGN(BookmarkAppHelperTest);
}; };
class BookmarkAppHelperExtensionServiceTest : public ExtensionServiceTestBase { class BookmarkAppHelperExtensionServiceTest
: public extensions::ExtensionServiceTestBase {
public: public:
BookmarkAppHelperExtensionServiceTest() {} BookmarkAppHelperExtensionServiceTest() {}
virtual ~BookmarkAppHelperExtensionServiceTest() {} virtual ~BookmarkAppHelperExtensionServiceTest() {}
virtual void SetUp() OVERRIDE { virtual void SetUp() OVERRIDE {
ExtensionServiceTestBase::SetUp(); extensions::ExtensionServiceTestBase::SetUp();
InitializeEmptyExtensionService(); InitializeEmptyExtensionService();
service_->Init(); service_->Init();
EXPECT_EQ(0u, service_->extensions()->size()); EXPECT_EQ(0u, service_->extensions()->size());
...@@ -222,7 +224,7 @@ TEST_F(BookmarkAppHelperExtensionServiceTest, CreateBookmarkAppNoContents) { ...@@ -222,7 +224,7 @@ TEST_F(BookmarkAppHelperExtensionServiceTest, CreateBookmarkAppNoContents) {
} }
TEST_F(BookmarkAppHelperExtensionServiceTest, CreateAndUpdateBookmarkApp) { TEST_F(BookmarkAppHelperExtensionServiceTest, CreateAndUpdateBookmarkApp) {
EXPECT_EQ(0u, registry_->enabled_extensions().size()); EXPECT_EQ(0u, registry()->enabled_extensions().size());
WebApplicationInfo web_app_info; WebApplicationInfo web_app_info;
web_app_info.app_url = GURL(kAppUrl); web_app_info.app_url = GURL(kAppUrl);
web_app_info.title = base::UTF8ToUTF16(kAppTitle); web_app_info.title = base::UTF8ToUTF16(kAppTitle);
...@@ -234,7 +236,7 @@ TEST_F(BookmarkAppHelperExtensionServiceTest, CreateAndUpdateBookmarkApp) { ...@@ -234,7 +236,7 @@ TEST_F(BookmarkAppHelperExtensionServiceTest, CreateAndUpdateBookmarkApp) {
base::RunLoop().RunUntilIdle(); base::RunLoop().RunUntilIdle();
{ {
EXPECT_EQ(1u, registry_->enabled_extensions().size()); EXPECT_EQ(1u, registry()->enabled_extensions().size());
const Extension* extension = service_->extensions()->begin()->get(); const Extension* extension = service_->extensions()->begin()->get();
EXPECT_TRUE(extension->from_bookmark()); EXPECT_TRUE(extension->from_bookmark());
EXPECT_EQ(kAppTitle, extension->name()); EXPECT_EQ(kAppTitle, extension->name());
...@@ -252,7 +254,7 @@ TEST_F(BookmarkAppHelperExtensionServiceTest, CreateAndUpdateBookmarkApp) { ...@@ -252,7 +254,7 @@ TEST_F(BookmarkAppHelperExtensionServiceTest, CreateAndUpdateBookmarkApp) {
base::RunLoop().RunUntilIdle(); base::RunLoop().RunUntilIdle();
{ {
EXPECT_EQ(1u, registry_->enabled_extensions().size()); EXPECT_EQ(1u, registry()->enabled_extensions().size());
const Extension* extension = service_->extensions()->begin()->get(); const Extension* extension = service_->extensions()->begin()->get();
EXPECT_TRUE(extension->from_bookmark()); EXPECT_TRUE(extension->from_bookmark());
EXPECT_EQ(kAlternativeAppTitle, extension->name()); EXPECT_EQ(kAlternativeAppTitle, extension->name());
...@@ -281,7 +283,7 @@ TEST_F(BookmarkAppHelperExtensionServiceTest, GetWebApplicationInfo) { ...@@ -281,7 +283,7 @@ TEST_F(BookmarkAppHelperExtensionServiceTest, GetWebApplicationInfo) {
extensions::CreateOrUpdateBookmarkApp(service_, web_app_info); extensions::CreateOrUpdateBookmarkApp(service_, web_app_info);
base::RunLoop().RunUntilIdle(); base::RunLoop().RunUntilIdle();
EXPECT_EQ(1u, registry_->enabled_extensions().size()); EXPECT_EQ(1u, registry()->enabled_extensions().size());
base::RunLoop run_loop; base::RunLoop run_loop;
extensions::GetWebApplicationInfoFromApp( extensions::GetWebApplicationInfoFromApp(
profile_.get(), profile_.get(),
......
...@@ -4,7 +4,8 @@ ...@@ -4,7 +4,8 @@
#include "chrome/browser/extensions/extension_context_menu_model.h" #include "chrome/browser/extensions/extension_context_menu_model.h"
#include "chrome/browser/extensions/extension_service_unittest.h" #include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_service_test_base.h"
#include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/host_desktop.h" #include "chrome/browser/ui/host_desktop.h"
#include "chrome/test/base/test_browser_window.h" #include "chrome/test/base/test_browser_window.h"
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
#include "chrome/browser/extensions/extension_error_controller.h" #include "chrome/browser/extensions/extension_error_controller.h"
#include "chrome/browser/extensions/extension_error_ui.h" #include "chrome/browser/extensions/extension_error_ui.h"
#include "chrome/browser/extensions/extension_service.h" #include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_service_unittest.h" #include "chrome/browser/extensions/extension_service_test_base.h"
#include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile.h"
#include "chrome/test/base/testing_profile.h" #include "chrome/test/base/testing_profile.h"
#include "extensions/browser/extension_prefs.h" #include "extensions/browser/extension_prefs.h"
......
...@@ -12,7 +12,8 @@ ...@@ -12,7 +12,8 @@
#include "chrome/browser/chromeos/login/users/user_manager.h" #include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/extensions/extension_assets_manager_chromeos.h" #include "chrome/browser/extensions/extension_assets_manager_chromeos.h"
#include "chrome/browser/extensions/extension_garbage_collector_chromeos.h" #include "chrome/browser/extensions/extension_garbage_collector_chromeos.h"
#include "chrome/browser/extensions/extension_service_unittest.h" #include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_service_test_base.h"
#include "chrome/browser/prefs/browser_prefs.h" #include "chrome/browser/prefs/browser_prefs.h"
#include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile.h"
#include "chrome/test/base/testing_browser_process.h" #include "chrome/test/base/testing_browser_process.h"
......
...@@ -9,7 +9,8 @@ ...@@ -9,7 +9,8 @@
#include "base/threading/sequenced_worker_pool.h" #include "base/threading/sequenced_worker_pool.h"
#include "base/values.h" #include "base/values.h"
#include "chrome/browser/extensions/extension_garbage_collector.h" #include "chrome/browser/extensions/extension_garbage_collector.h"
#include "chrome/browser/extensions/extension_service_unittest.h" #include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_service_test_base.h"
#include "chrome/browser/extensions/install_tracker.h" #include "chrome/browser/extensions/install_tracker.h"
#include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile.h"
#include "chrome/common/chrome_constants.h" #include "chrome/common/chrome_constants.h"
...@@ -75,7 +76,7 @@ TEST_F(ExtensionGarbageCollectorUnitTest, CleanupOnStartup) { ...@@ -75,7 +76,7 @@ TEST_F(ExtensionGarbageCollectorUnitTest, CleanupOnStartup) {
service_->Init(); service_->Init();
GarbageCollectExtensions(); GarbageCollectExtensions();
base::FileEnumerator dirs(extensions_install_dir_, base::FileEnumerator dirs(extensions_install_dir(),
false, // not recursive false, // not recursive
base::FileEnumerator::DIRECTORIES); base::FileEnumerator::DIRECTORIES);
size_t count = 0; size_t count = 0;
...@@ -87,7 +88,7 @@ TEST_F(ExtensionGarbageCollectorUnitTest, CleanupOnStartup) { ...@@ -87,7 +88,7 @@ TEST_F(ExtensionGarbageCollectorUnitTest, CleanupOnStartup) {
// And extension1 dir should now be toast. // And extension1 dir should now be toast.
base::FilePath extension_dir = base::FilePath extension_dir =
extensions_install_dir_.AppendASCII(kExtensionId); extensions_install_dir().AppendASCII(kExtensionId);
ASSERT_FALSE(base::PathExists(extension_dir)); ASSERT_FALSE(base::PathExists(extension_dir));
} }
...@@ -117,7 +118,7 @@ TEST_F(ExtensionGarbageCollectorUnitTest, NoCleanupDuringInstall) { ...@@ -117,7 +118,7 @@ TEST_F(ExtensionGarbageCollectorUnitTest, NoCleanupDuringInstall) {
// extension1 dir should still exist. // extension1 dir should still exist.
base::FilePath extension_dir = base::FilePath extension_dir =
extensions_install_dir_.AppendASCII(kExtensionId); extensions_install_dir().AppendASCII(kExtensionId);
ASSERT_TRUE(base::PathExists(extension_dir)); ASSERT_TRUE(base::PathExists(extension_dir));
// Finish CRX installation and re-run garbage collection. // Finish CRX installation and re-run garbage collection.
...@@ -134,7 +135,7 @@ TEST_F(ExtensionGarbageCollectorUnitTest, GarbageCollectWithPendingUpdates) { ...@@ -134,7 +135,7 @@ TEST_F(ExtensionGarbageCollectorUnitTest, GarbageCollectWithPendingUpdates) {
InitPluginService(); InitPluginService();
base::FilePath source_install_dir = base::FilePath source_install_dir =
data_dir_.AppendASCII("pending_updates").AppendASCII("Extensions"); data_dir().AppendASCII("pending_updates").AppendASCII("Extensions");
base::FilePath pref_path = base::FilePath pref_path =
source_install_dir.DirName().Append(chrome::kPreferencesFilename); source_install_dir.DirName().Append(chrome::kPreferencesFilename);
...@@ -143,20 +144,20 @@ TEST_F(ExtensionGarbageCollectorUnitTest, GarbageCollectWithPendingUpdates) { ...@@ -143,20 +144,20 @@ TEST_F(ExtensionGarbageCollectorUnitTest, GarbageCollectWithPendingUpdates) {
// This is the directory that is going to be deleted, so make sure it actually // This is the directory that is going to be deleted, so make sure it actually
// is there before the garbage collection. // is there before the garbage collection.
ASSERT_TRUE(base::PathExists(extensions_install_dir_.AppendASCII( ASSERT_TRUE(base::PathExists(extensions_install_dir().AppendASCII(
"hpiknbiabeeppbpihjehijgoemciehgk/3"))); "hpiknbiabeeppbpihjehijgoemciehgk/3")));
GarbageCollectExtensions(); GarbageCollectExtensions();
// Verify that the pending update for the first extension didn't get // Verify that the pending update for the first extension didn't get
// deleted. // deleted.
EXPECT_TRUE(base::PathExists(extensions_install_dir_.AppendASCII( EXPECT_TRUE(base::PathExists(extensions_install_dir().AppendASCII(
"bjafgdebaacbbbecmhlhpofkepfkgcpa/1.0"))); "bjafgdebaacbbbecmhlhpofkepfkgcpa/1.0")));
EXPECT_TRUE(base::PathExists(extensions_install_dir_.AppendASCII( EXPECT_TRUE(base::PathExists(extensions_install_dir().AppendASCII(
"bjafgdebaacbbbecmhlhpofkepfkgcpa/2.0"))); "bjafgdebaacbbbecmhlhpofkepfkgcpa/2.0")));
EXPECT_TRUE(base::PathExists(extensions_install_dir_.AppendASCII( EXPECT_TRUE(base::PathExists(extensions_install_dir().AppendASCII(
"hpiknbiabeeppbpihjehijgoemciehgk/2"))); "hpiknbiabeeppbpihjehijgoemciehgk/2")));
EXPECT_FALSE(base::PathExists(extensions_install_dir_.AppendASCII( EXPECT_FALSE(base::PathExists(extensions_install_dir().AppendASCII(
"hpiknbiabeeppbpihjehijgoemciehgk/3"))); "hpiknbiabeeppbpihjehijgoemciehgk/3")));
} }
...@@ -165,7 +166,7 @@ TEST_F(ExtensionGarbageCollectorUnitTest, UpdateOnStartup) { ...@@ -165,7 +166,7 @@ TEST_F(ExtensionGarbageCollectorUnitTest, UpdateOnStartup) {
InitPluginService(); InitPluginService();
base::FilePath source_install_dir = base::FilePath source_install_dir =
data_dir_.AppendASCII("pending_updates").AppendASCII("Extensions"); data_dir().AppendASCII("pending_updates").AppendASCII("Extensions");
base::FilePath pref_path = base::FilePath pref_path =
source_install_dir.DirName().Append(chrome::kPreferencesFilename); source_install_dir.DirName().Append(chrome::kPreferencesFilename);
...@@ -174,20 +175,20 @@ TEST_F(ExtensionGarbageCollectorUnitTest, UpdateOnStartup) { ...@@ -174,20 +175,20 @@ TEST_F(ExtensionGarbageCollectorUnitTest, UpdateOnStartup) {
// This is the directory that is going to be deleted, so make sure it actually // This is the directory that is going to be deleted, so make sure it actually
// is there before the garbage collection. // is there before the garbage collection.
ASSERT_TRUE(base::PathExists(extensions_install_dir_.AppendASCII( ASSERT_TRUE(base::PathExists(extensions_install_dir().AppendASCII(
"hpiknbiabeeppbpihjehijgoemciehgk/3"))); "hpiknbiabeeppbpihjehijgoemciehgk/3")));
service_->Init(); service_->Init();
GarbageCollectExtensions(); GarbageCollectExtensions();
// Verify that the pending update for the first extension got installed. // Verify that the pending update for the first extension got installed.
EXPECT_FALSE(base::PathExists(extensions_install_dir_.AppendASCII( EXPECT_FALSE(base::PathExists(extensions_install_dir().AppendASCII(
"bjafgdebaacbbbecmhlhpofkepfkgcpa/1.0"))); "bjafgdebaacbbbecmhlhpofkepfkgcpa/1.0")));
EXPECT_TRUE(base::PathExists(extensions_install_dir_.AppendASCII( EXPECT_TRUE(base::PathExists(extensions_install_dir().AppendASCII(
"bjafgdebaacbbbecmhlhpofkepfkgcpa/2.0"))); "bjafgdebaacbbbecmhlhpofkepfkgcpa/2.0")));
EXPECT_TRUE(base::PathExists(extensions_install_dir_.AppendASCII( EXPECT_TRUE(base::PathExists(extensions_install_dir().AppendASCII(
"hpiknbiabeeppbpihjehijgoemciehgk/2"))); "hpiknbiabeeppbpihjehijgoemciehgk/2")));
EXPECT_FALSE(base::PathExists(extensions_install_dir_.AppendASCII( EXPECT_FALSE(base::PathExists(extensions_install_dir().AppendASCII(
"hpiknbiabeeppbpihjehijgoemciehgk/3"))); "hpiknbiabeeppbpihjehijgoemciehgk/3")));
// Make sure update information got deleted. // Make sure update information got deleted.
......
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/extensions/extension_service_test_base.h"
#include "base/command_line.h"
#include "base/file_util.h"
#include "base/memory/ref_counted.h"
#include "base/message_loop/message_loop.h"
#include "base/path_service.h"
#include "chrome/browser/extensions/extension_error_reporter.h"
#include "chrome/browser/extensions/extension_garbage_collector_factory.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/test_extension_system.h"
#include "chrome/browser/extensions/updater/extension_updater.h"
#include "chrome/browser/prefs/browser_prefs.h"
#include "chrome/browser/prefs/pref_service_mock_factory.h"
#include "chrome/browser/prefs/pref_service_syncable.h"
#include "chrome/common/chrome_constants.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/test/base/testing_profile.h"
#include "components/pref_registry/pref_registry_syncable.h"
#include "content/public/browser/browser_context.h"
#include "extensions/browser/extension_prefs.h"
#include "extensions/browser/extension_registry.h"
#if defined(OS_CHROMEOS)
#include "chrome/browser/chromeos/extensions/install_limiter.h"
#endif
namespace extensions {
namespace {
// Create a testing profile according to |params|.
scoped_ptr<TestingProfile> BuildTestingProfile(
const ExtensionServiceTestBase::ExtensionServiceInitParams& params) {
TestingProfile::Builder profile_builder;
// Create a PrefService that only contains user defined preference values.
PrefServiceMockFactory factory;
// If pref_file is empty, TestingProfile automatically creates
// TestingPrefServiceSyncable instance.
if (!params.pref_file.empty()) {
factory.SetUserPrefsFile(params.pref_file,
base::MessageLoopProxy::current().get());
scoped_refptr<user_prefs::PrefRegistrySyncable> registry(
new user_prefs::PrefRegistrySyncable);
scoped_ptr<PrefServiceSyncable> prefs(
factory.CreateSyncable(registry.get()));
chrome::RegisterUserProfilePrefs(registry.get());
profile_builder.SetPrefService(prefs.Pass());
}
if (params.profile_is_managed)
profile_builder.SetManagedUserId("asdf");
profile_builder.SetPath(params.profile_path);
return profile_builder.Build();
}
} // namespace
ExtensionServiceTestBase::ExtensionServiceInitParams::
ExtensionServiceInitParams()
: autoupdate_enabled(false), is_first_run(true), profile_is_managed(false) {
}
// Our message loop may be used in tests which require it to be an IO loop.
ExtensionServiceTestBase::ExtensionServiceTestBase()
: service_(NULL),
thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP),
registry_(NULL) {
base::FilePath test_data_dir;
if (!PathService::Get(chrome::DIR_TEST_DATA, &test_data_dir)) {
ADD_FAILURE();
return;
}
data_dir_ = test_data_dir.AppendASCII("extensions");
}
ExtensionServiceTestBase::~ExtensionServiceTestBase() {
// Why? Because |profile_| has to be destroyed before |at_exit_manager_|, but
// is declared above it in the class definition since it's protected.
profile_.reset();
}
ExtensionServiceTestBase::ExtensionServiceInitParams
ExtensionServiceTestBase::CreateDefaultInitParams() {
ExtensionServiceInitParams params;
EXPECT_TRUE(temp_dir_.CreateUniqueTempDir());
base::FilePath path = temp_dir_.path();
path = path.Append(FILE_PATH_LITERAL("TestingExtensionsPath"));
EXPECT_TRUE(base::DeleteFile(path, true));
base::File::Error error = base::File::FILE_OK;
EXPECT_TRUE(base::CreateDirectoryAndGetError(path, &error)) << error;
base::FilePath prefs_filename =
path.Append(FILE_PATH_LITERAL("TestPreferences"));
base::FilePath extensions_install_dir =
path.Append(FILE_PATH_LITERAL("Extensions"));
EXPECT_TRUE(base::DeleteFile(extensions_install_dir, true));
EXPECT_TRUE(base::CreateDirectoryAndGetError(extensions_install_dir, &error))
<< error;
params.profile_path = path;
params.pref_file = prefs_filename;
params.extensions_install_dir = extensions_install_dir;
return params;
}
void ExtensionServiceTestBase::InitializeExtensionService(
const ExtensionServiceTestBase::ExtensionServiceInitParams& params) {
profile_ = BuildTestingProfile(params);
CreateExtensionService(params);
extensions_install_dir_ = params.extensions_install_dir;
registry_ = ExtensionRegistry::Get(profile_.get());
// Garbage collector is typically NULL during tests, so give it a build.
ExtensionGarbageCollectorFactory::GetInstance()->SetTestingFactoryAndUse(
profile_.get(), &ExtensionGarbageCollectorFactory::BuildInstanceFor);
}
void ExtensionServiceTestBase::InitializeEmptyExtensionService() {
InitializeExtensionService(CreateDefaultInitParams());
}
void ExtensionServiceTestBase::InitializeInstalledExtensionService(
const base::FilePath& prefs_file,
const base::FilePath& source_install_dir) {
ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
base::FilePath path = temp_dir_.path();
path = path.Append(FILE_PATH_LITERAL("TestingExtensionsPath"));
ASSERT_TRUE(base::DeleteFile(path, true));
base::File::Error error = base::File::FILE_OK;
ASSERT_TRUE(base::CreateDirectoryAndGetError(path, &error)) << error;
base::FilePath temp_prefs = path.Append(chrome::kPreferencesFilename);
ASSERT_TRUE(base::CopyFile(prefs_file, temp_prefs));
base::FilePath extensions_install_dir =
path.Append(FILE_PATH_LITERAL("Extensions"));
ASSERT_TRUE(base::DeleteFile(extensions_install_dir, true));
ASSERT_TRUE(
base::CopyDirectory(source_install_dir, extensions_install_dir, true));
ExtensionServiceInitParams params;
params.profile_path = path;
params.pref_file = temp_prefs;
params.extensions_install_dir = extensions_install_dir;
InitializeExtensionService(params);
}
void ExtensionServiceTestBase::InitializeGoodInstalledExtensionService() {
base::FilePath source_install_dir =
data_dir_.AppendASCII("good").AppendASCII("Extensions");
base::FilePath pref_path =
source_install_dir.DirName().Append(chrome::kPreferencesFilename);
InitializeInstalledExtensionService(pref_path, source_install_dir);
}
void ExtensionServiceTestBase::InitializeExtensionServiceWithUpdater() {
ExtensionServiceInitParams params = CreateDefaultInitParams();
params.autoupdate_enabled = true;
InitializeExtensionService(params);
service_->updater()->Start();
}
void ExtensionServiceTestBase::InitializeProcessManager() {
static_cast<extensions::TestExtensionSystem*>(
ExtensionSystem::Get(profile_.get()))->CreateProcessManager();
}
void ExtensionServiceTestBase::SetUp() {
ExtensionErrorReporter::GetInstance()->ClearErrors();
}
void ExtensionServiceTestBase::SetUpTestCase() {
// Safe to call multiple times.
ExtensionErrorReporter::Init(false); // no noisy errors.
}
// These are declared in the .cc so that all inheritors don't need to know
// that TestingProfile derives Profile derives BrowserContext.
content::BrowserContext* ExtensionServiceTestBase::browser_context() {
return profile_.get();
}
Profile* ExtensionServiceTestBase::profile() {
return profile_.get();
}
void ExtensionServiceTestBase::CreateExtensionService(
const ExtensionServiceInitParams& params) {
TestExtensionSystem* system =
static_cast<TestExtensionSystem*>(ExtensionSystem::Get(profile_.get()));
if (!params.is_first_run) {
ExtensionPrefs* prefs = system->CreateExtensionPrefs(
base::CommandLine::ForCurrentProcess(), params.extensions_install_dir);
prefs->SetAlertSystemFirstRun();
}
service_ =
system->CreateExtensionService(base::CommandLine::ForCurrentProcess(),
params.extensions_install_dir,
params.autoupdate_enabled);
service_->SetFileTaskRunnerForTesting(
base::MessageLoopProxy::current().get());
service_->set_extensions_enabled(true);
service_->set_show_extensions_prompts(false);
service_->set_install_updates_when_idle_for_test(false);
// When we start up, we want to make sure there is no external provider,
// since the ExtensionService on Windows will use the Registry as a default
// provider and if there is something already registered there then it will
// interfere with the tests. Those tests that need an external provider
// will register one specifically.
service_->ClearProvidersForTesting();
#if defined(OS_CHROMEOS)
InstallLimiter::Get(profile_.get())->DisableForTest();
#endif
}
} // namespace extensions
// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_SERVICE_UNITTEST_H_ #ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_SERVICE_TEST_BASE_H_
#define CHROME_BROWSER_EXTENSIONS_EXTENSION_SERVICE_UNITTEST_H_ #define CHROME_BROWSER_EXTENSIONS_EXTENSION_SERVICE_TEST_BASE_H_
#include "base/at_exit.h" #include "base/at_exit.h"
#include "base/files/file_path.h" #include "base/files/file_path.h"
#include "base/files/scoped_temp_dir.h" #include "base/files/scoped_temp_dir.h"
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h" #include "base/memory/scoped_ptr.h"
#include "base/message_loop/message_loop.h"
#include "chrome/browser/extensions/extension_service.h"
#include "content/public/test/test_browser_thread_bundle.h" #include "content/public/test/test_browser_thread_bundle.h"
#include "content/public/test/test_utils.h" #include "content/public/test/test_utils.h"
#include "extensions/common/feature_switch.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
#if defined(OS_CHROMEOS) #if defined(OS_CHROMEOS)
...@@ -23,82 +19,118 @@ ...@@ -23,82 +19,118 @@
#include "chrome/browser/chromeos/settings/device_settings_service.h" #include "chrome/browser/chromeos/settings/device_settings_service.h"
#endif #endif
class ExtensionService;
class Profile;
class TestingProfile; class TestingProfile;
namespace content {
class BrowserContext;
}
namespace extensions { namespace extensions {
class ExtensionRegistry;
class ManagementPolicy; class ManagementPolicy;
}
// A unittest infrastructure which creates an ExtensionService. Whenever
// possible, use this instead of creating a browsertest.
// Note: Before adding methods to this class, please, please, please think about
// whether they should go here or in a more specific subclass. Lots of things
// need an ExtensionService, but they don't all need to know how you want yours
// to be initialized.
class ExtensionServiceTestBase : public testing::Test { class ExtensionServiceTestBase : public testing::Test {
public: public:
struct ExtensionServiceInitParams { struct ExtensionServiceInitParams {
base::FilePath profile_path; base::FilePath profile_path;
base::FilePath pref_file; base::FilePath pref_file;
base::FilePath extensions_install_dir; base::FilePath extensions_install_dir;
bool autoupdate_enabled; bool autoupdate_enabled; // defaults to false.
bool is_first_run; bool is_first_run; // defaults to true.
bool profile_is_managed; bool profile_is_managed; // defaults to false.
// Though you could use this constructor, you probably want to use
// CreateDefaultInitParams(), and then make a change or two.
ExtensionServiceInitParams(); ExtensionServiceInitParams();
}; };
protected:
ExtensionServiceTestBase(); ExtensionServiceTestBase();
virtual ~ExtensionServiceTestBase(); virtual ~ExtensionServiceTestBase();
void InitializeExtensionService(const ExtensionServiceInitParams& params); // testing::Test implementation.
virtual void SetUp() OVERRIDE;
static void SetUpTestCase(); // faux-verride (static override).
static scoped_ptr<TestingProfile> CreateTestingProfile( // Create a set of InitParams to install an ExtensionService into |temp_dir_|.
const ExtensionServiceInitParams& params); ExtensionServiceInitParams CreateDefaultInitParams();
// Initialize an ExtensionService according to the given |params|.
void InitializeExtensionService(const ExtensionServiceInitParams& params);
static ExtensionService* InitializeExtensionServiceForProfile( // Initialize an empty ExtensionService using the default init params.
const ExtensionServiceInitParams& params, void InitializeEmptyExtensionService();
Profile* profile);
// Initialize an ExtensionService with the associated |prefs_file| and
// |source_install_dir|.
void InitializeInstalledExtensionService( void InitializeInstalledExtensionService(
const base::FilePath& prefs_file, const base::FilePath& prefs_file,
const base::FilePath& source_install_dir); const base::FilePath& source_install_dir);
// Initialize an ExtensionService with a few already-installed extensions.
void InitializeGoodInstalledExtensionService(); void InitializeGoodInstalledExtensionService();
void InitializeEmptyExtensionService(); // Initialize an ExtensionService with autoupdate enabled.
void InitializeExtensionServiceWithUpdater();
// Initialize the associated ProcessManager.
void InitializeProcessManager(); void InitializeProcessManager();
void InitializeExtensionServiceWithUpdater(); // TODO(rdevlin.cronin): Pull out more methods from ExtensionServiceTest that
// are commonly used and/or reimplemented. For instance, methods to install
// extensions from various locations, etc.
void InitializeExtensionSyncService(); content::BrowserContext* browser_context();
Profile* profile();
ExtensionService* service() { return service_; }
ExtensionRegistry* registry() { return registry_; }
const base::FilePath& extensions_install_dir() const {
return extensions_install_dir_;
}
const base::FilePath& data_dir() const { return data_dir_; }
const base::ScopedTempDir& temp_dir() const { return temp_dir_; }
static void SetUpTestCase(); // It's unfortunate that these are exposed to subclasses (rather than used
// through the accessor methods above), but too many tests already use them
// directly.
virtual void SetUp() OVERRIDE; // The associated testing profile.
virtual void TearDown() OVERRIDE; scoped_ptr<TestingProfile> profile_;
void set_extensions_enabled(bool enabled) { // The ExtensionService, whose lifetime is managed by |profile|'s
service_->set_extensions_enabled(enabled); // ExtensionSystem.
} ExtensionService* service_;
protected: private:
ExtensionServiceInitParams CreateDefaultInitParams(); void CreateExtensionService(const ExtensionServiceInitParams& params);
static ExtensionServiceInitParams CreateDefaultInitParamsInTempDir(
base::ScopedTempDir* temp_dir);
// Destroy temp_dir_ after thread_bundle_ so clean-up tasks can still use the // Destroy temp_dir_ after thread_bundle_ so clean-up tasks can still use the
// directory. // directory.
base::ScopedTempDir temp_dir_; base::ScopedTempDir temp_dir_;
// Destroying at_exit_manager_ will delete all LazyInstances, so it must come // Destroying at_exit_manager_ will delete all LazyInstances, so it must come
// after thread_bundle_ in the destruction order. // after thread_bundle_ in the destruction order.
base::ShadowingAtExitManager at_exit_manager_; base::ShadowingAtExitManager at_exit_manager_;
content::TestBrowserThreadBundle thread_bundle_; content::TestBrowserThreadBundle thread_bundle_;
scoped_ptr<TestingProfile> profile_;
// The directory into which extensions are installed.
base::FilePath extensions_install_dir_; base::FilePath extensions_install_dir_;
// chrome/test/data/extensions/
base::FilePath data_dir_; base::FilePath data_dir_;
// Managed by extensions::ExtensionSystemFactory.
ExtensionService* service_;
extensions::ManagementPolicy* management_policy_;
scoped_ptr<ExtensionSyncService> extension_sync_service_;
size_t expected_extensions_count_;
content::InProcessUtilityThreadHelper in_process_utility_thread_helper_; content::InProcessUtilityThreadHelper in_process_utility_thread_helper_;
// The associated ExtensionRegistry, for convenience.
extensions::ExtensionRegistry* registry_; extensions::ExtensionRegistry* registry_;
#if defined OS_CHROMEOS #if defined OS_CHROMEOS
...@@ -108,4 +140,6 @@ class ExtensionServiceTestBase : public testing::Test { ...@@ -108,4 +140,6 @@ class ExtensionServiceTestBase : public testing::Test {
#endif #endif
}; };
#endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_SERVICE_UNITTEST_H_ } // namespace extensions
#endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_SERVICE_TEST_BASE_H_
...@@ -11,7 +11,8 @@ ...@@ -11,7 +11,8 @@
#include "chrome/browser/chrome_notification_types.h" #include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/chromeos/customization_document.h" #include "chrome/browser/chromeos/customization_document.h"
#include "chrome/browser/chromeos/login/users/fake_user_manager.h" #include "chrome/browser/chromeos/login/users/fake_user_manager.h"
#include "chrome/browser/extensions/extension_service_unittest.h" #include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_service_test_base.h"
#include "chrome/common/chrome_paths.h" #include "chrome/common/chrome_paths.h"
#include "chrome/common/chrome_switches.h" #include "chrome/common/chrome_switches.h"
#include "chrome/test/base/testing_browser_process.h" #include "chrome/test/base/testing_browser_process.h"
...@@ -64,9 +65,8 @@ class ExternalProviderImplChromeOSTest : public ExtensionServiceTestBase { ...@@ -64,9 +65,8 @@ class ExternalProviderImplChromeOSTest : public ExtensionServiceTestBase {
chromeos::ServicesCustomizationDocument::RegisterPrefs( chromeos::ServicesCustomizationDocument::RegisterPrefs(
local_state_.registry()); local_state_.registry());
external_externsions_overrides_.reset( external_externsions_overrides_.reset(new base::ScopedPathOverride(
new base::ScopedPathOverride(chrome::DIR_EXTERNAL_EXTENSIONS, chrome::DIR_EXTERNAL_EXTENSIONS, data_dir().Append("external")));
data_dir_.Append("external")));
chromeos::system::StatisticsProvider::SetTestProvider( chromeos::system::StatisticsProvider::SetTestProvider(
&mock_statistics_provider_); &mock_statistics_provider_);
......
...@@ -13,7 +13,8 @@ ...@@ -13,7 +13,8 @@
#include "base/strings/stringprintf.h" #include "base/strings/stringprintf.h"
#include "base/test/scoped_path_override.h" #include "base/test/scoped_path_override.h"
#include "chrome/browser/chrome_notification_types.h" #include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/extensions/extension_service_unittest.h" #include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_service_test_base.h"
#include "chrome/browser/extensions/updater/extension_cache_fake.h" #include "chrome/browser/extensions/updater/extension_cache_fake.h"
#include "chrome/common/chrome_paths.h" #include "chrome/common/chrome_paths.h"
#include "chrome/common/chrome_switches.h" #include "chrome/common/chrome_switches.h"
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
#include "base/values.h" #include "base/values.h"
#include "chrome/browser/chrome_notification_types.h" #include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/extensions/extension_service.h" #include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_service_unittest.h" #include "chrome/browser/extensions/extension_service_test_base.h"
#include "chrome/browser/extensions/permissions_updater.h" #include "chrome/browser/extensions/permissions_updater.h"
#include "chrome/common/chrome_paths.h" #include "chrome/common/chrome_paths.h"
#include "chrome/common/extensions/extension_test_util.h" #include "chrome/common/extensions/extension_test_util.h"
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
#include "base/strings/string16.h" #include "base/strings/string16.h"
#include "base/values.h" #include "base/values.h"
#include "chrome/browser/extensions/extension_service.h" #include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_service_unittest.h" #include "chrome/browser/extensions/extension_service_test_base.h"
#include "chrome/browser/extensions/pending_extension_manager.h" #include "chrome/browser/extensions/pending_extension_manager.h"
#include "chrome/browser/extensions/shared_module_service.h" #include "chrome/browser/extensions/shared_module_service.h"
#include "chrome/common/extensions/features/feature_channel.h" #include "chrome/common/extensions/features/feature_channel.h"
...@@ -65,8 +65,8 @@ void SharedModuleServiceUnitTest::SetUp() { ...@@ -65,8 +65,8 @@ void SharedModuleServiceUnitTest::SetUp() {
testing::AssertionResult SharedModuleServiceUnitTest::InstallExtension( testing::AssertionResult SharedModuleServiceUnitTest::InstallExtension(
const Extension* extension) { const Extension* extension) {
// Verify the extension is not already installed. // Verify the extension is not already installed.
if (registry_->GetExtensionById(extension->id(), if (registry()->GetExtensionById(extension->id(),
ExtensionRegistry::ENABLED)) { ExtensionRegistry::ENABLED)) {
return testing::AssertionFailure() << "Extension already installed."; return testing::AssertionFailure() << "Extension already installed.";
} }
...@@ -80,8 +80,8 @@ testing::AssertionResult SharedModuleServiceUnitTest::InstallExtension( ...@@ -80,8 +80,8 @@ testing::AssertionResult SharedModuleServiceUnitTest::InstallExtension(
false); // Don't wait for idle. false); // Don't wait for idle.
// Verify that the extension is now installed. // Verify that the extension is now installed.
if (!registry_->GetExtensionById(extension->id(), if (!registry()->GetExtensionById(extension->id(),
ExtensionRegistry::ENABLED)) { ExtensionRegistry::ENABLED)) {
return testing::AssertionFailure() << "Could not install extension."; return testing::AssertionFailure() << "Could not install extension.";
} }
...@@ -141,8 +141,8 @@ TEST_F(SharedModuleServiceUnitTest, PruneSharedModulesOnUninstall) { ...@@ -141,8 +141,8 @@ TEST_F(SharedModuleServiceUnitTest, PruneSharedModulesOnUninstall) {
// Since the module was only referenced by that single extension, it should // Since the module was only referenced by that single extension, it should
// have been uninstalled as a side-effect of uninstalling the extension that // have been uninstalled as a side-effect of uninstalling the extension that
// depended upon it. // depended upon it.
EXPECT_FALSE(registry_->GetExtensionById(shared_module->id(), EXPECT_FALSE(registry()->GetExtensionById(shared_module->id(),
ExtensionRegistry::EVERYTHING)); ExtensionRegistry::EVERYTHING));
} }
TEST_F(SharedModuleServiceUnitTest, WhitelistedImports) { TEST_F(SharedModuleServiceUnitTest, WhitelistedImports) {
......
...@@ -7,7 +7,8 @@ ...@@ -7,7 +7,8 @@
#include "base/message_loop/message_loop.h" #include "base/message_loop/message_loop.h"
#include "base/threading/thread.h" #include "base/threading/thread.h"
#include "chrome/browser/chrome_notification_types.h" #include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/extensions/extension_service_unittest.h" #include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_service_test_base.h"
#include "chrome/browser/extensions/unpacked_installer.h" #include "chrome/browser/extensions/unpacked_installer.h"
#include "chrome/browser/extensions/user_script_listener.h" #include "chrome/browser/extensions/user_script_listener.h"
#include "chrome/common/chrome_paths.h" #include "chrome/common/chrome_paths.h"
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
#include "base/prefs/scoped_user_pref_update.h" #include "base/prefs/scoped_user_pref_update.h"
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
#include "chrome/browser/chrome_notification_types.h" #include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/extensions/extension_service_unittest.h" #include "chrome/browser/extensions/extension_service_test_base.h"
#include "chrome/browser/extensions/unpacked_installer.h" #include "chrome/browser/extensions/unpacked_installer.h"
#include "chrome/browser/managed_mode/custodian_profile_downloader_service.h" #include "chrome/browser/managed_mode/custodian_profile_downloader_service.h"
#include "chrome/browser/managed_mode/custodian_profile_downloader_service_factory.h" #include "chrome/browser/managed_mode/custodian_profile_downloader_service_factory.h"
...@@ -165,7 +165,8 @@ TEST_F(ManagedUserServiceTest, ShutDownCustodianProfileDownloader) { ...@@ -165,7 +165,8 @@ TEST_F(ManagedUserServiceTest, ShutDownCustodianProfileDownloader) {
} }
#if !defined(OS_ANDROID) #if !defined(OS_ANDROID)
class ManagedUserServiceExtensionTestBase : public ExtensionServiceTestBase { class ManagedUserServiceExtensionTestBase
: public extensions::ExtensionServiceTestBase {
public: public:
explicit ManagedUserServiceExtensionTestBase(bool is_managed) explicit ManagedUserServiceExtensionTestBase(bool is_managed)
: is_managed_(is_managed), : is_managed_(is_managed),
......
...@@ -20,7 +20,8 @@ ...@@ -20,7 +20,8 @@
#include "base/values.h" #include "base/values.h"
#include "chrome/app/chrome_command_ids.h" #include "chrome/app/chrome_command_ids.h"
#include "chrome/browser/chrome_notification_types.h" #include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/extensions/extension_service_unittest.h" #include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_service_test_base.h"
#include "chrome/browser/google/google_brand.h" #include "chrome/browser/google/google_brand.h"
#include "chrome/browser/profile_resetter/brandcoded_default_settings.h" #include "chrome/browser/profile_resetter/brandcoded_default_settings.h"
#include "chrome/browser/profile_resetter/profile_reset_global_error.h" #include "chrome/browser/profile_resetter/profile_reset_global_error.h"
...@@ -161,14 +162,14 @@ void ServicePendingBrancodedConfigFetch(net::TestURLFetcher* fetcher, ...@@ -161,14 +162,14 @@ void ServicePendingBrancodedConfigFetch(net::TestURLFetcher* fetcher,
// ExtensionServiceTestBase sets up a TestingProfile with the ExtensionService, // ExtensionServiceTestBase sets up a TestingProfile with the ExtensionService,
// we then add the TemplateURLService, so the ProfileResetter can be exercised. // we then add the TemplateURLService, so the ProfileResetter can be exercised.
class AutomaticProfileResetterDelegateTest class AutomaticProfileResetterDelegateTest
: public ExtensionServiceTestBase, : public extensions::ExtensionServiceTestBase,
public TemplateURLServiceTestUtilBase { public TemplateURLServiceTestUtilBase {
protected: protected:
AutomaticProfileResetterDelegateTest() {} AutomaticProfileResetterDelegateTest() {}
virtual ~AutomaticProfileResetterDelegateTest() {} virtual ~AutomaticProfileResetterDelegateTest() {}
virtual void SetUp() OVERRIDE { virtual void SetUp() OVERRIDE {
ExtensionServiceTestBase::SetUp(); extensions::ExtensionServiceTestBase::SetUp();
ExtensionServiceInitParams params = CreateDefaultInitParams(); ExtensionServiceInitParams params = CreateDefaultInitParams();
params.pref_file.clear(); // Prescribes a TestingPrefService to be created. params.pref_file.clear(); // Prescribes a TestingPrefService to be created.
InitializeExtensionService(params); InitializeExtensionService(params);
...@@ -179,7 +180,7 @@ class AutomaticProfileResetterDelegateTest ...@@ -179,7 +180,7 @@ class AutomaticProfileResetterDelegateTest
virtual void TearDown() OVERRIDE { virtual void TearDown() OVERRIDE {
resetter_delegate_.reset(); resetter_delegate_.reset();
ExtensionServiceTestBase::TearDown(); extensions::ExtensionServiceTestBase::TearDown();
} }
scoped_ptr<TemplateURL> CreateTestTemplateURL() { scoped_ptr<TemplateURL> CreateTestTemplateURL() {
......
...@@ -9,7 +9,8 @@ ...@@ -9,7 +9,8 @@
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
#include "base/test/scoped_path_override.h" #include "base/test/scoped_path_override.h"
#include "chrome/browser/content_settings/host_content_settings_map.h" #include "chrome/browser/content_settings/host_content_settings_map.h"
#include "chrome/browser/extensions/extension_service_unittest.h" #include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_service_test_base.h"
#include "chrome/browser/extensions/tab_helper.h" #include "chrome/browser/extensions/tab_helper.h"
#include "chrome/browser/notifications/desktop_notification_service.h" #include "chrome/browser/notifications/desktop_notification_service.h"
#include "chrome/browser/notifications/desktop_notification_service_factory.h" #include "chrome/browser/notifications/desktop_notification_service_factory.h"
...@@ -94,7 +95,7 @@ using extensions::Manifest; ...@@ -94,7 +95,7 @@ using extensions::Manifest;
// ProfileResetterTest -------------------------------------------------------- // ProfileResetterTest --------------------------------------------------------
// ProfileResetterTest sets up the extension, WebData and TemplateURL services. // ProfileResetterTest sets up the extension, WebData and TemplateURL services.
class ProfileResetterTest : public ExtensionServiceTestBase, class ProfileResetterTest : public extensions::ExtensionServiceTestBase,
public ProfileResetterTestBase { public ProfileResetterTestBase {
public: public:
ProfileResetterTest(); ProfileResetterTest();
...@@ -131,7 +132,7 @@ ProfileResetterTest::~ProfileResetterTest() { ...@@ -131,7 +132,7 @@ ProfileResetterTest::~ProfileResetterTest() {
} }
void ProfileResetterTest::SetUp() { void ProfileResetterTest::SetUp() {
ExtensionServiceTestBase::SetUp(); extensions::ExtensionServiceTestBase::SetUp();
InitializeEmptyExtensionService(); InitializeEmptyExtensionService();
profile()->CreateWebDataService(); profile()->CreateWebDataService();
......
...@@ -7,7 +7,8 @@ ...@@ -7,7 +7,8 @@
#include "base/file_util.h" #include "base/file_util.h"
#include "base/path_service.h" #include "base/path_service.h"
#include "chrome/browser/chrome_notification_types.h" #include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/extensions/extension_service_unittest.h" #include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_service_test_base.h"
#include "chrome/browser/extensions/unpacked_installer.h" #include "chrome/browser/extensions/unpacked_installer.h"
#include "chrome/browser/managed_mode/managed_user_service.h" #include "chrome/browser/managed_mode/managed_user_service.h"
#include "chrome/browser/managed_mode/managed_user_service_factory.h" #include "chrome/browser/managed_mode/managed_user_service_factory.h"
...@@ -27,7 +28,7 @@ using extensions::ExtensionRegistry; ...@@ -27,7 +28,7 @@ using extensions::ExtensionRegistry;
namespace theme_service_internal { namespace theme_service_internal {
class ThemeServiceTest : public ExtensionServiceTestBase { class ThemeServiceTest : public extensions::ExtensionServiceTestBase {
public: public:
ThemeServiceTest() : is_managed_(false), ThemeServiceTest() : is_managed_(false),
registry_(NULL) {} registry_(NULL) {}
...@@ -82,8 +83,8 @@ class ThemeServiceTest : public ExtensionServiceTestBase { ...@@ -82,8 +83,8 @@ class ThemeServiceTest : public ExtensionServiceTestBase {
} }
virtual void SetUp() { virtual void SetUp() {
ExtensionServiceTestBase::SetUp(); extensions::ExtensionServiceTestBase::SetUp();
ExtensionServiceTestBase::ExtensionServiceInitParams params = extensions::ExtensionServiceTestBase::ExtensionServiceInitParams params =
CreateDefaultInitParams(); CreateDefaultInitParams();
params.profile_is_managed = is_managed_; params.profile_is_managed = is_managed_;
InitializeExtensionService(params); InitializeExtensionService(params);
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#include "chrome/browser/ui/app_list/app_list_test_util.h" #include "chrome/browser/ui/app_list/app_list_test_util.h"
#include "base/files/file_path.h" #include "base/files/file_path.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/common/chrome_constants.h" #include "chrome/common/chrome_constants.h"
#include "extensions/common/extension_set.h" #include "extensions/common/extension_set.h"
...@@ -20,7 +21,7 @@ AppListTestBase::AppListTestBase() {} ...@@ -20,7 +21,7 @@ AppListTestBase::AppListTestBase() {}
AppListTestBase::~AppListTestBase() {} AppListTestBase::~AppListTestBase() {}
void AppListTestBase::SetUp() { void AppListTestBase::SetUp() {
ExtensionServiceTestBase::SetUp(); extensions::ExtensionServiceTestBase::SetUp();
// Load "app_list" extensions test profile. // Load "app_list" extensions test profile.
// The test profile has 5 extensions: // The test profile has 5 extensions:
...@@ -28,9 +29,8 @@ void AppListTestBase::SetUp() { ...@@ -28,9 +29,8 @@ void AppListTestBase::SetUp() {
// - 2 packaged extension apps // - 2 packaged extension apps
// - 1 hosted extension app // - 1 hosted extension app
// - 1 ephemeral app (which should not be visible in the launcher) // - 1 ephemeral app (which should not be visible in the launcher)
base::FilePath source_install_dir = data_dir_ base::FilePath source_install_dir =
.AppendASCII("app_list") data_dir().AppendASCII("app_list").AppendASCII("Extensions");
.AppendASCII("Extensions");
base::FilePath pref_path = source_install_dir base::FilePath pref_path = source_install_dir
.DirName() .DirName()
.Append(chrome::kPreferencesFilename); .Append(chrome::kPreferencesFilename);
......
...@@ -5,10 +5,10 @@ ...@@ -5,10 +5,10 @@
#ifndef CHROME_BROWSER_UI_APP_LIST_APP_LIST_TEST_UTIL_H_ #ifndef CHROME_BROWSER_UI_APP_LIST_APP_LIST_TEST_UTIL_H_
#define CHROME_BROWSER_UI_APP_LIST_APP_LIST_TEST_UTIL_H_ #define CHROME_BROWSER_UI_APP_LIST_APP_LIST_TEST_UTIL_H_
#include "chrome/browser/extensions/extension_service_unittest.h" #include "chrome/browser/extensions/extension_service_test_base.h"
// Base class for app list unit tests that use the "app_list" test profile. // Base class for app list unit tests that use the "app_list" test profile.
class AppListTestBase : public ExtensionServiceTestBase { class AppListTestBase : public extensions::ExtensionServiceTestBase {
public: public:
static const char kHostedAppId[]; static const char kHostedAppId[];
static const char kPackagedApp1Id[]; static const char kPackagedApp1Id[];
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
#include "base/run_loop.h" #include "base/run_loop.h"
#include "base/values.h" #include "base/values.h"
#include "chrome/browser/extensions/extension_function_test_utils.h" #include "chrome/browser/extensions/extension_function_test_utils.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/install_tracker.h" #include "chrome/browser/extensions/install_tracker.h"
#include "chrome/browser/extensions/install_tracker_factory.h" #include "chrome/browser/extensions/install_tracker_factory.h"
#include "chrome/browser/ui/app_list/app_list_controller_delegate_impl.h" #include "chrome/browser/ui/app_list/app_list_controller_delegate_impl.h"
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#include "base/memory/scoped_ptr.h" #include "base/memory/scoped_ptr.h"
#include "base/run_loop.h" #include "base/run_loop.h"
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/ui/app_list/app_list_test_util.h" #include "chrome/browser/ui/app_list/app_list_test_util.h"
#include "chrome/browser/ui/app_list/search/app_search_provider.h" #include "chrome/browser/ui/app_list/search/app_search_provider.h"
#include "chrome/browser/ui/app_list/search/chrome_search_result.h" #include "chrome/browser/ui/app_list/search/chrome_search_result.h"
......
...@@ -964,8 +964,9 @@ ...@@ -964,8 +964,9 @@
'browser/extensions/extension_message_bubble_controller_unittest.cc', 'browser/extensions/extension_message_bubble_controller_unittest.cc',
'browser/extensions/extension_prefs_unittest.cc', 'browser/extensions/extension_prefs_unittest.cc',
'browser/extensions/extension_prefs_unittest.h', 'browser/extensions/extension_prefs_unittest.h',
'browser/extensions/extension_service_test_base.h',
'browser/extensions/extension_service_test_base.cc',
'browser/extensions/extension_service_unittest.cc', 'browser/extensions/extension_service_unittest.cc',
'browser/extensions/extension_service_unittest.h',
'browser/extensions/extension_special_storage_policy_unittest.cc', 'browser/extensions/extension_special_storage_policy_unittest.cc',
'browser/extensions/extension_sync_data_unittest.cc', 'browser/extensions/extension_sync_data_unittest.cc',
'browser/extensions/extension_test_message_listener_unittest.cc', 'browser/extensions/extension_test_message_listener_unittest.cc',
......
...@@ -28,7 +28,8 @@ specific_include_rules = { ...@@ -28,7 +28,8 @@ specific_include_rules = {
"+chrome/browser/extensions/extension_api_unittest.h", "+chrome/browser/extensions/extension_api_unittest.h",
"+chrome/browser/extensions/extension_apitest.h", "+chrome/browser/extensions/extension_apitest.h",
"+chrome/browser/extensions/extension_function_test_utils.h", "+chrome/browser/extensions/extension_function_test_utils.h",
"+chrome/browser/extensions/extension_service_unittest.h", "+chrome/browser/extensions/extension_service.h",
"+chrome/browser/extensions/extension_service_test_base.h",
"+chrome/browser/extensions/test_extension_dir.h", "+chrome/browser/extensions/test_extension_dir.h",
"+chrome/browser/extensions/test_extension_system.h", "+chrome/browser/extensions/test_extension_system.h",
"+chrome/browser/ui/browser.h", "+chrome/browser/ui/browser.h",
......
...@@ -6,7 +6,8 @@ ...@@ -6,7 +6,8 @@
#include "base/bind.h" #include "base/bind.h"
#include "base/command_line.h" #include "base/command_line.h"
#include "chrome/browser/extensions/extension_service_unittest.h" #include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_service_test_base.h"
#include "chrome/browser/extensions/test_extension_system.h" #include "chrome/browser/extensions/test_extension_system.h"
#include "chrome/test/base/testing_profile.h" #include "chrome/test/base/testing_profile.h"
#include "content/public/test/test_browser_thread_bundle.h" #include "content/public/test/test_browser_thread_bundle.h"
...@@ -43,7 +44,8 @@ class TestProcessManager : public ProcessManager { ...@@ -43,7 +44,8 @@ class TestProcessManager : public ProcessManager {
// Derives from ExtensionServiceTestBase because ExtensionService is difficult // Derives from ExtensionServiceTestBase because ExtensionService is difficult
// to initialize alone. // to initialize alone.
class LazyBackgroundTaskQueueTest : public ExtensionServiceTestBase { class LazyBackgroundTaskQueueTest
: public extensions::ExtensionServiceTestBase {
public: public:
LazyBackgroundTaskQueueTest() : task_run_count_(0) {} LazyBackgroundTaskQueueTest() : task_run_count_(0) {}
virtual ~LazyBackgroundTaskQueueTest() {} virtual ~LazyBackgroundTaskQueueTest() {}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment