// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "base/memory/scoped_ptr.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/policy/device_cloud_policy_manager_chromeos.h" #include "chrome/test/base/in_process_browser_test.h" #include "components/policy/core/common/cloud/cloud_policy_client.h" #include "components/policy/core/common/cloud/mock_cloud_policy_client.h" #include "testing/gtest/include/gtest/gtest.h" namespace policy { class DeviceCloudPolicyBrowserTest : public InProcessBrowserTest { public: DeviceCloudPolicyBrowserTest() : mock_client_(new MockCloudPolicyClient) { } MockCloudPolicyClient* mock_client_; }; IN_PROC_BROWSER_TEST_F(DeviceCloudPolicyBrowserTest, Initializer) { BrowserPolicyConnectorChromeOS* connector = g_browser_process->platform_part()->browser_policy_connector_chromeos(); // Initializer exists at first. EXPECT_TRUE(connector->GetDeviceCloudPolicyInitializer()); // Initializer is deleted when the manager connects. connector->GetDeviceCloudPolicyManager()->StartConnection( make_scoped_ptr(mock_client_), connector->GetInstallAttributes()); EXPECT_FALSE(connector->GetDeviceCloudPolicyInitializer()); // Initializer is restarted when the manager disconnects. connector->GetDeviceCloudPolicyManager()->Disconnect(); EXPECT_TRUE(connector->GetDeviceCloudPolicyInitializer()); } } // namespace policy