Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(105)

Side by Side Diff: chrome/browser/extensions/updater/extension_updater_unittest.cc

Issue 264763002: Support remote installation of extensions and apps. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: histogram owner Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <list> 5 #include <list>
6 #include <map> 6 #include <map>
7 #include <set> 7 #include <set>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after
345 void SetupPendingExtensionManagerForTest( 345 void SetupPendingExtensionManagerForTest(
346 int count, 346 int count,
347 const GURL& update_url, 347 const GURL& update_url,
348 PendingExtensionManager* pending_extension_manager) { 348 PendingExtensionManager* pending_extension_manager) {
349 for (int i = 1; i <= count; ++i) { 349 for (int i = 1; i <= count; ++i) {
350 PendingExtensionInfo::ShouldAllowInstallPredicate should_allow_install = 350 PendingExtensionInfo::ShouldAllowInstallPredicate should_allow_install =
351 (i % 2 == 0) ? &ShouldInstallThemesOnly : &ShouldInstallExtensionsOnly; 351 (i % 2 == 0) ? &ShouldInstallThemesOnly : &ShouldInstallExtensionsOnly;
352 const bool kIsFromSync = true; 352 const bool kIsFromSync = true;
353 const bool kInstallSilently = true; 353 const bool kInstallSilently = true;
354 const bool kMarkAcknowledged = false; 354 const bool kMarkAcknowledged = false;
355 const bool kRemoteInstall = false;
355 std::string id = id_util::GenerateId(base::StringPrintf("extension%i", i)); 356 std::string id = id_util::GenerateId(base::StringPrintf("extension%i", i));
356 357
357 pending_extension_manager->AddForTesting( 358 pending_extension_manager->AddForTesting(
358 PendingExtensionInfo(id, 359 PendingExtensionInfo(id,
359 std::string(), 360 std::string(),
360 update_url, 361 update_url,
361 Version(), 362 Version(),
362 should_allow_install, 363 should_allow_install,
363 kIsFromSync, 364 kIsFromSync,
364 kInstallSilently, 365 kInstallSilently,
365 Manifest::INTERNAL, 366 Manifest::INTERNAL,
366 Extension::NO_FLAGS, 367 Extension::NO_FLAGS,
367 kMarkAcknowledged)); 368 kMarkAcknowledged,
369 kRemoteInstall));
368 } 370 }
369 } 371 }
370 372
371 class ServiceForManifestTests : public MockService { 373 class ServiceForManifestTests : public MockService {
372 public: 374 public:
373 explicit ServiceForManifestTests(TestExtensionPrefs* prefs) 375 explicit ServiceForManifestTests(TestExtensionPrefs* prefs)
374 : MockService(prefs), registry_(ExtensionRegistry::Get(profile())) {} 376 : MockService(prefs), registry_(ExtensionRegistry::Get(profile())) {}
375 377
376 virtual ~ServiceForManifestTests() {} 378 virtual ~ServiceForManifestTests() {}
377 379
(...skipping 671 matching lines...) Expand 10 before | Expand all | Expand 10 after
1049 requests.insert(0); 1051 requests.insert(0);
1050 scoped_ptr<ExtensionDownloader::ExtensionFetch> fetch( 1052 scoped_ptr<ExtensionDownloader::ExtensionFetch> fetch(
1051 new ExtensionDownloader::ExtensionFetch( 1053 new ExtensionDownloader::ExtensionFetch(
1052 id, test_url, hash, version.GetString(), requests)); 1054 id, test_url, hash, version.GetString(), requests));
1053 updater.downloader_->FetchUpdatedExtension(fetch.Pass()); 1055 updater.downloader_->FetchUpdatedExtension(fetch.Pass());
1054 1056
1055 if (pending) { 1057 if (pending) {
1056 const bool kIsFromSync = true; 1058 const bool kIsFromSync = true;
1057 const bool kInstallSilently = true; 1059 const bool kInstallSilently = true;
1058 const bool kMarkAcknowledged = false; 1060 const bool kMarkAcknowledged = false;
1061 const bool kRemoteInstall = false;
1059 PendingExtensionManager* pending_extension_manager = 1062 PendingExtensionManager* pending_extension_manager =
1060 service->pending_extension_manager(); 1063 service->pending_extension_manager();
1061 pending_extension_manager->AddForTesting( 1064 pending_extension_manager->AddForTesting(
1062 PendingExtensionInfo(id, 1065 PendingExtensionInfo(id,
1063 std::string(), 1066 std::string(),
1064 test_url, 1067 test_url,
1065 version, 1068 version,
1066 &ShouldAlwaysInstall, 1069 &ShouldAlwaysInstall,
1067 kIsFromSync, 1070 kIsFromSync,
1068 kInstallSilently, 1071 kInstallSilently,
1069 Manifest::INTERNAL, 1072 Manifest::INTERNAL,
1070 Extension::NO_FLAGS, 1073 Extension::NO_FLAGS,
1071 kMarkAcknowledged)); 1074 kMarkAcknowledged,
1075 kRemoteInstall));
1072 } 1076 }
1073 1077
1074 // Call back the ExtensionUpdater with a 200 response and some test data 1078 // Call back the ExtensionUpdater with a 200 response and some test data
1075 base::FilePath extension_file_path(FILE_PATH_LITERAL("/whatever")); 1079 base::FilePath extension_file_path(FILE_PATH_LITERAL("/whatever"));
1076 fetcher = factory.GetFetcherByID(ExtensionDownloader::kExtensionFetcherId); 1080 fetcher = factory.GetFetcherByID(ExtensionDownloader::kExtensionFetcherId);
1077 EXPECT_TRUE(fetcher != NULL && fetcher->delegate() != NULL); 1081 EXPECT_TRUE(fetcher != NULL && fetcher->delegate() != NULL);
1078 EXPECT_TRUE(fetcher->GetLoadFlags() == kExpectedLoadFlags); 1082 EXPECT_TRUE(fetcher->GetLoadFlags() == kExpectedLoadFlags);
1079 1083
1080 if (retry) { 1084 if (retry) {
1081 // Reply with response code 500 to cause ExtensionDownloader to retry 1085 // Reply with response code 500 to cause ExtensionDownloader to retry
(...skipping 780 matching lines...) Expand 10 before | Expand all | Expand 10 after
1862 // -prodversionmin (shouldn't update if browser version too old) 1866 // -prodversionmin (shouldn't update if browser version too old)
1863 // -manifests & updates arriving out of order / interleaved 1867 // -manifests & updates arriving out of order / interleaved
1864 // -malformed update url (empty, file://, has query, has a # fragment, etc.) 1868 // -malformed update url (empty, file://, has query, has a # fragment, etc.)
1865 // -An extension gets uninstalled while updates are in progress (so it doesn't 1869 // -An extension gets uninstalled while updates are in progress (so it doesn't
1866 // "come back from the dead") 1870 // "come back from the dead")
1867 // -An extension gets manually updated to v3 while we're downloading v2 (ie 1871 // -An extension gets manually updated to v3 while we're downloading v2 (ie
1868 // you don't get downgraded accidentally) 1872 // you don't get downgraded accidentally)
1869 // -An update manifest mentions multiple updates 1873 // -An update manifest mentions multiple updates
1870 1874
1871 } // namespace extensions 1875 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698