OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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 "chrome/browser/extensions/extension_with_management_policy_apitest.h" | 5 #include "chrome/browser/extensions/extension_with_management_policy_apitest.h" |
6 #include "components/policy/core/browser/browser_policy_connector.h" | 6 #include "components/policy/core/browser/browser_policy_connector.h" |
7 #include "net/dns/mock_host_resolver.h" | 7 #include "net/dns/mock_host_resolver.h" |
8 #include "net/test/embedded_test_server/http_request.h" | 8 #include "net/test/embedded_test_server/http_request.h" |
9 | 9 |
10 ExtensionApiTestWithManagementPolicy::ExtensionApiTestWithManagementPolicy() | 10 ExtensionApiTestWithManagementPolicy::ExtensionApiTestWithManagementPolicy() |
11 : ExtensionApiTest() {} | 11 : ExtensionApiTest() {} |
12 | 12 |
13 ExtensionApiTestWithManagementPolicy::~ExtensionApiTestWithManagementPolicy() {} | 13 ExtensionApiTestWithManagementPolicy::~ExtensionApiTestWithManagementPolicy() {} |
14 | 14 |
15 void ExtensionApiTestWithManagementPolicy::SetUpInProcessBrowserTestFixture() { | 15 void ExtensionApiTestWithManagementPolicy::SetUpInProcessBrowserTestFixture() { |
16 ExtensionApiTest::SetUpInProcessBrowserTestFixture(); | 16 ExtensionApiTest::SetUpInProcessBrowserTestFixture(); |
17 embedded_test_server()->RegisterRequestMonitor( | |
18 base::Bind(&ExtensionApiTestWithManagementPolicy::MonitorRequestHandler, | |
19 base::Unretained(this))); | |
20 EXPECT_CALL(policy_provider_, IsInitializationComplete(testing::_)) | 17 EXPECT_CALL(policy_provider_, IsInitializationComplete(testing::_)) |
21 .WillRepeatedly(testing::Return(true)); | 18 .WillRepeatedly(testing::Return(true)); |
22 policy_provider_.SetAutoRefresh(); | 19 policy_provider_.SetAutoRefresh(); |
23 policy::BrowserPolicyConnector::SetPolicyProviderForTesting( | 20 policy::BrowserPolicyConnector::SetPolicyProviderForTesting( |
24 &policy_provider_); | 21 &policy_provider_); |
25 } | 22 } |
26 | 23 |
27 void ExtensionApiTestWithManagementPolicy::SetUpOnMainThread() { | 24 void ExtensionApiTestWithManagementPolicy::SetUpOnMainThread() { |
28 ExtensionApiTest::SetUpOnMainThread(); | 25 ExtensionApiTest::SetUpOnMainThread(); |
29 host_resolver()->AddRule("*", "127.0.0.1"); | 26 host_resolver()->AddRule("*", "127.0.0.1"); |
30 } | 27 } |
31 | |
32 void ExtensionApiTestWithManagementPolicy::MonitorRequestHandler( | |
33 const net::test_server::HttpRequest& request) { | |
34 auto host = request.headers.find("Host"); | |
35 if (host != request.headers.end()) { | |
36 ManagementPolicyRequestLog log; | |
37 size_t delimiter_pos = host->second.find(":"); | |
38 log.host = host->second.substr(0, delimiter_pos); | |
39 request_log_.push_back(log); | |
40 } | |
41 } | |
42 | |
43 bool ExtensionApiTestWithManagementPolicy::BrowsedTo( | |
44 const std::string& test_host) { | |
45 return std::find_if(request_log_.begin(), request_log_.end(), | |
46 [test_host](const ManagementPolicyRequestLog& log) { | |
47 return log.host == test_host; | |
48 }) != request_log_.end(); | |
49 } | |
50 | |
51 void ExtensionApiTestWithManagementPolicy::ClearRequestLog() { | |
52 request_log_.clear(); | |
53 } | |
OLD | NEW |