| Index: chrome/browser/policy/power_policy_browsertest.cc
|
| diff --git a/chrome/browser/policy/power_policy_browsertest.cc b/chrome/browser/policy/power_policy_browsertest.cc
|
| deleted file mode 100644
|
| index 44af8692153259fa81ee8888f2d4d4042d85a92d..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/policy/power_policy_browsertest.cc
|
| +++ /dev/null
|
| @@ -1,207 +0,0 @@
|
| -// Copyright (c) 2013 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 <string>
|
| -
|
| -#include "base/compiler_specific.h"
|
| -#include "base/run_loop.h"
|
| -#include "base/values.h"
|
| -#include "chrome/browser/policy/browser_policy_connector.h"
|
| -#include "chrome/browser/policy/mock_configuration_policy_provider.h"
|
| -#include "chrome/browser/policy/policy_map.h"
|
| -#include "chrome/browser/policy/policy_types.h"
|
| -#include "chrome/test/base/in_process_browser_test.h"
|
| -#include "chromeos/dbus/dbus_thread_manager.h"
|
| -#include "chromeos/dbus/mock_dbus_thread_manager.h"
|
| -#include "chromeos/dbus/mock_power_manager_client.h"
|
| -#include "chromeos/dbus/mock_session_manager_client.h"
|
| -#include "chromeos/dbus/power_manager/policy.pb.h"
|
| -#include "policy/policy_constants.h"
|
| -#include "testing/gmock/include/gmock/gmock.h"
|
| -
|
| -namespace policy {
|
| -
|
| -namespace {
|
| -
|
| -using ::testing::AnyNumber;
|
| -using ::testing::AtLeast;
|
| -using ::testing::Mock;
|
| -using ::testing::Return;
|
| -using ::testing::_;
|
| -
|
| -namespace pm = power_manager;
|
| -
|
| -MATCHER_P(PowerManagementPolicyMatches, expected_power_management_policy,
|
| - std::string(negation ? "matches" : "does not match") +
|
| - "the expected power management policy") {
|
| - // A power management policy without an |ac_delays| message is equivalent to
|
| - // a power management policy with an empty |ac_delays| message but their
|
| - // serializations are different. To simplify the equality check, ensure that
|
| - // the expected and actual power management policies both have an |ac_delays|
|
| - // message. The same applies to the |battery_delays| message.
|
| - pm::PowerManagementPolicy expected(expected_power_management_policy);
|
| - expected.mutable_ac_delays();
|
| - expected.mutable_battery_delays();
|
| - pm::PowerManagementPolicy actual(arg);
|
| - actual.mutable_ac_delays();
|
| - actual.mutable_battery_delays();
|
| - return actual.SerializeAsString() == expected.SerializeAsString();
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -class PowerPolicyBrowserTest : public InProcessBrowserTest {
|
| - protected:
|
| - // InProcessBrowserTest:
|
| - virtual void SetUpInProcessBrowserTestFixture() OVERRIDE;
|
| -
|
| - void SetUserPolicyAndVerifyPowerManagementPolicy(
|
| - const std::string& user_policy_name,
|
| - base::Value* user_policy_value,
|
| - const pm::PowerManagementPolicy& power_management_policy);
|
| -
|
| - chromeos::MockPowerManagerClient* power_manager_client_;
|
| -
|
| - private:
|
| - MockConfigurationPolicyProvider provider_;
|
| -};
|
| -
|
| -void PowerPolicyBrowserTest::SetUpInProcessBrowserTestFixture() {
|
| - chromeos::MockDBusThreadManager* dbus_thread_manager =
|
| - new chromeos::MockDBusThreadManager;
|
| - chromeos::DBusThreadManager::InitializeForTesting(dbus_thread_manager);
|
| - EXPECT_CALL(*dbus_thread_manager->mock_session_manager_client(),
|
| - RetrieveUserPolicy(_));
|
| - power_manager_client_ = dbus_thread_manager->mock_power_manager_client();
|
| - EXPECT_CALL(provider_, IsInitializationComplete(_))
|
| - .WillRepeatedly(Return(true));
|
| - EXPECT_CALL(provider_, RegisterPolicyDomain(_, _)).Times(AnyNumber());
|
| - BrowserPolicyConnector::SetPolicyProviderForTesting(&provider_);
|
| -}
|
| -
|
| -// Verify that setting |user_policy_name| to |user_policy_value| causes the
|
| -// updated |power_management_policy| to be sent to the power management backend.
|
| -void PowerPolicyBrowserTest::SetUserPolicyAndVerifyPowerManagementPolicy(
|
| - const std::string& user_policy_name,
|
| - base::Value* user_policy_value,
|
| - const pm::PowerManagementPolicy& power_management_policy) {
|
| - // Setting the user policy causes a notification which triggers an update to
|
| - // the backend. If other policies had been set before, they will get unset,
|
| - // causing additional notifications and triggering duplicate updates to the
|
| - // backend. Hence, expect one or more updates.
|
| - EXPECT_CALL(*power_manager_client_,
|
| - SetPolicy(PowerManagementPolicyMatches(power_management_policy)))
|
| - .Times(AtLeast(1));
|
| - PolicyMap policy_map;
|
| - policy_map.Set(user_policy_name, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
|
| - user_policy_value);
|
| - provider_.UpdateChromePolicy(policy_map);
|
| - base::RunLoop().RunUntilIdle();
|
| - Mock::VerifyAndClearExpectations(power_manager_client_);
|
| -}
|
| -
|
| -IN_PROC_BROWSER_TEST_F(PowerPolicyBrowserTest, SetPowerPolicy) {
|
| - pm::PowerManagementPolicy power_management_policy;
|
| -
|
| - power_management_policy.set_idle_action(
|
| - pm::PowerManagementPolicy::STOP_SESSION);
|
| - SetUserPolicyAndVerifyPowerManagementPolicy(
|
| - key::kIdleAction,
|
| - base::Value::CreateIntegerValue(pm::PowerManagementPolicy::STOP_SESSION),
|
| - power_management_policy);
|
| -
|
| - power_management_policy.Clear();
|
| - power_management_policy.set_lid_closed_action(
|
| - pm::PowerManagementPolicy::STOP_SESSION);
|
| - SetUserPolicyAndVerifyPowerManagementPolicy(
|
| - key::kLidCloseAction,
|
| - base::Value::CreateIntegerValue(pm::PowerManagementPolicy::STOP_SESSION),
|
| - power_management_policy);
|
| -
|
| - power_management_policy.Clear();
|
| - power_management_policy.mutable_ac_delays()->set_idle_ms(900000);
|
| - SetUserPolicyAndVerifyPowerManagementPolicy(
|
| - key::kIdleDelayAC,
|
| - base::Value::CreateIntegerValue(900000),
|
| - power_management_policy);
|
| -
|
| - power_management_policy.Clear();
|
| - power_management_policy.mutable_ac_delays()->set_screen_off_ms(900000);
|
| - SetUserPolicyAndVerifyPowerManagementPolicy(
|
| - key::kScreenOffDelayAC,
|
| - base::Value::CreateIntegerValue(900000),
|
| - power_management_policy);
|
| -
|
| - power_management_policy.Clear();
|
| - power_management_policy.mutable_ac_delays()->set_screen_dim_ms(900000);
|
| - SetUserPolicyAndVerifyPowerManagementPolicy(
|
| - key::kScreenDimDelayAC,
|
| - base::Value::CreateIntegerValue(900000),
|
| - power_management_policy);
|
| -
|
| - power_management_policy.Clear();
|
| - power_management_policy.mutable_ac_delays()->set_screen_lock_ms(900000);
|
| - SetUserPolicyAndVerifyPowerManagementPolicy(
|
| - key::kScreenLockDelayAC,
|
| - base::Value::CreateIntegerValue(900000),
|
| - power_management_policy);
|
| -
|
| - power_management_policy.Clear();
|
| - power_management_policy.mutable_battery_delays()->set_idle_ms(900000);
|
| - SetUserPolicyAndVerifyPowerManagementPolicy(
|
| - key::kIdleDelayBattery,
|
| - base::Value::CreateIntegerValue(900000),
|
| - power_management_policy);
|
| -
|
| - power_management_policy.Clear();
|
| - power_management_policy.mutable_battery_delays()->set_screen_off_ms(900000);
|
| - SetUserPolicyAndVerifyPowerManagementPolicy(
|
| - key::kScreenOffDelayBattery,
|
| - base::Value::CreateIntegerValue(900000),
|
| - power_management_policy);
|
| -
|
| - power_management_policy.Clear();
|
| - power_management_policy.mutable_battery_delays()->set_screen_dim_ms(900000);
|
| - SetUserPolicyAndVerifyPowerManagementPolicy(
|
| - key::kScreenDimDelayBattery,
|
| - base::Value::CreateIntegerValue(900000),
|
| - power_management_policy);
|
| -
|
| - power_management_policy.Clear();
|
| - power_management_policy.mutable_battery_delays()->set_screen_lock_ms(900000);
|
| - SetUserPolicyAndVerifyPowerManagementPolicy(
|
| - key::kScreenLockDelayBattery,
|
| - base::Value::CreateIntegerValue(900000),
|
| - power_management_policy);
|
| -
|
| - power_management_policy.Clear();
|
| - power_management_policy.set_use_audio_activity(false);
|
| - SetUserPolicyAndVerifyPowerManagementPolicy(
|
| - key::kPowerManagementUsesAudioActivity,
|
| - base::Value::CreateBooleanValue(false),
|
| - power_management_policy);
|
| -
|
| - power_management_policy.Clear();
|
| - power_management_policy.set_use_video_activity(false);
|
| - SetUserPolicyAndVerifyPowerManagementPolicy(
|
| - key::kPowerManagementUsesVideoActivity,
|
| - base::Value::CreateBooleanValue(false),
|
| - power_management_policy);
|
| -
|
| - power_management_policy.Clear();
|
| - power_management_policy.set_presentation_idle_delay_factor(3.0);
|
| - SetUserPolicyAndVerifyPowerManagementPolicy(
|
| - key::kPresentationIdleDelayScale,
|
| - base::Value::CreateIntegerValue(300),
|
| - power_management_policy);
|
| -
|
| - // During teardown, an empty power management policy should be sent to the
|
| - // backend.
|
| - power_management_policy.Clear();
|
| - EXPECT_CALL(*power_manager_client_, SetPolicy(
|
| - PowerManagementPolicyMatches(power_management_policy)));
|
| - EXPECT_CALL(*power_manager_client_, RemoveObserver(_)).Times(AnyNumber());
|
| -}
|
| -
|
| -} // namespace policy
|
|
|