mock_configuration_policy_provider.h revision dc0f95d653279beabeb9817299e2902918ba123e
1// Copyright (c) 2010 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CHROME_BROWSER_POLICY_MOCK_CONFIGURATION_POLICY_PROVIDER_H_
6#define CHROME_BROWSER_POLICY_MOCK_CONFIGURATION_POLICY_PROVIDER_H_
7#pragma once
8
9#include <map>
10#include <utility>
11
12#include "chrome/browser/policy/configuration_policy_provider.h"
13#include "chrome/browser/policy/policy_map.h"
14#include "testing/gmock/include/gmock/gmock.h"
15
16namespace policy {
17
18// Mock ConfigurationPolicyProvider implementation that supplies canned
19// values for polices.
20class MockConfigurationPolicyProvider : public ConfigurationPolicyProvider {
21 public:
22  MockConfigurationPolicyProvider();
23  virtual ~MockConfigurationPolicyProvider();
24
25  void AddPolicy(ConfigurationPolicyType policy, Value* value);
26  void RemovePolicy(ConfigurationPolicyType policy);
27
28  void SetInitializationComplete(bool initialization_complete);
29
30  // ConfigurationPolicyProvider method overrides.
31  virtual bool Provide(ConfigurationPolicyStoreInterface* store);
32  virtual bool IsInitializationComplete() const;
33
34 private:
35  // ConfigurationPolicyProvider overrides:
36  virtual void AddObserver(ConfigurationPolicyProvider::Observer* observer) {}
37  virtual void RemoveObserver(
38      ConfigurationPolicyProvider::Observer* observer) {}
39
40  PolicyMap policy_map_;
41  bool initialization_complete_;
42};
43
44}  // namespace policy
45
46#endif  // CHROME_BROWSER_POLICY_MOCK_CONFIGURATION_POLICY_PROVIDER_H_
47