| Index: chrome/browser/chromeos/settings/device_settings_test_helper.h
|
| diff --git a/chrome/browser/chromeos/settings/device_settings_test_helper.h b/chrome/browser/chromeos/settings/device_settings_test_helper.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..1c787952d26921b02ee0a81d0e2c6ad4df8563b3
|
| --- /dev/null
|
| +++ b/chrome/browser/chromeos/settings/device_settings_test_helper.h
|
| @@ -0,0 +1,99 @@
|
| +// Copyright (c) 2012 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.
|
| +
|
| +#ifndef CHROME_BROWSER_CHROMEOS_SETTINGS_DEVICE_SETTINGS_TEST_HELPER_H_
|
| +#define CHROME_BROWSER_CHROMEOS_SETTINGS_DEVICE_SETTINGS_TEST_HELPER_H_
|
| +
|
| +#include <string>
|
| +#include <vector>
|
| +
|
| +#include "base/basictypes.h"
|
| +#include "base/compiler_specific.h"
|
| +#include "chromeos/dbus/session_manager_client.h"
|
| +
|
| +namespace chromeos {
|
| +
|
| +// A helper class for tests mocking out session_manager's device settings
|
| +// interface. The pattern is to initialize DeviceSettingsService with the helper
|
| +// for the SessionManagerClient pointer. The helper records calls made by
|
| +// DeviceSettingsService. The test can then verify state, after which it should
|
| +// call one of the Flush() variants that will resume processing.
|
| +class DeviceSettingsTestHelper : public SessionManagerClient {
|
| + public:
|
| + // Wraps a device settings service instance for testing.
|
| + DeviceSettingsTestHelper();
|
| + virtual ~DeviceSettingsTestHelper();
|
| +
|
| + // Flushes operations on the current message loop and the blocking pool.
|
| + void FlushLoops();
|
| +
|
| + // Runs all pending store callbacks.
|
| + void FlushStore();
|
| +
|
| + // Runs all pending retrieve callbacks.
|
| + void FlushRetrieve();
|
| +
|
| + // Flushes all pending operations.
|
| + void Flush();
|
| +
|
| + bool store_result() {
|
| + return store_result_;
|
| + }
|
| + void set_store_result(bool store_result) {
|
| + store_result_ = store_result;
|
| + }
|
| +
|
| + const std::string& policy_blob() {
|
| + return policy_blob_;
|
| + }
|
| + void set_policy_blob(const std::string& policy_blob) {
|
| + policy_blob_ = policy_blob;
|
| + }
|
| +
|
| + // SessionManagerClient:
|
| + virtual void AddObserver(Observer* observer) OVERRIDE;
|
| + virtual void RemoveObserver(Observer* observer) OVERRIDE;
|
| + virtual bool HasObserver(Observer* observer) OVERRIDE;
|
| + virtual void EmitLoginPromptReady() OVERRIDE;
|
| + virtual void EmitLoginPromptVisible() OVERRIDE;
|
| + virtual void RestartJob(int pid, const std::string& command_line) OVERRIDE;
|
| + virtual void RestartEntd() OVERRIDE;
|
| + virtual void StartSession(const std::string& user_email) OVERRIDE;
|
| + virtual void StopSession() OVERRIDE;
|
| + virtual void RequestLockScreen() OVERRIDE;
|
| + virtual void RequestUnlockScreen() OVERRIDE;
|
| + virtual bool GetIsScreenLocked() OVERRIDE;
|
| + virtual void RetrieveDevicePolicy(
|
| + const RetrievePolicyCallback& callback) OVERRIDE;
|
| + virtual void RetrieveUserPolicy(
|
| + const RetrievePolicyCallback& callback) OVERRIDE;
|
| + virtual void StoreDevicePolicy(const std::string& policy_blob,
|
| + const StorePolicyCallback& callback) OVERRIDE;
|
| + virtual void StoreUserPolicy(const std::string& policy_blob,
|
| + const StorePolicyCallback& callback) OVERRIDE;
|
| +
|
| + private:
|
| + bool store_result_;
|
| + std::string policy_blob_;
|
| +
|
| + std::vector<StorePolicyCallback> store_callbacks_;
|
| + std::vector<RetrievePolicyCallback> retrieve_callbacks_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(DeviceSettingsTestHelper);
|
| +};
|
| +
|
| +// Wraps the singleton device settings and initializes it to the point where it
|
| +// reports OWNERSHIP_NONE for the ownership status.
|
| +class ScopedDeviceSettingsTestHelper : public DeviceSettingsTestHelper {
|
| + public:
|
| + ScopedDeviceSettingsTestHelper();
|
| + virtual ~ScopedDeviceSettingsTestHelper();
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(ScopedDeviceSettingsTestHelper);
|
| +};
|
| +
|
| +} // namespace chromeos
|
| +
|
| +#endif // CHROME_BROWSER_CHROMEOS_SETTINGS_DEVICE_SETTINGS_TEST_HELPER_H_
|
|
|