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

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: add a first test, fix a bug 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 312 matching lines...) Expand 10 before | Expand all | Expand 10 after
323 void SetupPendingExtensionManagerForTest( 323 void SetupPendingExtensionManagerForTest(
324 int count, 324 int count,
325 const GURL& update_url, 325 const GURL& update_url,
326 PendingExtensionManager* pending_extension_manager) { 326 PendingExtensionManager* pending_extension_manager) {
327 for (int i = 1; i <= count; ++i) { 327 for (int i = 1; i <= count; ++i) {
328 PendingExtensionInfo::ShouldAllowInstallPredicate should_allow_install = 328 PendingExtensionInfo::ShouldAllowInstallPredicate should_allow_install =
329 (i % 2 == 0) ? &ShouldInstallThemesOnly : &ShouldInstallExtensionsOnly; 329 (i % 2 == 0) ? &ShouldInstallThemesOnly : &ShouldInstallExtensionsOnly;
330 const bool kIsFromSync = true; 330 const bool kIsFromSync = true;
331 const bool kInstallSilently = true; 331 const bool kInstallSilently = true;
332 const bool kMarkAcknowledged = false; 332 const bool kMarkAcknowledged = false;
333 const bool kRemoteInstall = false;
333 std::string id = id_util::GenerateId(base::StringPrintf("extension%i", i)); 334 std::string id = id_util::GenerateId(base::StringPrintf("extension%i", i));
334 335
335 pending_extension_manager->AddForTesting( 336 pending_extension_manager->AddForTesting(
336 PendingExtensionInfo(id, 337 PendingExtensionInfo(id,
337 std::string(), 338 std::string(),
338 update_url, 339 update_url,
339 Version(), 340 Version(),
340 should_allow_install, 341 should_allow_install,
341 kIsFromSync, 342 kIsFromSync,
342 kInstallSilently, 343 kInstallSilently,
343 Manifest::INTERNAL, 344 Manifest::INTERNAL,
344 Extension::NO_FLAGS, 345 Extension::NO_FLAGS,
345 kMarkAcknowledged)); 346 kMarkAcknowledged,
347 kRemoteInstall));
346 } 348 }
347 } 349 }
348 350
349 class ServiceForManifestTests : public MockService { 351 class ServiceForManifestTests : public MockService {
350 public: 352 public:
351 explicit ServiceForManifestTests(TestExtensionPrefs* prefs) 353 explicit ServiceForManifestTests(TestExtensionPrefs* prefs)
352 : MockService(prefs), registry_(ExtensionRegistry::Get(profile())) {} 354 : MockService(prefs), registry_(ExtensionRegistry::Get(profile())) {}
353 355
354 virtual ~ServiceForManifestTests() {} 356 virtual ~ServiceForManifestTests() {}
355 357
(...skipping 653 matching lines...) Expand 10 before | Expand all | Expand 10 after
1009 requests.insert(0); 1011 requests.insert(0);
1010 scoped_ptr<ExtensionDownloader::ExtensionFetch> fetch( 1012 scoped_ptr<ExtensionDownloader::ExtensionFetch> fetch(
1011 new ExtensionDownloader::ExtensionFetch( 1013 new ExtensionDownloader::ExtensionFetch(
1012 id, test_url, hash, version.GetString(), requests)); 1014 id, test_url, hash, version.GetString(), requests));
1013 updater.downloader_->FetchUpdatedExtension(fetch.Pass()); 1015 updater.downloader_->FetchUpdatedExtension(fetch.Pass());
1014 1016
1015 if (pending) { 1017 if (pending) {
1016 const bool kIsFromSync = true; 1018 const bool kIsFromSync = true;
1017 const bool kInstallSilently = true; 1019 const bool kInstallSilently = true;
1018 const bool kMarkAcknowledged = false; 1020 const bool kMarkAcknowledged = false;
1021 const bool kRemoteInstall = false;
1019 PendingExtensionManager* pending_extension_manager = 1022 PendingExtensionManager* pending_extension_manager =
1020 service->pending_extension_manager(); 1023 service->pending_extension_manager();
1021 pending_extension_manager->AddForTesting( 1024 pending_extension_manager->AddForTesting(
1022 PendingExtensionInfo(id, 1025 PendingExtensionInfo(id,
1023 std::string(), 1026 std::string(),
1024 test_url, 1027 test_url,
1025 version, 1028 version,
1026 &ShouldAlwaysInstall, 1029 &ShouldAlwaysInstall,
1027 kIsFromSync, 1030 kIsFromSync,
1028 kInstallSilently, 1031 kInstallSilently,
1029 Manifest::INTERNAL, 1032 Manifest::INTERNAL,
1030 Extension::NO_FLAGS, 1033 Extension::NO_FLAGS,
1031 kMarkAcknowledged)); 1034 kMarkAcknowledged,
1035 kRemoteInstall));
1032 } 1036 }
1033 1037
1034 // Call back the ExtensionUpdater with a 200 response and some test data 1038 // Call back the ExtensionUpdater with a 200 response and some test data
1035 base::FilePath extension_file_path(FILE_PATH_LITERAL("/whatever")); 1039 base::FilePath extension_file_path(FILE_PATH_LITERAL("/whatever"));
1036 fetcher = factory.GetFetcherByID(ExtensionDownloader::kExtensionFetcherId); 1040 fetcher = factory.GetFetcherByID(ExtensionDownloader::kExtensionFetcherId);
1037 EXPECT_TRUE(fetcher != NULL && fetcher->delegate() != NULL); 1041 EXPECT_TRUE(fetcher != NULL && fetcher->delegate() != NULL);
1038 EXPECT_TRUE(fetcher->GetLoadFlags() == kExpectedLoadFlags); 1042 EXPECT_TRUE(fetcher->GetLoadFlags() == kExpectedLoadFlags);
1039 1043
1040 if (retry) { 1044 if (retry) {
1041 // Reply with response code 500 to cause ExtensionDownloader to retry 1045 // Reply with response code 500 to cause ExtensionDownloader to retry
(...skipping 740 matching lines...) Expand 10 before | Expand all | Expand 10 after
1782 // -prodversionmin (shouldn't update if browser version too old) 1786 // -prodversionmin (shouldn't update if browser version too old)
1783 // -manifests & updates arriving out of order / interleaved 1787 // -manifests & updates arriving out of order / interleaved
1784 // -malformed update url (empty, file://, has query, has a # fragment, etc.) 1788 // -malformed update url (empty, file://, has query, has a # fragment, etc.)
1785 // -An extension gets uninstalled while updates are in progress (so it doesn't 1789 // -An extension gets uninstalled while updates are in progress (so it doesn't
1786 // "come back from the dead") 1790 // "come back from the dead")
1787 // -An extension gets manually updated to v3 while we're downloading v2 (ie 1791 // -An extension gets manually updated to v3 while we're downloading v2 (ie
1788 // you don't get downgraded accidentally) 1792 // you don't get downgraded accidentally)
1789 // -An update manifest mentions multiple updates 1793 // -An update manifest mentions multiple updates
1790 1794
1791 } // namespace extensions 1795 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698