summaryrefslogtreecommitdiffstats
path: root/chromium/chrome/browser/extensions/api/enterprise_device_attributes
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/chrome/browser/extensions/api/enterprise_device_attributes')
-rw-r--r--chromium/chrome/browser/extensions/api/enterprise_device_attributes/enterprise_device_attributes_api.cc1
-rw-r--r--chromium/chrome/browser/extensions/api/enterprise_device_attributes/enterprise_device_attributes_apitest.cc70
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_)