Index: chrome/browser/extensions/extension_with_management_policy_apitest.cc |
diff --git a/chrome/browser/extensions/extension_with_management_policy_apitest.cc b/chrome/browser/extensions/extension_with_management_policy_apitest.cc |
index 3cce777284e06d2bc196b03ccb3fa69d81dca117..3b77f73d5e6f344e9b2a1dd59f5eeb5622d81c1b 100644 |
--- a/chrome/browser/extensions/extension_with_management_policy_apitest.cc |
+++ b/chrome/browser/extensions/extension_with_management_policy_apitest.cc |
@@ -14,6 +14,9 @@ ExtensionApiTestWithManagementPolicy::~ExtensionApiTestWithManagementPolicy() {} |
void ExtensionApiTestWithManagementPolicy::SetUpInProcessBrowserTestFixture() { |
ExtensionApiTest::SetUpInProcessBrowserTestFixture(); |
+ embedded_test_server()->RegisterRequestMonitor( |
+ base::Bind(&ExtensionApiTestWithManagementPolicy::MonitorRequestHandler, |
+ base::Unretained(this))); |
EXPECT_CALL(policy_provider_, IsInitializationComplete(testing::_)) |
.WillRepeatedly(testing::Return(true)); |
policy_provider_.SetAutoRefresh(); |
@@ -25,3 +28,26 @@ void ExtensionApiTestWithManagementPolicy::SetUpOnMainThread() { |
ExtensionApiTest::SetUpOnMainThread(); |
host_resolver()->AddRule("*", "127.0.0.1"); |
} |
+ |
+void ExtensionApiTestWithManagementPolicy::MonitorRequestHandler( |
+ const net::test_server::HttpRequest& request) { |
+ auto host = request.headers.find("Host"); |
+ if (host != request.headers.end()) { |
+ ManagementPolicyRequestLog log; |
+ size_t delimiter_pos = host->second.find(":"); |
+ log.host = host->second.substr(0, delimiter_pos); |
+ request_log_.push_back(log); |
+ } |
+} |
+ |
+bool ExtensionApiTestWithManagementPolicy::BrowsedTo( |
+ const std::string& test_host) { |
+ return std::find_if(request_log_.begin(), request_log_.end(), |
+ [test_host](const ManagementPolicyRequestLog& log) { |
+ return log.host == test_host; |
+ }) != request_log_.end(); |
+} |
+ |
+void ExtensionApiTestWithManagementPolicy::ClearRequestLog() { |
+ request_log_.clear(); |
+} |