Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 Loading... | |
| 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 Loading... | |
| 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 } |
| OLD | NEW |