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 |