diff options
Diffstat (limited to 'chromium/chrome/browser/extensions/api/enterprise_device_attributes')
2 files changed, 8 insertions, 63 deletions
diff --git a/chromium/chrome/browser/extensions/api/enterprise_device_attributes/enterprise_device_attributes_api.cc b/chromium/chrome/browser/extensions/api/enterprise_device_attributes/enterprise_device_attributes_api.cc index 87b1c700975..60af1cbb3f6 100644 --- a/chromium/chrome/browser/extensions/api/enterprise_device_attributes/enterprise_device_attributes_api.cc +++ b/chromium/chrome/browser/extensions/api/enterprise_device_attributes/enterprise_device_attributes_api.cc @@ -7,6 +7,7 @@ #include "base/values.h" #include "chrome/browser/app_mode/app_mode_utils.h" #include "chrome/browser/browser_process.h" +#include "chrome/browser/browser_process_platform_part.h" #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" #include "chrome/browser/profiles/profile.h" diff --git a/chromium/chrome/browser/extensions/api/enterprise_device_attributes/enterprise_device_attributes_apitest.cc b/chromium/chrome/browser/extensions/api/enterprise_device_attributes/enterprise_device_attributes_apitest.cc index 9d3f31a0a72..b4f0086533c 100644 --- a/chromium/chrome/browser/extensions/api/enterprise_device_attributes/enterprise_device_attributes_apitest.cc +++ b/chromium/chrome/browser/extensions/api/enterprise_device_attributes/enterprise_device_attributes_apitest.cc @@ -7,7 +7,6 @@ #include "base/bind.h" #include "base/json/json_writer.h" #include "base/path_service.h" -#include "base/strings/stringprintf.h" #include "base/task/post_task.h" #include "base/values.h" #include "chrome/browser/browser_process.h" @@ -15,6 +14,7 @@ #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" #include "chrome/browser/chromeos/policy/device_policy_cros_browser_test.h" #include "chrome/browser/extensions/extension_apitest.h" +#include "chrome/browser/extensions/policy_test_utils.h" #include "chrome/common/chrome_paths.h" #include "chrome/test/base/ui_test_utils.h" #include "chromeos/dbus/session_manager/fake_session_manager_client.h" @@ -24,7 +24,6 @@ #include "components/account_id/account_id.h" #include "components/policy/core/common/cloud/device_management_service.h" #include "components/policy/core/common/mock_configuration_policy_provider.h" -#include "components/policy/policy_constants.h" #include "components/prefs/pref_service.h" #include "components/user_manager/user_manager.h" #include "content/public/browser/browser_task_traits.h" @@ -33,10 +32,7 @@ #include "content/public/test/test_utils.h" #include "extensions/browser/api_test_utils.h" #include "extensions/browser/extension_registry.h" -#include "extensions/browser/test_extension_registry_observer.h" #include "extensions/test/result_catcher.h" -#include "net/test/embedded_test_server/http_request.h" -#include "net/test/embedded_test_server/http_response.h" namespace { @@ -99,34 +95,6 @@ class EnterpriseDeviceAttributesTest set_chromeos_user_ = false; } - // Replace "mock.http" with "127.0.0.1:<port>" on "update_manifest.xml" files. - // Host resolver doesn't work here because the test file doesn't know the - // correct port number. - std::unique_ptr<net::test_server::HttpResponse> InterceptMockHttp( - const net::test_server::HttpRequest& request) { - const std::string kFileNameToIntercept = "update_manifest.xml"; - if (request.GetURL().ExtractFileName() != kFileNameToIntercept) - return nullptr; - - base::FilePath test_data_dir; - base::PathService::Get(chrome::DIR_TEST_DATA, &test_data_dir); - // Remove the leading '/'. - std::string relative_manifest_path = request.GetURL().path().substr(1); - std::string manifest_response; - CHECK(base::ReadFileToString(test_data_dir.Append(relative_manifest_path), - &manifest_response)); - - base::ReplaceSubstringsAfterOffset( - &manifest_response, 0, "mock.http", - embedded_test_server()->host_port_pair().ToString()); - - std::unique_ptr<net::test_server::BasicHttpResponse> response( - new net::test_server::BasicHttpResponse()); - response->set_content_type("text/xml"); - response->set_content(manifest_response); - return response; - } - protected: // ExtensionApiTest void SetUpCommandLine(base::CommandLine* command_line) override { @@ -192,29 +160,6 @@ class EnterpriseDeviceAttributesTest ExtensionApiTest::SetUpOnMainThread(); } - void SetPolicy() { - // Extensions that are force-installed come from an update URL, which - // defaults to the webstore. Use a mock URL for this test with an update - // manifest that includes the crx file of the test extension. - GURL update_manifest_url( - embedded_test_server()->GetURL(kUpdateManifestPath)); - - std::unique_ptr<base::ListValue> forcelist(new base::ListValue); - forcelist->AppendString(base::StringPrintf( - "%s;%s", kTestExtensionID, update_manifest_url.spec().c_str())); - - policy::PolicyMap policy; - policy.Set(policy::key::kExtensionInstallForcelist, - policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_MACHINE, - policy::POLICY_SOURCE_CLOUD, std::move(forcelist), nullptr); - - // Set the policy and wait until the extension is installed. - extensions::TestExtensionRegistryObserver observer( - ExtensionRegistry::Get(profile())); - policy_provider_.UpdateChromePolicy(policy); - observer.WaitForExtensionLoaded(); - } - // Load |page_url| in |browser| and wait for PASSED or FAILED notification. // The functionality of this function is reduced functionality of // RunExtensionSubtest(), but we don't use it here because it requires @@ -248,11 +193,12 @@ class EnterpriseDeviceAttributesTest AccountId::FromUserEmailGaiaId(kAffiliatedUserEmail, kAffiliatedUserGaiaId); + policy::MockConfigurationPolicyProvider policy_provider_; + private: chromeos::ScopedStubInstallAttributes test_install_attributes_{ chromeos::StubInstallAttributes::CreateCloudManaged("fake-domain", "fake-id")}; - policy::MockConfigurationPolicyProvider policy_provider_; policy::DevicePolicyCrosTestHelper test_helper_; chromeos::system::ScopedFakeStatisticsProvider fake_statistics_provider_; }; @@ -262,13 +208,11 @@ IN_PROC_BROWSER_TEST_P(EnterpriseDeviceAttributesTest, PRE_Success) { } IN_PROC_BROWSER_TEST_P(EnterpriseDeviceAttributesTest, Success) { - // Setup |URLLoaderInterceptor|, which is required for force-installing the - // test extension through policy. - embedded_test_server()->RegisterRequestHandler( - base::BindRepeating(&EnterpriseDeviceAttributesTest::InterceptMockHttp, - base::Unretained(this))); + policy_test_utils::SetUpEmbeddedTestServer(embedded_test_server()); ASSERT_TRUE(embedded_test_server()->Start()); - SetPolicy(); + policy_test_utils::SetExtensionInstallForcelistPolicy( + kTestExtensionID, embedded_test_server()->GetURL(kUpdateManifestPath), + profile(), &policy_provider_); EXPECT_EQ(GetParam().affiliated, user_manager::UserManager::Get() ->FindUser(affiliated_account_id_) |