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

Side by Side Diff: chrome/browser/extensions/extension_service_unittest.cc

Issue 16950028: Move file_util::Delete to the base namespace (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 5 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) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 "chrome/browser/extensions/extension_service_unittest.h" 5 #include "chrome/browser/extensions/extension_service_unittest.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <set> 8 #include <set>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 492 matching lines...) Expand 10 before | Expand all | Expand 10 after
503 503
504 expected_extensions_count_ = 0; 504 expected_extensions_count_ = 0;
505 } 505 }
506 506
507 void ExtensionServiceTestBase::InitializeInstalledExtensionService( 507 void ExtensionServiceTestBase::InitializeInstalledExtensionService(
508 const base::FilePath& prefs_file, 508 const base::FilePath& prefs_file,
509 const base::FilePath& source_install_dir) { 509 const base::FilePath& source_install_dir) {
510 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); 510 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
511 base::FilePath path = temp_dir_.path(); 511 base::FilePath path = temp_dir_.path();
512 path = path.Append(FILE_PATH_LITERAL("TestingExtensionsPath")); 512 path = path.Append(FILE_PATH_LITERAL("TestingExtensionsPath"));
513 file_util::Delete(path, true); 513 base::Delete(path, true);
514 file_util::CreateDirectory(path); 514 file_util::CreateDirectory(path);
515 base::FilePath temp_prefs = path.Append(FILE_PATH_LITERAL("Preferences")); 515 base::FilePath temp_prefs = path.Append(FILE_PATH_LITERAL("Preferences"));
516 file_util::CopyFile(prefs_file, temp_prefs); 516 file_util::CopyFile(prefs_file, temp_prefs);
517 517
518 extensions_install_dir_ = path.Append(FILE_PATH_LITERAL("Extensions")); 518 extensions_install_dir_ = path.Append(FILE_PATH_LITERAL("Extensions"));
519 file_util::Delete(extensions_install_dir_, true); 519 base::Delete(extensions_install_dir_, true);
520 file_util::CopyDirectory(source_install_dir, extensions_install_dir_, true); 520 file_util::CopyDirectory(source_install_dir, extensions_install_dir_, true);
521 521
522 ExtensionServiceInitParams params; 522 ExtensionServiceInitParams params;
523 params.profile_path = path; 523 params.profile_path = path;
524 params.pref_file = temp_prefs; 524 params.pref_file = temp_prefs;
525 params.extensions_install_dir = extensions_install_dir_; 525 params.extensions_install_dir = extensions_install_dir_;
526 InitializeExtensionService(params); 526 InitializeExtensionService(params);
527 } 527 }
528 528
529 void ExtensionServiceTestBase::InitializeEmptyExtensionService() { 529 void ExtensionServiceTestBase::InitializeEmptyExtensionService() {
530 InitializeExtensionServiceHelper(false, true); 530 InitializeExtensionServiceHelper(false, true);
531 } 531 }
532 532
533 void ExtensionServiceTestBase::InitializeExtensionProcessManager() { 533 void ExtensionServiceTestBase::InitializeExtensionProcessManager() {
534 static_cast<extensions::TestExtensionSystem*>( 534 static_cast<extensions::TestExtensionSystem*>(
535 ExtensionSystem::Get(profile_.get()))-> 535 ExtensionSystem::Get(profile_.get()))->
536 CreateExtensionProcessManager(); 536 CreateExtensionProcessManager();
537 } 537 }
538 538
539 void ExtensionServiceTestBase::InitializeExtensionServiceWithUpdater() { 539 void ExtensionServiceTestBase::InitializeExtensionServiceWithUpdater() {
540 InitializeExtensionServiceHelper(true, true); 540 InitializeExtensionServiceHelper(true, true);
541 service_->updater()->Start(); 541 service_->updater()->Start();
542 } 542 }
543 543
544 void ExtensionServiceTestBase::InitializeExtensionServiceHelper( 544 void ExtensionServiceTestBase::InitializeExtensionServiceHelper(
545 bool autoupdate_enabled, bool is_first_run) { 545 bool autoupdate_enabled, bool is_first_run) {
546 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); 546 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
547 base::FilePath path = temp_dir_.path(); 547 base::FilePath path = temp_dir_.path();
548 path = path.Append(FILE_PATH_LITERAL("TestingExtensionsPath")); 548 path = path.Append(FILE_PATH_LITERAL("TestingExtensionsPath"));
549 file_util::Delete(path, true); 549 base::Delete(path, true);
550 file_util::CreateDirectory(path); 550 file_util::CreateDirectory(path);
551 base::FilePath prefs_filename = 551 base::FilePath prefs_filename =
552 path.Append(FILE_PATH_LITERAL("TestPreferences")); 552 path.Append(FILE_PATH_LITERAL("TestPreferences"));
553 extensions_install_dir_ = path.Append(FILE_PATH_LITERAL("Extensions")); 553 extensions_install_dir_ = path.Append(FILE_PATH_LITERAL("Extensions"));
554 file_util::Delete(extensions_install_dir_, true); 554 base::Delete(extensions_install_dir_, true);
555 file_util::CreateDirectory(extensions_install_dir_); 555 file_util::CreateDirectory(extensions_install_dir_);
556 556
557 ExtensionServiceInitParams params; 557 ExtensionServiceInitParams params;
558 params.profile_path = path; 558 params.profile_path = path;
559 params.pref_file = prefs_filename; 559 params.pref_file = prefs_filename;
560 params.extensions_install_dir = extensions_install_dir_; 560 params.extensions_install_dir = extensions_install_dir_;
561 params.autoupdate_enabled = autoupdate_enabled; 561 params.autoupdate_enabled = autoupdate_enabled;
562 params.is_first_run = is_first_run; 562 params.is_first_run = is_first_run;
563 InitializeExtensionService(params); 563 InitializeExtensionService(params);
564 } 564 }
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
651 const base::FilePath& pem_path, 651 const base::FilePath& pem_path,
652 const base::FilePath& crx_path) { 652 const base::FilePath& crx_path) {
653 // Use the existing pem key, if provided. 653 // Use the existing pem key, if provided.
654 base::FilePath pem_output_path; 654 base::FilePath pem_output_path;
655 if (pem_path.value().empty()) { 655 if (pem_path.value().empty()) {
656 pem_output_path = crx_path.DirName().AppendASCII("temp.pem"); 656 pem_output_path = crx_path.DirName().AppendASCII("temp.pem");
657 } else { 657 } else {
658 ASSERT_TRUE(file_util::PathExists(pem_path)); 658 ASSERT_TRUE(file_util::PathExists(pem_path));
659 } 659 }
660 660
661 ASSERT_TRUE(file_util::Delete(crx_path, false)); 661 ASSERT_TRUE(base::Delete(crx_path, false));
662 662
663 scoped_ptr<ExtensionCreator> creator(new ExtensionCreator()); 663 scoped_ptr<ExtensionCreator> creator(new ExtensionCreator());
664 ASSERT_TRUE(creator->Run(dir_path, 664 ASSERT_TRUE(creator->Run(dir_path,
665 crx_path, 665 crx_path,
666 pem_path, 666 pem_path,
667 pem_output_path, 667 pem_output_path,
668 ExtensionCreator::kOverwriteCRX)); 668 ExtensionCreator::kOverwriteCRX));
669 669
670 ASSERT_TRUE(file_util::PathExists(crx_path)); 670 ASSERT_TRUE(file_util::PathExists(crx_path));
671 } 671 }
(...skipping 1359 matching lines...) Expand 10 before | Expand all | Expand 10 after
2031 base::FilePath privkey_path(output_directory.AppendASCII("privkey.pem")); 2031 base::FilePath privkey_path(output_directory.AppendASCII("privkey.pem"));
2032 2032
2033 scoped_ptr<ExtensionCreator> creator(new ExtensionCreator()); 2033 scoped_ptr<ExtensionCreator> creator(new ExtensionCreator());
2034 ASSERT_TRUE(creator->Run(input_directory, crx_path, base::FilePath(), 2034 ASSERT_TRUE(creator->Run(input_directory, crx_path, base::FilePath(),
2035 privkey_path, ExtensionCreator::kNoRunFlags)); 2035 privkey_path, ExtensionCreator::kNoRunFlags));
2036 ASSERT_TRUE(file_util::PathExists(crx_path)); 2036 ASSERT_TRUE(file_util::PathExists(crx_path));
2037 ASSERT_TRUE(file_util::PathExists(privkey_path)); 2037 ASSERT_TRUE(file_util::PathExists(privkey_path));
2038 2038
2039 // Repeat the run with the pem file gone, and no special flags 2039 // Repeat the run with the pem file gone, and no special flags
2040 // Should refuse to overwrite the existing crx. 2040 // Should refuse to overwrite the existing crx.
2041 file_util::Delete(privkey_path, false); 2041 base::Delete(privkey_path, false);
2042 ASSERT_FALSE(creator->Run(input_directory, crx_path, base::FilePath(), 2042 ASSERT_FALSE(creator->Run(input_directory, crx_path, base::FilePath(),
2043 privkey_path, ExtensionCreator::kNoRunFlags)); 2043 privkey_path, ExtensionCreator::kNoRunFlags));
2044 2044
2045 // OK, now try it with a flag to overwrite existing crx. Should work. 2045 // OK, now try it with a flag to overwrite existing crx. Should work.
2046 ASSERT_TRUE(creator->Run(input_directory, crx_path, base::FilePath(), 2046 ASSERT_TRUE(creator->Run(input_directory, crx_path, base::FilePath(),
2047 privkey_path, ExtensionCreator::kOverwriteCRX)); 2047 privkey_path, ExtensionCreator::kOverwriteCRX));
2048 2048
2049 // Repeat the run allowing existing crx, but the existing pem is still 2049 // Repeat the run allowing existing crx, but the existing pem is still
2050 // an error. Should fail. 2050 // an error. Should fail.
2051 ASSERT_FALSE(creator->Run(input_directory, crx_path, base::FilePath(), 2051 ASSERT_FALSE(creator->Run(input_directory, crx_path, base::FilePath(),
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
2168 base::FilePath privkey_path(output_directory.AppendASCII("privkey.pem")); 2168 base::FilePath privkey_path(output_directory.AppendASCII("privkey.pem"));
2169 2169
2170 // Pack the extension once to get a private key. 2170 // Pack the extension once to get a private key.
2171 scoped_ptr<ExtensionCreator> creator(new ExtensionCreator()); 2171 scoped_ptr<ExtensionCreator> creator(new ExtensionCreator());
2172 ASSERT_TRUE(creator->Run(input_directory, crx_path, base::FilePath(), 2172 ASSERT_TRUE(creator->Run(input_directory, crx_path, base::FilePath(),
2173 privkey_path, ExtensionCreator::kNoRunFlags)) 2173 privkey_path, ExtensionCreator::kNoRunFlags))
2174 << creator->error_message(); 2174 << creator->error_message();
2175 ASSERT_TRUE(file_util::PathExists(crx_path)); 2175 ASSERT_TRUE(file_util::PathExists(crx_path));
2176 ASSERT_TRUE(file_util::PathExists(privkey_path)); 2176 ASSERT_TRUE(file_util::PathExists(privkey_path));
2177 2177
2178 file_util::Delete(crx_path, false); 2178 base::Delete(crx_path, false);
2179 // Move the pem file into the extension. 2179 // Move the pem file into the extension.
2180 file_util::Move(privkey_path, 2180 file_util::Move(privkey_path,
2181 input_directory.AppendASCII("privkey.pem")); 2181 input_directory.AppendASCII("privkey.pem"));
2182 2182
2183 // This pack should fail because of the contained private key. 2183 // This pack should fail because of the contained private key.
2184 EXPECT_FALSE(creator->Run(input_directory, crx_path, base::FilePath(), 2184 EXPECT_FALSE(creator->Run(input_directory, crx_path, base::FilePath(),
2185 privkey_path, ExtensionCreator::kNoRunFlags)); 2185 privkey_path, ExtensionCreator::kNoRunFlags));
2186 EXPECT_THAT(creator->error_message(), 2186 EXPECT_THAT(creator->error_message(),
2187 testing::ContainsRegex( 2187 testing::ContainsRegex(
2188 "extension includes the key file.*privkey.pem")); 2188 "extension includes the key file.*privkey.pem"));
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
2271 EXPECT_EQ(1u, service_->extensions()->size()); 2271 EXPECT_EQ(1u, service_->extensions()->size());
2272 const Extension* theme = service_->extensions()->begin()->get(); 2272 const Extension* theme = service_->extensions()->begin()->get();
2273 EXPECT_EQ("name", theme->name()); 2273 EXPECT_EQ("name", theme->name());
2274 EXPECT_EQ("description", theme->description()); 2274 EXPECT_EQ("description", theme->description());
2275 2275
2276 // Cleanup the "Cached Theme.pak" file. Ideally, this would be installed in a 2276 // Cleanup the "Cached Theme.pak" file. Ideally, this would be installed in a
2277 // temporary directory, but it automatically installs to the extension's 2277 // temporary directory, but it automatically installs to the extension's
2278 // directory, and we don't want to copy the whole extension for a unittest. 2278 // directory, and we don't want to copy the whole extension for a unittest.
2279 base::FilePath theme_file = extension_path.Append(chrome::kThemePackFilename); 2279 base::FilePath theme_file = extension_path.Append(chrome::kThemePackFilename);
2280 ASSERT_TRUE(file_util::PathExists(theme_file)); 2280 ASSERT_TRUE(file_util::PathExists(theme_file));
2281 ASSERT_TRUE(file_util::Delete(theme_file, false)); // Not recursive. 2281 ASSERT_TRUE(base::Delete(theme_file, false)); // Not recursive.
2282 } 2282 }
2283 2283
2284 // Tests that we can change the ID of an unpacked extension by adding a key 2284 // Tests that we can change the ID of an unpacked extension by adding a key
2285 // to its manifest. 2285 // to its manifest.
2286 TEST_F(ExtensionServiceTest, UnpackedExtensionCanChangeID) { 2286 TEST_F(ExtensionServiceTest, UnpackedExtensionCanChangeID) {
2287 InitializeEmptyExtensionService(); 2287 InitializeEmptyExtensionService();
2288 2288
2289 base::ScopedTempDir temp; 2289 base::ScopedTempDir temp;
2290 ASSERT_TRUE(temp.CreateUniqueTempDir()); 2290 ASSERT_TRUE(temp.CreateUniqueTempDir());
2291 2291
(...skipping 3803 matching lines...) Expand 10 before | Expand all | Expand 10 after
6095 new MockExtensionProvider(service_, Manifest::EXTERNAL_PREF); 6095 new MockExtensionProvider(service_, Manifest::EXTERNAL_PREF);
6096 AddMockExternalProvider(provider); 6096 AddMockExternalProvider(provider);
6097 provider->UpdateOrAddExtension(updates_from_webstore, "1", crx_path); 6097 provider->UpdateOrAddExtension(updates_from_webstore, "1", crx_path);
6098 6098
6099 service_->CheckForExternalUpdates(); 6099 service_->CheckForExternalUpdates();
6100 loop_.RunUntilIdle(); 6100 loop_.RunUntilIdle();
6101 EXPECT_TRUE(extensions::HasExternalInstallError(service_)); 6101 EXPECT_TRUE(extensions::HasExternalInstallError(service_));
6102 EXPECT_FALSE(extensions::HasExternalInstallBubble(service_)); 6102 EXPECT_FALSE(extensions::HasExternalInstallBubble(service_));
6103 EXPECT_FALSE(service_->IsExtensionEnabled(updates_from_webstore)); 6103 EXPECT_FALSE(service_->IsExtensionEnabled(updates_from_webstore));
6104 } 6104 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_creator.cc ('k') | chrome/browser/extensions/extension_startup_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698