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

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

Issue 695133005: Temporarily disable extensions and sync while a profile is locked - Profiles Approach (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Extension Service unit tests Created 6 years, 1 month 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
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 <algorithm> 5 #include <algorithm>
6 #include <set> 6 #include <set>
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/at_exit.h" 9 #include "base/at_exit.h"
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 3566 matching lines...) Expand 10 before | Expand all | Expand 10 after
3577 service()->ReloadExtension(good2); 3577 service()->ReloadExtension(good2);
3578 base::RunLoop().RunUntilIdle(); 3578 base::RunLoop().RunUntilIdle();
3579 3579
3580 EXPECT_EQ(StringSet(good0), registry()->enabled_extensions().GetIDs()); 3580 EXPECT_EQ(StringSet(good0), registry()->enabled_extensions().GetIDs());
3581 EXPECT_EQ(StringSet(good1, good2), 3581 EXPECT_EQ(StringSet(good1, good2),
3582 registry()->blacklisted_extensions().GetIDs()); 3582 registry()->blacklisted_extensions().GetIDs());
3583 } 3583 }
3584 3584
3585 #endif // defined(ENABLE_BLACKLIST_TESTS) 3585 #endif // defined(ENABLE_BLACKLIST_TESTS)
3586 3586
3587 // Tests blocking then unblocking extensions after the service has been
3588 // initialized.
3589 TEST_F(ExtensionServiceTest, SetUnsetBlockingState) {
3590 // A profile with 3 extensions installed: good0, good1, and good2.
3591 InitializeGoodInstalledExtensionService();
3592 service()->Init();
3593
3594 const extensions::ExtensionSet& enabled_extensions =
3595 registry()->enabled_extensions();
3596 const extensions::ExtensionSet& blocked_extensions =
3597 registry()->blocked_extensions();
3598
3599 EXPECT_TRUE(enabled_extensions.Contains(good0) &&
3600 !blocked_extensions.Contains(good0));
3601 EXPECT_TRUE(enabled_extensions.Contains(good1) &&
3602 !blocked_extensions.Contains(good1));
3603 EXPECT_TRUE(enabled_extensions.Contains(good2) &&
3604 !blocked_extensions.Contains(good2));
not at google - send to devlin 2014/11/20 18:27:20 It's better to separate the assertions rather than
Mike Lerman 2014/11/21 17:00:13 Done.
3605
3606 // Block the extensions.
3607 service()->BlockAllExtensions();
3608 base::RunLoop().RunUntilIdle();
3609
3610 // All extensions should be blocked.
3611 EXPECT_TRUE(!enabled_extensions.Contains(good0) &&
3612 blocked_extensions.Contains(good0));
3613 EXPECT_TRUE(!enabled_extensions.Contains(good1) &&
3614 blocked_extensions.Contains(good1));
3615 EXPECT_TRUE(!enabled_extensions.Contains(good2) &&
3616 blocked_extensions.Contains(good2));
3617
3618 service()->UnblockAllExtensions();
3619 base::RunLoop().RunUntilIdle();
3620
not at google - send to devlin 2014/11/20 18:27:20 I think it's also important to test some more case
Mike Lerman 2014/11/21 17:00:13 Wrote a helper method to refactor the boiler plate
3621 EXPECT_TRUE(enabled_extensions.Contains(good0) &&
3622 !blocked_extensions.Contains(good0));
3623 EXPECT_TRUE(enabled_extensions.Contains(good1) &&
3624 !blocked_extensions.Contains(good1));
3625 EXPECT_TRUE(enabled_extensions.Contains(good2) &&
3626 !blocked_extensions.Contains(good2));
3627 }
3628
3629 // Tests that blocking then unblocking the service doesn't affect component
3630 // extensions.
not at google - send to devlin 2014/11/20 18:27:20 If possible could you also put policy extensions i
Mike Lerman 2014/11/21 17:00:13 I presume by "policy extension" you mean an extens
3631 TEST_F(ExtensionServiceTest, SetUnsetBlockingStateComponent) {
3632 InitializeEmptyExtensionServiceWithTestingPrefs();
3633
3634 service()->BlockAllExtensions();
3635
3636 // Install a component extension.
3637 base::FilePath path = data_dir()
3638 .AppendASCII("good")
3639 .AppendASCII("Extensions")
3640 .AppendASCII(good0)
3641 .AppendASCII("1.0.0.0");
3642 std::string manifest;
3643 ASSERT_TRUE(base::ReadFileToString(
3644 path.Append(extensions::kManifestFilename), &manifest));
3645 service()->component_loader()->Add(manifest, path);
3646 service()->Init();
3647
3648 // Should be enabled.
3649 const extensions::ExtensionSet& enabled_extensions =
3650 registry()->enabled_extensions();
3651 const extensions::ExtensionSet& blocked_extensions =
3652 registry()->blocked_extensions();
3653
3654 EXPECT_TRUE(enabled_extensions.Contains(good0) &&
3655 !blocked_extensions.Contains(good0));
3656
3657 service()->UnblockAllExtensions();
3658 base::RunLoop().RunUntilIdle();
3659
3660 // Still enabled.
3661 EXPECT_TRUE(enabled_extensions.Contains(good0) &&
3662 !blocked_extensions.Contains(good0));
3663 }
3664
3665 // Tests that a blocked extension service won't load extensions.
3666 TEST_F(ExtensionServiceTest, WillNotLoadExtensionsWhenBlocked) {
3667 InitializeGoodInstalledExtensionService();
3668
3669 service()->BlockAllExtensions();
3670
3671 service()->Init();
3672
3673 const extensions::ExtensionSet& enabled_extensions =
3674 registry()->enabled_extensions();
3675 const extensions::ExtensionSet& blocked_extensions =
3676 registry()->blocked_extensions();
3677
3678 EXPECT_TRUE(!enabled_extensions.Contains(good0) &&
3679 blocked_extensions.Contains(good0));
3680 EXPECT_TRUE(!enabled_extensions.Contains(good1) &&
3681 blocked_extensions.Contains(good1));
3682 EXPECT_TRUE(!enabled_extensions.Contains(good2) &&
3683 blocked_extensions.Contains(good2));
3684 }
3685
3587 // Will not install extension blacklisted by policy. 3686 // Will not install extension blacklisted by policy.
3588 TEST_F(ExtensionServiceTest, BlacklistedByPolicyWillNotInstall) { 3687 TEST_F(ExtensionServiceTest, BlacklistedByPolicyWillNotInstall) {
3589 InitializeEmptyExtensionServiceWithTestingPrefs(); 3688 InitializeEmptyExtensionServiceWithTestingPrefs();
3590 3689
3591 // Blacklist everything. 3690 // Blacklist everything.
3592 { 3691 {
3593 ManagementPrefUpdater pref(profile_->GetTestingPrefService()); 3692 ManagementPrefUpdater pref(profile_->GetTestingPrefService());
3594 pref.SetBlacklistedByDefault(true); 3693 pref.SetBlacklistedByDefault(true);
3595 } 3694 }
3596 3695
(...skipping 3758 matching lines...) Expand 10 before | Expand all | Expand 10 after
7355 7454
7356 service()->Observe(chrome::NOTIFICATION_PROFILE_DESTRUCTION_STARTED, 7455 service()->Observe(chrome::NOTIFICATION_PROFILE_DESTRUCTION_STARTED,
7357 content::Source<Profile>(profile()), 7456 content::Source<Profile>(profile()),
7358 content::NotificationService::NoDetails()); 7457 content::NotificationService::NoDetails());
7359 EXPECT_EQ(UnloadedExtensionInfo::REASON_PROFILE_SHUTDOWN, unloaded_reason_); 7458 EXPECT_EQ(UnloadedExtensionInfo::REASON_PROFILE_SHUTDOWN, unloaded_reason_);
7360 EXPECT_EQ(0u, registry()->enabled_extensions().size()); 7459 EXPECT_EQ(0u, registry()->enabled_extensions().size());
7361 EXPECT_EQ(0u, registry()->disabled_extensions().size()); 7460 EXPECT_EQ(0u, registry()->disabled_extensions().size());
7362 EXPECT_EQ(0u, registry()->terminated_extensions().size()); 7461 EXPECT_EQ(0u, registry()->terminated_extensions().size());
7363 EXPECT_EQ(0u, registry()->blacklisted_extensions().size()); 7462 EXPECT_EQ(0u, registry()->blacklisted_extensions().size());
7364 } 7463 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_service.cc ('k') | chrome/browser/profiles/profile_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698