Commit 4188b394 authored by Oleg Davydov's avatar Oleg Davydov Committed by Commit Bot

Move extensions-related stuff from PolicyTest

Methods and initializations which make sense only for extensions tests
moved from generic PolicyTest (int policy_test_util.h) to special
ExtensionPolicyTest in extension_policy_browsertest.cc.

Note that some tests in policy_browsertest.cc use extensions but don't
test extension-related policies, so PolicyTest::LoadUpackedExtension
remained in PolicyTest.

Bug: 1002483
Change-Id: Ia5a0114bb1c2b8b1240cf41ad8e2c977418efe8e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1807219
Commit-Queue: Oleg Davydov <burunduk@chromium.org>
Reviewed-by: default avatarPavol Marko <pmarko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#697224}
parent 6d308af2
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#include "base/test/bind_test_util.h" #include "base/test/bind_test_util.h"
#include "build/build_config.h" #include "build/build_config.h"
#include "chrome/browser/background/background_contents_service.h" #include "chrome/browser/background/background_contents_service.h"
#include "chrome/browser/extensions/crx_installer.h"
#include "chrome/browser/extensions/extension_management_constants.h" #include "chrome/browser/extensions/extension_management_constants.h"
#include "chrome/browser/extensions/extension_management_test_util.h" #include "chrome/browser/extensions/extension_management_test_util.h"
#include "chrome/browser/extensions/extension_service.h" #include "chrome/browser/extensions/extension_service.h"
...@@ -12,11 +13,14 @@ ...@@ -12,11 +13,14 @@
#include "chrome/browser/extensions/install_verifier.h" #include "chrome/browser/extensions/install_verifier.h"
#include "chrome/browser/extensions/shared_module_service.h" #include "chrome/browser/extensions/shared_module_service.h"
#include "chrome/browser/extensions/unpacked_installer.h" #include "chrome/browser/extensions/unpacked_installer.h"
#include "chrome/browser/extensions/updater/extension_cache_fake.h"
#include "chrome/browser/extensions/updater/extension_updater.h"
#include "chrome/browser/policy/policy_test_utils.h" #include "chrome/browser/policy/policy_test_utils.h"
#include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/browser.h"
#include "chrome/common/extensions/extension_test_util.h" #include "chrome/common/extensions/extension_test_util.h"
#include "chrome/common/extensions/manifest_handlers/app_launch_info.h" #include "chrome/common/extensions/manifest_handlers/app_launch_info.h"
#include "chrome/common/web_application_info.h"
#include "chrome/test/base/ui_test_utils.h" #include "chrome/test/base/ui_test_utils.h"
#include "components/policy/policy_constants.h" #include "components/policy/policy_constants.h"
#include "components/version_info/channel.h" #include "components/version_info/channel.h"
...@@ -27,7 +31,9 @@ ...@@ -27,7 +31,9 @@
#include "extensions/browser/extension_dialog_auto_confirm.h" #include "extensions/browser/extension_dialog_auto_confirm.h"
#include "extensions/browser/extension_host.h" #include "extensions/browser/extension_host.h"
#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_registry.h"
#include "extensions/browser/extension_system.h"
#include "extensions/browser/notification_types.h" #include "extensions/browser/notification_types.h"
#include "extensions/browser/scoped_ignore_content_verifier_for_test.h"
#include "extensions/browser/test_extension_registry_observer.h" #include "extensions/browser/test_extension_registry_observer.h"
#include "extensions/common/features/feature_channel.h" #include "extensions/common/features/feature_channel.h"
#include "extensions/common/manifest_handlers/shared_module_info.h" #include "extensions/common/manifest_handlers/shared_module_info.h"
...@@ -93,9 +99,103 @@ void RegisterURLReplacingHandler(net::EmbeddedTestServer* test_server, ...@@ -93,9 +99,103 @@ void RegisterURLReplacingHandler(net::EmbeddedTestServer* test_server,
base::Unretained(test_server), match_path, template_file)); base::Unretained(test_server), match_path, template_file));
} }
class ExtensionPolicyTest : public PolicyTest {
protected:
void SetUp() override {
PolicyTest::SetUp();
test_extension_cache_ = std::make_unique<extensions::ExtensionCacheFake>();
}
void SetUpOnMainThread() override {
PolicyTest::SetUpOnMainThread();
if (extension_service()->updater()) {
extension_service()->updater()->SetExtensionCacheForTesting(
test_extension_cache_.get());
}
}
extensions::ExtensionService* extension_service() {
extensions::ExtensionSystem* system =
extensions::ExtensionSystem::Get(browser()->profile());
return system->extension_service();
}
extensions::ExtensionRegistry* extension_registry() {
return extensions::ExtensionRegistry::Get(browser()->profile());
}
const extensions::Extension* InstallExtension(
const base::FilePath::StringType& name) {
base::FilePath extension_path(ui_test_utils::GetTestFilePath(
base::FilePath(kTestExtensionsDir), base::FilePath(name)));
scoped_refptr<extensions::CrxInstaller> installer =
extensions::CrxInstaller::CreateSilent(extension_service());
installer->set_allow_silent_install(true);
installer->set_install_cause(extension_misc::INSTALL_CAUSE_UPDATE);
installer->set_creation_flags(extensions::Extension::FROM_WEBSTORE);
installer->set_off_store_install_allow_reason(
extensions::CrxInstaller::OffStoreInstallAllowReason::
OffStoreInstallAllowedInTest);
content::WindowedNotificationObserver observer(
extensions::NOTIFICATION_CRX_INSTALLER_DONE,
content::NotificationService::AllSources());
installer->InstallCrx(extension_path);
observer.Wait();
content::Details<const extensions::Extension> details = observer.details();
return details.ptr();
}
const extensions::Extension* InstallBookmarkApp() {
WebApplicationInfo web_app;
web_app.title = base::ASCIIToUTF16("Bookmark App");
web_app.app_url = GURL("http://www.google.com");
scoped_refptr<extensions::CrxInstaller> installer =
extensions::CrxInstaller::CreateSilent(extension_service());
content::WindowedNotificationObserver observer(
extensions::NOTIFICATION_CRX_INSTALLER_DONE,
content::NotificationService::AllSources());
installer->InstallWebApp(web_app);
observer.Wait();
content::Details<const extensions::Extension> details = observer.details();
return details.ptr();
}
void UninstallExtension(const std::string& id, bool expect_success) {
if (expect_success) {
extensions::TestExtensionRegistryObserver observer(extension_registry());
extension_service()->UninstallExtension(
id, extensions::UNINSTALL_REASON_FOR_TESTING, nullptr);
observer.WaitForExtensionUninstalled();
} else {
content::WindowedNotificationObserver observer(
extensions::NOTIFICATION_EXTENSION_UNINSTALL_NOT_ALLOWED,
content::NotificationService::AllSources());
extension_service()->UninstallExtension(
id, extensions::UNINSTALL_REASON_FOR_TESTING, nullptr);
observer.Wait();
}
}
void DisableExtension(const std::string& id) {
extensions::TestExtensionRegistryObserver observer(extension_registry());
extension_service()->DisableExtension(
id, extensions::disable_reason::DISABLE_USER_ACTION);
observer.WaitForExtensionUnloaded();
}
std::unique_ptr<extensions::ExtensionCacheFake> test_extension_cache_;
extensions::ScopedIgnoreContentVerifierForTest ignore_content_verifier_;
extensions::ExtensionUpdater::ScopedSkipScheduledCheckForTest
skip_scheduled_extension_checks_;
};
} // namespace } // namespace
IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionInstallBlacklistSelective) { IN_PROC_BROWSER_TEST_F(ExtensionPolicyTest,
ExtensionInstallBlacklistSelective) {
// Verifies that blacklisted extensions can't be installed. // Verifies that blacklisted extensions can't be installed.
extensions::ExtensionRegistry* registry = extension_registry(); extensions::ExtensionRegistry* registry = extension_registry();
ASSERT_FALSE(registry->GetExtensionById( ASSERT_FALSE(registry->GetExtensionById(
...@@ -128,7 +228,8 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionInstallBlacklistSelective) { ...@@ -128,7 +228,8 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionInstallBlacklistSelective) {
// Ensure that bookmark apps are not blocked by the ExtensionInstallBlacklist // Ensure that bookmark apps are not blocked by the ExtensionInstallBlacklist
// policy. // policy.
IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionInstallBlacklist_BookmarkApp) { IN_PROC_BROWSER_TEST_F(ExtensionPolicyTest,
ExtensionInstallBlacklist_BookmarkApp) {
const extensions::Extension* bookmark_app = InstallBookmarkApp(); const extensions::Extension* bookmark_app = InstallBookmarkApp();
ASSERT_TRUE(bookmark_app); ASSERT_TRUE(bookmark_app);
EXPECT_TRUE(InstallExtension(kGoodCrxName)); EXPECT_TRUE(InstallExtension(kGoodCrxName));
...@@ -151,7 +252,7 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionInstallBlacklist_BookmarkApp) { ...@@ -151,7 +252,7 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionInstallBlacklist_BookmarkApp) {
// Ensure that when INSTALLATION_REMOVED is set // Ensure that when INSTALLATION_REMOVED is set
// that blacklisted extensions are removed from the device. // that blacklisted extensions are removed from the device.
IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionInstallRemovedPolicy) { IN_PROC_BROWSER_TEST_F(ExtensionPolicyTest, ExtensionInstallRemovedPolicy) {
EXPECT_TRUE(InstallExtension(kGoodCrxName)); EXPECT_TRUE(InstallExtension(kGoodCrxName));
extensions::ExtensionService* service = extension_service(); extensions::ExtensionService* service = extension_service();
...@@ -175,7 +276,7 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionInstallRemovedPolicy) { ...@@ -175,7 +276,7 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionInstallRemovedPolicy) {
// Ensure that when INSTALLATION_REMOVED is set for wildcard // Ensure that when INSTALLATION_REMOVED is set for wildcard
// that blacklisted extensions are removed from the device. // that blacklisted extensions are removed from the device.
IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionWildcardRemovedPolicy) { IN_PROC_BROWSER_TEST_F(ExtensionPolicyTest, ExtensionWildcardRemovedPolicy) {
EXPECT_TRUE(InstallExtension(kGoodCrxName)); EXPECT_TRUE(InstallExtension(kGoodCrxName));
extensions::ExtensionService* service = extension_service(); extensions::ExtensionService* service = extension_service();
...@@ -199,7 +300,7 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionWildcardRemovedPolicy) { ...@@ -199,7 +300,7 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionWildcardRemovedPolicy) {
// Ensure that bookmark apps are not blocked by the ExtensionAllowedTypes // Ensure that bookmark apps are not blocked by the ExtensionAllowedTypes
// policy. // policy.
IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionAllowedTypes_BookmarkApp) { IN_PROC_BROWSER_TEST_F(ExtensionPolicyTest, ExtensionAllowedTypes_BookmarkApp) {
const extensions::Extension* bookmark_app = InstallBookmarkApp(); const extensions::Extension* bookmark_app = InstallBookmarkApp();
ASSERT_TRUE(bookmark_app); ASSERT_TRUE(bookmark_app);
EXPECT_TRUE(InstallExtension(kGoodCrxName)); EXPECT_TRUE(InstallExtension(kGoodCrxName));
...@@ -223,7 +324,7 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionAllowedTypes_BookmarkApp) { ...@@ -223,7 +324,7 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionAllowedTypes_BookmarkApp) {
// Ensure that bookmark apps are not blocked by the ExtensionSettings // Ensure that bookmark apps are not blocked by the ExtensionSettings
// policy. // policy.
IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionSettings_BookmarkApp) { IN_PROC_BROWSER_TEST_F(ExtensionPolicyTest, ExtensionSettings_BookmarkApp) {
const extensions::Extension* bookmark_app = InstallBookmarkApp(); const extensions::Extension* bookmark_app = InstallBookmarkApp();
ASSERT_TRUE(bookmark_app); ASSERT_TRUE(bookmark_app);
EXPECT_TRUE(InstallExtension(kGoodCrxName)); EXPECT_TRUE(InstallExtension(kGoodCrxName));
...@@ -282,7 +383,8 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionSettings_BookmarkApp) { ...@@ -282,7 +383,8 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionSettings_BookmarkApp) {
#define MAYBE_ExtensionInstallBlacklistWildcard \ #define MAYBE_ExtensionInstallBlacklistWildcard \
ExtensionInstallBlacklistWildcard ExtensionInstallBlacklistWildcard
#endif #endif
IN_PROC_BROWSER_TEST_F(PolicyTest, MAYBE_ExtensionInstallBlacklistWildcard) { IN_PROC_BROWSER_TEST_F(ExtensionPolicyTest,
MAYBE_ExtensionInstallBlacklistWildcard) {
// Verify that a wildcard blacklist takes effect. // Verify that a wildcard blacklist takes effect.
EXPECT_TRUE(InstallExtension(kSimpleWithIconCrxName)); EXPECT_TRUE(InstallExtension(kSimpleWithIconCrxName));
extensions::ExtensionService* service = extension_service(); extensions::ExtensionService* service = extension_service();
...@@ -315,7 +417,8 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, MAYBE_ExtensionInstallBlacklistWildcard) { ...@@ -315,7 +417,8 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, MAYBE_ExtensionInstallBlacklistWildcard) {
kGoodCrxId, extensions::ExtensionRegistry::COMPATIBILITY)); kGoodCrxId, extensions::ExtensionRegistry::COMPATIBILITY));
} }
IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionInstallBlacklistSharedModules) { IN_PROC_BROWSER_TEST_F(ExtensionPolicyTest,
ExtensionInstallBlacklistSharedModules) {
// Verifies that shared_modules are not affected by the blacklist. // Verifies that shared_modules are not affected by the blacklist.
base::FilePath base_path; base::FilePath base_path;
...@@ -400,7 +503,7 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionInstallBlacklistSharedModules) { ...@@ -400,7 +503,7 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionInstallBlacklistSharedModules) {
EXPECT_EQ(kSharedModuleId, imports[0].extension_id); EXPECT_EQ(kSharedModuleId, imports[0].extension_id);
} }
IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionInstallWhitelist) { IN_PROC_BROWSER_TEST_F(ExtensionPolicyTest, ExtensionInstallWhitelist) {
// Verifies that the whitelist can open exceptions to the blacklist. // Verifies that the whitelist can open exceptions to the blacklist.
extensions::ExtensionRegistry* registry = extension_registry(); extensions::ExtensionRegistry* registry = extension_registry();
ASSERT_FALSE(registry->GetExtensionById( ASSERT_FALSE(registry->GetExtensionById(
...@@ -518,7 +621,7 @@ class MockedInstallationReporterObserver ...@@ -518,7 +621,7 @@ class MockedInstallationReporterObserver
} // namespace } // namespace
IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionInstallForcelist) { IN_PROC_BROWSER_TEST_F(ExtensionPolicyTest, ExtensionInstallForcelist) {
// Verifies that extensions that are force-installed by policies are // Verifies that extensions that are force-installed by policies are
// installed and can't be uninstalled. // installed and can't be uninstalled.
...@@ -688,7 +791,7 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionInstallForcelist) { ...@@ -688,7 +791,7 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionInstallForcelist) {
} }
} }
IN_PROC_BROWSER_TEST_F(PolicyTest, IN_PROC_BROWSER_TEST_F(ExtensionPolicyTest,
ExtensionInstallForcelist_DefaultedUpdateUrl) { ExtensionInstallForcelist_DefaultedUpdateUrl) {
// Verifies the ExtensionInstallForcelist policy with an empty (defaulted) // Verifies the ExtensionInstallForcelist policy with an empty (defaulted)
// "update" URL. // "update" URL.
...@@ -714,7 +817,8 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, ...@@ -714,7 +817,8 @@ IN_PROC_BROWSER_TEST_F(PolicyTest,
kGoodCrxId, extensions::ExtensionRegistry::COMPATIBILITY)); kGoodCrxId, extensions::ExtensionRegistry::COMPATIBILITY));
} }
IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionRecommendedInstallationMode) { IN_PROC_BROWSER_TEST_F(ExtensionPolicyTest,
ExtensionRecommendedInstallationMode) {
// Verifies that extensions that are recommended-installed by policies are // Verifies that extensions that are recommended-installed by policies are
// installed, can be disabled but not uninstalled. // installed, can be disabled but not uninstalled.
...@@ -768,7 +872,7 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionRecommendedInstallationMode) { ...@@ -768,7 +872,7 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionRecommendedInstallationMode) {
EXPECT_FALSE(service->IsExtensionEnabled(kGoodCrxId)); EXPECT_FALSE(service->IsExtensionEnabled(kGoodCrxId));
} }
IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionAllowedTypes) { IN_PROC_BROWSER_TEST_F(ExtensionPolicyTest, ExtensionAllowedTypes) {
// Verifies that extensions are blocked if policy specifies an allowed types // Verifies that extensions are blocked if policy specifies an allowed types
// list and the extension's type is not on that list. // list and the extension's type is not on that list.
extensions::ExtensionRegistry* registry = extension_registry(); extensions::ExtensionRegistry* registry = extension_registry();
...@@ -811,7 +915,7 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionAllowedTypes) { ...@@ -811,7 +915,7 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionAllowedTypes) {
#else #else
#define MAYBE_ExtensionInstallSources ExtensionInstallSources #define MAYBE_ExtensionInstallSources ExtensionInstallSources
#endif #endif
IN_PROC_BROWSER_TEST_F(PolicyTest, MAYBE_ExtensionInstallSources) { IN_PROC_BROWSER_TEST_F(ExtensionPolicyTest, MAYBE_ExtensionInstallSources) {
extensions::ScopedTestDialogAutoConfirm auto_confirm( extensions::ScopedTestDialogAutoConfirm auto_confirm(
extensions::ScopedTestDialogAutoConfirm::ACCEPT); extensions::ScopedTestDialogAutoConfirm::ACCEPT);
extensions::ScopedInstallVerifierBypassForTest install_verifier_bypass; extensions::ScopedInstallVerifierBypassForTest install_verifier_bypass;
...@@ -860,7 +964,7 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, MAYBE_ExtensionInstallSources) { ...@@ -860,7 +964,7 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, MAYBE_ExtensionInstallSources) {
// Verifies that extensions with version older than the minimum version required // Verifies that extensions with version older than the minimum version required
// by policy will get disabled, and will be auto-updated and/or re-enabled upon // by policy will get disabled, and will be auto-updated and/or re-enabled upon
// policy changes as well as regular auto-updater scheduled updates. // policy changes as well as regular auto-updater scheduled updates.
IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionMinimumVersionRequired) { IN_PROC_BROWSER_TEST_F(ExtensionPolicyTest, ExtensionMinimumVersionRequired) {
ExtensionRequestInterceptor interceptor; ExtensionRequestInterceptor interceptor;
base::AtomicRefCount update_extension_count; base::AtomicRefCount update_extension_count;
...@@ -938,7 +1042,8 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionMinimumVersionRequired) { ...@@ -938,7 +1042,8 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionMinimumVersionRequired) {
// Similar to ExtensionMinimumVersionRequired test, but with different settings // Similar to ExtensionMinimumVersionRequired test, but with different settings
// and orders. // and orders.
IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionMinimumVersionRequiredAlt) { IN_PROC_BROWSER_TEST_F(ExtensionPolicyTest,
ExtensionMinimumVersionRequiredAlt) {
ExtensionRequestInterceptor interceptor; ExtensionRequestInterceptor interceptor;
base::AtomicRefCount update_extension_count; base::AtomicRefCount update_extension_count;
...@@ -1012,7 +1117,8 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionMinimumVersionRequiredAlt) { ...@@ -1012,7 +1117,8 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionMinimumVersionRequiredAlt) {
// Verifies that a force-installed extension which does not meet a subsequently // Verifies that a force-installed extension which does not meet a subsequently
// set minimum version requirement is handled well. // set minimum version requirement is handled well.
IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionMinimumVersionForceInstalled) { IN_PROC_BROWSER_TEST_F(ExtensionPolicyTest,
ExtensionMinimumVersionForceInstalled) {
ExtensionRequestInterceptor interceptor; ExtensionRequestInterceptor interceptor;
// Mark as enterprise managed. // Mark as enterprise managed.
...@@ -1055,15 +1161,15 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionMinimumVersionForceInstalled) { ...@@ -1055,15 +1161,15 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionMinimumVersionForceInstalled) {
extension_prefs->GetDisableReasons(kGoodCrxId)); extension_prefs->GetDisableReasons(kGoodCrxId));
} }
// Similar to PolicyTest but sets the WebAppInstallForceList policy before the // Similar to ExtensionPolicyTest but sets the WebAppInstallForceList policy
// browser is started. // before the browser is started.
class WebAppInstallForceListPolicyTest : public PolicyTest { class WebAppInstallForceListPolicyTest : public ExtensionPolicyTest {
public: public:
WebAppInstallForceListPolicyTest() {} WebAppInstallForceListPolicyTest() {}
~WebAppInstallForceListPolicyTest() override {} ~WebAppInstallForceListPolicyTest() override {}
void SetUpInProcessBrowserTestFixture() override { void SetUpInProcessBrowserTestFixture() override {
PolicyTest::SetUpInProcessBrowserTestFixture(); ExtensionPolicyTest::SetUpInProcessBrowserTestFixture();
ASSERT_TRUE(embedded_test_server()->Start()); ASSERT_TRUE(embedded_test_server()->Start());
policy_app_url_ = policy_app_url_ =
......
...@@ -8,8 +8,6 @@ ...@@ -8,8 +8,6 @@
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
#include "base/task/post_task.h" #include "base/task/post_task.h"
#include "chrome/browser/extensions/chrome_test_extension_loader.h" #include "chrome/browser/extensions/chrome_test_extension_loader.h"
#include "chrome/browser/extensions/crx_installer.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/ash/chrome_screenshot_grabber.h" #include "chrome/browser/ui/ash/chrome_screenshot_grabber.h"
#include "chrome/browser/ui/ash/chrome_screenshot_grabber_test_observer.h" #include "chrome/browser/ui/ash/chrome_screenshot_grabber_test_observer.h"
...@@ -19,7 +17,6 @@ ...@@ -19,7 +17,6 @@
#include "chrome/browser/ui/location_bar/location_bar.h" #include "chrome/browser/ui/location_bar/location_bar.h"
#include "chrome/common/chrome_paths.h" #include "chrome/common/chrome_paths.h"
#include "chrome/common/net/safe_search_util.h" #include "chrome/common/net/safe_search_util.h"
#include "chrome/common/web_application_info.h"
#include "chrome/test/base/ui_test_utils.h" #include "chrome/test/base/ui_test_utils.h"
#include "components/omnibox/browser/omnibox_edit_model.h" #include "components/omnibox/browser/omnibox_edit_model.h"
#include "components/policy/core/browser/browser_policy_connector.h" #include "components/policy/core/browser/browser_policy_connector.h"
...@@ -37,10 +34,6 @@ ...@@ -37,10 +34,6 @@
#include "content/public/common/service_names.mojom.h" #include "content/public/common/service_names.mojom.h"
#include "content/public/test/test_navigation_observer.h" #include "content/public/test/test_navigation_observer.h"
#include "content/public/test/test_utils.h" #include "content/public/test/test_utils.h"
#include "extensions/browser/extension_registry.h"
#include "extensions/browser/extension_system.h"
#include "extensions/browser/notification_types.h"
#include "extensions/browser/test_extension_registry_observer.h"
#include "net/dns/mock_host_resolver.h" #include "net/dns/mock_host_resolver.h"
#include "net/http/transport_security_state.h" #include "net/http/transport_security_state.h"
#include "services/network/public/mojom/network_service_test.mojom.h" #include "services/network/public/mojom/network_service_test.mojom.h"
...@@ -68,7 +61,6 @@ PolicyTest::PolicyTest() = default; ...@@ -68,7 +61,6 @@ PolicyTest::PolicyTest() = default;
PolicyTest::~PolicyTest() = default; PolicyTest::~PolicyTest() = default;
void PolicyTest::SetUp() { void PolicyTest::SetUp() {
test_extension_cache_.reset(new extensions::ExtensionCacheFake());
InProcessBrowserTest::SetUp(); InProcessBrowserTest::SetUp();
} }
...@@ -81,10 +73,6 @@ void PolicyTest::SetUpInProcessBrowserTestFixture() { ...@@ -81,10 +73,6 @@ void PolicyTest::SetUpInProcessBrowserTestFixture() {
void PolicyTest::SetUpOnMainThread() { void PolicyTest::SetUpOnMainThread() {
host_resolver()->AddRule("*", "127.0.0.1"); host_resolver()->AddRule("*", "127.0.0.1");
if (extension_service()->updater()) {
extension_service()->updater()->SetExtensionCacheForTesting(
test_extension_cache_.get());
}
} }
void PolicyTest::SetUpCommandLine(base::CommandLine* command_line) { void PolicyTest::SetUpCommandLine(base::CommandLine* command_line) {
...@@ -160,55 +148,6 @@ void PolicyTest::TestScreenshotFile(bool enabled) { ...@@ -160,55 +148,6 @@ void PolicyTest::TestScreenshotFile(bool enabled) {
} }
#endif // defined(OS_CHROMEOS) #endif // defined(OS_CHROMEOS)
extensions::ExtensionService* PolicyTest::extension_service() {
extensions::ExtensionSystem* system =
extensions::ExtensionSystem::Get(browser()->profile());
return system->extension_service();
}
extensions::ExtensionRegistry* PolicyTest::extension_registry() {
return extensions::ExtensionRegistry::Get(browser()->profile());
}
const extensions::Extension* PolicyTest::InstallExtension(
const base::FilePath::StringType& name) {
base::FilePath extension_path(ui_test_utils::GetTestFilePath(
base::FilePath(kTestExtensionsDir), base::FilePath(name)));
scoped_refptr<extensions::CrxInstaller> installer =
extensions::CrxInstaller::CreateSilent(extension_service());
installer->set_allow_silent_install(true);
installer->set_install_cause(extension_misc::INSTALL_CAUSE_UPDATE);
installer->set_creation_flags(extensions::Extension::FROM_WEBSTORE);
installer->set_off_store_install_allow_reason(
extensions::CrxInstaller::OffStoreInstallAllowReason::
OffStoreInstallAllowedInTest);
content::WindowedNotificationObserver observer(
extensions::NOTIFICATION_CRX_INSTALLER_DONE,
content::NotificationService::AllSources());
installer->InstallCrx(extension_path);
observer.Wait();
content::Details<const extensions::Extension> details = observer.details();
return details.ptr();
}
const extensions::Extension* PolicyTest::InstallBookmarkApp() {
WebApplicationInfo web_app;
web_app.title = base::ASCIIToUTF16("Bookmark App");
web_app.app_url = GURL("http://www.google.com");
scoped_refptr<extensions::CrxInstaller> installer =
extensions::CrxInstaller::CreateSilent(extension_service());
content::WindowedNotificationObserver observer(
extensions::NOTIFICATION_CRX_INSTALLER_DONE,
content::NotificationService::AllSources());
installer->InstallWebApp(web_app);
observer.Wait();
content::Details<const extensions::Extension> details = observer.details();
return details.ptr();
}
scoped_refptr<const extensions::Extension> PolicyTest::LoadUnpackedExtension( scoped_refptr<const extensions::Extension> PolicyTest::LoadUnpackedExtension(
const base::FilePath::StringType& name) { const base::FilePath::StringType& name) {
base::FilePath extension_path(ui_test_utils::GetTestFilePath( base::FilePath extension_path(ui_test_utils::GetTestFilePath(
...@@ -217,30 +156,6 @@ scoped_refptr<const extensions::Extension> PolicyTest::LoadUnpackedExtension( ...@@ -217,30 +156,6 @@ scoped_refptr<const extensions::Extension> PolicyTest::LoadUnpackedExtension(
return loader.LoadExtension(extension_path); return loader.LoadExtension(extension_path);
} }
void PolicyTest::UninstallExtension(const std::string& id,
bool expect_success) {
if (expect_success) {
extensions::TestExtensionRegistryObserver observer(extension_registry());
extension_service()->UninstallExtension(
id, extensions::UNINSTALL_REASON_FOR_TESTING, nullptr);
observer.WaitForExtensionUninstalled();
} else {
content::WindowedNotificationObserver observer(
extensions::NOTIFICATION_EXTENSION_UNINSTALL_NOT_ALLOWED,
content::NotificationService::AllSources());
extension_service()->UninstallExtension(
id, extensions::UNINSTALL_REASON_FOR_TESTING, nullptr);
observer.Wait();
}
}
void PolicyTest::DisableExtension(const std::string& id) {
extensions::TestExtensionRegistryObserver observer(extension_registry());
extension_service()->DisableExtension(
id, extensions::disable_reason::DISABLE_USER_ACTION);
observer.WaitForExtensionUnloaded();
}
void PolicyTest::UpdateProviderPolicy(const PolicyMap& policy) { void PolicyTest::UpdateProviderPolicy(const PolicyMap& policy) {
PolicyMap policy_with_defaults; PolicyMap policy_with_defaults;
policy_with_defaults.CopyFrom(policy); policy_with_defaults.CopyFrom(policy);
......
...@@ -7,17 +7,12 @@ ...@@ -7,17 +7,12 @@
#include "ash/public/cpp/keyboard/keyboard_types.h" #include "ash/public/cpp/keyboard/keyboard_types.h"
#include "base/files/file_path.h" #include "base/files/file_path.h"
#include "chrome/browser/extensions/updater/extension_cache_fake.h"
#include "chrome/browser/extensions/updater/extension_updater.h"
#include "chrome/test/base/in_process_browser_test.h" #include "chrome/test/base/in_process_browser_test.h"
#include "components/policy/core/common/mock_configuration_policy_provider.h" #include "components/policy/core/common/mock_configuration_policy_provider.h"
#include "components/security_interstitials/core/controller_client.h" #include "components/security_interstitials/core/controller_client.h"
#include "extensions/browser/scoped_ignore_content_verifier_for_test.h"
namespace extensions { namespace extensions {
class Extension; class Extension;
class ExtensionRegistry;
class ExtensionService;
} // namespace extensions } // namespace extensions
namespace policy { namespace policy {
...@@ -45,22 +40,9 @@ class PolicyTest : public InProcessBrowserTest { ...@@ -45,22 +40,9 @@ class PolicyTest : public InProcessBrowserTest {
void SetShouldRequireCTForTesting(bool* required); void SetShouldRequireCTForTesting(bool* required);
extensions::ExtensionService* extension_service();
extensions::ExtensionRegistry* extension_registry();
const extensions::Extension* InstallExtension(
const base::FilePath::StringType& name);
const extensions::Extension* InstallBookmarkApp();
scoped_refptr<const extensions::Extension> LoadUnpackedExtension( scoped_refptr<const extensions::Extension> LoadUnpackedExtension(
const base::FilePath::StringType& name); const base::FilePath::StringType& name);
void UninstallExtension(const std::string& id, bool expect_success);
void DisableExtension(const std::string& id);
void UpdateProviderPolicy(const PolicyMap& policy); void UpdateProviderPolicy(const PolicyMap& policy);
// Sends a mouse click at the given coordinates to the current renderer. // Sends a mouse click at the given coordinates to the current renderer.
...@@ -113,10 +95,6 @@ class PolicyTest : public InProcessBrowserTest { ...@@ -113,10 +95,6 @@ class PolicyTest : public InProcessBrowserTest {
security_interstitials::SecurityInterstitialCommand command); security_interstitials::SecurityInterstitialCommand command);
MockConfigurationPolicyProvider provider_; MockConfigurationPolicyProvider provider_;
std::unique_ptr<extensions::ExtensionCacheFake> test_extension_cache_;
extensions::ScopedIgnoreContentVerifierForTest ignore_content_verifier_;
extensions::ExtensionUpdater::ScopedSkipScheduledCheckForTest
skip_scheduled_extension_checks_;
}; };
} // namespace policy } // namespace policy
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment