summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_service_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/extensions/extension_service_unittest.cc')
-rw-r--r--chrome/browser/extensions/extension_service_unittest.cc97
1 files changed, 49 insertions, 48 deletions
diff --git a/chrome/browser/extensions/extension_service_unittest.cc b/chrome/browser/extensions/extension_service_unittest.cc
index c819d63..02f8e6c 100644
--- a/chrome/browser/extensions/extension_service_unittest.cc
+++ b/chrome/browser/extensions/extension_service_unittest.cc
@@ -553,7 +553,8 @@ class ExtensionServiceTest
// method directly. Instead, use InstallExtension(), which waits for
// the crx to be installed and does extra error checking.
void StartCrxInstall(const FilePath& crx_path) {
- ASSERT_TRUE(file_util::PathExists(crx_path));
+ ASSERT_TRUE(file_util::PathExists(crx_path))
+ << "Path does not exist: "<< crx_path.value().c_str();
scoped_refptr<CrxInstaller> installer(
new CrxInstaller(service_, // frontend
NULL)); // no client (silent install)
@@ -562,7 +563,6 @@ class ExtensionServiceTest
void InstallExtension(const FilePath& path,
bool should_succeed) {
- ASSERT_TRUE(file_util::PathExists(path));
StartCrxInstall(path);
loop_.RunAllPending();
std::vector<std::string> errors = GetErrors();
@@ -1148,13 +1148,12 @@ TEST_F(ExtensionServiceTest, KilledExtensions) {
ValidateIntegerPref(good_crx, "location", Extension::KILLBIT);
// Try adding the same extension from an external update URL.
- service_->AddPendingExtensionFromExternalUpdateUrl(
+ service_->pending_extension_manager()->AddFromExternalUpdateUrl(
good_crx,
GURL("http:://fake.update/url"),
Extension::EXTERNAL_PREF_DOWNLOAD);
- const PendingExtensionMap& pending_extensions =
- service_->pending_extensions();
- ASSERT_TRUE(pending_extensions.find(good_crx) == pending_extensions.end());
+
+ ASSERT_FALSE(service_->pending_extension_manager()->IsIdPending(good_crx));
}
// Test that external extensions with incorrect IDs are not installed.
@@ -2119,15 +2118,16 @@ TEST_F(ExtensionServiceTest, AddPendingExtensionFromSync) {
const Extension::State kFakeInitialState(Extension::ENABLED);
const bool kFakeInitialIncognitoEnabled(false);
- service_->AddPendingExtensionFromSync(
+ service_->pending_extension_manager()->AddFromSync(
kFakeId, kFakeUpdateURL, &IsExtension,
kFakeInstallSilently, kFakeInitialState, kFakeInitialIncognitoEnabled);
- PendingExtensionMap::const_iterator it =
- service_->pending_extensions().find(kFakeId);
- ASSERT_TRUE(it != service_->pending_extensions().end());
- EXPECT_EQ(kFakeUpdateURL, it->second.update_url());
- EXPECT_EQ(&IsExtension, it->second.should_allow_install_);
- EXPECT_EQ(kFakeInstallSilently, it->second.install_silently());
+
+ PendingExtensionInfo pending_extension_info;
+ ASSERT_TRUE(service_->pending_extension_manager()->GetById(
+ kFakeId, &pending_extension_info));
+ EXPECT_EQ(kFakeUpdateURL, pending_extension_info.update_url());
+ EXPECT_EQ(&IsExtension, pending_extension_info.should_allow_install_);
+ EXPECT_EQ(kFakeInstallSilently, pending_extension_info.install_silently());
}
namespace {
@@ -2142,11 +2142,11 @@ const bool kGoodInitialIncognitoEnabled = true;
// Test updating a pending extension.
TEST_F(ExtensionServiceTest, UpdatePendingExtension) {
InitializeEmptyExtensionService();
- service_->AddPendingExtensionFromSync(
+ service_->pending_extension_manager()->AddFromSync(
kGoodId, GURL(kGoodUpdateURL), &IsExtension,
kGoodInstallSilently, kGoodInitialState,
kGoodInitialIncognitoEnabled);
- EXPECT_TRUE(ContainsKey(service_->pending_extensions(), kGoodId));
+ EXPECT_TRUE(service_->pending_extension_manager()->IsIdPending(kGoodId));
FilePath extensions_path;
ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &extensions_path));
@@ -2154,7 +2154,7 @@ TEST_F(ExtensionServiceTest, UpdatePendingExtension) {
FilePath path = extensions_path.AppendASCII("good.crx");
UpdateExtension(kGoodId, path, INSTALLED);
- EXPECT_FALSE(ContainsKey(service_->pending_extensions(), kGoodId));
+ EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(kGoodId));
const Extension* extension = service_->GetExtensionById(kGoodId, true);
ASSERT_TRUE(extension);
@@ -2178,10 +2178,10 @@ bool IsTheme(const Extension& extension) {
// Test updating a pending theme.
TEST_F(ExtensionServiceTest, UpdatePendingTheme) {
InitializeEmptyExtensionService();
- service_->AddPendingExtensionFromSync(
+ service_->pending_extension_manager()->AddFromSync(
theme_crx, GURL(), &IsTheme,
false, Extension::ENABLED, false);
- EXPECT_TRUE(ContainsKey(service_->pending_extensions(), theme_crx));
+ EXPECT_TRUE(service_->pending_extension_manager()->IsIdPending(theme_crx));
FilePath extensions_path;
ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &extensions_path));
@@ -2189,7 +2189,7 @@ TEST_F(ExtensionServiceTest, UpdatePendingTheme) {
FilePath path = extensions_path.AppendASCII("theme.crx");
UpdateExtension(theme_crx, path, ENABLED);
- EXPECT_FALSE(ContainsKey(service_->pending_extensions(), theme_crx));
+ EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(theme_crx));
const Extension* extension = service_->GetExtensionById(theme_crx, true);
ASSERT_TRUE(extension);
@@ -2204,10 +2204,10 @@ TEST_F(ExtensionServiceTest, UpdatePendingTheme) {
// or not.
TEST_F(ExtensionServiceTest, UpdatePendingExternalCrx) {
InitializeEmptyExtensionService();
- service_->AddPendingExtensionFromExternalUpdateUrl(
+ service_->pending_extension_manager()->AddFromExternalUpdateUrl(
theme_crx, GURL(), Extension::EXTERNAL_PREF_DOWNLOAD);
- EXPECT_TRUE(ContainsKey(service_->pending_extensions(), theme_crx));
+ EXPECT_TRUE(service_->pending_extension_manager()->IsIdPending(theme_crx));
FilePath extensions_path;
ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &extensions_path));
@@ -2215,7 +2215,7 @@ TEST_F(ExtensionServiceTest, UpdatePendingExternalCrx) {
FilePath path = extensions_path.AppendASCII("theme.crx");
UpdateExtension(theme_crx, path, ENABLED);
- EXPECT_FALSE(ContainsKey(service_->pending_extensions(), theme_crx));
+ EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(theme_crx));
const Extension* extension = service_->GetExtensionById(theme_crx, true);
ASSERT_TRUE(extension);
@@ -2232,49 +2232,51 @@ TEST_F(ExtensionServiceTest, UpdatePendingExternalCrxWinsOverSync) {
InitializeEmptyExtensionService();
// Add a crx to be installed from the update mechanism.
- service_->AddPendingExtensionFromSync(
+ service_->pending_extension_manager()->AddFromSync(
kGoodId, GURL(kGoodUpdateURL), &IsExtension,
kGoodInstallSilently, kGoodInitialState,
kGoodInitialIncognitoEnabled);
// Check that there is a pending crx, with is_from_sync set to true.
- PendingExtensionMap::const_iterator it;
- it = service_->pending_extensions().find(kGoodId);
- ASSERT_TRUE(it != service_->pending_extensions().end());
- EXPECT_TRUE(it->second.is_from_sync());
+ PendingExtensionInfo pending_extension_info;
+ ASSERT_TRUE(service_->pending_extension_manager()->GetById(
+ kGoodId, &pending_extension_info));
+ EXPECT_TRUE(pending_extension_info.is_from_sync());
// Add a crx to be updated, with the same ID, from a non-sync source.
- service_->AddPendingExtensionFromExternalUpdateUrl(
+ service_->pending_extension_manager()->AddFromExternalUpdateUrl(
kGoodId, GURL(kGoodUpdateURL), Extension::EXTERNAL_PREF_DOWNLOAD);
// Check that there is a pending crx, with is_from_sync set to false.
- it = service_->pending_extensions().find(kGoodId);
- ASSERT_TRUE(it != service_->pending_extensions().end());
- EXPECT_FALSE(it->second.is_from_sync());
- EXPECT_EQ(Extension::EXTERNAL_PREF_DOWNLOAD, it->second.install_source());
+ ASSERT_TRUE(service_->pending_extension_manager()->GetById(
+ kGoodId, &pending_extension_info));
+ EXPECT_FALSE(pending_extension_info.is_from_sync());
+ EXPECT_EQ(Extension::EXTERNAL_PREF_DOWNLOAD,
+ pending_extension_info.install_source());
// Add a crx to be installed from the update mechanism.
- service_->AddPendingExtensionFromSync(
+ service_->pending_extension_manager()->AddFromSync(
kGoodId, GURL(kGoodUpdateURL), &IsExtension,
kGoodInstallSilently, kGoodInitialState,
kGoodInitialIncognitoEnabled);
// Check that the external, non-sync update was not overridden.
- it = service_->pending_extensions().find(kGoodId);
- ASSERT_TRUE(it != service_->pending_extensions().end());
- EXPECT_FALSE(it->second.is_from_sync());
- EXPECT_EQ(Extension::EXTERNAL_PREF_DOWNLOAD, it->second.install_source());
+ ASSERT_TRUE(service_->pending_extension_manager()->GetById(
+ kGoodId, &pending_extension_info));
+ EXPECT_FALSE(pending_extension_info.is_from_sync());
+ EXPECT_EQ(Extension::EXTERNAL_PREF_DOWNLOAD,
+ pending_extension_info.install_source());
}
// Updating a theme should fail if the updater is explicitly told that
// the CRX is not a theme.
TEST_F(ExtensionServiceTest, UpdatePendingCrxThemeMismatch) {
InitializeEmptyExtensionService();
- service_->AddPendingExtensionFromSync(
+ service_->pending_extension_manager()->AddFromSync(
theme_crx, GURL(), &IsExtension,
true, Extension::ENABLED, false);
- EXPECT_TRUE(ContainsKey(service_->pending_extensions(), theme_crx));
+ EXPECT_TRUE(service_->pending_extension_manager()->IsIdPending(theme_crx));
FilePath extensions_path;
ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &extensions_path));
@@ -2282,7 +2284,7 @@ TEST_F(ExtensionServiceTest, UpdatePendingCrxThemeMismatch) {
FilePath path = extensions_path.AppendASCII("theme.crx");
UpdateExtension(theme_crx, path, FAILED_SILENTLY);
- EXPECT_FALSE(ContainsKey(service_->pending_extensions(), theme_crx));
+ EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(theme_crx));
const Extension* extension = service_->GetExtensionById(theme_crx, true);
ASSERT_FALSE(extension);
@@ -2296,11 +2298,11 @@ TEST_F(ExtensionServiceTest, UpdatePendingCrxThemeMismatch) {
TEST_F(ExtensionServiceTest, UpdatePendingExtensionFailedShouldInstallTest) {
InitializeEmptyExtensionService();
// Add pending extension with a flipped is_theme.
- service_->AddPendingExtensionFromSync(
+ service_->pending_extension_manager()->AddFromSync(
kGoodId, GURL(kGoodUpdateURL), &IsTheme,
kGoodInstallSilently, kGoodInitialState,
kGoodInitialIncognitoEnabled);
- EXPECT_TRUE(ContainsKey(service_->pending_extensions(), kGoodId));
+ EXPECT_TRUE(service_->pending_extension_manager()->IsIdPending(kGoodId));
FilePath extensions_path;
ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &extensions_path));
@@ -2311,7 +2313,7 @@ TEST_F(ExtensionServiceTest, UpdatePendingExtensionFailedShouldInstallTest) {
// TODO(akalin): Figure out how to check that the extensions
// directory is cleaned up properly in OnExtensionInstalled().
- EXPECT_FALSE(ContainsKey(service_->pending_extensions(), kGoodId));
+ EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(kGoodId));
}
// TODO(akalin): Figure out how to test that installs of pending
@@ -2327,7 +2329,7 @@ TEST_F(ExtensionServiceTest, UpdatePendingExtensionNotPending) {
FilePath path = extensions_path.AppendASCII("good.crx");
UpdateExtension(kGoodId, path, UPDATED);
- EXPECT_FALSE(ContainsKey(service_->pending_extensions(), kGoodId));
+ EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(kGoodId));
}
// Test updating a pending extension for one that is already
@@ -2345,15 +2347,14 @@ TEST_F(ExtensionServiceTest, UpdatePendingExtensionAlreadyInstalled) {
EXPECT_FALSE(good->is_theme());
- // Use AddPendingExtensionInternal() as AddPendingExtension() would
- // balk.
- service_->AddPendingExtensionInternal(
+ // Use AddExtensionImpl() as AddFrom*() would balk.
+ service_->pending_extension_manager()->AddExtensionImpl(
good->id(), good->update_url(), &IsExtension,
kGoodIsFromSync, kGoodInstallSilently, kGoodInitialState,
kGoodInitialIncognitoEnabled, Extension::INTERNAL);
UpdateExtension(good->id(), path, INSTALLED);
- EXPECT_FALSE(ContainsKey(service_->pending_extensions(), kGoodId));
+ EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(kGoodId));
}
// Test pref settings for blacklist and unblacklist extensions.